Skip to content

[BUG]升级系统在添加升级时会产生一瞬间的数值错误(并非显示bug) #183

@LunnXun

Description

@LunnXun

所使用的mod版本:

Forge版本:14.23.5.2859
MMCE版本:2.2.2
MixinBooter版本:10.7
CraftTweaker版本:4.1.20.709


问题描述:

在使用机械升级系统时,当升级物品被放入总线时,机器会显示一个短暂的错误升级数量。虽然GUI显示很快就会恢复正常,但是zenscript或者groovyscript在print或者进行别的操作的时候都会使用那个错误的值而并非GUI显示的正常值。
(groovyscript版本是还挂在pr的那个分支构建出来的,我提出来只是想说没准不是DSL的问题)


复现代码(zenscript)

为方便复现,使用 ZenScript 实现一个简单的测试升级和配方,我选择通过日志打印来确认读取到的升级数量。

import mods.modularmachinery.MachineUpgradeBuilder;
import mods.modularmachinery.RecipeBuilder;
import mods.modularmachinery.MachineUpgradeHelper;
import mods.modularmachinery.RecipeCheckEvent;
import mods.modularmachinery.RecipePrimer;
MachineUpgradeBuilder.newBuilder("upgrade_test","测试",1,15).buildAndRegister();
MachineUpgradeHelper.addFixedUpgrade(<minecraft:stone>,"upgrade_test");

RecipeBuilder.newBuilder("test","test",5)
    .addPreCheckHandler(function(ev as RecipeCheckEvent){
        val ctrl = ev.controller;
        var upgrades = ctrl.getMachineUpgrade("upgrade_test");
        var total = 0;
        for u in upgrades {
        total = total + u.stackSize;
        }
        print(total);
    })
.build();

哦对 机器也给了吧 方便点

test.json


以下是视频

该视频能很明显的看出来先前提到的短暂的错误升级数量,随后GUI恢复正常

GUI.mp4

这输出的数字很诡异,还是挺影响做一些有趣的机器的

LOG.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    BUGSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions