HydroEnergy
12 merged pull requests.
New Features
- #49 Updated tile entity implementations to expose power toggle capability through GUI controls. - @5-Esania
- Added: GUI power toggle for Hydro Dam, GUI power toggle for Hydro Pump, GUI power toggle for Hydro Turbine
Changes
- #45 Updated dependencies, added EndlessIDs support, refactored HETieredTileEntity and HEPacketChunkUpdate to use new multiblock diagnostics patterns. Fixed MTEHatchOutput-related crash and added hooks for structure compatibility. - @tiffit
- Added: EndlessIDs compatibility, Multiblock diagnostics hooks
- Fixed: Hydro Dam crash with EndlessIDs, MTEHatchOutput compatibility issue
- Closes GTNH#24915
- #42 Replaced getDescription/getStructureDescription overrides with createTooltip() using MultiblockTooltipBuilder in HEHydroDamTileEntity, HEHydroPumpTileEntity and HEHydroTurbineTileEntity. Removed HE.blueprintHintTecTech. - @Alexdoru
- Added: standard multiblock tooltip on Hydro Dam, Hydro Pump and Hydro Turbine
- Removed: blueprint hint line in the controller tooltips
Bug Fixes
- #47 Added waterId bounds checks in HEHydroDamTileEntity and HEServer.onBreakController, clamped HEDam spread limits to Y 0-255, created missing skylight arrays in HELightManager and sent a dummy one in HEPacketChunkUpdate. HEConfig now clamps maxDams to 1-16 and writes it back. - @5-Esania
- Fixed: crash when more dams than maxDams are placed, crash when water spreads below 0 or above 255, crash in dimensions without skylight arrays
- #44 Modified GT_PollutionRendererMixin to clear the world reference, eliminating the client-side world leak in the pollution rendering system. - @Alexdoru
- Removed: World reference leak in GT_PollutionRendererMixin
- Fixed: Memory leak from pollution renderer holding world reference
- #39 Corrected a string in HEHydroTurbineTileEntity.getDescription. - @BroFaceMcgee
- Fixed: typo in Hydro Turbine description
- Closes GTNH#23439
- #38 Added null checks and try/catch in HELightManager, HEPacketChunkUpdate.fromBytes and Handler.onMessage, HEWater.canFlowInto and HEBlockQueue.resolve. Also bumped dependencies, settings convention plugin and the Gradle wrapper. - @rainbowjose
- Fixed: NPE in Hydro Dam light updates and re-rendering, buffer underflow from malformed chunk update packets, NPE when water flows into unloaded chunks
Performance
- #48 Refactored HELightManager to track which dams affect each chunk and cache lighting selectively, updated HETessalator and HEProgram to skip empty sections and reuse buffers, deduplicates HEBlockQueue entries, and removed unused HEClient initialization. - @Algent
- Added: Per-chunk lighting data caching, Selective dam tracking
- Removed: Global lighting cache
- #40 Replaced the renderEntities @Redirect in EntityRendererMixin with an @Inject at shift AFTER. All LocalCapture usage is swapped for MixinExtras @Local, and HETessalator.render now takes a Frustrum. - @Alexdoru
Internal / Refactor
- #50 HEHydroDamTileEntity.addUIWidgets replaces GTUtility.trans("142", ...) with StatCollector.translateToLocal("gt.interact.desc.mb.running"), since GT5-Unofficial is retiring the numbered keys. - @Eldrinn-Elantey
Chores
- #46 HEWater.setBlockTextureName now uses minecraft:water_still. Removed HE.dummyTexture, which pointed at textures/gui/he_water_config.png, and the unused HETags import. - @tiffit
- Removed: GUI texture from the block atlas
- #41 Changed the screen icon fields from Textures.BlockIcons.CustomIcon to IIconContainer and create them with Textures.BlockIcons.custom(). GT5-Unofficial is bumped from 5.09.52.315 to 5.09.52.360. - @leagris
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@boubou19 (5), @Alexdoru (3), @UltraProdigy (3), @MLGfruitshoot (2), @SiwwiSiwwi (2), @tiffit (2), @Algent (1), @AnsonYeung (1), @Auynonymous (1), @BroFaceMcgee (1), @danyadev (1), @desla042-hub (1), @Dream-Master (1), @DylanTaylor1 (1), @Eldrinn-Elantey (1), @FourIsTheNumber (1), @koolkrafter5 (1), @leagris (1), @Pxx500 (1), @rainbowjose (1), @seventh-june (1), @sisyphussy (1)