| version | loader availability | note |
|---|---|---|
| 1.21.1 | Fabric and Neoforge | part of season 2 |
| 1.20.1 | Fabric and Forge | later versions are part of season 2 |
| Older versions | Fabric, sometimes Forge | Unmaintained, season 1 |
On Fabric 1.20.1, users of Sodium may need to install Indium, or models will look weird
On Neoforge, enable the "NeoForge Light Pipeline" in Mods -> NeoForge -> Client settings -> NeoForge Light Pipeline
Packages adds packages, which can hold 8 stacks of one item.
- Construct Packages out of any solid block.
- Insert and remove items by clicking the front face. No need to use an empty hand.
- Hold CTRL to completely fill or empty a Package with one click.
- Interact with Packages in your inventory too, just like a Bundle.
- Make a package "sticky" so it won't forget its contents when empty.
The catch: Packages only hold 8 stacks. There are no storage upgrades. The size is not configurable. But packages can nest inside each other, and even stack when they contain the same contents!
Other than their size, Packages behave like cheap shulker boxes. Measure with a comparator, crush with a piston, and dispense with a dispenser; shulker box loader and unloader designs work great on Packages.

Credits
Kat came up with the Package Crafter model, unascribed came up with the idea for bundle interactions.
Support
See the minisite for more documentation.
Questions? Comments? Just lonely? Join me on Discord: https://highlysuspect.agency/discord/
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
|
R
3.4.6
|
last yr. | 1 | |||
|
R
3.4.6
|
last yr. | 1 | |||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
|
R
3.4.5
|
last yr. | 1 | |||
|
R
3.4.5
|
last yr. | 1 | |||
|
R
3.4.0.1
|
last yr. | 1 | |||
|
R
3.4.4
|
last yr. | 1 | |||
|
R
3.4.4
|
last yr. | 1 | |||
|
R
3.4.3
|
last yr. | 1 | |||
|
R
3.4.3
|
last yr. | 1 | |||
|
R
3.4.2
|
last yr. | 1 | |||
|
R
3.4.2
|
last yr. | 1 | |||
|
R
3.4.1
|
last yr. | 1 | |||
|
R
3.4.1
|
last yr. | 1 | |||
|
R
3.4
|
last yr. | 1 | |||
|
R
3.4
|
last yr. | 1 | |||
|
R
3.4
|
last yr. | 1 | |||
|
R
3.4
|
last yr. | 1 | |||
|
R
3.3
|
last yr. | 1 | |||
|
R
3.3
|
last yr. | 1 | |||
|
R
3.3
|
last yr. | 1 | |||
|
R
3.3
|
last yr. | 1 | |||
|
R
3.2
|
last yr. | 1 | |||
|
R
3.2
|
last yr. | 1 | |||
|
R
3.2
|
last yr. | 1 | |||
|
R
3.2
|
last yr. | 1 | |||
|
B
3.1
|
last yr. | 1 | |||
|
B
3.1
|
last yr. | 1 | |||
|
B
3
|
last yr. | 1 | |||
|
R
3
|
last yr. | 1 | |||
|
B
3
|
last yr. | 1 | |||
|
R
3
|
last yr. | 1 | |||
|
R
2.1
|
last yr. | 1 | |||
|
R
2.0
|
last yr. | 1 | |||
|
R
1.4
|
last yr. | 1 | |||
|
R
1.3
|
last yr. | 1 | |||
|
R
1.2.1
|
last yr. | 1 | |||
|
B
1.2.0
|
last yr. | 1 | |||
|
R
1.1.1
|
last yr. | 1 |
I rewrote the ENTIRE build system; all of my mods are now built with a new build pipeline that's faster and clearer than before. Kinda proud of it but I also want to push out a build to make extra sure nothing has broken in the meantime.
- Compile with new tooling.
- Update to latest ModderNameLib (blockentity renderer utils).
- The inWorldStickyPackages config option was backwards; setting it to 'false' turned it on. Now fixed.
- Config files have NOT been migrated because it was not intended to be enabled by default.
- The "insert all" (ctrl-rightlclick) action removes items from your inventory in a different order.
- Specifically, it tries to remove items from your hand *last*. This way you can keep ctrl-clicking more packages to insert more of the same item.
- Let me know if this feels weird, it's pretty niche stuff.
- (1.20.1) Fix Packages writing to the world during deserialization. (Packages on Create contraptions no longer crash.)
- (1.20.1 Forge) Fix IItemHandler for sticky packages. It now... actually works!
- (1.20.1 Forge) Cut down on startup logspam.
I rewrote the ENTIRE build system; all of my mods are now built with a new build pipeline that's faster and clearer than before. Kinda proud of it but I also want to push out a build to make extra sure nothing has broken in the meantime.
- Compile with new tooling.
- Update to latest ModderNameLib (blockentity renderer utils).
- The inWorldStickyPackages config option was backwards; setting it to 'false' turned it on. Now fixed.
- Config files have NOT been migrated because it was not intended to be enabled by default.
- The "insert all" (ctrl-rightlclick) action removes items from your inventory in a different order.
- Specifically, it tries to remove items from your hand *last*. This way you can keep ctrl-clicking more packages to insert more of the same item.
- Let me know if this feels weird, it's pretty niche stuff.
- (1.20.1) Fix Packages writing to the world during deserialization. (Packages on Create contraptions no longer crash.)
- (1.20.1 Forge) Fix IItemHandler for sticky packages. It now... actually works!
- (1.20.1 Forge) Cut down on startup logspam.
I rewrote the ENTIRE build system; all of my mods are now built with a new build pipeline that's faster and clearer than before. Kinda proud of it but I also want to push out a build to make extra sure nothing has broken in the meantime.
- Compile with new tooling.
- Update to latest ModderNameLib (blockentity renderer utils).
- The inWorldStickyPackages config option was backwards; setting it to 'false' turned it on. Now fixed.
- Config files have NOT been migrated because it was not intended to be enabled by default.
- The "insert all" (ctrl-rightlclick) action removes items from your inventory in a different order.
- Specifically, it tries to remove items from your hand *last*. This way you can keep ctrl-clicking more packages to insert more of the same item.
- Let me know if this feels weird, it's pretty niche stuff.
- (1.20.1) Fix Packages writing to the world during deserialization. (Packages on Create contraptions no longer crash.)
- (1.20.1 Forge) Fix IItemHandler for sticky packages. It now... actually works!
- (1.20.1 Forge) Cut down on startup logspam.
I rewrote the ENTIRE build system; all of my mods are now built with a new build pipeline that's faster and clearer than before. Kinda proud of it but I also want to push out a build to make extra sure nothing has broken in the meantime.
- Compile with new tooling.
- Update to latest ModderNameLib (blockentity renderer utils).
- The inWorldStickyPackages config option was backwards; setting it to 'false' turned it on. Now fixed.
- Config files have NOT been migrated because it was not intended to be enabled by default.
- The "insert all" (ctrl-rightlclick) action removes items from your inventory in a different order.
- Specifically, it tries to remove items from your hand *last*. This way you can keep ctrl-clicking more packages to insert more of the same item.
- Let me know if this feels weird, it's pretty niche stuff.
- (1.20.1) Fix Packages writing to the world during deserialization. (Packages on Create contraptions no longer crash.)
- (1.20.1 Forge) Fix IItemHandler for sticky packages. It now... actually works!
- (1.20.1 Forge) Cut down on startup logspam.
- (1.21.1) Fix crash when putting an enchanted item in a package. (I would like to get off Mr. Codec's Wild Ride.)
- (1.21.1) Tweak package style networking code. Marginally more efficient (doesn't serialize the whole block ID every time)
- (1.21.1) Fix crash when putting an enchanted item in a package. (I would like to get off Mr. Codec's Wild Ride.)
- (1.21.1) Tweak package style networking code. Marginally more efficient (doesn't serialize the whole block ID every time)
- With regard to package actions (take-all vs. take-stack, etc), generally the mod no longer cares whether you are *sneaking*, only whether you have the physical Shift key pressed. This fixes problems where rebinding "sneak" to Ctrl or Alt made it impossible to activate certain actions. Thanks to GlintingPlanet11 for reporting this problem because I totally forgot you could rebind "sneak".
- With regard to package actions (take-all vs. take-stack, etc), generally the mod no longer cares whether you are *sneaking*, only whether you have the physical Shift key pressed. This fixes problems where rebinding "sneak" to Ctrl or Alt made it impossible to activate certain actions. Thanks to GlintingPlanet11 for reporting this problem because I totally forgot you could rebind "sneak".
- With regard to package actions (take-all vs. take-stack, etc), generally the mod no longer cares whether you are *sneaking*, only whether you have the physical Shift key pressed. This fixes problems where rebinding "sneak" to Ctrl or Alt made it impossible to activate certain actions. Thanks to GlintingPlanet11 for reporting this problem because I totally forgot you could rebind "sneak".
- With regard to package actions (take-all vs. take-stack, etc), generally the mod no longer cares whether you are *sneaking*, only whether you have the physical Shift key pressed. This fixes problems where rebinding "sneak" to Ctrl or Alt made it impossible to activate certain actions. Thanks to GlintingPlanet11 for reporting this problem because I totally forgot you could rebind "sneak".
- Update tooling.
- New version of Loom means Fabric mods no longer ship with a separate refmap file. This is a big change, so please report mixin apply failures.
- Update to latest ModderNameLib.
- Creative menu order now matches the ordering of vanilla blocks with sixteen colors.
- Ensure opaque colors are used in rendering, which may fix the Package front-face rendering black. (ty Kryn)
- Update tooling.
- New version of Loom means Fabric mods no longer ship with a separate refmap file. This is a big change, so please report mixin apply failures.
- Update to latest ModderNameLib.
- Creative menu order now matches the ordering of vanilla blocks with sixteen colors.
- Ensure opaque colors are used in rendering, which may fix the Package front-face rendering black. (ty Kryn)
- Update tooling.
- New version of Loom means Fabric mods no longer ship with a separate refmap file. This is a big change, so please report mixin apply failures.
- Update to latest ModderNameLib.
- Creative menu order now matches the ordering of vanilla blocks with sixteen colors.
- Ensure opaque colors are used in rendering, which may fix the Package front-face rendering black. (ty Kryn)
- Update tooling.
- New version of Loom means Fabric mods no longer ship with a separate refmap file. This is a big change, so please report mixin apply failures.
- Update to latest ModderNameLib.
- Creative menu order now matches the ordering of vanilla blocks with sixteen colors.
- Ensure opaque colors are used in rendering, which may fix the Package front-face rendering black. (ty Kryn)
- (Forge, Neoforge) Eliminate intermittent crash on startup caused by a mod loading race condition.
- (Neoforge 1.21.1) All of the Neoforge-specific classes were placed in the wrong package. They have been moved.
- Update issues/sources URLs to the new location.
- (Forge, Neoforge) Eliminate intermittent crash on startup caused by a mod loading race condition.
- (Neoforge 1.21.1) All of the Neoforge-specific classes were placed in the wrong package. They have been moved.
- Update issues/sources URLs to the new location.
- (Forge, Neoforge) Eliminate intermittent crash on startup caused by a mod loading race condition.
- (Neoforge 1.21.1) All of the Neoforge-specific classes were placed in the wrong package. They have been moved.
- Update issues/sources URLs to the new location.
- (Forge, Neoforge) Eliminate intermittent crash on startup caused by a mod loading race condition.
- (Neoforge 1.21.1) All of the Neoforge-specific classes were placed in the wrong package. They have been moved.
- Update issues/sources URLs to the new location.
- Remove usage of a deprecated fabric-rendering-api method
- (1.20.1) Backport the improved model retexturing engine from 1.21.1
- (1.20.1) Fix horrible dupe bug lmao
- Remove usage of a deprecated fabric-rendering-api method
- (1.20.1) Backport the improved model retexturing engine from 1.21.1
- (1.20.1) Fix horrible dupe bug lmao
- Remove usage of a deprecated fabric-rendering-api method
- (1.20.1) Backport the improved model retexturing engine from 1.21.1
- (1.20.1) Fix horrible dupe bug lmao
- Remove usage of a deprecated fabric-rendering-api method
- (1.20.1) Backport the improved model retexturing engine from 1.21.1
- (1.20.1) Fix horrible dupe bug lmao
- In-game version number is now zero-padded, just like it is on mod hosting platforms. [GH#1](https://github.com/quat1024/mods/issues/1)
- Update bundled copy of ModderNameLib to 2025.09.11.
- (1.20.1) Fix a scenario where if a mod forgets to call
Package#canPlaceItem, it can lead to a dupe bug. It will now void the offending items instead (there isn't much else I can do). [GH#8](https://github.com/quat1024/mods/issues/8) - (1.21.1) Restructure the package and package-crafter retexturing logic. It's a lot simpler now (and uses some of the new moddernamelib code).
- This will come to 1.20.1 at a later time
- In-game version number is now zero-padded, just like it is on mod hosting platforms. [GH#1](https://github.com/quat1024/mods/issues/1)
- Update bundled copy of ModderNameLib to 2025.09.11.
- (1.20.1) Fix a scenario where if a mod forgets to call
Package#canPlaceItem, it can lead to a dupe bug. It will now void the offending items instead (there isn't much else I can do). [GH#8](https://github.com/quat1024/mods/issues/8) - (1.21.1) Restructure the package and package-crafter retexturing logic. It's a lot simpler now (and uses some of the new moddernamelib code).
- This will come to 1.20.1 at a later time
- In-game version number is now zero-padded, just like it is on mod hosting platforms. [GH#1](https://github.com/quat1024/mods/issues/1)
- Update bundled copy of ModderNameLib to 2025.09.11.
- (1.20.1) Fix a scenario where if a mod forgets to call
Package#canPlaceItem, it can lead to a dupe bug. It will now void the offending items instead (there isn't much else I can do). [GH#8](https://github.com/quat1024/mods/issues/8) - (1.21.1) Restructure the package and package-crafter retexturing logic. It's a lot simpler now (and uses some of the new moddernamelib code).
- This will come to 1.20.1 at a later time
- In-game version number is now zero-padded, just like it is on mod hosting platforms. [GH#1](https://github.com/quat1024/mods/issues/1)
- Update bundled copy of ModderNameLib to 2025.09.11.
- (1.20.1) Fix a scenario where if a mod forgets to call
Package#canPlaceItem, it can lead to a dupe bug. It will now void the offending items instead (there isn't much else I can do). [GH#8](https://github.com/quat1024/mods/issues/8) - (1.21.1) Restructure the package and package-crafter retexturing logic. It's a lot simpler now (and uses some of the new moddernamelib code).
- This will come to 1.20.1 at a later time
- In-game version number is now zero-padded, just like it is on modrinth. [GH#1](https://github.com/quat1024/mods/issues/1)
- (1.20.1) Fix a scenario where if a mod forgets to call
Package#canPlaceItem, it can lead to a dupe bug. It will now void the offending items instead (there isn't much else I can do). [GH#8](https://github.com/quat1024/mods/issues/8) - (1.21.1) Restructure the package and package-crafter retexturing logic. It's a lot simpler now (and uses some of the new moddernamelib code).
- This will come to 1.20.1 at a later time
- In-game version number is now zero-padded, just like it is on modrinth. [GH#1](https://github.com/quat1024/mods/issues/1)
- (1.20.1) Fix a scenario where if a mod forgets to call
Package#canPlaceItem, it can lead to a dupe bug. It will now void the offending items instead (there isn't much else I can do). [GH#8](https://github.com/quat1024/mods/issues/8) - (1.21.1) Restructure the package and package-crafter retexturing logic. It's a lot simpler now (and uses some of the new moddernamelib code).
- This will come to 1.20.1 at a later time
- In-game version number is now zero-padded, just like it is on modrinth. [GH#1](https://github.com/quat1024/mods/issues/1)
- (1.20.1) Fix a scenario where if a mod forgets to call
Package#canPlaceItem, it can lead to a dupe bug. It will now void the offending items instead (there isn't much else I can do). [GH#8](https://github.com/quat1024/mods/issues/8) - (1.21.1) Restructure the package and package-crafter retexturing logic. It's a lot simpler now (and uses some of the new moddernamelib code).
- This will come to 1.20.1 at a later time
- New item: *Sticky Syrup*. Apply it to a package to make it *sticky*. Sticky packages remember their item even when they are empty.
- This replaces the old system of packages becoming sticky when they are next to a slime/honey block. Not many people knew about it!
- The old system is available behind a config option.
- Tweak interactions with regard to sticky packages. (For example, you can insert items into an empty, sticky package, even if they aren't items from your hand.)
- Remove the annoying honey particles from sticky packages. Sticky packages can now be distinguied by "sticky" text that appears when shifting.
- It is behind a client config option, if you want them back for some reason...
- Stickiness might actually work on Forge!!!!! (lmao) it wasn't being enforced through the
IItemHandler. - Slightly less willing to be placed vertically. You have to look up/down a bit farther.
- Fix an issue where items which stacked to 16 could be deleted using Packages inventory interactions.
- On 1.21.1,
PackageBlockEntityno longer implements vanillaContainer! Instead, modloader-specific inventory mechanisms are used. - On NeoForge, the Package exposes an
ItemHandlercapability. On Fabric, the Package exposes anItemStorageAPI. - This was a rather large change so I'd like to test it before backporting it to 1.20.1.
- On 1.21.1, the Package *item* also exposes these modloader-specific inventories.
- This means other mods which can, e.g., pull blocks out of shulker boxes in your inventory, may be able to pull items out of Packages too.
- This feature needs more testing.
On NeoForge, enable the "NeoForge Light Pipeline" in
Mods -> NeoForge -> Client settings -> NeoForge Light Pipeline. This will improve the apperance of the Package Crafter.