Packages
Packages is an item storage mod. Download on CurseForge and Modrinth.
Since v2025, Packages is part of the Season 2 project.
Installation tips
- Fabric 1.20.1 players should install Indium. This fixes a rendering incompatibility with Sodium 0.5.
- Neoforge players should enable the “Neoforge Light Pipeline” in
Mods->NeoForge->Client settings->NeoForge Light Pipeline. This fixes “smooth lighting”-related rendering problems. - More Sodium rendering problems were fixed in
v2025.12.23.
Features
- Build Packages out of any combination of blocks you like.
- Smart insertion and extraction scans your entire inventory; no need to use an empty hand.
- Hold CTRL and completely fill or empty a Package with one click.
- Break Packages and they will retain their inventory.
- Insert and remove items from Packages in your inventory too, just like a Bundle.
- Make a package “sticky” with the Sticky Syrup. Sticky packages remember their contents.
- Ran out of space? That’s understandable; each package only holds 8 stacks of items. But packages can be nested inside each other, and packages with the same contents stack together in the inventory.
Usage
- Make a Package Crafter. Right-click it to open the GUI.
- In the upper-left slot, insert a block that will appear on the outer frame of the package. Any solid block will do.
- In the upper-right slot, insert a block that will appear on the inner core of the package. Any solid block will do.
- In the lower-left slot, insert a dye that will appear on the front face of the package.
- In the lower-right slot, insert a copper ingot.
- Click the button in the GUI (or power the Package Crafter with redstone). You now have a Package!
When a Package is placed in the world, you can right-click to insert one item, shift-right-click to insert a stack, or ctrl-right-click to insert as many items as possible. Left-click is the same but takes items out of the package. These controls are configurable in the packages-client config file.
When a Package exists as an item, you can add and remove items like a Bundle. Pick up a Package with your mouse and right-click on items to add them to the package, or right-click on empty slots to remove them.
Ideas
- Store your earlygame item hoard in a couple of inventory slots.
- Store your lategame item hoard in a nested stack of packages. You can store about a quarter million items in a single package if you max out the recursion.
- Hold extra food, torches, and pickaxes so you never run out of supplies for your mining trip. Then mop up all the cobblestone so you never run out of inventory space either.
- Conveniently access an item you need at a particular place; e.g. put a lapis package near your enchanting table.
- Copy shulker box loader and unloader designs for vanilla Minecraft. They work on Packages too!
- Use them for decoration - packages are very customizable and display their items larger than an Item Frame.
Sticky packages
A “sticky” package will remember its contents even when it has 0 items. To make a package sticky, right-click it with the Sticky Syrup item. To wipe off sticky syrup, left-click the package when it contains 0 items, or break it.
Stickiness is a property of the block; when you break and replace a package you’ll have to reapply the Sticky Syrup. This is so that packages continue to stack in the inventory.
Old system
Prior to Season 2, stickiness behaved differently. There was no Sticky Syrup item. Instead, a package temporarily became sticky when it was placed next to a slime or honey block. The old stickiness mechanic is, for the time being, reenableable in the config file.
Curiosities
- If you ctrl-right-click an empty package with an empty hand, it will insert whatever item you have the most of. One way to organize your inventory after a mining trip is to line up five or six empty packages and ctrl-right-click on each one in turn.
- When you shift-left-click a package and you’re holding an incomplete stack of the same item that’s in the package, it will instead replenish the stack back up to 64. To take more stacks you can keep shift-left-clicking.
- If you’re holding an axe, you can still mine packages from the front even though that requires a left-click.
- Packages don’t make insertion/removal sounds if you have the Invisibility effect.
Modpacker info
Packages cannot be used to cause “nbt overflow” even though they are recursive. This is because packages can only contain one type of item at a time and there is a recursion limit.
In the Package Crafter, Packages can be crafted out of any BlockItem representing a solid-enough block. The item tag packages:banned_from_package_maker can further forbid items from being used to craft Packages if there are items causing display issues.
The item tag packages:things_you_need_for_package_crafting contains valid items for the lower-right slot of the Package Crafter. If you change this away from copper ingots, please adjust the language keys on the tooltip as well.
Any item can be put in a package except for:
- nonempty shulker boxes;
- nonempty bundles;
- packages over the recursion limit;
- anything where
ItemStack#canFitInsideContainerItemsreturns false; - anything tagged with
packages:banned_from_package.
In the config file, “package maker allowlist mode” can be enabled. Then only items in the packages:allowlist_package_maker_frame and packages:allowlist_package_maker_inner tags are permitted in the Package Crafter in the respective slots.
The block tag packages:sticky can be used to control “sticky” blocks for the old stickiness mechanic.
If a package block entity contains the NBT {bcLocked:1b}, the package block is “locked” and cannot be interacted with. Note that the block can still be broken and this tag is not copied onto the item. You need another solution for making packages unbreakable if you want to use this tag. (This was added hastily for Blanketcon.)
In 1.21.1, the data component types used by Packages are:
packages:style, used by packages to hold the frame/inner/dyecolor datapackages:cont, used by packages to store their contents
Please see the packages-client and packages-common config files for more settings.
Credits
The Package Crafter model was designed by Kat.
It was unascribed’s idea to allow in-inventory interactions like a Bundle.
Changelog (Season 2)
v2025.12.23
- 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)
v2025.10.21
- (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.
v2025.09.12
- 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
v2025.09.11
- In-game version number is now zero-padded, just like it is on mod hosting platforms. GH#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 - (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
v2025.08.21
- Now available for 1.21.1 Fabric as well as 1.20.1.
- Now available for 1.21.1 Neoforge as well as Forge 1.20.1.
- 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 Fabric, a nonnull
RenderMaterialis passed when working with fabric-api, possibly fixing some clientside mod-compat issues. - On 1.20.1, migrate off of a deprecated
fabric-apimethod for registering custom models. - 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 NeoForge, the Package exposes an
- 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.
On Fabric 1.20.1, if you have Sodium remember to install Indium. No longer necessary as of Sodium for 1.21.1.