
沙布尔复制修复
Aeronautics模组中物理装配器物品复制问题的修复。
Sable 复制修复
修复了 Sable 在组装非 Clearable 容器(例如 Create 的桌布、置物台、传送带)时出现的复制 Bug。
这个 Bug 是什么?
在 SubLevelAssemblyHelper.moveBlocks 中,Sable 会检查:
if (blockEntity instanceof Clearable clearable) {
clearable.clearContent(); // 标准容器:清除旧位置的物品
}
某些第三方容器(如 Create 的桌布、置物台、传送带)并未实现 Clearable 接口。
因此,旧位置的物品不会被清除,而新位置通过 loadWithComponents(tag, ...) 加载了一个重复的副本。
这会导致物品数量翻倍。
修复是如何工作的
一个轻量级的 Mixin 被注入到 SubLevelAssemblyHelper.moveBlocks 中:
当
blockEntity不是Clearable的实例时,tag会被重置为仅包含id字段以及坐标字段。然后,
loadWithComponents(tag, ...)会以全新出厂状态(不含任何物品)在新位置加载容器。
兼容性
- Minecraft 1.21.1
- NeoForge 21.1.219+
- Sable 1.2.2+
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。