LockComponentPredicateFix.java

net.minecraft.util.datafix.fixes.LockComponentPredicateFix

信息

  • 全限定名:net.minecraft.util.datafix.fixes.LockComponentPredicateFix
  • 类型:public class
  • 包:net.minecraft.util.datafix.fixes
  • 源码路径:src/main/java/net/minecraft/util/datafix/fixes/LockComponentPredicateFix.java
  • 起始行号:L10
  • 继承:DataComponentRemainderFix
  • 职责:

    TODO

字段/常量

  • ESCAPER
    • 类型: Escaper
    • 修饰符: public static final
    • 源码定位: L11
    • 说明:

      TODO

内部类/嵌套类型

构造器

public LockComponentPredicateFix(Schema outputSchema) @ L13

  • 构造器名:LockComponentPredicateFix
  • 源码定位:L13
  • 修饰符:public

参数:

  • outputSchema: Schema

说明:

TODO

方法

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

protected <T> Dynamic<T> fixComponent(Dynamic<T> input) @ L17

  • 方法名:fixComponent
  • 源码定位:L17
  • 返回类型: Dynamic
  • 修饰符:protected

参数:

  • input: Dynamic

说明:

TODO

public static <T> Dynamic<T> fixLock(Dynamic<T> input) @ L22

  • 方法名:fixLock
  • 源码定位:L22
  • 返回类型: Dynamic
  • 修饰符:public static

参数:

  • input: Dynamic

说明:

TODO

代码

public class LockComponentPredicateFix extends DataComponentRemainderFix {
    public static final Escaper ESCAPER = Escapers.builder().addEscape('"', "\\\"").addEscape('\\', "\\\\").build();
 
    public LockComponentPredicateFix(Schema outputSchema) {
        super(outputSchema, "LockComponentPredicateFix", "minecraft:lock");
    }
 
    @Override
    protected <T> @Nullable Dynamic<T> fixComponent(Dynamic<T> input) {
        return fixLock(input);
    }
 
    public static <T> @Nullable Dynamic<T> fixLock(Dynamic<T> input) {
        Optional<String> name = input.asString().result();
        if (name.isEmpty()) {
            return null;
        } else if (name.get().isEmpty()) {
            return null;
        } else {
            Dynamic<T> nameComponent = input.createString("\"" + ESCAPER.escape(name.get()) + "\"");
            Dynamic<T> components = input.emptyMap().set("minecraft:custom_name", nameComponent);
            return input.emptyMap().set("components", components);
        }
    }
}

引用的其他类