CLASS net/minecraft/class_2338 net/minecraft/util/math/BlockPos COMMENT Represents the position of a block in a three-dimensional volume. COMMENT COMMENT
The position is integer-valued. COMMENT COMMENT
A block position may be mutable; hence, when using block positions
COMMENT obtained from other places as map keys, etc., you should call {@link
COMMENT #toImmutable()} to obtain an immutable block position.
FIELD field_10973 BITS_Z J
FIELD field_10974 BITS_Y J
FIELD field_10975 SIZE_BITS_Y I
FIELD field_10976 BITS_X J
FIELD field_10977 SIZE_BITS_Z I
FIELD field_10978 SIZE_BITS_X I
FIELD field_10980 ORIGIN Lnet/minecraft/class_2338;
COMMENT The block position which x, y, and z values are all zero.
FIELD field_10981 BIT_SHIFT_X I
FIELD field_10983 BIT_SHIFT_Z I
FIELD field_18789 LOGGER Lorg/slf4j/Logger;
FIELD field_25064 CODEC Lcom/mojang/serialization/Codec;
METHOD This method should be called when a block position is used as map
COMMENT keys as to prevent side effects of mutations of mutable block positions.
METHOD method_10063 asLong ()J
METHOD method_10064 asLong (III)J
ARG 0 x
ARG 1 y
ARG 2 z
METHOD method_10067 west ()Lnet/minecraft/class_2338;
METHOD method_10070 rotate (Lnet/minecraft/class_2470;)Lnet/minecraft/class_2338;
ARG 1 rotation
METHOD method_10071 unpackLongY (J)I
ARG 0 packedPos
METHOD method_10072 south ()Lnet/minecraft/class_2338;
METHOD method_10075 crossProduct (Lnet/minecraft/class_2382;)Lnet/minecraft/class_2338;
ARG 1 pos
METHOD method_10076 north (I)Lnet/minecraft/class_2338;
ARG 1 distance
METHOD method_10077 south (I)Lnet/minecraft/class_2338;
ARG 1 distance
METHOD method_10078 east ()Lnet/minecraft/class_2338;
METHOD method_10083 unpackLongZ (J)I
ARG 0 packedPos
METHOD method_10084 up ()Lnet/minecraft/class_2338;
METHOD method_10086 up (I)Lnet/minecraft/class_2338;
ARG 1 distance
METHOD method_10088 west (I)Lnet/minecraft/class_2338;
ARG 1 distance
METHOD method_10089 east (I)Lnet/minecraft/class_2338;
ARG 1 distance
METHOD method_10091 removeChunkSectionLocalY (J)J
ARG 0 y
METHOD method_10092 fromLong (J)Lnet/minecraft/class_2338;
ARG 0 packedPos
METHOD method_10094 iterate (IIIIII)Ljava/lang/Iterable;
ARG 0 startX
ARG 1 startY
ARG 2 startZ
ARG 3 endX
ARG 4 endY
ARG 5 endZ
METHOD method_10095 north ()Lnet/minecraft/class_2338;
METHOD method_10096 add (JIII)J
ARG 0 value
ARG 2 x
ARG 3 y
ARG 4 z
METHOD method_10097 iterate (Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Ljava/lang/Iterable;
ARG 0 start
ARG 1 end
METHOD method_17962 stream (IIIIII)Ljava/util/stream/Stream;
ARG 0 startX
ARG 1 startY
ARG 2 startZ
ARG 3 endX
ARG 4 endY
ARG 5 endZ
METHOD method_20437 stream (Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Ljava/util/stream/Stream;
ARG 0 start
ARG 1 end
METHOD method_23627 stream (Lnet/minecraft/class_3341;)Ljava/util/stream/Stream;
ARG 0 box
METHOD method_25503 mutableCopy ()Lnet/minecraft/class_2338$class_2339;
COMMENT Returns a mutable copy of this block position.
COMMENT
COMMENT If this block position is a mutable one, mutation to this block
COMMENT position won't affect the returned position.
METHOD method_25996 iterateOutwards (Lnet/minecraft/class_2338;III)Ljava/lang/Iterable;
COMMENT Iterates block positions around the {@code center}. The iteration order
COMMENT is mainly based on the manhattan distance of the position from the
COMMENT center.
COMMENT
COMMENT For the same manhattan distance, the positions are iterated by y
COMMENT offset, from negative to positive. For the same y offset, the positions
COMMENT are iterated by x offset, from negative to positive. For the two
COMMENT positions with the same x and y offsets and the same manhattan distance,
COMMENT the one with a positive z offset is visited first before the one with a
COMMENT negative z offset.
ARG 0 center
COMMENT the center of iteration
ARG 1 rangeX
COMMENT the maximum x difference from the center
ARG 2 rangeY
COMMENT the maximum y difference from the center
ARG 3 rangeZ
COMMENT the maximum z difference from the center
METHOD method_25997 findClosest (Lnet/minecraft/class_2338;IILjava/util/function/Predicate;)Ljava/util/Optional;
ARG 0 pos
ARG 1 horizontalRange
ARG 2 verticalRange
ARG 3 condition
METHOD method_25998 streamOutwards (Lnet/minecraft/class_2338;III)Ljava/util/stream/Stream;
ARG 0 center
ARG 1 maxX
ARG 2 maxY
ARG 3 maxZ
METHOD method_27156 iterateRandomly (Lnet/minecraft/class_5819;IIIIIII)Ljava/lang/Iterable;
COMMENT Iterates through {@code count} random block positions in the given area.
COMMENT
COMMENT The iterator yields positions in no specific order. The same position
COMMENT may be returned multiple times by the iterator.
ARG 0 random
ARG 1 count
COMMENT the number of positions to iterate
ARG 2 minX
COMMENT the minimum x value for returned positions
ARG 3 minY
COMMENT the minimum y value for returned positions
ARG 4 minZ
COMMENT the minimum z value for returned positions
ARG 5 maxX
COMMENT the maximum x value for returned positions
ARG 6 maxY
COMMENT the maximum y value for returned positions
ARG 7 maxZ
COMMENT the maximum z value for returned positions
METHOD method_29093 (Lnet/minecraft/class_2338;)Ljava/util/stream/IntStream;
ARG 0 pos
METHOD method_29094 (Ljava/util/stream/IntStream;)Lcom/mojang/serialization/DataResult;
ARG 0 stream
METHOD method_29095 ([I)Lnet/minecraft/class_2338;
ARG 0 values
METHOD method_29715 stream (Lnet/minecraft/class_238;)Ljava/util/stream/Stream;
ARG 0 box
METHOD method_30512 iterateInSquare (Lnet/minecraft/class_2338;ILnet/minecraft/class_2350;Lnet/minecraft/class_2350;)Ljava/lang/Iterable;
COMMENT Iterates block positions around the {@code center} in a square of
COMMENT ({@code 2 * radius + 1}) by ({@code 2 * radius + 1}). The blocks
COMMENT are iterated in a (square) spiral around the center.
COMMENT
COMMENT The first block returned is the center, then the iterator moves
COMMENT a block towards the first direction, followed by moving along
COMMENT the second direction.
COMMENT
COMMENT @throws IllegalStateException when the 2 directions lie on the same axis
ARG 0 center
COMMENT the center of iteration
ARG 1 radius
COMMENT the maximum chebychev distance
ARG 2 firstDirection
COMMENT the direction the iterator moves first
ARG 3 secondDirection
COMMENT the direction the iterator moves after the first
METHOD method_33096 withY (I)Lnet/minecraft/class_2338;
ARG 1 y
METHOD method_34848 iterateRandomly (Lnet/minecraft/class_5819;ILnet/minecraft/class_2338;I)Ljava/lang/Iterable;
COMMENT Iterates through {@code count} random block positions in a given range around the given position.
COMMENT
COMMENT The iterator yields positions in no specific order. The same position
COMMENT may be returned multiple times by the iterator.
ARG 0 random
ARG 1 count
COMMENT the number of positions to iterate
ARG 2 around
COMMENT the {@link BlockPos} to iterate around
ARG 3 range
COMMENT the maximum distance from the given pos in any axis
METHOD method_46558 toCenterPos ()Lnet/minecraft/class_243;
COMMENT {@return the center of this block position}
COMMENT
COMMENT @see Vec3d#ofCenter
METHOD method_49637 ofFloored (DDD)Lnet/minecraft/class_2338;
ARG 0 x
ARG 2 y
ARG 4 z
METHOD method_49638 ofFloored (Lnet/minecraft/class_2374;)Lnet/minecraft/class_2338;
ARG 0 pos
METHOD method_49925 iterateRecursively (Lnet/minecraft/class_2338;IILjava/util/function/BiConsumer;Ljava/util/function/Predicate;)I
COMMENT Iterates from {@code pos} recursively, like in a fill tool in a raster image editor.
COMMENT {@code callback} is called once (and only once) for each position it finds. When this
COMMENT returns {@code true} and the depth/iteration limit is not reached yet, {@code nextQueuer}
COMMENT queues the next (usually neighboring) positions to iterate, with the depth incremented by one.
COMMENT
COMMENT @return the total number of iterations
ARG 0 pos
COMMENT the starting position
ARG 1 maxDepth
COMMENT the maximum depth of iteration
ARG 2 maxIterations
COMMENT the maximum number of total iterations
ARG 3 nextQueuer
COMMENT a function that enqueues the next positions
ARG 4 callback
METHOD method_49926 (Ljava/util/Queue;ILnet/minecraft/class_2338;)V
ARG 2 queuedPos
CLASS 1
FIELD field_23945 pos Lnet/minecraft/class_2338$class_2339;
FIELD field_23946 remaining I
CLASS 2
FIELD field_23094 maxDistance I
FIELD field_23095 rangeX I
FIELD field_23096 rangeY I
FIELD field_23097 rangeZ I
FIELD field_23099 manhattanDistance I
FIELD field_23100 limitX I
FIELD field_23101 limitY I
FIELD field_23102 dx I
FIELD field_23103 dy I
FIELD field_23378 pos Lnet/minecraft/class_2338$class_2339;
FIELD field_23379 swapZ Z
CLASS 3
FIELD field_23105 size I
FIELD field_23106 sizeX I
FIELD field_23107 sizeY I
FIELD field_23108 startX I
FIELD field_23109 startY I
FIELD field_23110 startZ I
FIELD field_23111 index I
FIELD field_23380 pos Lnet/minecraft/class_2338$class_2339;
CLASS 4
FIELD field_25903 directions [Lnet/minecraft/class_2350;
FIELD field_25904 pos Lnet/minecraft/class_2338$class_2339;
FIELD field_25905 maxDirectionChanges I
FIELD field_25906 directionChangeCount I
FIELD field_25907 maxSteps I
FIELD field_25908 steps I
FIELD field_25909 currentX I
FIELD field_25910 currentY I
FIELD field_25911 currentZ I
CLASS class_2339 Mutable
METHOD