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

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 (IIIIII)V ARG 1 minX ARG 2 minY ARG 3 minZ ARG 4 maxX ARG 5 maxY ARG 6 maxZ METHOD (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

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

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

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 METHOD method_54883 streamChunkPos ()Ljava/util/stream/Stream; METHOD method_59718 expand (III)Lnet/minecraft/class_3341; COMMENT {@return a new box that is expanded by {@code x}, {@code y}, {@code z} COMMENT on each axis} COMMENT COMMENT @see #expand(int) ARG 1 x ARG 2 y ARG 3 z