CLASS net/minecraft/class_4587 net/minecraft/client/util/math/MatrixStack
	COMMENT A stack of transformation matrices used to specify how 3D objects are
	COMMENT {@linkplain #translate translated}, {@linkplain #scale scaled} or
	COMMENT {@linkplain #multiply rotated} in 3D space. Each entry consists of a
	COMMENT {@linkplain Entry#getPositionMatrix position matrix} and its
	COMMENT corresponding {@linkplain Entry#getNormalMatrix normal matrix}.
	COMMENT
	COMMENT <p>By putting matrices in a stack, a transformation can be expressed
	COMMENT relative to another. You can {@linkplain #push push}, transform,
	COMMENT render and {@linkplain #pop pop}, which allows you to restore the
	COMMENT original matrix after rendering.
	COMMENT
	COMMENT <p>An entry of identity matrix is pushed when a stack is created. This
	COMMENT means that a stack is {@linkplain #isEmpty empty} if and only if the
	COMMENT stack contains exactly one entry.
	FIELD field_20898 stack Ljava/util/Deque;
	METHOD method_22903 push ()V
		COMMENT Pushes a copy of the top entry onto this stack.
	METHOD method_22904 translate (DDD)V
		COMMENT Applies the translation transformation to the top entry.
		ARG 1 x
		ARG 3 y
		ARG 5 z
	METHOD method_22905 scale (FFF)V
		COMMENT Applies the scale transformation to the top entry.
		COMMENT
		COMMENT @implNote This does not scale the normal matrix correctly when the
		COMMENT scaling is uniform and the scaling factor is negative.
		ARG 1 x
		ARG 2 y
		ARG 3 z
	METHOD method_22907 multiply (Lorg/joml/Quaternionf;)V
		COMMENT Applies the rotation transformation to the top entry.
		ARG 1 quaternion
	METHOD method_22908 (Ljava/util/ArrayDeque;)V
		ARG 0 stack
	METHOD method_22909 pop ()V
		COMMENT Removes the entry at the top of this stack.
	METHOD method_22911 isEmpty ()Z
		COMMENT {@return whether this stack contains exactly one entry}
	METHOD method_23760 peek ()Lnet/minecraft/class_4587$class_4665;
		COMMENT {@return the entry at the top of this stack}
	METHOD method_34425 multiplyPositionMatrix (Lorg/joml/Matrix4f;)V
		COMMENT Multiplies the top position matrix with the given matrix.
		COMMENT
		COMMENT <p>This does not update the normal matrix unlike other transformation
		COMMENT methods.
		ARG 1 matrix
	METHOD method_34426 loadIdentity ()V
		COMMENT Sets the top entry to be the identity matrix.
	METHOD method_46416 translate (FFF)V
		ARG 1 x
		ARG 2 y
		ARG 3 z
	CLASS class_4665 Entry
		FIELD field_21327 positionMatrix Lorg/joml/Matrix4f;
		FIELD field_21328 normalMatrix Lorg/joml/Matrix3f;
		METHOD <init> (Lorg/joml/Matrix4f;Lorg/joml/Matrix3f;)V
			ARG 1 positionMatrix
			ARG 2 normalMatrix
		METHOD method_23761 getPositionMatrix ()Lorg/joml/Matrix4f;
			COMMENT {@return the matrix used to transform positions}
		METHOD method_23762 getNormalMatrix ()Lorg/joml/Matrix3f;
			COMMENT {@return the matrix used to transform normal vectors}
