minecraft-src/net/minecraft/core/Direction8.java
2025-07-04 01:41:11 +03:00

40 lines
1 KiB
Java

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... directions) {
this.directions = Sets.immutableEnumSet(Arrays.asList(directions));
this.step = new Vec3i(0, 0, 0);
for (Direction direction : directions) {
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();
}
}