Nuclear-Control
14 merged pull requests.
New Features
- #35 Added localization keys for GUI titles across all info panel GUIs and thermo displays. Uses i18n lookups instead of hardcoded strings. - @Ranzuu
- Added: GUI title localization, Optional color code localization for resource packs
- #34 Modified ClientTickHandler to warn and skip duplicate alarm sound entries, allowing third-party sound contributions to coexist. - @2ndDerivative
- Added: Support for third-party alarm sounds
Changes
- #44 Halved resolution of all info panel block textures (on/off states) to 16x16 while maintaining visual appearance. - @tiffit
- #38 Updated gradle configuration, dependencies, and ItemCardAppeng to accommodate Applied Energistics 2 API changes. - @Kogepan229
- Added: Gradle daemon JVM configuration
- Fixed: AE2 compilation errors
Bug Fixes
- #49 Modified TileEntityInfoPanelRenderer rendering logic and adjusted TileEntityInfoPanel culling settings to resolve depth fighting and backface culling issues. - @boubou19
- Fixed: Z-fighting visual artifacts on screen displays, Incorrect culling of panel faces at certain angles
- #42 Fixed GuiScrollableList.setScissor() to use ScaledResolution.getScaleFactor() instead of gameSettings.guiScale (which is 0 for Auto scale), preventing zero-size scissor rectangles that clipped all toggle buttons. - @dipo33
- Fixed: Invisible line configuration buttons with Auto GUI scale
- Closes GTNH#23767
- #37 Corrected typo in ItemCard55Reactor.java. - @Blubstr
- Fixed: Typo in ItemCard55Reactor
- #36 Fixed overflow bug in DisplaySettingHelper.java. - @MeiTianyou
- Fixed: Integer overflow in DisplaySettingHelper
- #33 Replaced the string-based panel settings with a BitSet. Removed
IPanelAdvDataSource, merging it intoIPanelDataSource.GuiScrollableList.initGui()clearsfunctionButtonsbefore rebuilding them,GUI_HEIGHTwent from 233 to 236, and the native cards and the display setting helper were updated. - @guid118- Added: Javadoc on many methods
- Removed: IPanelAdvDataSource interface
- Fixed: Button duplication on window minimize, Settings compatibility
- Closes GTNH#21154
- #32 Added side check (@SideOnly) to client-only initialization code in TileEntityAdvancedInfoPanel to prevent execution on server. - @wlhlm
- Fixed: Server log spam on Advanced Info Panel placement
- Closes GTNH#20882
- #30 Corrected click detection bounds in GuiPanelSlope and fixed angle calculation in ModelInfoPanel. - @guid118
- Fixed: Slope GUI click detection, Slope maximum angle calculation
- #29 Added facing/rotation data transmission on TileEntity initialization for AverageCounter, EnergyCounter, HowlerAlarm, InfoPanel, InfoPanelExtender, RangeTrigger, and Thermo. - @guid118
- Fixed: Block desync in multiplayer
- Closes GTNH#20757
Performance
- #48 Added AngelicaFontBatcher caching, optimized network packet allocations (PacketDataSorterSync, PacketDispSettingsUpdate, PacketSensor, PacketSensorTitle), reduced allocations in TileEntityAdvancedInfoPanel, TileEntityInfoPanel, TileEntityInfoPanelExtender, DataSorter, and Screen rendering paths. Added @Nullable annotation to IPanelDataSource and ItemTimeCard APIs. - @boubou19
- Added: AngelicaFontBatcher for font rendering cache, dependency on Angelica
- #47 Removed per-frame object allocations in MainBlockRenderer, TileEntityInfoPanelRenderer, and DataSorter. Optimized CardWrapperImpl and model rendering. Fixed visibility check for unattached advanced panel extenders. - @boubou19
- Fixed: Invisible advanced panel extenders when unattached, Memory allocations in panel rendering
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@boubou19 (6), @wlhlm (4), @Algent (3), @guid118 (3), @UltraProdigy (3), @Dream-Master (2), @2ndDerivative (1), @Blubstr (1), @chrombread (1), @dipo33 (1), @Glease (1), @Kogepan229 (1), @MeiTianyou (1), @Ranzuu (1), @Ruling-0 (1), @tiffit (1)