Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
CarryCap — server item limits, managed in game
Want a two-totem survival rule, a shared log allowance, or a cap on scarce items? CarryCap lets Fabric server operators define how many matching items each player can carry, then manage those rules directly in Minecraft.
Watch the setup
26 seconds: install on the server, set a cap, list rules and check carried totals.
Start in game
Run /carrycap help, or set your first rule:
/carrycap set minecraft:totem_of_undying 2
/carrycap list
/carrycap check
Use Tab for item IDs and values. Help commands can be clicked to prepare them. Changes save immediately; there is no config reload step after a command edit. Green confirms saved changes, yellow marks warnings or a reached cap, and red explains blocked pickups or invalid input.
What is counted?
Main inventory, hotbar, armor, offhand and the menu cursor, including matching contents inside carried vanilla bundles and shulker boxes. Item-tag limits count matching item types together. Overlapping item and tag caps both apply.
An incoming ground stack that would exceed a cap stays on the ground. Other inventory actions drop the excess at the player at the end of the server tick. If a portable container still causes a breach, it is dropped whole with its contents intact. Crafting/trading inputs are not refunded or rolled back.
Commands
| Command | Purpose |
|---|---|
/carrycap help |
Item-limit setup |
/carrycap help admin |
Administration guide |
/carrycap list [page] |
Active limits |
/carrycap set <item> <max> |
Create or update an item cap |
/carrycap remove <item> |
Remove an item cap |
/carrycap settag <tag> <max> |
Create or update a shared tag cap |
/carrycap removetag <tag> |
Remove a tag cap |
/carrycap status |
Active rules, config health and exemptions |
/carrycap check [player] |
Read-only carried totals |
/carrycap bypass <player> on|off |
Save an explicit player exemption |
/carrycap reload |
Reload manual file edits |
Administration requires vanilla operator level 2+ (gamemaster permission). Ordinary players can read help and check themselves. Operators are subject to limits unless explicitly bypassed. Player targets must be online; bypasses are saved by UUID and survive a restart. No permissions library is required.
Configuration and upgrading
config/carrycap.json remains compatible with 0.1.0:
{
"limits": [
{"type": "item", "id": "minecraft:totem_of_undying", "max": 2},
{"type": "tag", "id": "minecraft:logs", "max": 128}
],
"bypassPlayers": []
}
Maximums are whole numbers from 0 through 2147483647; zero forbids carrying.
Tag IDs in commands do not use a leading #. The minecraft: namespace can
be omitted. Lowering a cap can drop excess items immediately; tell players first.
Command edits keep a .bak file and preserve unknown document fields. External
file changes must be reloaded before commands can edit them. Malformed JSON keeps
the last working rules; invalid entries are skipped with warnings and duplicates
use the strictest cap. Resolve warnings before editing through commands.
Server and client requirements
- Minecraft Java 1.21.11
- Fabric Loader 0.19.3+
- Fabric API 0.141.6+1.21.11 or a compatible newer build
- Java 21+
Install CarryCap on the server. Joining players need no CarryCap, Fabric or Fabric API on their clients. For singleplayer, install it in the local Fabric instance so it runs on the integrated server. Replace the old JAR and keep one CarryCap version installed.
Scope
World chests, ender chests, mounts and remote storage are outside carried inventory. Custom storage components from other mods are not supported. Ground pickups are all-or-nothing for the incoming stack. Recursive portable-container inspection is bounded to eight levels. CarryCap sets inventory rules; it does not limit every item stored or owned elsewhere in a world.


