故障排除与常见问题
📌 仓库源码声明:本 Wiki 中的文档反映了仓库中的当前源代码状态,可能包含领先于 CurseForge 和 Modrinth 上公开发布版本的最新未发布提交或开发中功能。
❓ 常见问题解答
Q1:为什么已存在的存档没有应用 config/stack-size-adjuster.json 中配置的堆叠上限?
答:全局配置文件(stack-size-adjuster.json)仅为新创建的世界提供默认模板初始值。对于已存在的存档,游戏规则保存在存档的 level.dat 中。请在游戏内通过 /gamerule 命令或游戏规则编辑界面调整:
text
/gamerule stack-size-adjuster:items_64_limit 256Q2:如果将堆叠上限设置得高于 39,768,215 会发生什么?
答:设置高于 $39,768,215$ 的数值会面临大箱子 32 位整数溢出的风险。一个拥有 54 槽位的大箱子若装满 54 组该物品,总数将超过 32 位有符号整数上限($2,147,483,647$),导致物品总数回绕为负数并在移动物品时造成物品被吞删除。强烈建议保持上限 $\le 39,768,215$。
Q3:为什么破坏箱子时只掉落 8 堆物品而不是成千上万个?
答:这是由 stack-size-adjuster:max_drop_entities 控制的性能优化机制(默认值:8)。它可防止在破坏装有数万物品的箱子时造成服务器卡死崩溃。配合 Item Clumps,这 8 堆物品会在瞬间进一步合并为一个掉落物实体。
🛠️ 常见问题排查对照表
| 症状表象 | 潜在原因 | 解决方案 |
|---|---|---|
| 客户端物品栏仍显示原版堆叠上限 | 网络同步数据包丢失或服务端/客户端版本不匹配 | 确保在客户端和服务端同时安装了匹配的 stack-size-adjuster。 |
| Give 命令提示“物品过多”并执行失败 | /give 数量超出了 $100 \times \text{maxStackSize}$ 的安全上限 | 减少一次性索取的物品数量,或分批次执行 /give 命令。 |
| ModMenu 中无法打开 YACL 配置界面 | 缺少 ModMenu 或 YACL 依赖 | 在客户端安装 ModMenu 与 YetAnotherConfigLib (YACL v3)。 |
