CodeChickenCore
10 merged pull requests.
New Features
- #43 Introduced LocalizedColours utility with fallback mechanism to load UI colors from lang keys. Updated GuiScrollPane, GuiCCButton, GuiCCTextField, and GuiDraw to use the new color system. Added 26 new configurable color keys to en_US.lang. - @Ranzuu
- Added: LocalizedColours color helper, 26 configurable color lang keys
Bug Fixes
- #57 EntityDigIconFX gains applyColourMultiplier, NO_TINT, and tint-aware addBlockHitEffects/addBlockDestroyEffects overloads that take colours. The old overloads stay and are deprecated. - @Algent
- Added: tint-aware particle methods
- Fixed: Grey block particles for tinted greyscale textures
- #56 PacketCustom.readFluidStack returns null when FluidRegistry.getFluid returns null, rather than substituting WATER and reading the remaining fields, so it matches what the writer emits. - @Cardinalstars
- Fixed: Packet desync when reading a fluid stack with an unknown fluid
- #51 WorldExtensionManager.onChunkUnLoad now returns early when worldMap.get(event.world) is null, instead of iterating over it. - @DrParadox7
- Fixed: NullPointerException on chunk unload
- #50 Registration of render operations is now synchronized, and vertex attributes are tracked by a new AttributeKey class with stable indices across threads. SimpleBrightnessModel.instance was a static field and is now a per-thread instance() method, which breaks addons that read the old field. Added JUnit tests for CCRenderState threading. - @mitchej123
- Added: CCRenderState threading tests, AttributeKey class
- Removed: SimpleBrightnessModel.instance field
- Fixed: thread safety issues in CodeChicken Lib rendering
- Migration: Code that read the static field SimpleBrightnessModel.instance must call SimpleBrightnessModel.instance(), which returns a per-thread instance.
- #49 ClassDiscoverer.readFromZipFile skips zip entries whose names start with META-INF/versions/. - @mitchej123
- Fixed: class scan reading multi-release class files
Performance
- #46 ClassHeirachyManager.ClassInfo now interns superclass and interface name strings through a static ConcurrentHashMap pool. - @Alexdoru
- #42 ClassHeirachyManager optimization in ASM transformation pipeline, reducing transformation time from 6.64% to 2.77% of total time. - @danyadev
- Fixed: class hierarchy transformation performance
Internal / Refactor
- #48 Reverts #47: restores LocalizedColours, its reload listener and the lang entries, and removes ColorUtils, the shadowed GTNHLib dependency and usesShadowedDependencies. - @Ranzuu
- Added: LocalizedColours
- Removed: ColorUtils
- #47 Replaces LocalizedColours with ColorUtils and removes the resource reload listener. Adds a shadowed GTNHLib dependency and deletes LocalizedColours, which addons may reference. - @Ranzuu
- Added: ColorUtils
- Removed: LocalizedColours, localized colour lang entries
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@Alexdoru (3), @boubou19 (3), @Ranzuu (3), @mitchej123 (2), @Algent (1), @Caedis (1), @Cardinalstars (1), @danyadev (1), @DrParadox7 (1), @Ethryan (1), @Glease (1), @koolkrafter5 (1), @UltraProdigy (1)