Amazing-Trophies
12 merged pull requests.
New Features
- #22 Implemented InventoryChangedHandler extending ConditionHandler, mirroring ItemConditionHandler structure and subscribing to GTNHLib's InventoryChangedEvent. - @glowredman
- Added: InventoryChangedHandler with three condition types, test trophy JSON files for inventory conditions
New Content
- #30 Replaced trophy_pedestal.obj model and texture; adjusted text position in PedestalTrophyModelHandler by -0.5 pixels vertically to align with new model. - @Jimbno
Changes
- #29 Simplified InventoryChangedHandler to use new GTNHLib API; removed internal scanning logic now provided by library. - @glowredman
Bug Fixes
- #24 Added null check in ItemTrophyModelHandler to handle cases where renderEngine is cleared on world exit. - @Algent
- Fixed: world reload crash with trophies in hotbar
- #20 Cleared world references in OpenContainerConditionHandler and EntityTrophyModelHandler to prevent leaks when Hodgepodge clears RenderManager.renderEngine on world exit. - @Alexdoru
- Fixed: world reference leaks
- #14 Updated ItemTrophyModelHandler to properly override doRender() and renderDroppedItem() with fancy-graphics-only rendering path; removed graphics-mode override that was causing flickering. Added access transformer entries. - @glowredman
- Added: fancy graphics rendering path in ItemTrophyModelHandler
- Fixed: trophy rendering flicker on Fast graphics
- Closes GTNH#16459
Performance
- #25 Cached label key in TileEntityTrophy, added FontBatch for optional batched font rendering, and HashMap-based string width caching in PedestalTrophyModelHandler. - @boubou19
- Added: FontBatch helper for batched font rendering, string width cache
- #23 Added frustum culling (4-block radius), label distance culling (16 blocks), cached date labels in tiles, and reuse of loaded models; early exit in InventoryChangedEvent. - @Algent
- Added: frustum culling for off-screen trophies, label distance culling, date label caching
Internal / Refactor
- #26 Replaced
String.format()calls with Log4J parameter substitution inTileEntityTrophy.javafor better logging performance and consistency. - @glowredman - #19 Updated trophy rendering to use DirectTesselator instead of TessellatorManager.stopCapturingToVBO(). - @glowredman
- #18 Removed dead code from ItemTrophyModelHandler and simplified access transformer configuration now that RenderItem.renderDroppedItem() can be properly ATed. - @glowredman
- Removed: dead rendering code
Documentation
- #28 Corrected example paths in Trophy-Model-Handlers wiki page. - @glowredman
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@glowredman (12), @Caedis (3), @Algent (2), @boubou19 (2), @Dream-Master (2), @sisyphussy (2), @Alexdoru (1), @claude (1), @Jimbno (1), @serenibyss (1)