Minecraft Vicious Core mod 2026 download
logo
minecraft mod Vicious Core

Vicious Core

Game Version: 1.12.2
Total Downloads: 354
Updated: Mar 5, 2022
Created: Nov 30, 2021
Download Vicious CoreDownload Earlier Versions

Earlier Versions

Name Size Uploaded Game Version Downloads
ViciousCore-1.12.2-1.1.5.jar release 5.86 MB Mar 5, 2022 1.12.2 0 download Vicious Core ViciousCore-1.12.2-1.1.5.jar releaseDownload
ViciousCore-1.12.2-1.0.9.jar release 5.00 MB Jan 1, 2022 1.12.2 257 download Vicious Core ViciousCore-1.12.2-1.0.9.jar releaseDownload
ViciousCore-1.12.2-1.0.2.jar beta 4.99 MB Dec 30, 2021 1.12.2 45 download Vicious Core ViciousCore-1.12.2-1.0.2.jar betaDownload
viciouscore-1.12.2-1.0.1.jar beta 5.10 MB Dec 19, 2021 1.12.2 12 download Vicious Core viciouscore-1.12.2-1.0.1.jar betaDownload
viciouscore-1.12.2-1.0.0.jar beta 4.73 MB Dec 13, 2021 1.12.2 39 download Vicious Core viciouscore-1.12.2-1.0.0.jar betaDownload

Description

Share this:

Features

Mod Fixes and Optimizations:

VCore patches and Optimizes other mods if they are installed. Currently this uses no mixins. This mod is client optional so you can run it on a server. The following changes will be applied if the mods are present:

  • TechReborn:
     - Patches the centrifuge dupe bug by injecting a custom recipe handler.
     - Patches a bug with the fusion reactor that caused it to incorrectly handle recipes. Patched by replacing all fusion control computer tiles with a custom patched version.
  • NuclearCraft (Underhauled):
     - Reduces Fission Reactor Lag massively. Optimized by replacing the fission reactor tile with a custom version and creating notifier tiles on fission multiblock parts. The reactor only ever does structure rescans when notified to do so which is much less often than every time a new fuel is used.
     - The above also patches a bug where the fission reactor would still function even after the multiblock structure was completely destroyed by a player.
  • YABBA:
    Reduces lag caused by insertions into an Barrel Item Connector.

 

The following features are more technical and this is just an overview. The github provides information devs may need.

Runtime Configuration

One of the most painful processes in modding is changing a value (either via CFG or code) and having to restart the game. VCore provides a method to do this via runtime (under certain circumstances) Here's everything we've provided.
Configs
Config files created using our system can be updated while the game is running by calling /vconfig reload

Entity and Item Rendering
See Vicious Core Client for more info.
Similar to entities, Item Rendering can be modified during runtime as well. In order to do this your item must implement IRenderOverride and do a few other things.

Modding Mods and the Game

 As shown above VCore patches some bugs in other mods. I did this because I'm a pack creator and bugs are annoying. However, the way VCore does this is special and is different from mixins in that it mainly functions by completely replacing broken Objects with our own. If you want to change code first of all check whether or not mixins can do it. Mixins can't inject into Overriden methods, VCore can, although there isn't any injection going on. Of course, this is just an overview, see the github.
The following are tools that we've provided to do what mixins can't.
Reflection
Forge's reflection system wasn't enough for us so we made our own. Vanilla methods and fields can be provided mcp and searge names via MappingsReference#addMapping which allows them to be accessible both in the dev and pack environments.
FieldRetrievalRoute

The purpose of this utility is to get a field in an Object using a static field as a starting point. This is a necessity in Overrider.

IFieldCloner

Copies the values of fields in an original object to the clone. This assumes that the objects are at least related to each other, unrelated objects may improperly copy.

Overriding and Overriders (probably should change the name)

This is the essential utility to overriding the game and other mod's code with our own. The following Override systems exist:

  • Overrider: Uses Reflection to replace objects in the FieldRetrievalRoute target with our own.
    – Allows the injection to occur ONLY during preinit, init, and postinit. 
  • TileEntityOverrider: Listens for TileEntity creation and replaces undesired tiles with custom ones. Care should be taken here.

Comments

Add a comment