Code/net/minecraft/core/Direction8.java

43 lines
1.2 KiB
Java
Raw Normal View History

2025-07-01 06:20:03 +00:00
package net.minecraft.core;
import com.google.common.collect.Sets;
import java.util.Arrays;
import java.util.Set;
public enum Direction8 {
NORTH(Direction.NORTH),
NORTH_EAST(Direction.NORTH, Direction.EAST),
EAST(Direction.EAST),
SOUTH_EAST(Direction.SOUTH, Direction.EAST),
SOUTH(Direction.SOUTH),
SOUTH_WEST(Direction.SOUTH, Direction.WEST),
WEST(Direction.WEST),
NORTH_WEST(Direction.NORTH, Direction.WEST);
private final Set<Direction> directions;
private final Vec3i step;
private Direction8(final Direction... p_122592_) {
this.directions = Sets.immutableEnumSet(Arrays.asList(p_122592_));
this.step = new Vec3i(0, 0, 0);
for (Direction direction : p_122592_) {
this.step
.setX(this.step.getX() + direction.getStepX())
.setY(this.step.getY() + direction.getStepY())
.setZ(this.step.getZ() + direction.getStepZ());
}
}
public Set<Direction> getDirections() {
return this.directions;
}
public int getStepX() {
return this.step.getX();
}
public int getStepZ() {
return this.step.getZ();
}
}