82 lines
2.7 KiB
Java
82 lines
2.7 KiB
Java
|
package net.minecraft.core;
|
||
|
|
||
|
public enum AxisCycle {
|
||
|
NONE {
|
||
|
@Override
|
||
|
public int cycle(int p_121810_, int p_121811_, int p_121812_, Direction.Axis p_121813_) {
|
||
|
return p_121813_.choose(p_121810_, p_121811_, p_121812_);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public double cycle(double p_175242_, double p_175243_, double p_175244_, Direction.Axis p_175245_) {
|
||
|
return p_175245_.choose(p_175242_, p_175243_, p_175244_);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Direction.Axis cycle(Direction.Axis p_121815_) {
|
||
|
return p_121815_;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public AxisCycle inverse() {
|
||
|
return this;
|
||
|
}
|
||
|
},
|
||
|
FORWARD {
|
||
|
@Override
|
||
|
public int cycle(int p_121821_, int p_121822_, int p_121823_, Direction.Axis p_121824_) {
|
||
|
return p_121824_.choose(p_121823_, p_121821_, p_121822_);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public double cycle(double p_175247_, double p_175248_, double p_175249_, Direction.Axis p_175250_) {
|
||
|
return p_175250_.choose(p_175249_, p_175247_, p_175248_);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Direction.Axis cycle(Direction.Axis p_121826_) {
|
||
|
return AXIS_VALUES[Math.floorMod(p_121826_.ordinal() + 1, 3)];
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public AxisCycle inverse() {
|
||
|
return BACKWARD;
|
||
|
}
|
||
|
},
|
||
|
BACKWARD {
|
||
|
@Override
|
||
|
public int cycle(int p_121832_, int p_121833_, int p_121834_, Direction.Axis p_121835_) {
|
||
|
return p_121835_.choose(p_121833_, p_121834_, p_121832_);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public double cycle(double p_175252_, double p_175253_, double p_175254_, Direction.Axis p_175255_) {
|
||
|
return p_175255_.choose(p_175253_, p_175254_, p_175252_);
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Direction.Axis cycle(Direction.Axis p_121837_) {
|
||
|
return AXIS_VALUES[Math.floorMod(p_121837_.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(int p_121794_, int p_121795_, int p_121796_, Direction.Axis p_121797_);
|
||
|
|
||
|
public abstract double cycle(double p_175236_, double p_175237_, double p_175238_, Direction.Axis p_175239_);
|
||
|
|
||
|
public abstract Direction.Axis cycle(Direction.Axis p_121798_);
|
||
|
|
||
|
public abstract AxisCycle inverse();
|
||
|
|
||
|
public static AxisCycle between(Direction.Axis p_121800_, Direction.Axis p_121801_) {
|
||
|
return VALUES[Math.floorMod(p_121801_.ordinal() - p_121800_.ordinal(), 3)];
|
||
|
}
|
||
|
}
|