Skip to content

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 in TileEntityTrophy.java for 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)