Skip to content

CoreTweaks ​

12 merged pull requests.

Changes ​

  • #9 Config.shouldDisable returns true for lightFixStare when Compat.isSupernovaPresent, and logs the reason. The config comment was updated. - @mitchej123
  • #8 Added Compat.isSupernovaPresent, which checks for com/mitchej123/supernova/core/SupernovaCore.class. Config.shouldDisable disables fixHeightmapRange when it is found. - @mitchej123
    • Added: Supernova detection

Bug Fixes ​

  • #13 TransformerCache.onTick now checks Minecraft.theWorld and thePlayer are non-null before incrementing clientTicks, then unregisters and calls freeCacheDuringRuntime after 40 ticks. - @Alexdoru
    • Fixed: transformer cache being cleared on the main menu instead of in game
  • #10 TransformerCache verifies the hash after applying a cached GDiff and evicts on mismatch. It also replaces the shared static Delta with a ThreadLocal, removes the shared lastClassData buffer and hash memo, switches transformerMap to ConcurrentHashMap, and clones the transformer output before diffing. The cache VERSION goes from 2 to 3. - @Luca-Guettinger
    • Fixed: Corrupt classes from bad GDiff diffs in the LITE transformer cache, Thread-safety issues in the transformer cache

Performance ​

  • #15 TransformerCache.freeCacheDuringRuntime now runs saveCache and the map clearing in a new thread named 'CoreTweaks TransformerCache save thread' instead of inline. - @Alexdoru
  • #11 CoreTweaksMod registers TransformerCache on the FML event bus on the client. TransformerCache adds a client tick handler that saves and frees the cache after a tick count, tracked with a volatile savedAndCleared flag; the instance field is now final. - @Luca-Guettinger

Removals ​

  • #7 Deleted the optimizeGetPendingBlockUpdates config entry, its ConfigMigrator line, its MixinConfigPlugin entry, the MixinWorldServer mixin, IPendingBlockUpdatesWorldServer and ChunkPendingBlockUpdateMap. - @mitchej123
    • Removed: optimizeGetPendingBlockUpdates option, getPendingBlockUpdates optimization
  • #3 Removed the MCLibModules.updateCheckAPI.submitModTask call from CoreTweaksMod.preInit and deleted updatejson/update.json. The rest of the CoreTweaksMod diff is whitespace cleanup. - @wlhlm
    • Removed: CoreTweaks update checker, updates.html in the instance folder

Internal / Refactor ​

  • #14 TransformerCache now owns cache loading and saving, and CachedTransformerWrapper handles the transformation using its TransformerData with a volatile stopped flag. Fixes the cache growing after a runtime save and the miss/run counts in transformercache_profiler.csv. - @Alexdoru
    • Fixed: transformer cache growing again after being saved during runtime, cache misses and runs not written correctly to the csv file
  • #12 Marks fields final, replaces an anonymous Runnable with a lambda, and moves the client chunk map tick handler out of CoreTweaksMod into a new ClientChunkMapTicker class. - @Alexdoru

Chores ​

  • #17 Dropped the MCLib shadowImplementation dependency, the MCLib.init call in CoreTweaksMod, and the mclib and cglib relocations and transformer exclusion. Only the kryo relocation remains. - @PLASMAchicken
    • Removed: MCLib dependency, cglib relocation
  • #4 Bumped gtnhsettingsconvention to 2.0.9, NotEnoughItems to 2.8.48-GTNH, lombok to 1.18.42 and MCLib to aa4acec. Added gradle-daemon-jvm.properties, new gradle.properties options, and a new Gradle wrapper. - @wlhlm

Contributors ​

Everyone who authored, reviewed or co-authored a change on this page, with how many of them:

@Alexdoru (6), @danyadev (4), @mitchej123 (3), @boubou19 (2), @jss2a98aj (2), @Luca-Guettinger (2), @wlhlm (2), @Algent (1), @Caedis (1), @Dream-Master (1), @PLASMAchicken (1)