StorageDrawers
24 merged pull requests.
New Features
- #77 Modified isUseableByPlayer check in TileEntityController and TileEntitySlave to use same validation as TileEntityDrawers instead of returning false. - @playfuldoggo
- Added: OpenComputers transposer support
- Fixed: OpenComputers transposer interaction
- Closes GTNH#9324
- #74 Extended BlockDrawers and rendering system to support all six facing directions. Modified BlockCompDrawers, TileEntityDrawers, and all renderer classes (DrawersRenderer, TileEntityDrawersRenderer, CommonDrawerRenderer, ControllerRenderer, DrawersCustomRenderer) to handle vertical orientations. Updated item/block placement logic and client-server synchronization. - @ABKQPO
- Added: Upward and downward drawer placement, Full 6-direction facing support, Enhanced controller rendering
- Removed: ItemCompDrawers class
- Fixed: Creative mode drawer interaction, Drawer orientation client sync
- Migration: Existing drawer blocks facing horizontally will retain their orientation; new orientation modes (up/down facing) are available for new placements.
- #72 Added renderDistance config option (default 256 blocks) to ConfigManager and facing check in TileEntityDrawersRenderer to cull non-visible drawer faces. - @zach2039
- Added: Render distance configuration option, Facing-based render culling
- #67 Added empty slot check in MixinPlayerControllerMP to allow block breaking on empty drawers while preserving item extraction on filled slots. - @loenaaaa
- Added: Empty drawer block breaking
- Fixed: Inability to remove empty drawers
- Closes GTNH#24290
- #57 Added hold-click detection via mixin to PlayerControllerMP, new DrawerClickProperty tracking, and server packet handling in BlockClickMessage. Extraction logic modified in TileEntityDrawers to support variable-rate item removal. - @loenaaaa
- Added: Hold-click item extraction from drawers, DrawerClickProperty state tracking, Early mixin system for PlayerControllerMP interception, BlockClickMessage packet handling
- Fixed: Item extraction from drawers, Connection termination on drawer click, Drawer interaction availability
- Closes GTNH#22945, GTNH#23182, GTNH#23364
- #56 TileEntityDrawers.java refactored item handling logic to support sink simulation for the item transfer API. - @hiroscho
- Added: simulated sink for drawers
- #52 TileEntityDrawers.java implemented item transfer API handlers; dependencies.gradle updated to include GTNHLib 188+; gradle.properties version bumped. - @RecursivePineapple
- Added: item transfer API integration
- #47 BlockDrawers.java and BlockController.java extended with Backhand integration module; new BackhandIntegrationModule.java class; dependencies.gradle updated to include Backhand library. - @mM4ri
- Added: Backhand offhand integration, automatic key application when placing drawer
Changes
- #69 Moved module loader initialization from init to preinit phase in StorageDrawers main class. - @NotKaizul
- Fixed: Non-vanilla drawer Chisel recipe availability
- Closes GTNH#24441
- #66 Removed duplicate recipe entries in GTNH ModRecipes for drawer variants. - @TotallyNotOndre
- Removed: Duplicate assembler recipes
- #60 Refactored click detection to send hold-click state in BlockClickMessage packet rather than inferring from tick differences. Removed player property tracking, eliminated manual ray tracing by reusing traced position, and simplified interval/cooldown logic. TileEntity click handler now invoked directly from server packet. - @danyadev
- Added: Hold-click state in BlockClickMessage
- Removed: Player property state tracking, Manual ray tracing, DrawerClickProperty class
- Fixed: Fast click reliability, Network latency handling
- #54 BlockDrawers.java and BlockController.java: removed right-click handling for offhand items in 2.8.2 branch. - @boubou19
- Removed: right-click item insertion from offhand
- Fixed: interaction issues with offhand tools/torches
- #51 BlockDrawers.java and BlockController.java: removed right-click handling for offhand items; Backhand key insertion on placement still functional. - @mM4ri
- Removed: right-click item insertion from offhand
- Fixed: interaction issues with offhand tools/torches
- Closes Backhand#157
Bug Fixes
- #76 Modified MixinPlayerControllerMP click detection to trigger both input paths on very short clicks. - @Algent
- Fixed: Drawer clicking reliability on fast clicks
- Closes GTNH#25453
- #73 Added drawer ItemIO reset when slot layout is rebuilt in TileEntityDrawers. - @Kogepan229
- Fixed: AE2 Import Bus slot recognition after dolly use
- Closes GTNH#24867
- #71 Corrected PackFactory config loading and ChiselIntegrationModule initialization order to ensure proper integration after preinit. Adjusted IntegrationRegistry to handle module ordering correctly. - @Alexdoru
- Fixed: Non-vanilla drawer Chisel recipes, Storage drawer recipe reset issue
- Migration: Regenerate Storage Drawers recipes or check chisel recipe integration in your config folder.
- Closes GTNH#24441, GTNH#24923
- #65 Modified drawer serialization to use vanilla ItemStack methods that trigger Postea transforms instead of direct NBT manipulation. Added ItemStackConversion utility for proper transformation support. - @Alexdoru
- Added: ItemStackConversion utility class
- Fixed: Postea item transformations in drawers, IC2 Crop Sticks conversion
- Closes GTNH#23867
- #63 Fixed typo in PackFactory config name lookup for non-vanilla drawers, allowing correct x/y position configuration to be retrieved. - @purebluez
- Fixed: Fill level overlay display on modded drawers
- Closes GTNH#23667
- #59 Modified TileEntityDrawers item extraction to check inventory capacity and spawn item entities when necessary. - @loenaaaa
- Fixed: Item voiding on full player inventory
- Closes GTNH#23507
- #58 Corrected bottom face orientation handling and UV mapping in DrawersRenderer and RenderHelperLL. - @leagris
- Fixed: Bottom face orientation rendering, Bottom face UV mapping
- #55 TileEntityDrawers.java updated to apply void upgrade logic to item pipe insertions; documents separate issue with GregTech Item Pipe not respecting sub-drawer fill order. - @ModularityEnjoyer
- Fixed: Void Upgrade not voiding items from Item Pipe
- Closes GTNH#22621
- #53 IDrawer.java and TileEntityDrawers.java updated to delete inserted stacks matching creative drawer contents; DrawerData.java modified to support sink behavior. - @RecursivePineapple
- Added: item sink behavior for creative drawers
- Fixed: creative drawers dropping items from conveyors
Internal / Refactor
- #68 Applied String.intern() to modId field in UniqueMetaIdentifier and updated UniqueMetaRegistry to use interned strings. - @Alexdoru
- #62 Restructured IntegrationModule and IntegrationRegistry to prevent loading client-only classes (like GuiScreen) on server. NotEnoughItems integration now properly guarded with client-side checks. - @Alexdoru
- Fixed: Server-side ClassNotFoundException for client classes, NEI integration error on server startup
Contributors
Everyone who authored, reviewed or co-authored a change on this page, with how many of them:
@Alexdoru (5), @boubou19 (4), @danyadev (4), @Dream-Master (4), @loenaaaa (4), @RecursivePineapple (4), @mM4ri (3), @Algent (2), @DarkShadow44 (2), @hiroscho (2), @wlhlm (2), @ABKQPO (1), @ah-OOG-ah (1), @AnsonYeung (1), @chrombread (1), @FourIsTheNumber (1), @Justxs (1), @Kogepan229 (1), @leagris (1), @Luca-Guettinger (1), @ModularityEnjoyer (1), @Nana-Sakura (1), @NotKaizul (1), @playfuldoggo (1), @purebluez (1), @seventh-june (1), @sisyphussy (1), @tiffit (1), @TotallyNotOndre (1), @UltraProdigy (1), @zach2039 (1)