Releases: slimshaddii/SmartSorter
Release list
Smart Sorter v2.0.3
- intake linking fix
Smart Sorter v2.0.2
Smart Sorter v2.0.1
🧾 Changelog
v2.0.0 – Major Rewrite & Network Overhaul
This update represents a full codebase modernization and feature expansion from earlier versions.
🧱 New Blocks & Items
- 🆕 Intake Block – automatically pulls nearby items into the network
- 🆕 Process Probe – adds the foundation for automated sorting, filtering, and future processing logic
- 🧠 Reworked Storage Controller – now serves as the centralized access point with improved synchronization
- 🛠️ Linking Tool – rebuilt for stable connection logic and simpler linking flow
⚙️ Network System
- Rewritten using Fabric’s
PayloadTypeRegistryAPI for both C2S and S2C packets - Added new packet payloads for:
- Sorting mode changes (
SortModeChangePayload) - Filter category updates (
FilterCategoryChangePayload) - Deposit, extraction, and synchronization requests
- Sorting mode changes (
- Removed legacy packet handling — all network traffic now uses modern, stable handlers
- Improved multiplayer synchronization and reduced desync issues
🧩 Gameplay & Features
- New category-based filtering system, managed by the
CategoryManagerreload listener - Updated screen handler logic for real-time network updates (
StorageControllerScreenHandler) - Added ExtractionRequest, DepositRequest, and SyncRequest handling with server-safe context execution
- Built-in Sort Mode toggle directly through GUI
- Foundation for advanced automation logic (Process Probe feature)
🎨 Creative Tab Integration
- Added a custom creative tab
itemGroup.smartsorter - Includes: Storage Controller, Intake, Output Probe, and Linking Tool
- Uses the new Fabric v1 Item Group API for flexible ordering and display
🧰 Registry Cleanup & Refactor
- All registries use modern
Identifier.of(MOD_ID, name)pattern - Consolidated block and item registration into clear modular methods:
registerBlocks(),registerBlockItems(),registerBlockEntities(),registerScreenHandlers(),registerTools()
- Improved logging structure with informative lifecycle output
- Removed deprecated calls and simplified init process
🧠 Architecture & Optimization
- Simplified init order for better readability and maintainability
- All data (controller links, probes, filters) safely serialized into world files
- Modularized network handler registration
- Better separation between client → server and server → client sync events
- Performance improved in large networks with hundreds of inventories
🧪 Developer Notes
- Introduced FeatureSet.empty() for safe ScreenHandler registration
- Server handlers now use
context.server().execute()for thread-safe access - Networking rewritten to comply with Minecraft 1.21+ Fabric API standards
- Full migration away from legacy
ServerPlayNetworking.registerReceivercalls
(Legacy)
- Original implementation of Storage Controller and Output Probe
- Basic item routing & linking system
- Initial Fabric API integration
- No process or category logic — purely item-type-based filters
Next Planned Update (v2.1.0):
- 🧮 Configurable chest priorities
- ⚙️ Enhanced Process Probe logic (basic crafting automation)
- 🌍 Cross-dimensional access and wireless network expansion
Smart Sorter 1.1.0 - 1.21.9/1.21.10 Release
Mod rewritten for Minecraft 1.21.9 Fabric
Full Changelog: minecraft...management
Smart Sorter 1.1.0 - Critical Fixes, Priority Routing & Added Features
Smart Sorter 1.1.0 - Critical Fixes & Priority Routing
Major update fixing critical bugs and adding intelligent priority system!
🚨 Critical Fixes
Item Insertion Bug (MAJOR FIX)
- ✅ Fixed items not inserting into upgraded chests
- ✅ Fixed double chest detection (was only seeing one half)
- ✅ Fixed modded chest compatibility (Iron Chests, Sophisticated Storage, etc.)
- ✅ Items now properly fill all available slots
Before: Upgrading a chest would break item insertion
After: Chest upgrades work seamlessly - all slots are detected
Memory Leaks & Crash Prevention
- ✅ Added automatic link validation (prevents crashes from deleted blocks)
- ✅ Proper cleanup when blocks are removed
- ✅ Fixed orphaned references causing memory leaks
- ✅ WorldEdit/command block deletion now handled gracefully
Performance Improvements
- ✅ Optimized network sync (only updates viewing players)
- ✅ Reduced unnecessary inventory checks
- ✅ Better caching strategy for large networks
✨ New Features
Storage Controller
You now have a storage hub for all your items connected by probes. Intake block still works.
Hidden Priority Routing System
Items now automatically route to the correct chests!
Routing Order:
- FILTER mode chests (checked first)
- PRIORITY mode chests (future feature)
- ACCEPT_ALL mode chests (overflow only)
What This Means:
- Diamonds now go to your diamond chest, not your junk chest
- Filtered chests are prioritized over accept-all chests
- Items only overflow to accept-all when filtered chests are full
Better Mod Compatibility
- ✅ Universal inventory detection (works with any mod implementing Inventory)
- ✅ Proper double chest handling (vanilla & modded)
- ✅ Support for chests with 100+ slots (Iron Chests, etc.)
Enhanced GUI
- ✅ Search box for filtering items
- ✅ Improved capacity indicators (color-coded warnings)
- ✅ Better scroll handling
- ✅ Cleaner item count display (K/M/B formatting)
🔧 Technical Changes
Code Improvements
- Removed hardcoded slot indices (better maintainability)
- Added comprehensive debug logging
- Improved NBT serialization (buffer persistence)
- Better separation of concerns (cleaner architecture)
Bug Fixes
- Fixed cursor item placement in GUI
- Removed redundant Ctrl+Click controls
- Fixed quickMove() slot handling
- Proper inventory reference passing (no more stale data)
Developer Notes
- Added extensive code comments for future features
- Prepared framework for user-configurable priorities
- Ready for sorting/filtering GUI additions
- Cross-dimensional support infrastructure in place
📦 Installation
- Download
smartsorter-1.1.0+1.21.1.jar - Place in your
modsfolder - Requires Fabric Loader 0.17.2+ and Fabric API
- Compatible with Minecraft 1.21.1
🎯 Upgrade Recommendations
If you're using 1.0.0:
- Backup your world (always recommended)
- Replace mod file with 1.1.0
- Load your world
- Existing networks will automatically benefit from all fixes
- Recommended: Re-link any chests that weren't working properly
🐛 Known Issues
- None! All major bugs from 1.0.0 have been resolved.
🔮 Coming Soon (1.2.0)
- User-configurable priority levels (GUI sliders)
- Sorting options (by name, count, type)
- Dropdown filtering by category (Building, Food, Tools, etc.)
- Cross-dimensional access with chunk load notifications
- Item request system (craft on demand)
📊 Changelog
Added
- Hidden priority routing system (FILTER > ACCEPT_ALL)
- Search box in Storage Controller GUI
- Capacity color-coding (green → yellow → red)
- Buffer persistence (no item loss on world reload)
- Automatic link validation every 5 seconds
- Support for modded chests with 100+ slots
Fixed
- Items not inserting into upgraded chests
- Double chests only showing 27 slots instead of 54
- Modded chest compatibility issues
- Memory leaks from orphaned block references
- Crashes when blocks deleted via WorldEdit
- Cursor items not placing in inventory slots
- Shift-click not working properly
- Performance issues with many players online
Changed
- Improved insertion logic (2-pass: stack first, then fill empty)
- Better inventory detection (handles all mod types)
- Optimized network sync (only viewing players)
- Enhanced debug logging for troubleshooting
- Cleaner code architecture (maintainability)
Removed
- Redundant Ctrl+Right-click control
- Hardcoded slot indices
- Unnecessary duplicate item count rendering
💬 Feedback
Please report any issues on the[GitHub Issues page
Smart Sorter v1.0.0
Features
Intake pulls from a neighboring inventory only when there’s a valid destination.
Output Probes decide acceptance and point toward the target inventory.
Link one Intake to many Probes with the Linking Tool.
Smarter moves: small batches, prefers stacking into existing slots first.
Drops correctly; mineable by pickaxe or axe.
Compatibility
Minecraft: 1.21.1
Loader: Fabric
Requires: Fabric API
Java: 21
How to Use
Place Output Probes by clicking the face of the chest/barrel you want to insert into—the probe faces that block.
Place an Intake on the side of the source inventory you want to pull from.
Link: right‑click the Intake with the Linking Tool, then right‑click each Output Probe.
NOTE : Recipe unlocks when getting redstone.