NovaEngineering-Source / ModularMachinery-Community-Edition

Customize your machinery with more powerful features.
https://www.curseforge.com/minecraft/mc-mods/modularmachinery-community-edition
GNU General Public License v3.0
28 stars 12 forks source link

机械控制器信息不更新 #29

Closed ProperSAMA closed 11 months ago

ProperSAMA commented 1 year ago

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

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

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

ProperSAMA commented 1 year ago

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

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

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

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

KasumiNova commented 1 year ago

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

ProperSAMA commented 1 year ago

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

KasumiNova commented 1 year ago

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

ProperSAMA commented 1 year ago

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

KasumiNova commented 1 year ago

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

ProperSAMA commented 1 year ago

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

KasumiNova commented 1 year ago

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

ProperSAMA commented 1 year ago

MM 原版是没有这种情况的

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

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

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


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

KasumiNova commented 1 year ago

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