SmartSort

A Fabric 1.21.1 utility mod that automatically scans nearby storage containers (5-block radius) and sorts items into your hotbar using customizable profiles.
Back to Files

Smart Sort

File namesmart-sort-1.jar
Uploader
SeishiroNagiSeishiroNagi
Uploaded
Feb 12, 2026
Downloads
127
Size
1.6 MB
Mod Loaders
Fabric
File ID
7615786
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

Fabric

modImplementation "curse.maven:smartsort-1460199:7615786"

Learn more aboutย Curse Maven

What's new

Changelog - Smart Sort

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.


[1.0] - 2026-02-12

๐ŸŽ‰ Major Features Added

Visual Profile Editor

  • NEW: Complete drag & drop interface for profile creation/editing
  • NEW: Zero JSON editing required - fully visual!
  • NEW: Item picker with search functionality (1500+ items)
  • NEW: Real-time preview of inventory layout
  • NEW: Full inventory support (41 slots total):
    • Hotbar (9 slots)
    • Main inventory (27 slots)
    • Armor slots (4 slots) with validation
    • Offhand slot (1 slot)

Item Count Management

  • NEW: Adjustable item counts with mouse scroll (1-64 or max stack)
  • NEW: Visual count display on hover (x15/64)
  • NEW: Count preservation on drag & drop between slots
  • NEW: Respects item-specific max stack sizes (ender pearls = 16, tools = 1)

Auto-Storage System

  • NEW: Excess items (not in profile) auto-stored to nearby chests
  • NEW: Smart chest scanning (finds empty slots or merges stacks)
  • NEW: Works for ALL profiles (not just 1-slot profiles)
  • NEW: 5-block radius scanning
  • NEW: Logs stored items: โœ“ Stored poppy x1 to chest

Smart Profile Button (P)

  • NEW: Custom diamond icon (โ—ˆ) instead of text
  • NEW: Gradient gold/gray background
  • NEW: Small dot indicator (3ร—3px) for active profile
  • NEW: Tooltip shows active profile name
  • NEW: No more green selection square bug

Quick Apply Hotkey (R)

  • NEW: Press R to instantly apply active profile
  • NEW: Works from anywhere (inventory, gameplay, etc.)
  • NEW: Same functionality as Apply button
  • NEW: Scans containers + organizes inventory

โœ… Bug Fixes

Critical Fixes

  • FIXED: Item names showing as "air" in logs (was taking name AFTER move)
  • FIXED: Count resetting to 64 on drag & drop (now preserves original count)
  • FIXED: False "Missing 8 item types" notification (increased sync delay 100ms โ†’ 500ms)
  • FIXED: Last profile couldn't be deleted (removed unnecessary restriction)
  • FIXED: Syntax errors causing compilation failures

Container Scanning

  • FIXED: Chests appearing empty on client-side (implemented server-side scanning)
  • FIXED: Container scanning now works reliably in singleplayer
  • FIXED: Items taken from containers respect desired count (not always 64)

UI/UX Fixes

  • FIXED: Green selection square persisting on buttons
  • FIXED: Edit button enabled even with no profile selected
  • FIXED: Profile list not updating after creation (must exit game)
  • FIXED: Duplicate debug logs removed
  • FIXED: Unreachable code after return statements

๐Ÿ”ง Improvements

Logging Enhancements

  • Improved: Clean item names (removed minecraft: prefix, replaced _ with spaces)
  • Improved: Structured log sections with === headers
  • Improved: Color-coded console output (โœ“ = success, โš  = warning, โœ— = error)
  • Improved: Detailed move summary at end of operations
  • Improved: Count display: โœ“ Moved birch planks x17 โ†’ slot 27

Inventory Sync

  • Improved: Increased client-server sync delay (100ms โ†’ 500ms = 10 ticks)
  • Improved: Reliable inventory state checking after container scan
  • Improved: Accurate missing items detection

Profile Management

  • Improved: Can delete ALL profiles (0 profiles is now valid state)
  • Improved: Better profile validation before save
  • Improved: Auto-reload and auto-select after profile creation
  • Improved: Profile list refreshes immediately after edit/delete

Visual Editor

  • Improved: Armor slot validation (only armor items allowed)
  • Improved: Clear slot with right-click
  • Improved: Item picker without stack count overlay (cleaner look)
  • Improved: Tooltip shows count on hover (x15/64)

๐Ÿ“Š Technical Changes

