CLASS net/minecraft/class_3341 net/minecraft/util/math/BlockBox
	COMMENT A mutable box with integer coordinates. The box is axis-aligned and the
	COMMENT coordinates are inclusive.
	COMMENT
	COMMENT <p>This box, though mutable, has proper {@code hashCode} and {@code
	COMMENT equals} implementations and can be used as map keys if user can ensure
	COMMENT they are not modified.
	COMMENT
	COMMENT @see Box
	FIELD field_14376 maxY I
	FIELD field_14377 maxX I
	FIELD field_14378 minZ I
	FIELD field_14379 minY I
	FIELD field_14380 minX I
	FIELD field_14381 maxZ I
	FIELD field_29325 CODEC Lcom/mojang/serialization/Codec;
		COMMENT A codec that stores a block box as an int array. In the serialized array,
		COMMENT the ordered elements are {@link #minX}, {@link #minY}, {@link #minZ},
		COMMENT {@link #maxX}, {@link #maxY}, {@link #maxZ}.
	FIELD field_31548 LOGGER Lorg/slf4j/Logger;
	METHOD <init> (IIIIII)V
		ARG 1 minX
		ARG 2 minY
		ARG 3 minZ
		ARG 4 maxX
		ARG 5 maxY
		ARG 6 maxZ
	METHOD <init> (Lnet/minecraft/class_2338;)V
		COMMENT Creates a box enclosing only {@code pos}.
		ARG 1 pos
	METHOD equals (Ljava/lang/Object;)Z
		ARG 1 o
	METHOD method_14657 intersects (Lnet/minecraft/class_3341;)Z
		COMMENT {@return whether {@code other} intersects with this box}
		ARG 1 other
	METHOD method_14659 getDimensions ()Lnet/minecraft/class_2382;
		COMMENT {@return the dimensions (the size) of this box}
	METHOD method_14660 getBlockCountY ()I
		COMMENT {@return the number of blocks on the Y axis}
		COMMENT
		COMMENT <p>This is equal to {@code maxY - minY + 1}.
	METHOD method_14661 move (III)Lnet/minecraft/class_3341;
		ARG 1 dx
		ARG 2 dy
		ARG 3 dz
	METHOD method_14662 contains (Lnet/minecraft/class_2382;)Z
		COMMENT {@return whether this box contains {@code pos}}
		ARG 1 pos
	METHOD method_14663 getBlockCountZ ()I
		COMMENT {@return the number of blocks on the Z axis}
		COMMENT
		COMMENT <p>This is equal to {@code maxZ - minZ + 1}.
	METHOD method_14665 infinite ()Lnet/minecraft/class_3341;
		COMMENT {@return a new all-encompassing, infinite box}
	METHOD method_14667 rotated (IIIIIIIIILnet/minecraft/class_2350;)Lnet/minecraft/class_3341;
		ARG 0 x
		ARG 1 y
		ARG 2 z
		ARG 3 offsetX
		ARG 4 offsetY
		ARG 5 offsetZ
		ARG 6 sizeX
		ARG 7 sizeY
		ARG 8 sizeZ
		ARG 9 facing
	METHOD method_14669 intersectsXZ (IIII)Z
		COMMENT {@return whether the rectangle from the given coordinates intersects with this box's XZ plane}
		ARG 1 minX
		ARG 2 minZ
		ARG 3 maxX
		ARG 4 maxZ
	METHOD method_19311 offset (III)Lnet/minecraft/class_3341;
		COMMENT {@return a new box that is translated by {@code x}, {@code y}, {@code z}
		COMMENT on each axis from this box}
		COMMENT
		COMMENT @see #move(int, int, int)
		ARG 1 x
		ARG 2 y
		ARG 3 z
	METHOD method_22874 getCenter ()Lnet/minecraft/class_2338;
		COMMENT {@return the center of this box}
		COMMENT
		COMMENT @apiNote This is biased toward the minimum bound corner of the box.
	METHOD method_29299 move (Lnet/minecraft/class_2382;)Lnet/minecraft/class_3341;
		ARG 1 vec
	METHOD method_34389 encompass (Lnet/minecraft/class_2338;)Lnet/minecraft/class_3341;
		COMMENT Expands this box to encompass the {@code pos}.
		COMMENT
		COMMENT @return this box, for chaining
		ARG 1 pos
			COMMENT the pos to encompass
	METHOD method_34390 create (Lnet/minecraft/class_2382;Lnet/minecraft/class_2382;)Lnet/minecraft/class_3341;
		COMMENT {@return a new box from two corners, {@code first} and {@code second}}
		ARG 0 first
		ARG 1 second
	METHOD method_34391 forEachVertex (Ljava/util/function/Consumer;)V
		COMMENT Calls {@code consumer} for each vertex (corner) of this box.
		ARG 1 consumer
	METHOD method_34392 (Ljava/util/stream/IntStream;)Lcom/mojang/serialization/DataResult;
		ARG 0 values
	METHOD method_34393 ([I)Lnet/minecraft/class_3341;
		ARG 0 array
	METHOD method_34394 (Lnet/minecraft/class_3341;)Ljava/util/stream/IntStream;
		ARG 0 box
	METHOD method_35410 expand (I)Lnet/minecraft/class_3341;
		COMMENT {@return a new box that is expanded on each direction by {@code offset}}
		ARG 1 offset
	METHOD method_35411 encompassPositions (Ljava/lang/Iterable;)Ljava/util/Optional;
		COMMENT {@return the minimum box encompassing all of the given {@code positions},
		COMMENT or an empty optional if {@code positions} is empty}
		ARG 0 positions
	METHOD method_35412 encompass (Lnet/minecraft/class_3341;)Lnet/minecraft/class_3341;
		ARG 1 box
	METHOD method_35413 encompass (Ljava/lang/Iterable;)Ljava/util/Optional;
		COMMENT {@return the minimum box encompassing all of the given {@code boxes},
		COMMENT or an empty optional if {@code boxes} is empty}
		ARG 0 boxes
	METHOD method_35414 getBlockCountX ()I
		COMMENT {@return the number of blocks on the X axis}
		COMMENT
		COMMENT <p>This is equal to {@code maxX - minX + 1}.
	METHOD method_35415 getMinX ()I
	METHOD method_35416 getMinY ()I
	METHOD method_35417 getMinZ ()I
	METHOD method_35418 getMaxX ()I
	METHOD method_35419 getMaxY ()I
	METHOD method_35420 getMaxZ ()I
	METHOD method_47593 contains (III)Z
		ARG 1 x
		ARG 2 y
		ARG 3 z
