Skip to content

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)