WorldBorderRenderState.java

net.minecraft.client.renderer.state.level.WorldBorderRenderState

信息

  • 全限定名:net.minecraft.client.renderer.state.level.WorldBorderRenderState
  • 类型:public class
  • 包:net.minecraft.client.renderer.state.level
  • 源码路径:src/main/java/net/minecraft/client/renderer/state/level/WorldBorderRenderState.java
  • 起始行号:L11
  • 职责:

    TODO

字段/常量

  • minX

    • 类型: double
    • 修饰符: public
    • 源码定位: L12
    • 说明:

      TODO

  • maxX

    • 类型: double
    • 修饰符: public
    • 源码定位: L13
    • 说明:

      TODO

  • minZ

    • 类型: double
    • 修饰符: public
    • 源码定位: L14
    • 说明:

      TODO

  • maxZ

    • 类型: double
    • 修饰符: public
    • 源码定位: L15
    • 说明:

      TODO

  • tint

    • 类型: int
    • 修饰符: public
    • 源码定位: L16
    • 说明:

      TODO

  • alpha

    • 类型: double
    • 修饰符: public
    • 源码定位: L17
    • 说明:

      TODO

内部类/嵌套类型

  • net.minecraft.client.renderer.state.level.WorldBorderRenderState.DistancePerDirection
    • 类型: record
    • 修饰符: public
    • 源码定位: L34
    • 说明:

      TODO

构造器

方法

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

public List<WorldBorderRenderState.DistancePerDirection> closestBorder(double x, double z) @ L19

  • 方法名:closestBorder
  • 源码定位:L19
  • 返回类型:List<WorldBorderRenderState.DistancePerDirection>
  • 修饰符:public

参数:

  • x: double
  • z: double

说明:

TODO

public void reset() @ L29

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

参数:

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public class WorldBorderRenderState {
    public double minX;
    public double maxX;
    public double minZ;
    public double maxZ;
    public int tint;
    public double alpha;
 
    public List<WorldBorderRenderState.DistancePerDirection> closestBorder(double x, double z) {
        WorldBorderRenderState.DistancePerDirection[] directions = new WorldBorderRenderState.DistancePerDirection[]{
            new WorldBorderRenderState.DistancePerDirection(Direction.NORTH, z - this.minZ),
            new WorldBorderRenderState.DistancePerDirection(Direction.SOUTH, this.maxZ - z),
            new WorldBorderRenderState.DistancePerDirection(Direction.WEST, x - this.minX),
            new WorldBorderRenderState.DistancePerDirection(Direction.EAST, this.maxX - x)
        };
        return Arrays.stream(directions).sorted(Comparator.comparingDouble(d -> d.distance)).toList();
    }
 
    public void reset() {
        this.alpha = 0.0;
    }
 
    @OnlyIn(Dist.CLIENT)
    public record DistancePerDirection(Direction direction, double distance) {
    }
}

引用的其他类