No description
  • Java 98.8%
  • Shell 0.7%
  • Python 0.5%
Find a file
L4stIdi0t 0a5bbe9fa9 Build: label the 26.x jar for the whole line, not the build-target version
The 26.x jar runs across all of 26.1–26.2 via the runtime compat shim, so
name it sorted-fabric-<ver>-mc26.x.jar instead of mc26.2. 1.21.x keeps its
exact minecraft_version.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wSCS1V1UUVZMYVeH8wNjc
2026-07-11 20:31:25 +02:00
1.21.x Release 0.1.6: single 26.x jar spans 26.1–26.2 (fix 26.1.x crash) 2026-07-11 20:09:18 +02:00
26.x Release 0.1.6: single 26.x jar spans 26.1–26.2 (fix 26.1.x crash) 2026-07-11 20:09:18 +02:00
extras Coexist with the Peek mod for shulker previews/labels 2026-06-26 10:41:59 +02:00
mappings Add supporting project files: mappings, extras, icon, modrinth metadata 2026-06-01 10:27:14 +02:00
META-INF Add supporting project files: mappings, extras, icon, modrinth metadata 2026-06-01 10:27:14 +02:00
.gitignore Ignore dev-run / gradle-test logs/ directories 2026-06-28 14:16:50 +02:00
build-all.sh Build: label the 26.x jar for the whole line, not the build-target version 2026-07-11 20:31:25 +02:00
build_icons.py Sort improvements: swap fix, layout, nether grouping, functional families 2026-05-31 10:19:33 +02:00
CHANGELOG.md Release 0.1.6: single 26.x jar spans 26.1–26.2 (fix 26.1.x crash) 2026-07-11 20:09:18 +02:00
features.md Add JUnit unit tests for the pure-logic layer; refresh features.md 2026-06-25 11:13:06 +02:00
icon.png Add supporting project files: mappings, extras, icon, modrinth metadata 2026-06-01 10:27:14 +02:00
icon_c_quick_dump.svg Sort improvements: swap fix, layout, nether grouping, functional families 2026-05-31 10:19:33 +02:00
icon_c_quick_empty.svg Add sort/quick-action button UI for 1.21.x and 26.x 2026-05-24 12:32:43 +02:00
icon_c_quick_fill.svg Add sort/quick-action button UI for 1.21.x and 26.x 2026-05-24 12:32:43 +02:00
icon_c_quick_stack.svg Fix malformed SVG tag in quick stack icon file 2026-05-24 13:16:14 +02:00
icon_c_search.svg Add comprehensive sub-category system for sorting 2026-05-30 19:11:55 +02:00
icon_c_sort.svg Add sort/quick-action button UI for 1.21.x and 26.x 2026-05-24 12:32:43 +02:00
icon_ideas.md Add supporting project files: mappings, extras, icon, modrinth metadata 2026-06-01 10:27:14 +02:00
icon_preview.png Add comprehensive sub-category system for sorting 2026-05-30 19:11:55 +02:00
modrinth.md Add container labels: show contents and name on top of nearby containers 2026-06-23 12:19:40 +02:00
README.md Update README and modrinth feature descriptions 2026-06-03 21:36:54 +02:00

Sorted

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 02) Tools (pickaxe, axe, shovel, hoe, shears)
Hotbar center (slot 3) Weapon (sword / trident)
Hotbar right (slots 48) 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.

Open the search UI (keybind or the ModMenu config button) to search across all containers the mod has scanned nearby. Results show the container's position, dimension, and how many of the matching item it holds.

The chest index is built from containers you have opened. It is cached locally per world/server via SQLite and updated the next time you open a container. The cache invalidates automatically — broken containers are dropped, and entries are validated when their chunk loads.

Quick stack to nearby containers

One keybind 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.

Action throttle

Every sort, stack, or transfer is applied as a queue of slot-click actions, drained on the client tick. Firing them all at once can look like automation and get you flagged by strict anti-cheat.

By default the queue drains at 4 actions/tick (~80/sec) — a full inventory sort finishes in under a second without dumping the whole burst in a single tick. You can change the manual rate (Actions per tick) or set it to 0 for unlimited.

Adaptive per-server throttle. When Auto-lower on kick is enabled (default), the mod watches for server-initiated disconnects — a kick or shutdown packet, never your own "Disconnect" click. If one lands while a sort or transfer is in flight, it's treated as a possible anti-cheat kick: the action rate for that server is stepped down one rung and remembered, keyed by host.

  • Step-down ladder (actions/sec): 80 → 40 → 20 → 10 → 5, never below the configurable floor (Minimum auto rate, default 5/sec). Because the drain runs on a fractional budget, rates below 20/sec spread one action across several ticks.
  • The learned rate persists across sessions and re-applies automatically. On rejoin you get a one-line chat notice showing the current cap and how many kicks were learned.
  • Only kicks that coincide with active sorting count — bans, AFK timeouts, and restarts are ignored, so the rate doesn't ratchet down for unrelated disconnects.
  • Per-server limits are individually resettable in the config, plus a "Reset all" button.

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 the mod fully disables itself the moment you connect — no buttons, no keybinds, no cache updates. Equivalent to not having the mod installed.

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. 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

Action throttle

Option Default Description
Actions per tick 4 Manual cap on slot-click actions dispatched per client tick (20 ticks/sec). 0 = unlimited
Auto-lower on kick true Step a server's rate down one rung if a server-initiated disconnect lands while a sort/transfer is running
Minimum auto rate 5 Floor (actions/sec) the auto-throttle will never step below
Learned limits (per server) List of servers with a learned rate, showing the current cap and recorded kick count; each is individually resettable
Reset all learned limits Wipe every server's learned rate and kick history

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

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 from the vanilla GUI atlas, so any resource pack that retextures the vanilla GUI automatically retextures Sorted's UI as well.

Item manipulation uses 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