Architecture

  • ADDED: ServerContainerScanner class for server-side chest scanning
  • ADDED: draggedOriginalCount variable for count preservation
  • ADDED: Separate logging for excess items storage
  • REFACTORED: Profile apply logic split into client + server phases

Network Sync

  • ADDED: Direct server access for singleplayer (no networking needed)
  • ADDED: Server thread execution for container operations
  • ADDED: Inventory sync delay with Thread.sleep(500)

Code Quality

  • FIXED: 10+ critical bugs
  • REMOVED: Dead code and unused variables
  • REMOVED: Duplicate log statements
  • IMPROVED: Error handling and validation

๐ŸŽฎ User Experience

What Players Can Now Do:

  1. โœ… Create profiles visually (zero JSON!)
  2. โœ… Drag & drop items into inventory slots
  3. โœ… Adjust item counts with mouse scroll
  4. โœ… Move items between slots (preserves count)
  5. โœ… Apply profiles with R key
  6. โœ… Auto-store excess items to chests
  7. โœ… See accurate missing items notifications
  8. โœ… Delete all profiles if desired
  9. โœ… Edit full inventory (hotbar + main + armor + offhand)
  10. โœ… Search for items in picker (1500+ items)

Example Workflow:

1. Press P โ†’ Select Profile โ†’ Edit
2. Drag diamond_pickaxe from left panel โ†’ slot 0
3. Scroll UP on slot 0 โ†’ count = 1 (tools max at 1)
4. Drag dirt from picker โ†’ slot 9
5. Scroll DOWN on slot 9 โ†’ count = 16
6. Click Save Profile
7. Press R to apply โ†’ Items taken from chests!
8. Excess flowers auto-stored to chests โœ“

๐Ÿ“ Configuration

Default Settings:

  • Container scan radius: 5 blocks
  • Inventory sync delay: 500ms
  • Default item count: 64 (or item's max stack)
  • Auto-storage: Enabled for all profiles

๐Ÿ› Known Issues

Current Limitations:

  • โš ๏ธ Container scanning only works in Singleplayer (Multiplayer not yet implemented)
  • โš ๏ธ Chest contents must be synced (100-500ms delay)
  • โš ๏ธ Categories/Tags not fully supported in visual editor (ITEM matchers only)

๐Ÿ“ˆ Statistics

  • Total Commits: ~20 commits
  • Files Modified: ~10 files
  • Lines Changed: ~500+ lines
  • Bugs Fixed: 10+ critical bugs
  • Features Added: 7 major features
  • Build Status: โœ… Zero errors

[0.1.0] - Initial Release

๐ŸŽ‰ Features

  • Basic profile system (JSON editing)
  • Hotbar organization
  • Profile selection GUI
  • Basic container scanning
  • Profile manager

Future Roadmap

Planned Features (v0.3.0)

  • <input disabled="disabled" type="checkbox" /> Multiplayer support for container scanning
  • <input disabled="disabled" type="checkbox" /> Copy/Paste between slots (CTRL+C/V)
  • <input disabled="disabled" type="checkbox" /> Undo/Redo system (CTRL+Z/Y)
  • <input disabled="disabled" type="checkbox" /> Item category tabs in picker
  • <input disabled="disabled" type="checkbox" /> Recent items quick panel
  • <input disabled="disabled" type="checkbox" /> Profile templates/presets
  • <input disabled="disabled" type="checkbox" /> Import/Export profiles
  • <input disabled="disabled" type="checkbox" /> Keyboard shortcuts (CTRL+S save, etc.)
  • <input disabled="disabled" type="checkbox" /> Animations and visual polish
  • <input disabled="disabled" type="checkbox" /> Sound effects

Under Consideration

  • <input disabled="disabled" type="checkbox" /> Smart suggestions ("Add torches for mining")
  • <input disabled="disabled" type="checkbox" /> Bulk operations (SHIFT+drag)
  • <input disabled="disabled" type="checkbox" /> Profile validation warnings
  • <input disabled="disabled" type="checkbox" /> Auto-backup system
  • <input disabled="disabled" type="checkbox" /> Profile sharing (QR codes)

Contributing

Found a bug? Have a feature request?

  • Open an issue on GitHub
  • Submit a pull request
  • Join the discussion

License

All Rights Reserved


Credits

Developed by: SeishiroNagi
Minecraft Version: 1.21.1
Mod Loader: Fabric
Fabric API: 0.116.8+1.21.1


Last Updated: 2026-02-12

This mod has no additional files