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 |
| ViciousCore-1.12.2-1.0.9.jar release | 5.00 MB | Jan 1, 2022 | 1.12.2 | 257 | Download |
| ViciousCore-1.12.2-1.0.2.jar beta | 4.99 MB | Dec 30, 2021 | 1.12.2 | 45 | Download |
| viciouscore-1.12.2-1.0.1.jar beta | 5.10 MB | Dec 19, 2021 | 1.12.2 | 12 | Download |
| viciouscore-1.12.2-1.0.0.jar beta | 4.73 MB | Dec 13, 2021 | 1.12.2 | 39 | Download |
Description
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.
Get 0.05 TON 💎
Download
Add a comment