Draconic-Evolution
24 merged pull requests.
New Features
- #103 Added GeneratorOverride.getNearestChaosIslandCenter(chunkX, chunkZ), which returns ChunkCoordinates at y 80 from ChaosWorldGenHandler.getClosestChaosSpawn. It returns null if chaos islands are disabled or the island is at (0, 0). - @Algent
- Added: nearest Chaos Island API
- #98 Adds ConfigHandler.disableEarthBlock; ModBlocks skips creating the Earth block and CommonProxy skips registering TileEarth when it is null. ClientProxy rendering registration is reformatted and RenderTileEarth uses pattern matching. - @Alexdoru
- Added: Disable Earth block config option
- #95 Modified TileDissEnchanter to accept redstone and hopper input/output; extended DissEnchanter block with automation capabilities. - @felixfour
- Added: redstone automation, hopper automation, XP jar draining
- #80 Extended ConfigHandler with magnet blacklist config strings, updated Magnet class to check blacklist before collecting items using same algorithm as AE2 magnet. - @SuperSoupr
- Added: Magnet block blacklist config
Changes
- #96 Added localization strings to en_US.lang and updated multiple GUI classes to display localized text; adjusted positioning and sizing in various GUIs including Dislocator Inhibitor and Player Detector. - @Ranzuu
- Added: GUI localizations
- #83 Edited 6 lines in zh_CN.lang to add line number prefixes to lore entries and update the translations. The diff was not shown. - @NealDeal34
- Fixed: zh_CN lore lines missing NEI line number prefixes
- #76 Removed ModHelper.isGregTechTileEntityOre and the TileEntityOres/BWMetaGeneratedOres reflection. MiningTool.breakAOEBlocks now treats any tile entity as a stop. GregTech detection now checks for the mod id gregtech_nh. Dependency versions bumped, including GT5-Unofficial 5.09.52.31. The block-change packet branch in MiningTool also got braces. - @RecursivePineapple
- Removed: GregTech and BartWorks ore tile entity check in AOE mining
Bug Fixes
- #104 Added required-after:gtnhlib@[0.9.47,) to the dependencies string of the @Mod annotation in DraconicEvolution.java. The enchanting automation PR (#95) added a GTNHLib dependency but did not declare it. - @felixfour
- Fixed: missing GTNHLib dependency declaration in the mod annotation
- #102 HudHandler skips the armor HUD when ArmorSummary has no max protection and no energy storage. A new IEnergyContainerBowItem interface extends IEnergyContainerWeaponItem. DraconicBow and WyvernBow implement it, and BowHandler and GUIToolConfig match on it instead of a name substring. The out-of-arrows key compared in GUIToolConfig changed from .name to .txt. - @ABKQPO
- Added: Bow-specific energy container interface
- Fixed: Shield HUD showing without shield armor, Bow detection by item name in tool config GUI
- #100 Moved client proxy particle calls in EntityChaosBolt, EntityChaosVortex and TileEnergyTransceiver into @SideOnly(CLIENT) methods. Added tryRepositionPlayerOnMount to CommonProxy and made MountUpdatePacket call it through the common proxy. Also annotated ShieldRenderHandler.tickEnd and made changes to the remote energy tiles. - @Alexdoru
- Fixed: Dedicated server crash from client-only calls in Chaos Guardian entities and energy tiles
- Closes GTNH#24552
- #97 Converted static collections to instance fields managed via ClientProxy and CommonProxy; nullified instances on server stop/client disconnect; fixed shield renderer, Dislocator Inhibitor world caching, CustomArmorHandler, DragonChunkLoader, and ParticleHandler; fixed armor step issue on removal. - @Alexdoru
- Removed: static ShieldRenderHandler, KeyBindings static storage
- Fixed: memory leaks in static caches, armor step retention, dimension-change memory bloat
- #89 Edits en_US.lang: removes stray \n breaks in wyvernBoots and draconicBoots lore, and changes the leading colour code on draconicHelm lore from 2 to 3. - @tuodekun
- Fixed: inconsistent line breaks in Wyvern and Draconic item lore
- #88 Updated ModelDraconicArmor to apply vanilla rotation to the left arm when an offhand item is held; wrapped in soft dependency check via Loader.isModLoaded('backhand'). - @Roelof033
- Added: ModHelper integration class
- Fixed: draconic armor offhand rendering with backhand mod
- Closes GTNH#23301
- #87 TileReactorStabilizer.getInventoryStackLimit null-checks getMaster() and returns 0 when the core is null. setInventorySlotContents and decrStackSize still lack the same check. - @Georggi
- Fixed: NullPointerException in the Reactor Stabilizer when the master core is missing
- #81 Added the missing SPACE case returning "HazmatSpace" to the switch in ModHelper.getHazmatArmorConfigKey. Also bumps dependency versions, the settings convention plugin and gradle.properties comments. - @Alexdoru
- Fixed: missing space hazard case in hazmat armor config key lookup
Performance
- #111 ResourceHandler.init now calls getImagesFolder() and addRSPack() during pre-init, so the folder resource pack is registered before FML's final resource reload. The refresh call after the download finishes is removed. downloadedImages is now a ConcurrentHashMap and isFinished is volatile. - @boubou19
- Removed: global resource refresh after manual image download
- #109 Added a static VALUES array to the SelfPickUpMode enum in Magnet and used it in next() and getSelfPickupStatus instead of calling values(). - @boubou19
- #108 Created PlacedItemDisplayListCache to cache OBJ model rendering, integrated with RenderTilePlacedItem and TilePlacedItem, optimized RenderMobSoul. Added dep on external caching library. - @boubou19
- Added: PlacedItemDisplayListCache class, Display list caching system
- #107 In ModelRenderOBJ, moved ResourceHandler.bindTexture(texture) out of compileDisplayList and into render and renderWithRotation, so the bind happens outside the GL display list. - @mitchej123
- Fixed: texture lazily created and uploaded every render pass
- #99 The tile renderers now keep one cached EntityItem per renderer and reuse it, setting the stack and world before rendering and clearing them afterwards. Removes the per-frame EntityItem allocation and stack copy. - @Alexdoru
- Fixed: per-frame EntityItem allocation in tile renderers
Internal / Refactor
- #86 Copies the BrandonsCore classes into Draconic Evolution and renames the utills packages to utils (LogHelper, DataUtils, ItemNBTHelper, GuiHelper). It drops the required-after:BrandonsCore dependency, adds GTNHLib as an api dependency, hardcodes the proxy class names and removes dead code and commented-out blocks. - @Connor-Colenso
- Added: BrandonsCore code inside Draconic Evolution
- Removed: BrandonsCore dependency
- Migration: Addons that use BrandonsCore or the old utills packages from Draconic Evolution must switch to the com.brandon3055.draconicevolution utils packages.
Documentation
- #84 Changed the description string for linearReactorFuelUsage in ConfigHandler.syncConfig and reformatted the call chain. - @StaffiX
Chores
- #91 Synced zh_CN.lang with ParaTranz. Supersedes #83, which mishandled multi-line lores. - @tuodekun
- Fixed: multi-line lore handling in the zh-CN translation
- #82 Removed MinecraftForge.EVENT_BUS.register(instance) from DragonChunkLoader.init and switched explicit generic type arguments to diamond syntax. - @Alexdoru
- Removed: unused event bus registration in the dragon chunk loader
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@Alexdoru (6), @boubou19 (5), @Algent (4), @Dream-Master (4), @Ruling-0 (4), @UltraProdigy (4), @Kogepan229 (3), @felixfour (2), @koolkrafter5 (2), @RecursivePineapple (2), @tuodekun (2), @ABKQPO (1), @Connor-Colenso (1), @Georggi (1), @Kiwi233 (1), @MalTeeez (1), @mitchej123 (1), @Nana-Sakura (1), @NealDeal34 (1), @Nikolay-Sitnikov (1), @Ranzuu (1), @Roelof033 (1), @sisyphussy (1), @StaffiX (1), @SuperSoupr (1), @tiffit (1)