SmartSortСкачатьСкачать
ВЕРСИИ (2)
release
SmartSort
112 февр. 2026 г.323Minecraft: 1.21.1fabric
Что нового
# Changelog - Smart Sort
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
---
## [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)
- [ ] 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
beta
SmartSort
0.111 февр. 2026 г.34Minecraft: 1.21.1fabric