我最近在Minecraft mod上工作,在处理函数的return语句时,我发现它需要INBT实例作为返回类型。我有一个需要转换为INBT类型的NBT的自定义对象?
这是函数:

public INBT writeNBT(Capability<IAllergies> capability, IAllergies instance, Direction side) {

        return null;

    }


我查看了INBT的类型层次结构,没有发现任何可能有用的东西。

提前致谢,
小子科德

最佳答案

我知道了怎么做。
我所做的是创建一个实现为ObjectNBTINBT类,并编写了一些获取/设置Object的方法,这就是我的最终类:

public class ObjectNBT implements INBT {

    public Object object;

    public ObjectNBT(Object object) {
        this.object = object;
    }

    @Override
    public void write(DataOutput output) throws IOException {

    }

    @Override
    public byte getId() {
        return 0;
    }

    @Override
    public INBTType<?> func_225647_b_() {
        return null;
    }

    @Override
    public INBT copy() {
        return null;
    }

    @Override
    public ITextComponent toFormattedComponent(String indentation, int indentDepth) {
        return new StringTextComponent(indentation + indentDepth);
    }
}


随时复制和粘贴。

关于java - 如何在Minecraft Forge for Minecraft 1.15中将对象转换为INBT类型的nbt,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61217126/

10-09 18:05