Minecraft 1.20.1 · Forge 47.x 的一键整理模组。
源码仓库:https://github.com/Lin1848624/Sortease(GPLv3)
SortEase 面向“大堆叠 + 复杂第三方容器”场景设计:整理逻辑不硬编码 64/16 堆叠上限,而是按物品与槽位的当前实际容量动态计算;能自动识别并默认跳过升级槽、过滤槽等特殊区域;并提供游戏内的槽位分类可视化,让你看清、并按自己的习惯调整每个槽位的归类。
- 动态堆叠容量:合并/放置一律以“物品当前最大堆叠 × 槽位当前状态”实时计算,全程
long运算防溢出。堆叠数调到1,073,741,823(乃至更大)也能安全整理,绝不写死上限。 - 特殊区域自动识别:
- 容量最大的非玩家存储自动判定为主体(可整理);
- 其余更小的独立存储、以及类名带
upgrade/filter/tool/void/jukebox…的自定义槽位(如 精妙背包 的升级槽、Create: Storage 的ToolSlot/UpgradeSlot/VoidSlot等)默认不操作; - 原版护甲、副手、合成格、结果格也一律保护。
- 槽位分类视图(覆盖层):按
P在任意容器界面开启,每个槽位带颜色描边:- 🟩 主体存储 🟦 玩家主栏 青色 快捷栏 🟥 特殊/忽略
- 左键槽位:循环切换 自动 → 强制参与 → 忽略;
- 右键槽位:恢复“自动”;
- 手动覆写会保存到
config/sortease/slot_overrides.json,跨会话生效。
- 多种排序模式:仅合并 / 按名称 / 按注册名 / 按所属模组 / 按数量(升/降序),随时切换。
- 安全与性能:
- 所有改动由服务端权威执行并通过槽位
mayPlace / mayPickup / insert / extract校验; - 大背包按 tick 预算分片处理,不卡服;
- 排序中关界面/拿起物品会安全中止,绝不产生半截移动。
- 所有改动由服务端权威执行并通过槽位
- 环境:Minecraft 1.20.1 + Forge 47.x。
- 将
sortease-*.jar放入mods/目录。 - 客户端与服务端(含单人世界的集成服务端)都需要安装——排序由服务端执行;单机使用天然满足。
| 按键 | 功能 |
|---|---|
O |
一键整理当前打开的容器 |
P |
开关槽位分类覆盖层 |
K |
打开 SortEase 设置 |
- 打开任意容器(箱子、背包、Create:Storage 储物盒、精妙背包等);
- 按
O整理:先合并同种散堆,再按当前排序模式重排; - 若某些槽位不希望被动,按
P打开分类视图,左键把它切到“忽略”(白色角标 / 半透明压暗即已忽略); - 整理范围(是否包含玩家主栏/快捷栏)、默认排序模式等可在
K里调整。
工作台、熔炉、铁砧等“无主体存储”的界面默认不可整理,这是刻意保护,避免误动合成/燃料结构。
- 客户端配置:
config/sortease-client.toml(排序模式/方向、玩家栏是否参与、覆盖层透明度等)。 - 服务端配置:
config/sortease-server.toml(每 tick 操作预算、任务超时、操作硬上限等)。 - 人工槽位覆写:
config/sortease/slot_overrides.json(在分类视图中生成,建议不要手改)。
- 已针对 Bigger Stacks 类大堆叠环境验证(百万级到
Integer.MAX_VALUE级); - 已通过反编译适配 精妙背包(Sophisticated Backpacks) 与 Create: Storage(fxntstorage) 的菜单结构;
- 通用“风险槽名”规则使其对同类第三方容器也具备默认保护,未识别的特例可在分类视图中手工调整。
JDK 17
.\gradlew build # Windows
./gradlew build # Linux/macOS
产物位于 build/libs/sortease-<version>.jar。
本项目以 GNU General Public License v3.0(GPLv3) 发布,详见根目录 LICENSE(SPDX: GPL-3.0-only)。
说明:本模组仅参考了第三方模组(精妙背包 / Create:Storage 等)的公开菜单结构信息用于兼容适配,不包含其源码。