[New] Translation system completely rewritten to use CSV format instead of YAML! CSV files are much easier to edit in spreadsheet software and work better with translation tools.
[New] Added "custom" language option that auto-generates an English→English CSV template for easy customization or creating new translations.
[New] Wormhole visual effects now use line-of-sight culling - particles are only rendered for players who can actually see the wormhole.
[New] Custom item skins are now regenerated after all plugins load, ensuring resource pack models are properly applied.
[New] Added WorldOperationQueue system for better handling of instanced dungeon world operations.
[Tweak] Wormhole processing now skips wormholes entirely when no players are within 30 blocks.
[Tweak] Optimized wormhole distance calculations by pre-computing squared distances instead of calling Math.pow() repeatedly.
[Tweak] Instanced dungeon world cleanup now uses TemporaryWorldManager for more reliable file deletion.
[Tweak] Continued moving content out of the default resource pack and into the packs of each dungeon where appropriate
[Critical fix] Fixed major memory leaks caused by storing Player objects in static HashMaps throughout the codebase. All player-keyed maps now use UUIDs instead.
[Critical fix] Added shutdown() methods to 50+ classes to properly clear static collections on plugin disable, preventing memory leaks during reloads.
[Critical fix] Fixed chest exploit leading to treasure chests dropping infinite loot
[Fix] Fixed memory leak in CustomMusic system where player references were held indefinitely.
[Fix] Fixed memory leak in ItemLootShower currency notification system.
[Fix] Fixed memory leaks in all custom enchantments (Flamethrower, Lightning, Drilling, Earthquake, Plasma Boots, Summon Wolf, Summon Merchant).
[Fix] Fixed potential null pointer exceptions in CustomMusic when players disconnect during music playback.
[Fix] Fixed race condition in wormhole tick processing during chunk load/unload events.
[Fix] Dynamic dungeons can now be joined by other players and spectators correctly