aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/FacingEnum.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/FacingEnum.h')
-rw-r--r--Minecraft.World/FacingEnum.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/Minecraft.World/FacingEnum.h b/Minecraft.World/FacingEnum.h
new file mode 100644
index 00000000..5857956f
--- /dev/null
+++ b/Minecraft.World/FacingEnum.h
@@ -0,0 +1,31 @@
+#pragma once
+
+class FacingEnum
+{
+public:
+ static FacingEnum *DOWN;
+ static FacingEnum *UP;
+ static FacingEnum *NORTH;
+ static FacingEnum *SOUTH;
+ static FacingEnum *EAST;
+ static FacingEnum *WEST;
+
+private:
+ const int dataValue;
+ const int oppositeIndex;
+ const int stepX;
+ const int stepY;
+ const int stepZ;
+
+ static FacingEnum *BY_DATA[6];
+
+ FacingEnum(int dataValue, int oppositeIndex, int stepX, int stepY, int stepZ);
+
+public:
+ int getDataValue();
+ FacingEnum *getOpposite();
+ int getStepX();
+ int getStepY();
+ int getStepZ();
+ static FacingEnum *fromData(int data);
+}; \ No newline at end of file