AxisCycle.java

net.minecraft.core.AxisCycle

信息

  • 全限定名:net.minecraft.core.AxisCycle
  • 类型:public enum
  • 包:net.minecraft.core
  • 源码路径:src/main/java/net/minecraft/core/AxisCycle.java
  • 起始行号:L3
  • 职责:

    TODO

字段/常量

  • AXIS_VALUES

    • 类型: Direction.Axis[]
    • 修饰符: public static final
    • 源码定位: L68
    • 说明:

      TODO

  • VALUES

    • 类型: AxisCycle[]
    • 修饰符: public static final
    • 源码定位: L69
    • 说明:

      TODO

内部类/嵌套类型

构造器

方法

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

NONE { public int cycle(int x, int y, int z, Direction.Axis axis) @ L4

  • 方法名:cycle
  • 源码定位:L4
  • 返回类型:NONE { public int
  • 修饰符:package-private

参数:

  • x: int
  • y: int
  • z: int
  • axis: Direction.Axis

说明:

TODO

,BACKWARD { public int cycle(int x, int y, int z, Direction.Axis axis) @ L45

  • 方法名:cycle
  • 源码定位:L45
  • 返回类型:,BACKWARD { public int
  • 修饰符:package-private

参数:

  • x: int
  • y: int
  • z: int
  • axis: Direction.Axis

说明:

TODO

public abstract int cycle(int x, int y, int z, Direction.Axis axis) @ L71

  • 方法名:cycle
  • 源码定位:L71
  • 返回类型:int
  • 修饰符:public abstract

参数:

  • x: int
  • y: int
  • z: int
  • axis: Direction.Axis

说明:

TODO

public abstract double cycle(double x, double y, double z, Direction.Axis axis) @ L73

  • 方法名:cycle
  • 源码定位:L73
  • 返回类型:double
  • 修饰符:public abstract

参数:

  • x: double
  • y: double
  • z: double
  • axis: Direction.Axis

说明:

TODO

public abstract Direction.Axis cycle(Direction.Axis axis) @ L75

  • 方法名:cycle
  • 源码定位:L75
  • 返回类型:Direction.Axis
  • 修饰符:public abstract

参数:

  • axis: Direction.Axis

说明:

TODO

public abstract AxisCycle inverse() @ L77

  • 方法名:inverse
  • 源码定位:L77
  • 返回类型:AxisCycle
  • 修饰符:public abstract

参数:

说明:

TODO

public static AxisCycle between(Direction.Axis from, Direction.Axis to) @ L79

  • 方法名:between
  • 源码定位:L79
  • 返回类型:AxisCycle
  • 修饰符:public static

参数:

  • from: Direction.Axis
  • to: Direction.Axis

说明:

TODO

代码

public enum AxisCycle {
    NONE {
        @Override
        public int cycle(int x, int y, int z, Direction.Axis axis) {
            return axis.choose(x, y, z);
        }
 
        @Override
        public double cycle(double x, double y, double z, Direction.Axis axis) {
            return axis.choose(x, y, z);
        }
 
        @Override
        public Direction.Axis cycle(Direction.Axis axis) {
            return axis;
        }
 
        @Override
        public AxisCycle inverse() {
            return this;
        }
    },
    FORWARD {
        @Override
        public int cycle(int x, int y, int z, Direction.Axis axis) {
            return axis.choose(z, x, y);
        }
 
        @Override
        public double cycle(double x, double y, double z, Direction.Axis axis) {
            return axis.choose(z, x, y);
        }
 
        @Override
        public Direction.Axis cycle(Direction.Axis axis) {
            return AXIS_VALUES[Math.floorMod(axis.ordinal() + 1, 3)];
        }
 
        @Override
        public AxisCycle inverse() {
            return BACKWARD;
        }
    },
    BACKWARD {
        @Override
        public int cycle(int x, int y, int z, Direction.Axis axis) {
            return axis.choose(y, z, x);
        }
 
        @Override
        public double cycle(double x, double y, double z, Direction.Axis axis) {
            return axis.choose(y, z, x);
        }
 
        @Override
        public Direction.Axis cycle(Direction.Axis axis) {
            return AXIS_VALUES[Math.floorMod(axis.ordinal() - 1, 3)];
        }
 
        @Override
        public AxisCycle inverse() {
            return FORWARD;
        }
    };
 
    public static final Direction.Axis[] AXIS_VALUES = Direction.Axis.values();
    public static final AxisCycle[] VALUES = values();
 
    public abstract int cycle(final int x, final int y, final int z, final Direction.Axis axis);
 
    public abstract double cycle(final double x, final double y, final double z, final Direction.Axis axis);
 
    public abstract Direction.Axis cycle(final Direction.Axis axis);
 
    public abstract AxisCycle inverse();
 
    public static AxisCycle between(Direction.Axis from, Direction.Axis to) {
        return VALUES[Math.floorMod(to.ordinal() - from.ordinal(), 3)];
    }
}

引用的其他类

  • Direction
    • 引用位置: 参数/字段/方法调用/返回值
    • 关联成员: Direction.Axis.values()