- Java 100%
- Remove ContainerFallbackRenderer and version-detection shim; target 1.21.11+ only - Close range: box peaks at exact block size, pulses gently inward (slow 1.5s period) - Far range: box scales up to 1.5× block size with smaller pulse amplitude - Color-by-type and double-chest combined box already in place Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| 1.21.x | ||
| .gitignore | ||
| icon_c_quick_empty.svg | ||
| icon_c_quick_fill.svg | ||
| icon_c_quick_stack.svg | ||
| icon_c_sort.svg | ||
| README.md | ||
InventoryManagement
A client-side Fabric mod that keeps your inventory organized automatically — and gives you powerful tools to manage chests and nearby containers without ever opening a menu you didn't ask for.
Supports Minecraft 26.x and 1.21.x.
Features
Auto-sort on pickup
Every time you pick up an item your inventory is re-sorted in the background. No button press, no delay. Items are grouped by category and placed on a consistent side of your hotbar and main inventory:
| Zone | What goes there |
|---|---|
| Hotbar left (slots 0–2) | Tools (pickaxe, axe, shovel, hoe, shears) |
| Hotbar center (slot 3) | Weapon (sword / trident) |
| Hotbar right (slots 4–8) | Freely used / overflow |
| Main inventory top rows | Blocks and building materials |
| Main inventory bottom rows | Food, potions, miscellaneous |
| Offhand | Never touched by auto-sort |
Categories and slot assignments are configurable in the mod config.
Sorting buttons
Small vanilla-styled buttons appear inside any inventory screen. They use sprite references from the vanilla GUI atlas so they inherit whatever texture pack you have loaded automatically — no custom textures shipped by the mod.
| Button | Action |
|---|---|
| Sort | Re-sorts your main inventory into the configured zone layout |
| Quick Empty | Moves every non-hotbar item into the nearest containers in range |
| Quick Stack | Stacks items from your inventory into matching stacks already in nearby containers |
| Quick Fill | Pulls items from nearby containers to top up existing partial stacks in your inventory |
Chest sorting
Open any chest and the sort button appears in the chest UI. Clicking it sorts the chest contents using the same category rules. Works on single chests, double chests, barrels, and any container that exposes a standard slot layout.
Chest search
Open the search UI (/invmanage or the ModMenu config button) to search across all chests the mod has scanned nearby. Results show the container's position, dimension, and how many of the matching item it holds.
Search radius is adjustable inside the search UI with a slider:
| Preset | Description |
|---|---|
| Same room | Containers within ~16 blocks in the same enclosed space (default) |
| Nearby | ~32 blocks radius, ignores walls |
| Extended | ~64 blocks radius |
| Custom | Free slider up to 128 blocks |
The chest index is built from containers you have opened. It is cached locally per world/server and updated the next time you open a container.
Quick stack to nearby containers
One keybind (default V) scans containers within the configured radius and pushes every item from your inventory that already has a matching stack somewhere in those containers. Essentially "deposit like items" from every Terraria player's wishlist.
Smart packet throttle
Every slot-click, sort, or stack operation the mod performs sends packets to the server. Sending too many too fast can look like automation and get you kicked or flagged by anti-cheat.
The throttle system works like this:
- All outgoing inventory packets are queued and dispatched at a configurable rate (default: 8 packets / second).
- If you are kicked from the server while the queue is active, the mod records the current server address and the speed that was in use at the time of the kick.
- On your next connection to that server the limit is automatically lowered by one step (steps: 20 → 15 → 10 → 8 → 5 → 3 packets/second). It keeps stepping down on each kick until the queue stops triggering disconnects.
- The learned limit is stored per server address and persists across sessions. You can review and reset individual entries in the config.
Server compatibility — built-in disabled list
Certain servers run their own anti-cheat or have rules that explicitly ban inventory automation. The mod ships with a built-in list of known servers where all automation features are silently disabled the moment you connect. Only the manual sort button and chest search UI remain available.
Built-in blocked servers (maintained in the mod, updated with releases):
| Server | Reason |
|---|---|
mineplex.com |
Anti-cheat + server rules |
hypixel.net |
Anti-cheat (Watchdog) + server rules |
cubecraft.net |
Anti-cheat + server rules |
hivemc.com |
Anti-cheat + server rules |
mccentral.org |
Anti-cheat + server rules |
minehut.com (lobbies) |
Shared anti-cheat across hosted servers |
funcraft.net |
Anti-cheat + server rules |
playmc.games |
Anti-cheat + server rules |
Matching is done on the resolved hostname. IP addresses that resolve to a blocked hostname are also blocked. Subdomains of a blocked host are blocked (e.g. lobby.hypixel.net matches hypixel.net).
Configuration
Accessed via ModMenu or /invmanage config. All options are stored client-side.
Auto-sort
| Option | Default | Description |
|---|---|---|
| Enable auto-sort on pickup | true |
Triggers a sort every time the pickup event fires |
| Sort hotbar | false |
Whether auto-sort is allowed to rearrange hotbar slots |
| Category layout | (see above) | Which item categories map to which inventory zones |
Blacklist
Fine-grained control over what the mod never touches automatically. Any item or tag on the blacklist is skipped by auto-sort, quick stack, and quick empty.
Built-in presets (toggle individually):
- Never touch offhand — offhand slot is always left alone (on by default)
- Never auto-stack tools — tools are sorted but never moved into containers by quick stack / quick empty
- Only stack non-rare tools — allows common tools to be stacked out but protects enchanted or renamed tools
- Never auto-stack enchanted items — anything with an enchantment is treated as protected
- Never auto-stack named items — anything with a custom name is treated as protected
- Custom item blacklist — free text field accepting item IDs and tags (
minecraft:diamond_sword,#minecraft:swords, etc.)
Quick stack / nearby containers
| Option | Default | Description |
|---|---|---|
| Default search radius | Same room | Starting radius for quick stack and search |
| Max scan radius | 64 |
Hard cap on the slider in the search UI |
| Include locked containers | false |
Whether to attempt containers that require a key/permission mod |
Packet throttle
| Option | Default | Description |
|---|---|---|
| Packets per second | 8 |
Maximum inventory packets dispatched per second |
| Auto-lower on kick | true |
Reduces the limit for a server automatically if you are kicked while the queue was active |
| Minimum auto-limit | 3 |
Floor the auto-throttle will never go below |
| Learned limits | (per server) | View and reset per-server learned speed limits. Each entry shows the server address, the current learned limit, and how many kicks have been recorded for it |
| Reset all learned limits | — | One-click button to wipe all saved kick history and revert every server to the default rate |
Server blacklist
| Option | Default | Description |
|---|---|---|
| Built-in blocked list | enabled |
Toggle the entire built-in blocked server list on or off. Disabling it does not affect your custom list |
| Custom blocked servers | (empty) | Additional server addresses where the mod is fully disabled. Accepts hostnames, IPs, and wildcards (*.example.com). One entry per line |
| Block subdomains | true |
Whether a block on example.com also blocks play.example.com, lobby.example.com, etc. |
| Show disabled notice | true |
Displays a brief chat message on join when the mod is disabled for the current server, so you know it is not working and why |
When the mod is disabled on a server the following are turned off entirely:
- Auto-sort on pickup
- Quick stack / quick empty / quick fill keybinds
- Packet queue (no automated packets are sent at all)
- Chest scan / index updates
The sort button in open container screens and the read-only chest search UI (no stack operations) remain available.
How the UI is built
All UI elements are drawn using vanilla Minecraft's Screen and widget system with vanilla sprite and texture identifiers — no custom texture files are bundled. Buttons reference sprites like container/slot_highlight_back, tab sprites from container/creative_inventory/tab_top_selected_1, and the generic chest sheet at textures/gui/container/generic_54.png. This means any resource pack that retextures the vanilla GUI automatically retextures this mod's UI as well, for free.
Item manipulation uses handleCreativeModeItemAdd (creative mode only) for the ChaosCrate-style give flow, and standard slot-click packet emulation for survival-mode container interactions.
Building
Each version lives in its own subdirectory with its own Gradle wrapper.
# 26.x
cd 26.x && ./gradlew build
# 1.21.x
cd 1.21.x && ./gradlew build
Both build tasks automatically deploy the output jar to your ModrinthApp Dev profile.
License
MIT