Extended Drawers
A mod inspired by storage drawers that aims to allow for easy creation of powerful yet not overpowered storage systems using simple components.
Features
In-game Guide Book
Crafted by combining a book with and upgrade frame, the guide book will explain in more detail how the mod works. Patchouli is required for the guide book to load ingame! The book is only available on versions supported by them.
Drawers
Drawers are blocks that can store a lot of a few items and come in three variants: single-, double- and quad-slot. They can be interacted with in world or using hopper or pipes from other mods. They will make up the bulk of your storage as they are cheap and effective.
Access Points
Access points are blocks that can interact with multiple drawers that are connected to them. They only support insertion in world, but can be extracted from using pipes and hoppers. You can use them to quickly dump your inventory into the system, or hook up digital storage.
Shadow Drawers
Shadow drawers show the amount of a resource that is available in the whole network and allows for insertion and expansion of that resource. They are especially useful for automation as you can keep storage centralized and still access it from far away.
Compacting Drawers
While slightly more expensive to craft compacting drawers offer a lot of convenience over regular drawers. They automatically compress and decompress your items using 2x2 and 3x3 crafting recipes. They also store more of items as the max capacity is based on the most compressed stored item.
Upgrades
Upgrades are items that extend the capacity of a drawer slot. Their power can be tweaked in the config. There is also a downgrade if you need to limit the capacity of a drawer slot. They apply to individual slots and not the whole drawer, unlike other mods.
Locking
You can use a lock on drawers to make them keep their selected item even when empty. This makes sure you don't lose your organization when you remove items and allows you to block automation from filling up empty drawers.
Voiding mode
If sneak clicked with a lava bucket, drawers will start voiding excess items. This is useful when you want to store items of low value as you don't need to worry about overflow. Extended drawers will make sure drawers without voiding enabled fill up first.
Hidden mode
Hide icons on drawers to reduce lag or hide your valuables, but remember, anyone can change it. Applied by sneaking and using black dye or ink sacs on drawers.
Duping mode
You can use a, by default unobtainable, dupe wand to toggle duping mode on drawers. They will continue to provide items even when empty. Voiding mode must still be applied separately.
Addon
Some features, which have been deemed to powerful or otherwise unsuited to the main mod, are available as an official addon.
Customization
Extended drawers offers two main ways to customize the experience: the configs and datapacks.
The configs can be located under the config directory in your installation root, under extended_drawers.
There are two files: one for client side setting and one for settings needed on both the server and client.
All recipes and loot tables can be modified by datapacks like with most mods.
You can find some of the defaults under src/main/resources and others under src/main/generated.
Extended drawers also provides the option to override what items the compacting drawers can compact and how.
This is done through files placed under data/<namespace>/extended_drawers/compression_overrides in json format.
The files should consist of a single object with items as keys and compression levels as values.
Here are some examples:
{
// Adds compacting support to clays. It isn't default as you can't craft it into balls
"clay_ball": 1,
"clay": 4
}
{
// You should never need to do this, but here's an example of how a file for iron might look like
// You can see that numbers are based off of the amount of first item
"iron_nugget": 1,
"iron_ingot": 9,
"iron_block": 81
}
{
// Disables compacting for gold nuggets.
// You have to do this for each tier or something might break.
"gold_nugget": 1
}
Other Info
Modpack permission
You can use this mod in any modpack as long as you don't reupload the mod. You can get a direct download link from modrinth if you need, but I'd prefer you create your modpacks on modrinth or curseforge directly.
Other websites
This mod is only officially available on curseforge, modrinth and github. Any other sites are third-party reuploads and should not be trusted.
Porting and Forking
You can read my policy on forking and porting mods.
Current target: 26.2.
Incompatibilities
I intend to try and stay compatible with as many mods as possible, but might abandon support for some if it becomes too hard.
- Optifine will never be officially supported. Might work, might not.
Licencing
Versions 1.3.0 and older and their source code are licensed under the MIT license. Newer versions are licensed under the Apache License, Version 2.0. I chose to switch because I want to retain ownership of my code while still allowing forks and addons to use any license they want.
You are free to use the mods code in any way you want as long as you follow the license and credit me for the original (link is enough).
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
|
R
v1.2.1
|
2d ago | 1 | |||
|
R
v1.2.0
|
2d ago | 1 | |||
|
R
v1.1.0
|
2d ago | 1 | |||
|
R
v1.0.4
|
2d ago | 1 | |||
|
R
v1.0.3
|
2d ago | 1 | |||
|
R
v1.0.2
|
2d ago | 1 | |||
|
R
v1.0.1
|
2d ago | 1 | |||
|
R
v1.0.0
|
2d ago | 1 |
- Updated to 26.2
- Switched compacting recipe loading to use fabric api instead of custom mixins
- Updated to 26.1
- Introduced automated testing
- Fixed bug where the config wouldn't generate on servers (#135)
- Empty drawers can now be stored within other drawers (#143)
- Made full drawers display their count as yellow (#146)
- This can be toggled in the config
- The layout preview in the config has been fixed
- It only works after entering a world once due to minecraft changes
- The default layout settings have been adjusted
- The text offset field has been split for small and large slots
- The old defaults can be restores with the following layout config:
json
{ "smallItemScale": 0.4, "largeItemScale": 1, "smallTextScale": 0.5, "largeTextScale": 1, "smallTextOffset": 0.8, "largeTextOffset": 0.8 }
``- Drawer contents no longer float as far away from drawers as before
- Fixed drawer face culling not working correctly
- Updated to 1.21.11
- Still in beta due to various issues
- Layout preview on the config screen is broken
- Lighting for block icons on drawers is somewhat broken
- Uses a temporary third-party port of GraphLib (thanks Patbox)
- It might be a while until these issues get fixed, as they'll require large reworks or hacks into core rendering systems*
- Various changes to accommodate the [extensions addon](https://modrinth.com/mod/gDfTLxwP)
- Updated to 1.21.9
- Changed dupe wand model to handheld
- Currently in beta due to various issues
- Layout preview on the config screen is broken
- Lighting for block icons on drawers is somewhat broken
- Uses a temporary third-party port of GraphLib (thanks Patbox)
- It might be a while until these issues get fixed, as they'll require large reworks or hacks into core rendering systems*
- Marked as compatible with 1.21.7 and 1.21.8
- Fixed missing text on capacity limiter screen
- Updated to 1.21.6
- Made the recipe for drawer connectors yield 8 to make them more worthwhile
- Added Traditional Chinese translations ([#141](https://github.com/MattiDragon/ExtendedDrawers/pull/141))
- Updated to 1.21.5
- Marked as beta due to graphlib being in beta
- Updated to 1.21.4
- Marked as beta due to using hacks to make graphlib work on newer versions
- Updated to 1.21.2
- Marked as beta due to using hacks to make graphlib work on newer versions
- Work around sodium breaking drawer icons by using vanilla rendering
- The real issue is still a bug in sodium, but this should prevent it from causing issues
- Fix crash when interacting with some slots of compacting drawers caused by previous bug (#130)
- Updated to 1.21.1
- Fixed divide by 0 error when using
stackSizeAffectsCapacityand inserting items with large stack sizes - Fixed compacting drawers not updating internal state after reading components, causing ghost items
- Comparators are now properly updated when drawer contents change
- Fixed compacting drawers not retaining items when broken
- Fixed crashes when saving drawers with enchanted items
- Added translations to item tags
- Updated to 1.21
- Fix longstanding issues with lighting of items in drawers
- Added Korean and Russian translations (PR #108 and #114)
- Currently in beta due to graphlib being in alpha*
- Updated to 1.20.6
- Compacting drawers no longer show all slots in tooltips due to technical limitations
- Fix possible crash simple caching mode
- Fix compacting drawers sometimes misbehaving on quilt
- Fix possible crash simple caching mode
- Fix compacting drawers sometimes misbehaving on quilt
- Fix possible crash simple caching mode
- Fix compacting drawers sometimes misbehaving on quilt
- Fix smart caching causing bluetooth storage and dupe bugs (maybe)
- Internal changes
- Added ability to place drawers on floor and ceiling
- Fix smart caching causing bluetooth storage and dupe bugs (maybe)
- Internal changes
- Added ability to place drawers on floor and ceiling
- Fix smart caching causing bluetooth storage and dupe bugs (maybe)
- Updated to 1.20.4
- Internal changes
- Added ability to place drawers on floor and ceiling
- Fix compacting drawers sometimes crashing with other storages
- Fix compacting drawers sometimes not updating internal state correctly
- Add option to drop drawers in creative (enabled by default)
- Add another command to debug caching
- Add caching mode option and switch to more stable default caching mode
- Fix insert all not working with empty locked drawers
- Fix compacting drawers sometimes crashing with other storages
- Fix compacting drawers sometimes not updating internal state correctly
- Add option to drop drawers in creative (enabled by default)
- Add another command to debug caching
- Add caching mode option and switch to more stable default caching mode
- Fix insert all not working with empty locked drawers
- Handle drawers being unloaded without being cached
- Handle drawers being unloaded without being cached
- Fix old storages not being removed from the cache
- Added
/drawercachecommand for debugging the cache
- Fix old storages not being removed from the cache
- Added
/drawercachecommand for debugging the cache
- Update to minecraft 1.20.2