/** | |
* Copyright (c) SpaceToad, 2011 | |
* http://www.mod-buildcraft.com | |
* | |
* BuildCraft is distributed under the terms of the Minecraft Mod Public | |
* License 1.0, or MMPL. Please check the contents of the license located in | |
* http://www.mod-buildcraft.com/MMPL-1.0.txt | |
*/ | |
package buildcraft.api.core; | |
import net.minecraftforge.common.ForgeDirection; | |
public enum Orientations { | |
YNeg, // 0 | |
YPos, // 1 | |
ZNeg, // 2 | |
ZPos, // 3 | |
XNeg, // 4 | |
XPos, // 5 | |
Unknown; | |
public Orientations reverse() { | |
switch (this) { | |
case YPos: | |
return Orientations.YNeg; | |
case YNeg: | |
return Orientations.YPos; | |
case ZPos: | |
return Orientations.ZNeg; | |
case ZNeg: | |
return Orientations.ZPos; | |
case XPos: | |
return Orientations.XNeg; | |
case XNeg: | |
return Orientations.XPos; | |
default: | |
return Orientations.Unknown; | |
} | |
} | |
public ForgeDirection toDirection(){ | |
switch(this){ | |
case YNeg: | |
return ForgeDirection.DOWN; | |
case YPos: | |
return ForgeDirection.UP; | |
case ZNeg: | |
return ForgeDirection.NORTH; | |
case ZPos: | |
return ForgeDirection.SOUTH; | |
case XNeg: | |
return ForgeDirection.WEST; | |
case XPos: | |
return ForgeDirection.EAST; | |
default: | |
return ForgeDirection.UNKNOWN; | |
} | |
} | |
public Orientations rotateLeft() { | |
switch (this) { | |
case XPos: | |
return ZPos; | |
case ZNeg: | |
return XPos; | |
case XNeg: | |
return ZNeg; | |
case ZPos: | |
return XNeg; | |
default: | |
return this; | |
} | |
} | |
public static Orientations[] dirs() { | |
return new Orientations[] { YNeg, YPos, ZNeg, ZPos, XNeg, XPos }; | |
} | |
} |