diff --git a/common/net/minecraftforge/common/Orientation.java b/common/net/minecraftforge/common/Orientation.java index 123deb692..4d87e16ac 100644 --- a/common/net/minecraftforge/common/Orientation.java +++ b/common/net/minecraftforge/common/Orientation.java @@ -3,27 +3,40 @@ package net.minecraftforge.common; public enum Orientation { /** -Y */ - DOWN, + DOWN(0, -1, 0), /** +Y */ - UP, + UP(0, 1, 0), /** -Z */ - NORTH, + NORTH(0, 0, -1), /** +Z */ - SOUTH, + SOUTH(0, 0, 1), /** -X */ - WEST, + WEST(-1, 0, 0), /** +X */ - EAST, + EAST(1, 0, 0), /** * Used only by getOrientation, for invalid inputs */ - UNKNOWN; + UNKNOWN(0, 0, 0); + + public final int offsetX; + public final int offsetY; + public final int offsetZ; + public final int flag; + + private Orientation(int x, int y, int z) + { + offsetX = x; + offsetY = y; + offsetZ = z; + flag = 1 << ordinal(); + } public static Orientation getOrientation(int id) { @@ -33,4 +46,11 @@ public enum Orientation } return UNKNOWN; } + + public static final int[] opposite = new int[] { 1, 0, 3, 2, 5, 4, 6}; + + public Orientation getOpposite() + { + return getOrientation(opposite[ordinal()]); + } }