Modular Machinery: Community Edition

Modular Machinery: Community Edition

239k Downloads

机械控制器信息不更新

ProperSAMA opened this issue · 10 comments

commented

Mod版本:r40
机器工作正常,但机械控制器中的信息一直保持不变

例如:
QQ截图20230612190210
这个机器有在正常消耗材料、产出物品,但进度一直显示1%

类似的问题也出现在其他信息上,比如拆掉机器的一个方块,机械控制器不会显示“机械不完整”,但实际上已经不再运行了

commented

20230615追加:
不只是显示信息,机器结构变化时,配方似乎也没有更新
例如:
这个机器会以32768EU/t的速度发电
QQ截图20230615134648

更换这个机器的几个方块,让它变成另一种新机器;这种新机器的发电速度应该是4096EU/t
QQ截图20230615134800

但它仍然会以32768EU/t的速度发电

如果拆除机械控制器重新放置,产量会恢复正常

commented

确实未启用selective-update-tileentity,启用后机械控制器中的信息正常更新了
但更换机器后产量不变的问题仍存在

commented

机械控制器形成并锁定一个结构之后就不会再检查其它结构了。

commented

是否启用了配置文件中的 selective-tileentity-update 选项?如果没有,启用后再看看情况。

commented

这不太合理,玩家可能会利用它,消耗更少的材料搭建更高级的机器
是否有调整这方面问题的打算?

commented

多结构单机械升级很蠢(也不是不行),不过可以考虑用另外一种方式来升级。
例如模块化机械自带的 modifiers 选项。
此外最近在考虑写不限制坐标的方块升级。

commented

主要是这类机器已经用了很多年了,玩家已经放了很多,现在再去改机械结构和升级方式不合适
还是希望能在不改变机器原有设定的前提下改善这个问题

commented

受限 MM 原版的奇怪代码,可能不好说..

commented

MM 原版是没有这种情况的

使用NBTEdit Mod查看机械控制器的NBT:
QQ截图20230619135416

机械搭建完毕后,机器的名字会写在“machine”部分;开始处理配方时,配方名字会写在“activeRecipe”部分
当机械结构不再完整,“machine”会被删除,但“activeRecipe”仍保留
这导致机器结构完整、重新运行时,不管机器和配方是否匹配,仍会按照上次的配方运行

机器结构不完整时,删除activeRecipe应该可以解决这个问题
MM 原版也确实是这样做的,不知道为什么,社区版不再删除了


Edit:
我从r40开始,向前测试了每个版本,发现这个问题是从r30开始出现的,r29一切正常

commented

原版mm在加载存档的时候有概率丢失机械的配方,因为结构可能跨区块。
mmce当初为了解决这个问题临时让配方不再消失,虽然后来有其他方法修了这个问题,不过一直没加上。
r41考虑修复。