Skip to content

Releases: slimshaddii/SmartSorter

Smart Sorter v2.0.3

Choose a tag to compare

@slimshaddii slimshaddii released this 17 Oct 13:02
  • intake linking fix

Smart Sorter v2.0.2

Choose a tag to compare

@slimshaddii slimshaddii released this 15 Oct 11:53

Bugfixes

Smart Sorter v2.0.1

Choose a tag to compare

@slimshaddii slimshaddii released this 12 Oct 16:49
560e4c0

🧾 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 PayloadTypeRegistry API for both C2S and S2C packets
  • Added new packet payloads for:
    • Sorting mode changes (SortModeChangePayload)
    • Filter category updates (FilterCategoryChangePayload)
    • Deposit, extraction, and synchronization requests
  • 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 CategoryManager reload 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.registerReceiver calls

(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

Choose a tag to compare

@slimshaddii slimshaddii released this 09 Oct 04:12

Mod rewritten for Minecraft 1.21.9 Fabric

Full Changelog: minecraft...management

Smart Sorter 1.1.0 - Critical Fixes, Priority Routing & Added Features

Choose a tag to compare

@slimshaddii slimshaddii released this 07 Oct 04:26

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:

  1. FILTER mode chests (checked first)
  2. PRIORITY mode chests (future feature)
  3. 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

  1. Download smartsorter-1.1.0+1.21.1.jar
  2. Place in your mods folder
  3. Requires Fabric Loader 0.17.2+ and Fabric API
  4. Compatible with Minecraft 1.21.1

🎯 Upgrade Recommendations

If you're using 1.0.0:

  1. Backup your world (always recommended)
  2. Replace mod file with 1.1.0
  3. Load your world
  4. Existing networks will automatically benefit from all fixes
  5. 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

Choose a tag to compare

@slimshaddii slimshaddii released this 01 Oct 21:49
3ad37dc

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.