CLASS ex net/minecraft/util/math/Direction
	CLASS ex$a Axis
		FIELD a X Lex$a;
		FIELD b Y Lex$a;
		FIELD c Z Lex$a;
		FIELD d BY_NAME Ljava/util/Map;
		FIELD e name Ljava/lang/String;
		METHOD a getName ()Ljava/lang/String;
		METHOD a choose (DDD)D
			ARG 1 x
			ARG 3 y
			ARG 5 z
		METHOD a choose (III)I
		METHOD a contains (Lex;)Z
		METHOD a fromName (Ljava/lang/String;)Lex$a;
			ARG 0 name
		METHOD a (Ljava/util/Random;)Lex$a;
			ARG 0 random
		METHOD b isVertical ()Z
		METHOD c isHorizontal ()Z
	CLASS ex$b AxisDirection
		FIELD a POSITIVE Lex$b;
		FIELD b NEGATIVE Lex$b;
		FIELD c offset I
		FIELD d desc Ljava/lang/String;
		METHOD a offset ()I
	CLASS ex$c Type
		FIELD a HORIZONTAL Lex$c;
		FIELD b VERTICAL Lex$c;
		FIELD c facingArray [Lex;
		FIELD d axisArray [Lex$a;
		METHOD a contains (Lex;)Z
		METHOD a random (Ljava/util/Random;)Lex;
	FIELD a DOWN Lex;
	FIELD b UP Lex;
	FIELD c NORTH Lex;
	FIELD d SOUTH Lex;
	FIELD e WEST Lex;
	FIELD f EAST Lex;
	FIELD g id I
	FIELD h idOpposite I
	FIELD i idHorizontal I
	FIELD j name Ljava/lang/String;
	FIELD k axis Lex$a;
	FIELD l direction Lex$b;
	FIELD m vector Lfm;
	FIELD n ALL [Lex;
	FIELD o NAME_MAP Ljava/util/Map;
	FIELD p ID_TO_DIRECTION [Lex;
	FIELD q HORIZONTAL [Lex;
	METHOD <init> (Ljava/lang/String;IIIILjava/lang/String;Lex$b;Lex$a;Lfm;)V
		ARG 3 id
		ARG 4 idOpposite
		ARG 5 idHorizontal
		ARG 6 name
		ARG 7 direction
		ARG 8 axis
	METHOD a getId ()I
	METHOD a fromRotation (D)Lex;
		ARG 0 rotation
	METHOD a getFacing (DDD)Lex;
		ARG 0 x
	METHOD a getFacing (FFF)Lex;
		ARG 0 x
		ARG 1 y
		ARG 2 z
	METHOD a byId (I)Lex;
		ARG 0 id
	METHOD a getEntityFacingOrder (Lahl;)[Lex;
		ARG 0 entity
	METHOD a rotateClockwise (Lex$a;)Lex;
	METHOD a from (Lex$a;Lex$b;)Lex;
		ARG 0 axis
		ARG 1 direction
	METHOD a get (Lex$b;Lex$a;)Lex;
		ARG 0 direction
		ARG 1 axis
	METHOD a byName (Ljava/lang/String;)Lex;
		ARG 0 name
	METHOD a random (Ljava/util/Random;)Lex;
		ARG 0 random
	METHOD b getHorizontal ()I
	METHOD b fromHorizontal (I)Lex;
		ARG 0 value
	METHOD c getDirection ()Lex$b;
	METHOD d getOpposite ()Lex;
	METHOD e rotateYClockwise ()Lex;
	METHOD f rotateYCounterclockwise ()Lex;
	METHOD g getOffsetX ()I
	METHOD h getOffsetY ()I
	METHOD i getOffsetZ ()I
	METHOD j getName ()Ljava/lang/String;
	METHOD k getAxis ()Lex$a;
	METHOD l asRotation ()F
	METHOD n getVector ()Lfm;
	METHOD o rotateXClockwise ()Lex;
	METHOD q rotateZClockwise ()Lex;
