Tags
Creators
Details
1
Compatibility
Changes
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:
ServerContainerScannerclass for server-side chest scanning - ADDED:
draggedOriginalCountvariable 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:
- ✅ Create profiles visually (zero JSON!)
- ✅ Drag & drop items into inventory slots
- ✅ Adjust item counts with mouse scroll
- ✅ Move items between slots (preserves count)
- ✅ Apply profiles with R key
- ✅ Auto-store excess items to chests
- ✅ See accurate missing items notifications
- ✅ Delete all profiles if desired
- ✅ Edit full inventory (hotbar + main + armor + offhand)
- ✅ 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)
- [ ] Multiplayer support for container scanning
- [ ] Copy/Paste between slots (CTRL+C/V)
- [ ] Undo/Redo system (CTRL+Z/Y)
- [ ] Item category tabs in picker
- [ ] Recent items quick panel
- [ ] Profile templates/presets
- [ ] Import/Export profiles
- [ ] Keyboard shortcuts (CTRL+S save, etc.)
- [ ] Animations and visual polish
- [ ] Sound effects
Under Consideration
- [ ] Smart suggestions ("Add torches for mining")
- [ ] Bulk operations (SHIFT+drag)
- [ ] Profile validation warnings
- [ ] Auto-backup system
- [ ] 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
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:CgqKJPXq:y99GEq5x"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:CgqKJPXq:y99GEq5x"
}

