Skip to content

Amazing-Trophies ​

11 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

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
  • #18 ItemTrophyModelHandler.parse() now uses PROPERTY_X_OFFSET and PROPERTY_Z_OFFSET instead of PROPERTY_Y_OFFSET for xOffset and zOffset. The copied RenderItem.renderDroppedItem code was deleted and the renderer calls the method directly, with amazingtrophies_at.cfg changed to AT renderDroppedItem and drop the random and renderBlocksRi field entries. GTNHLib is bumped to 0.8.0. - @glowredman
    • Removed: copied dropped-item rendering code
    • Fixed: item trophy x and z offsets read from the y offset setting

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 ​

  • #29 InventoryChangedHandler drops about 90 lines of inventory aggregation, including the Baubles compat, and relies on GTNHLib's updated InventoryChangedEvent from GTNHLib PR 464. GTNHLib is bumped to 0.11.44 in dependencies.gradle and the required-after version in the @Mod annotation. - @glowredman
    • Removed: local inventory aggregation code in the inventory.total condition
  • #26 TileEntityTrophy.copyFromNBT passes Log4J {} placeholders to LOGGER.warn instead of wrapping String.format(Locale.ROOT, ...). - @glowredman

Documentation ​

  • #28 wiki/Trophy-Model-Handlers.md: updated the two source links for the basic trophy example after the files moved in #19. - @glowredman
    • Fixed: broken example links in the wiki

Chores ​

  • #19 Replaces the deprecated TessellatorManager.stopCapturingToVBO() call with DirectTesselator. The rest of the diff is buildscript updates (Gradle wrapper, gradle.properties, daemon JVM 25) and moving the dev run config files to run/client. - @glowredman

Contributors ​

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

@glowredman (11), @Caedis (3), @Algent (2), @boubou19 (2), @sisyphussy (2), @Alexdoru (1), @claude (1), @Dream-Master (1), @Jimbno (1)