Releases: Yuyears/NeoFavoriteItems
Fix Compatibility with ClientSort and Better Experience
Locked Slots & Compatibility Update
锁定槽位与兼容性更新
-
Improved locked-slot protection during sorting, item pickup, storage transfer, and respawn.
-
优化锁定槽位保护,覆盖整理、拾取、存储转移与死亡重生场景。
-
Added better compatibility with ClientSort and Better Experience.
-
改进对 ClientSort 与 Better Experience 的兼容。
-
Added split common/client configs with bilingual comments.
-
新增 common/client 分离配置文件,并补充中英双语注释。
-
Updated documentation, tests, and build stability.
-
更新文档、测试与构建稳定性。
Fix ITR sorting and Sophisticated storage slot compatibility
-
Add NeoForge Inventory Tweaks ReFoxed sorting compatibility by merging favorite player inventory slots into ITR locked/frozen slot lists.
-
Generalize Quark sorting compatibility service into shared inventory sorting compatibility helpers.
-
Keep ITR compatibility mixin loadable without relying on early ModList detection.
-
Fix sorter locked-slot helper returning null for empty favorite sets.
-
Remove SophisticatedCore insertion rewrite compatibility to avoid taking over third-party storage logic.
-
Fix Sophisticated Backpacks pseudo-locking by ignoring storage-owned menu slots on server click protection while still guarding embedded player inventory slots.
-
Update architecture, TODO, README, and test report documentation.
-
Verify with common unit tests and full multi-loader build.
-
增加 NeoForge Inventory Tweaks ReFoxed 整理兼容,将收藏槽合并到 ITR 的 locked/frozen 槽列表。
-
将 Quark 整理兼容服务泛化为通用整理兼容 helper。
-
避免 ITR mixin 依赖过早的 ModList 检测。
-
修复收藏槽为空时整理锁槽 helper 返回 null 的问题。
-
移除 SophisticatedCore 插入逻辑重写,避免接管第三方存储算法。
-
修复 Sophisticated 背包存储/记忆槽被玩家背包锁误拦的伪锁定问题,同时保留内嵌玩家背包槽保护。
-
更新架构、TODO、README、测试报告文档。
-
通过 common 单测与完整多端 build 验证。
v1.21.1-0.0.1-release
This release fixes server-authoritative persistence for dual-install singleplayer and server play. Favorite data is now stored under the active world save, legacy data previously written under the game root is migrated and removed, and player data is loaded cache-first to avoid repeated file reads. In-play favorite changes update the server cache, player logout saves the player state, and server shutdown performs a final cache flush.
本版本修复双端安装下单人和服务端模式的服务端权威持久化。收藏数据现在会保存到当前世界存档目录;旧版本误写到游戏根目录的数据会在首次成功读取后迁移并删除;玩家数据读取改为缓存优先,避免重复读文件。游戏过程中的收藏变更只更新服务端缓存,玩家退出时保存当前状态,服务器关闭时再执行最终缓存回写。
Death handling now follows vanilla inventory semantics. With keepInventory=true, locked slot contents are preserved through respawn. With keepInventory=false, favorites are cleared after death drops so empty or changed slots are not left locked unexpectedly.
死亡处理现在遵循原版背包语义。keepInventory=true 时,锁定槽内容会在重生后保留;keepInventory=false 时,死亡掉落后会清空收藏状态,避免空槽或已变化槽位继续意外锁定。
Empty-slot locking rules were clarified. autoUnlockEmptySlots is now treated as the parent rule: when enabled, empty slots cannot keep favorite locks, even if lockEmptySlots is true. Config file repair was also improved: malformed or incomplete config files are regenerated while preserving readable values.
空槽锁定规则已理顺。autoUnlockEmptySlots 现在作为父级规则:启用后,即使 lockEmptySlots=true,空槽也不会保留收藏锁定。配置文件修复逻辑也已增强:格式错误或缺失项的配置文件会重新生成,同时保留能成功读取的配置值。
v1.21.1-0.0.1-beta-hotfix2
fix: resolve item-handler player slots
修复:解决物品处理器玩家槽位问题
Map Forge and NeoForge SlotItemHandler instances backed by player InvWrapper/RangedWrapper to player inventory indices. This lets JDT-style GUIs render lock overlays and hit client/server click guards before item-handler mutation guards run, while normal read APIs remain visible.
将 Forge 和 NeoForge 的 SlotItemHandler 实例(由玩家的 InvWrapper/RangedWrapper 支持)映射到玩家的物品栏索引。这允许 JDT 风格的 GUI 在物品处理器变更保护运行之前渲染锁定覆盖和触发客户端/服务器点击保护,同时正常的读取 API 仍然可见。
Compatible with custom GUIs such as JDT
兼容诸如JDT等的自定义GUI
Fix AE2 MOVE_REGION guards
Fix AE2 MOVE_REGION guards
修复 AE2 MOVE_REGION 行为
-
Register NeoForge compat mixins and add AE2 shared-menu guards for terminal MOVE_REGION transfers.
-
注册 NeoForge 兼容 Mixin,并为 AE2 终端 MOVE_REGION 转移添加公共菜单层守卫。
-
Extend generic Slot API guards for locked source removal and target insertion paths.
-
扩展通用 Slot API 守卫,覆盖锁定来源取出与目标放入路径。
Compat with Mouse Tweaks
fix: support safe Alt-drag locking with Mouse Tweaks
修复:兼容 Mouse Tweaks,支持拖动鼠标锁定槽位
details:
详情:
fix: support safe Alt-drag locking with Mouse Tweaks
修复: 支持使用 Mouse Tweaks 的鼠标拖动来切换锁定
- Add optional Mouse Tweaks compatibility mixins across Fabric, Forge, and NeoForge
- 在 Fabric、Forge 和 NeoForge 中添加可选的 Mouse Tweaks 兼容 mixins
- Enable Mouse Tweaks drag tracking while the lock-operation key is held
- 在按住锁定操作键时启用 Mouse Tweaks 拖动跟踪
- Resolve Sophisticated Storage/Backpacks slots through their own StorageScreenBase.findSlot path
- 通过各自的 StorageScreenBase.findSlot 路径解析 Sophisticated Storage/Backpacks 插槽
- Route Alt-drag slot changes through NeoFavoriteItems lock toggling instead of real Mouse Tweaks clicks
- 通过 NeoFavoriteItems 锁定切换路由 Alt 拖动的插槽更改,而不是实际的 Mouse Tweaks 点击
- Preserve empty-slot locking config checks during drag toggles
- 在拖动切换期间保留空插槽锁定配置检查
- Keep normal Mouse Tweaks drag behavior unchanged outside the lock-operation path
- 在锁定操作路径之外保持正常的 Mouse Tweaks 拖动行为不变
- Verify Fabric/Forge/NeoForge compile and common tests
- 验证 Fabric/Forge/NeoForge 的编译和通用测试
0.0.1-alpha-hotfix
Fixed the two-end selectable logic and persistent shunting, as well as some known issues
修复了双端可选逻辑和持久化分流,以及一些已知问题
The first three-end available version
The first available development version snapshot