ResolutionContext.java

net.minecraft.network.chat.ResolutionContext

信息

  • 全限定名:net.minecraft.network.chat.ResolutionContext
  • 类型:public record
  • 包:net.minecraft.network.chat
  • 源码路径:src/main/java/net/minecraft/network/chat/ResolutionContext.java
  • 起始行号:L9
  • 职责:

    TODO

字段/常量

内部类/嵌套类型

  • net.minecraft.network.chat.ResolutionContext.Builder

    • 类型: class
    • 修饰符: public static
    • 源码定位: L28
    • 说明:

      TODO

  • net.minecraft.network.chat.ResolutionContext.LimitBehavior

    • 类型: enum
    • 修饰符: public static
    • 源码定位: L66
    • 说明:

      TODO

构造器

方法

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

public ObjectInfo validate(ObjectInfo description) @ L16

  • 方法名:validate
  • 源码定位:L16
  • 返回类型:ObjectInfo
  • 修饰符:public

参数:

  • description: ObjectInfo

说明:

TODO

public static ResolutionContext create(CommandSourceStack source) @ L20

  • 方法名:create
  • 源码定位:L20
  • 返回类型:ResolutionContext
  • 修饰符:public static

参数:

  • source: CommandSourceStack

说明:

TODO

public static ResolutionContext.Builder builder() @ L24

  • 方法名:builder
  • 源码定位:L24
  • 返回类型:ResolutionContext.Builder
  • 修饰符:public static

参数:

说明:

TODO

代码

public record ResolutionContext(
    @Nullable CommandSourceStack source,
    @Nullable Entity defaultScoreboardEntity,
    Predicate<ObjectInfo> objectInfoValidator,
    int depthLimit,
    ResolutionContext.LimitBehavior depthLimitBehavior
) {
    public @Nullable ObjectInfo validate(ObjectInfo description) {
        return this.objectInfoValidator.test(description) ? description : null;
    }
 
    public static ResolutionContext create(CommandSourceStack source) {
        return builder().withSource(source).build();
    }
 
    public static ResolutionContext.Builder builder() {
        return new ResolutionContext.Builder();
    }
 
    public static class Builder {
        private @Nullable CommandSourceStack source;
        private @Nullable Entity defaultScoreboardEntity;
        private Predicate<ObjectInfo> objectInfoValidator = var0 -> true;
        private int depthLimit = 100;
        private ResolutionContext.LimitBehavior depthLimitBehavior = ResolutionContext.LimitBehavior.STOP_PROCESSING_AND_COPY_REMAINING;
 
        public ResolutionContext.Builder withSource(CommandSourceStack source) {
            this.source = source;
            this.defaultScoreboardEntity = source.getEntity();
            return this;
        }
 
        public ResolutionContext.Builder withEntityOverride(@Nullable Entity defaultScoreboardEntity) {
            this.defaultScoreboardEntity = defaultScoreboardEntity;
            return this;
        }
 
        public ResolutionContext.Builder withObjectInfoValidator(Predicate<ObjectInfo> objectInfoValidator) {
            this.objectInfoValidator = objectInfoValidator;
            return this;
        }
 
        public ResolutionContext.Builder setDepthLimit(int depthLimit) {
            this.depthLimit = depthLimit;
            return this;
        }
 
        public ResolutionContext.Builder setDepthLimitBehavior(ResolutionContext.LimitBehavior behavior) {
            this.depthLimitBehavior = behavior;
            return this;
        }
 
        public ResolutionContext build() {
            return new ResolutionContext(this.source, this.defaultScoreboardEntity, this.objectInfoValidator, this.depthLimit, this.depthLimitBehavior);
        }
    }
 
    public static enum LimitBehavior {
        DISCARD_REMAINING,
        STOP_PROCESSING_AND_COPY_REMAINING;
    }
}

引用的其他类