nei-custom-diagram
27 merged pull requests.
New Features
- #79 Added bolted and rebolted casing entries to DiagramFactory and updated LayoutHandler to provide layout definitions for these new part types. - @serenibyss
- Added: bolted casing part type, rebolted casing part type
- #78 Extended DiagramFactory to include GT++ materials alongside standard GregTech materials. Updated GregTechMaterialParts, GregTechDiagramUtil, and related utilities to handle GT++ material sources. - @serenibyss
- Added: GT++ material parts support
- #70 Implemented ForgeWorldgenLoot diagram with support for ChestGenHooks, Twilight Forest, and Roguelike Dungeon loot tables. Added new diagram group and layout classes. - @slprime
- Added: ForgeWorldgenLoot diagram, Twilight Forest loot table support, Roguelike Dungeons loot support, LootTable and LootEntry classes
- #69 Extended CircuitLineHandler to include new circuit board types and extended the optical circuit line with pico, quantum, and planck variants. - @GDCloudstrike
- Added: exotic+ circuit boards, pico/quantum/planck circuits
- #58 Added sheetmetal to DiagramFactory and LayoutHandler in the gregtech5 materialparts generator. Updated dependency versions. - @serenibyss
- Added: sheetmetal part type to material parts page
- #56 Added StorageListener and updated EnderStorageChestOverview/EnderStorageTankOverview to support server-side recipe handling. Introduced GuiRecipe_Accessor mixin for accessing recipe handler information. - @fengluo2
- Added: StorageListener event handler, server-side Ender Storage support
- #51 Added networking infrastructure with
DataIn/DataOutserialization,MessageBase/MessageToClient/MessageToServermessage classes,NetworkWrapperfor packet routing, and proxy classes for client/server handling. ExtendedEnderStorageChestOverviewandEnderStorageTankOverviewto query server state and display it alongside client data. - @fengluo2- Added: Server-side data support for Ender Storage diagrams, DataIn and DataOut serialization utilities, Message base classes and handlers for networking, NetworkWrapper for packet routing, ClientProxy and CommonProxy for side-specific logic, Config options for server communication
- #50 Added abstract useCustomScroll() to DiagramGroupInfo and its AutoValue builder (default true), passed to HandlerInfo.Builder via setUseCustomScroll in buildHandlerInfo. Bumps NotEnoughItems to 2.8.11-GTNH and GT5-Unofficial to 5.09.52.32. - @slprime
- Added: per-group option to use the standard NEI scroll bar
Changes
- #77 Drops the Materials.isRadioactive() check and its tooltip line in GregTechDiagramUtil, removes the materialinforadioactive lang key from en_US and zh_CN, and bumps GT5-Unofficial to 5.09.54.48 where the method was removed. - @Sanduhr32
- Removed: radioactive warning in material info tooltip
- #75 Adds Draw.CustomColor with ColorResource entries (textColor, guiLines, guiOverlayWhite, rulerColor1, rulerColor2) and removes Draw.Colour.OVERLAY_WHITE. Lines and Lines.Builder now take ColorResource instead of int, so addons calling setColour(int) must change. Adds a GTNHLib 0.11.16 dependency and bumps other dependencies and the settings plugin. - @Ranzuu
- Added: configurable diagram colors via GTNHLib ColorResource
- Removed: OVERLAY_WHITE color constant
- Migration: Addon code using the diagram API must pass a GTNHLib ColorResource (for example Draw.CustomColor.guiLines) to Lines.Builder.setColour instead of an int, and read Lines.colour() as a ColorResource. Draw.Colour.OVERLAY_WHITE is replaced by Draw.CustomColor.guiOverlayWhite.
- #73 Changed hover color from solid color to texture for better visual consistency. Made loot table titles localizable through language files. Removed unused color constants. - @Ranzuu
- Added: localizable loot table titles
- Removed: unused color constants
- #72 Removed ScrollManager, Scrollbar, and related scroll classes. Refactored DiagramGroup to use AdaptiveWidthDiagramGroup for native scrolling support. Updated all diagram implementations to remove custom scroll handling. - @slprime
- Added: AdaptiveWidthDiagramGroup for native scrolling
- Removed: ScrollManager, Scrollbar, ScrollDirection, ScrollOrientation, MouseButton
- Fixed: duplicate scrollbars in large lists
Bug Fixes
- #82 DiagramGroup.matchDiagrams for the item case reads the contained fluid with StackInfo.getFluid and merges the diagrams matched for the FluidComponent into the item matches. - @slprime
- Fixed: usage lookup for Mercury and Sodium Persulfate in diagrams
- #76 Updated StorageListener to use RecipeId.getHandlerName() instead of deprecated getHandleName() following NEI API change. - @tiffit
- Fixed: Ender Storage recipe viewer crash
- Closes GTNH#25862
- #63 Extended DiagramBuilder to include raw ores and added thermal centrifuge recipe compatibility for outputs differing only in dusts. Updated GregTechOreProcessing and LayoutHandler to support new ore types. - @TheYoingLad
- Added: GT++ raw ore support, thermal centrifuge dust-variant recipe handling
- Fixed: ore processing diagram missing steps (issue #17537)
- Closes GTNH#17537
- #60 CircuitLineHandler now uses ItemList.NandChipArray.get(1) instead of GT_Loader_Items.NandChipBoard for the NAND chip board and the additional diagram items. Bumps GT5-Unofficial to 5.09.52.220 and NewHorizonsCoreMod to 2.8.109. - @boubou19
- Fixed: NAND chip circuit line board reference after the NAND Chip Array moved
Performance
- #67 Removed expensive NBT-based sorting and string conversion in material tools and circuits handlers. Retained insertion order instead of custom sort order. - @danyadev
- Removed: NBT string conversion for sorting, custom item sort order
- Fixed: excessive world load time
- #64 Cached MaterialPart.values() in a static VALUES array in the materialtools DiagramFactory and used it in buildDiagram. The materialparts DiagramFactory got the same treatment plus a spotless:off block that reflows the enum constants. - @Alexdoru
Removals
- #62 Removed the FLUID_CANNER entry (RecipeMaps.fluidCannerRecipes) from the RecipeMap enum in RecipeHandler and the fluidcannerlabel key from en_US.lang and zh_CN.lang. Sister change to GT5-Unofficial#5763. - @FourIsTheNumber
- Removed: Fluid Canner recipe in the recipe debugger
- #57 Removed the SLICING_MACHINE entry (RecipeMaps.slicerRecipes) from the RecipeMap enum in the recipedebugger RecipeHandler. Sister change to GT5-Unofficial#5648. - @UltraProdigy
- Removed: Slicer recipe in the recipe debugger
Internal / Refactor
- #80 Changed protected final fields in DiagramGroup, CustomInteractable and InteractiveComponentGroup to public. GuideNH's Mixin accessors threw InvalidAccessorException because shadowImplementation redirects the imports in Mixin classes. - @ABKQPO
- #59 CircuitLineHandler now uses updated NewHorizonsCoreMod item references and drops DreamcraftUtil (and the CustomItemList import). Also bumps dependency versions, the settings convention plugin to 2.0.16 and adds gradle.properties comments for JVM Downgrader. - @boubou19
- Removed: DreamcraftUtil helper
- #55 Replaced OrePrefixes.mRegularLocalName with getDefaultLocalName() and values() with the VALUES array in the materialparts, materialtools, oredictionary and oreprefixes generators. Bumps NEI, GT5-Unofficial, NewHorizonsCoreMod, Galacticraft and ForestryMC dependency versions. - @Vlamonster
- #52 Replaced BlockOresAbstract with GTBlockOre in GregTechOreProcessing.isGregTechOreBlock and replaced the mTypes bit check with material.hasOresItems(). Bumps NEI, GT5-Unofficial, NewHorizonsCoreMod and Galacticraft versions; gradlew line-ending and comment fixes. - @RecursivePineapple
Chores
- #81 CustomInteractable fields drawable, tooltip and interact become protected. Public accessors interact(), drawBackground() and drawForeground() are added to reduce accessor mixins in GuideNH. - @ABKQPO
- Added: public accessors on CustomInteractable
- #66 Bumps GT5-Unofficial to 5.09.52.391 and replaces direct reads of mChemicalFormula and mLocalizedName with getChemicalFormula() and getLocalizedName() in GregTechDiagramUtil and GregTechFormatting. - @iouter
- #65 DiagramBuilder in the GregTech 5 ore processing generator gets a comment about the missing-recipe case and warn logging when the filtered crushed or purified outputs are absent. Extended output is printed when OREPROC_DEBUG_LOGGING is on. - @TheYoingLad
- Added: warning log for missing thermal centrifuge recipes
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@Dream-Master (6), @slprime (6), @UltraProdigy (6), @boubou19 (3), @D-Cysteine (3), @koolkrafter5 (3), @Nikolay-Sitnikov (3), @serenibyss (3), @ABKQPO (2), @Auynonymous (2), @danyadev (2), @fengluo2 (2), @Ranzuu (2), @TheYoingLad (2), @Alexdoru (1), @chochem (1), @chrombread (1), @Eldrinn-Elantey (1), @EnderProyects (1), @FourIsTheNumber (1), @GDCloudstrike (1), @iouter (1), @MassAnarchyy (1), @PLASMAchicken (1), @Pxx500 (1), @RecursivePineapple (1), @Sanduhr32 (1), @tiffit (1), @Vlamonster (1)