aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/FacingEnum.h
blob: 5857956fb8eedd8e8bdf45b02e35f5623e720d92 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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);
};