We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如题
服务器存在两个相似的配方(去除某些位置的材料后仍能合成其他物品) 比如:
当合成机无法获取到第一个配方中间的物品时,就会合成出第二个配方所制作的物品
合成机无法合成物品
无
Purpur
1.20.1
226af9b-Beta
93
The text was updated successfully, but these errors were encountered:
实际上这个issue和#115说的是一个bug #115所发生的返还材料在一般情况下都是要经过此bug才能触发的 我翻阅了你提供的代码(其实应该和这边的是一样的) 网络合成机合成之前会进行材料判断 在这里 if (!root.contains(new ItemRequest(entry.getKey(), entry.getValue()))) 其调用的NetworkRoot.contains()方法中 对存储的检测 获得的数据有问题, final ItemStack itemStack = barrelIdentity.getItemStack(); 他并不和真正cache中的数据同步 在后面getItemStack的时候也用到了这个方法 但是最终fetch使用的是 final ItemStack fetched = barrelIdentity.requestItem(request); #116所说的情况下 这个方法返回了Amount为0的ItemStack (此为我自己加的测试输出显示的 然后导致配方出现差错 而正如#115所说 没有针对预留的返回材料举措,所以可能造成大量材料被吞。 这个不同步的情况或许会引发其他问题
Sorry, something went wrong.
终于,我刚才找到问题所在了 NetworkRoot每sft重建一次,在其生命周期内 上面for循环的时候调用的getBarrels() 只会初始化一次,其余情况都是直接返回现成的值 而在当前sft内对量子存储的修改并不会修改Barrels列表的数据,从而导致问题 其他元件都是直接遍历blockMenu对象所以并不会出问题
求一个大佬把这玩意修理了
ybw0014
No branches or pull requests
检查项目
问题描述
如题
复现步骤
服务器存在两个相似的配方(去除某些位置的材料后仍能合成其他物品)
比如:
当合成机无法获取到第一个配方中间的物品时,就会合成出第二个配方所制作的物品
预期行为
合成机无法合成物品
服务器日志
无
错误报告
无
服务端软件
Purpur
Minecraft 版本
1.20.1
Slimefun版本
226af9b-Beta
插件版本
93
The text was updated successfully, but these errors were encountered: