Updated Orientation with new helper functionality.

This commit is contained in:
LexManos 2012-08-15 01:31:02 -07:00
parent 50e6b39a29
commit e6b61cb33d
1 changed files with 27 additions and 7 deletions

View File

@ -3,27 +3,40 @@ package net.minecraftforge.common;
public enum Orientation public enum Orientation
{ {
/** -Y */ /** -Y */
DOWN, DOWN(0, -1, 0),
/** +Y */ /** +Y */
UP, UP(0, 1, 0),
/** -Z */ /** -Z */
NORTH, NORTH(0, 0, -1),
/** +Z */ /** +Z */
SOUTH, SOUTH(0, 0, 1),
/** -X */ /** -X */
WEST, WEST(-1, 0, 0),
/** +X */ /** +X */
EAST, EAST(1, 0, 0),
/** /**
* Used only by getOrientation, for invalid inputs * 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) public static Orientation getOrientation(int id)
{ {
@ -33,4 +46,11 @@ public enum Orientation
} }
return UNKNOWN; return UNKNOWN;
} }
public static final int[] opposite = new int[] { 1, 0, 3, 2, 5, 4, 6};
public Orientation getOpposite()
{
return getOrientation(opposite[ordinal()]);
}
} }