FunctionGameTestInstance.java

net.minecraft.gametest.framework.FunctionGameTestInstance

信息

  • 全限定名:net.minecraft.gametest.framework.FunctionGameTestInstance
  • 类型:public class
  • 包:net.minecraft.gametest.framework
  • 源码路径:src/main/java/net/minecraft/gametest/framework/FunctionGameTestInstance.java
  • 起始行号:L12
  • 继承:GameTestInstance
  • 职责:

    TODO

字段/常量

  • CODEC

    • 类型: MapCodec<FunctionGameTestInstance>
    • 修饰符: public static final
    • 源码定位: L13
    • 说明:

      TODO

  • function

    • 类型: ResourceKey<Consumer<GameTestHelper>>
    • 修饰符: private final
    • 源码定位: L20
    • 说明:

      TODO

内部类/嵌套类型

构造器

public FunctionGameTestInstance(ResourceKey<Consumer<GameTestHelper>> function, TestData<Holder<TestEnvironmentDefinition<?>>> info) @ L22

  • 构造器名:FunctionGameTestInstance
  • 源码定位:L22
  • 修饰符:public

参数:

  • function: ResourceKey<Consumer>
  • info: TestData<Holder<TestEnvironmentDefinition<?>>>

说明:

TODO

方法

下面的方法块按源码顺序生成。

public void run(GameTestHelper helper) @ L27

  • 方法名:run
  • 源码定位:L27
  • 返回类型:void
  • 修饰符:public

参数:

  • helper: GameTestHelper

说明:

TODO

private ResourceKey<Consumer<GameTestHelper>> function() @ L37

  • 方法名:function
  • 源码定位:L37
  • 返回类型:ResourceKey<Consumer>
  • 修饰符:private

参数:

说明:

TODO

public MapCodec<FunctionGameTestInstance> codec() @ L41

  • 方法名:codec
  • 源码定位:L41
  • 返回类型:MapCodec
  • 修饰符:public

参数:

说明:

TODO

protected MutableComponent typeDescription() @ L46

  • 方法名:typeDescription
  • 源码定位:L46
  • 返回类型:MutableComponent
  • 修饰符:protected

参数:

说明:

TODO

public Component describe() @ L51

  • 方法名:describe
  • 源码定位:L51
  • 返回类型:Component
  • 修饰符:public

参数:

说明:

TODO

代码

public class FunctionGameTestInstance extends GameTestInstance {
    public static final MapCodec<FunctionGameTestInstance> CODEC = RecordCodecBuilder.mapCodec(
        i -> i.group(
                ResourceKey.codec(Registries.TEST_FUNCTION).fieldOf("function").forGetter(FunctionGameTestInstance::function),
                TestData.CODEC.forGetter(GameTestInstance::info)
            )
            .apply(i, FunctionGameTestInstance::new)
    );
    private final ResourceKey<Consumer<GameTestHelper>> function;
 
    public FunctionGameTestInstance(ResourceKey<Consumer<GameTestHelper>> function, TestData<Holder<TestEnvironmentDefinition<?>>> info) {
        super(info);
        this.function = function;
    }
 
    @Override
    public void run(GameTestHelper helper) {
        helper.getLevel()
            .registryAccess()
            .get(this.function)
            .map(Holder.Reference::value)
            .orElseThrow(() -> new IllegalStateException("Trying to access missing test function: " + this.function.identifier()))
            .accept(helper);
    }
 
    private ResourceKey<Consumer<GameTestHelper>> function() {
        return this.function;
    }
 
    @Override
    public MapCodec<FunctionGameTestInstance> codec() {
        return CODEC;
    }
 
    @Override
    protected MutableComponent typeDescription() {
        return Component.translatable("test_instance.type.function");
    }
 
    @Override
    public Component describe() {
        return this.describeType()
            .append(this.descriptionRow("test_instance.description.function", this.function.identifier().toString()))
            .append(this.describeInfo());
    }
}

引用的其他类