Class BlockPos
- All Implemented Interfaces:
Comparable<Vec3i>
- Direct Known Subclasses:
BlockPos.Mutable
@Immutable public class BlockPos extends Vec3i
The position is integer-valued.
A block position may be mutable; hence, when using block positions
obtained from other places as map keys, etc., you should call toImmutable() to obtain an immutable block position.
- Mappings:
Namespace Name official fxintermediary net/minecraft/class_2338named net/minecraft/util/math/BlockPos
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBlockPos.Mutable -
Field Summary
Fields Modifier and Type Field Description private static intBIT_SHIFT_Xprivate static intBIT_SHIFT_Zprivate static longBITS_Xprivate static longBITS_Yprivate static longBITS_Zstatic com.mojang.serialization.Codec<BlockPos>CODECprivate static LoggerLOGGERstatic BlockPosORIGINThe block position which x, y, and z values are all zero.private static intSIZE_BITS_Xstatic intSIZE_BITS_Yprivate static intSIZE_BITS_Z -
Constructor Summary
-
Method Summary
Modifier and Type Method Description BlockPosadd(double x, double y, double z)BlockPosadd(int x, int y, int z)static longadd(long value, int x, int y, int z)BlockPosadd(Vec3i pos)longasLong()static longasLong(int x, int y, int z)BlockPoscrossProduct(Vec3i pos)BlockPosdown()BlockPosdown(int int2)BlockPoseast()BlockPoseast(int distance)static Optional<BlockPos>findClosest(BlockPos pos, int horizontalRange, int verticalRange, Predicate<BlockPos> condition)static BlockPosfromLong(long packedPos)static Iterable<BlockPos>iterate(int startX, int startY, int startZ, int endX, int endY, int endZ)static Iterable<BlockPos>iterate(BlockPos start, BlockPos end)static Iterable<BlockPos.Mutable>iterateInSquare(BlockPos center, int radius, Direction firstDirection, Direction secondDirection)Iterates block positions around thecenterin a square of (2 * radius + 1) by (2 * radius + 1).static Iterable<BlockPos>iterateOutwards(BlockPos center, int xRange, int yRange, int zRange)Iterates block positions around thecenter.static Iterable<BlockPos>iterateRandomly(Random random, int count, int minX, int minY, int minZ, int maxX, int maxY, int maxZ)Iterates throughcountrandom block positions in the given area.BlockPos.MutablemutableCopy()Returns a mutable copy of this block position.BlockPosnorth()BlockPosnorth(int distance)static longoffset(long value, Direction direction)BlockPosoffset(Direction direction)BlockPosoffset(Direction.Axis axis, int distance)BlockPosoffset(Direction direction, int int2)static longremoveChunkSectionLocalY(long y)BlockPosrotate(BlockRotation rotation)BlockPossouth()BlockPossouth(int distance)static Stream<BlockPos>stream(int startX, int startY, int startZ, int endX, int endY, int endZ)static Stream<BlockPos>stream(BlockBox box)static Stream<BlockPos>stream(BlockPos start, BlockPos end)static Stream<BlockPos>stream(Box box)static Stream<BlockPos>streamOutwards(BlockPos center, int maxX, int maxY, int maxZ)BlockPossubtract(Vec3i pos)BlockPostoImmutable()Returns an immutable block position with the same x, y, and z as this position.static intunpackLongX(long packedPos)static intunpackLongY(long packedPos)static intunpackLongZ(long packedPos)BlockPosup()BlockPosup(int distance)BlockPoswest()BlockPoswest(int distance)BlockPoswithY(int y)Methods inherited from class net.minecraft.util.math.Vec3i
compareTo, equals, getComponentAlongAxis, getManhattanDistance, getSquaredDistance, getSquaredDistance, getSquaredDistance, getSquaredDistance, getX, getY, getZ, hashCode, isWithinDistance, isWithinDistance, setX, setY, setZ, toShortString, toString
-
Field Details
-
CODEC
- Mappings:
Namespace Name Mixin selector official aLfx;a:Lcom/mojang/serialization/Codec;intermediary field_25064Lnet/minecraft/class_2338;field_25064:Lcom/mojang/serialization/Codec;named CODECLnet/minecraft/util/math/BlockPos;CODEC:Lcom/mojang/serialization/Codec;
-
LOGGER
- Mappings:
Namespace Name Mixin selector official fLfx;f:Lorg/apache/logging/log4j/Logger;intermediary field_18789Lnet/minecraft/class_2338;field_18789:Lorg/apache/logging/log4j/Logger;named LOGGERLnet/minecraft/util/math/BlockPos;LOGGER:Lorg/apache/logging/log4j/Logger;
-
ORIGIN
The block position which x, y, and z values are all zero.- Mappings:
Namespace Name Mixin selector official bLfx;b:Lfx;intermediary field_10980Lnet/minecraft/class_2338;field_10980:Lnet/minecraft/class_2338;named ORIGINLnet/minecraft/util/math/BlockPos;ORIGIN:Lnet/minecraft/util/math/BlockPos;
-
SIZE_BITS_X
private static final int SIZE_BITS_X- Mappings:
Namespace Name Mixin selector official gLfx;g:Iintermediary field_10978Lnet/minecraft/class_2338;field_10978:Inamed SIZE_BITS_XLnet/minecraft/util/math/BlockPos;SIZE_BITS_X:I
-
SIZE_BITS_Z
private static final int SIZE_BITS_Z- Mappings:
Namespace Name Mixin selector official hLfx;h:Iintermediary field_10977Lnet/minecraft/class_2338;field_10977:Inamed SIZE_BITS_ZLnet/minecraft/util/math/BlockPos;SIZE_BITS_Z:I
-
SIZE_BITS_Y
public static final int SIZE_BITS_Y- Mappings:
Namespace Name Mixin selector official cLfx;c:Iintermediary field_10975Lnet/minecraft/class_2338;field_10975:Inamed SIZE_BITS_YLnet/minecraft/util/math/BlockPos;SIZE_BITS_Y:I
-
BITS_X
private static final long BITS_X- Mappings:
Namespace Name Mixin selector official iLfx;i:Jintermediary field_10976Lnet/minecraft/class_2338;field_10976:Jnamed BITS_XLnet/minecraft/util/math/BlockPos;BITS_X:J
-
BITS_Y
private static final long BITS_Y- Mappings:
Namespace Name Mixin selector official jLfx;j:Jintermediary field_10974Lnet/minecraft/class_2338;field_10974:Jnamed BITS_YLnet/minecraft/util/math/BlockPos;BITS_Y:J
-
BITS_Z
private static final long BITS_Z- Mappings:
Namespace Name Mixin selector official kLfx;k:Jintermediary field_10973Lnet/minecraft/class_2338;field_10973:Jnamed BITS_ZLnet/minecraft/util/math/BlockPos;BITS_Z:J
-
BIT_SHIFT_Z
private static final int BIT_SHIFT_Z- Mappings:
Namespace Name Mixin selector official lLfx;l:Iintermediary field_10983Lnet/minecraft/class_2338;field_10983:Inamed BIT_SHIFT_ZLnet/minecraft/util/math/BlockPos;BIT_SHIFT_Z:I
-
BIT_SHIFT_X
private static final int BIT_SHIFT_X- Mappings:
Namespace Name Mixin selector official mLfx;m:Iintermediary field_10981Lnet/minecraft/class_2338;field_10981:Inamed BIT_SHIFT_XLnet/minecraft/util/math/BlockPos;BIT_SHIFT_X:I
-
-
Constructor Details
-
BlockPos
public BlockPos(int x, int y, int z)- Mappings:
Namespace Name Mixin selector official <init>Lgs;<init>(III)Vintermediary <init>Lnet/minecraft/class_2382;<init>(III)Vnamed <init>Lnet/minecraft/util/math/Vec3i;<init>(III)V
-
BlockPos
public BlockPos(double x, double y, double z)- Mappings:
Namespace Name Mixin selector official <init>Lgs;<init>(DDD)Vintermediary <init>Lnet/minecraft/class_2382;<init>(DDD)Vnamed <init>Lnet/minecraft/util/math/Vec3i;<init>(DDD)V
-
BlockPos
- Mappings:
Namespace Name Mixin selector official <init>Lfx;<init>(Ldiu;)Vintermediary <init>Lnet/minecraft/class_2338;<init>(Lnet/minecraft/class_243;)Vnamed <init>Lnet/minecraft/util/math/BlockPos;<init>(Lnet/minecraft/util/math/Vec3d;)V
-
BlockPos
- Mappings:
Namespace Name Mixin selector official <init>Lfx;<init>(Lgk;)Vintermediary <init>Lnet/minecraft/class_2338;<init>(Lnet/minecraft/class_2374;)Vnamed <init>Lnet/minecraft/util/math/BlockPos;<init>(Lnet/minecraft/util/math/Position;)V
-
BlockPos
- Mappings:
Namespace Name Mixin selector official <init>Lfx;<init>(Lgs;)Vintermediary <init>Lnet/minecraft/class_2338;<init>(Lnet/minecraft/class_2382;)Vnamed <init>Lnet/minecraft/util/math/BlockPos;<init>(Lnet/minecraft/util/math/Vec3i;)V
-
-
Method Details
-
offset
- Mappings:
Namespace Name Mixin selector official aLfx;a(JLgc;)Jintermediary method_10060Lnet/minecraft/class_2338;method_10060(JLnet/minecraft/class_2350;)Jnamed offsetLnet/minecraft/util/math/BlockPos;offset(JLnet/minecraft/util/math/Direction;)J
-
add
public static long add(long value, int x, int y, int z)- Mappings:
Namespace Name Mixin selector official aLfx;a(JIII)Jintermediary method_10096Lnet/minecraft/class_2338;method_10096(JIII)Jnamed addLnet/minecraft/util/math/BlockPos;add(JIII)J
-
unpackLongX
public static int unpackLongX(long packedPos)- Mappings:
Namespace Name Mixin selector official aLfx;a(J)Iintermediary method_10061Lnet/minecraft/class_2338;method_10061(J)Inamed unpackLongXLnet/minecraft/util/math/BlockPos;unpackLongX(J)I
-
unpackLongY
public static int unpackLongY(long packedPos)- Mappings:
Namespace Name Mixin selector official bLfx;b(J)Iintermediary method_10071Lnet/minecraft/class_2338;method_10071(J)Inamed unpackLongYLnet/minecraft/util/math/BlockPos;unpackLongY(J)I
-
unpackLongZ
public static int unpackLongZ(long packedPos)- Mappings:
Namespace Name Mixin selector official cLfx;c(J)Iintermediary method_10083Lnet/minecraft/class_2338;method_10083(J)Inamed unpackLongZLnet/minecraft/util/math/BlockPos;unpackLongZ(J)I
-
fromLong
- Mappings:
Namespace Name Mixin selector official dLfx;d(J)Lfx;intermediary method_10092Lnet/minecraft/class_2338;method_10092(J)Lnet/minecraft/class_2338;named fromLongLnet/minecraft/util/math/BlockPos;fromLong(J)Lnet/minecraft/util/math/BlockPos;
-
asLong
public long asLong()- Mappings:
Namespace Name Mixin selector official aLfx;a()Jintermediary method_10063Lnet/minecraft/class_2338;method_10063()Jnamed asLongLnet/minecraft/util/math/BlockPos;asLong()J
-
asLong
public static long asLong(int x, int y, int z)- Mappings:
Namespace Name Mixin selector official aLfx;a(III)Jintermediary method_10064Lnet/minecraft/class_2338;method_10064(III)Jnamed asLongLnet/minecraft/util/math/BlockPos;asLong(III)J
-
removeChunkSectionLocalY
public static long removeChunkSectionLocalY(long y)- Mappings:
Namespace Name Mixin selector official eLfx;e(J)Jintermediary method_10091Lnet/minecraft/class_2338;method_10091(J)Jnamed removeChunkSectionLocalYLnet/minecraft/util/math/BlockPos;removeChunkSectionLocalY(J)J
-
add
- Mappings:
Namespace Name Mixin selector official aLfx;a(DDD)Lfx;intermediary method_10080Lnet/minecraft/class_2338;method_10080(DDD)Lnet/minecraft/class_2338;named addLnet/minecraft/util/math/BlockPos;add(DDD)Lnet/minecraft/util/math/BlockPos;
-
add
- Mappings:
Namespace Name Mixin selector official bLfx;b(III)Lfx;intermediary method_10069Lnet/minecraft/class_2338;method_10069(III)Lnet/minecraft/class_2338;named addLnet/minecraft/util/math/BlockPos;add(III)Lnet/minecraft/util/math/BlockPos;
-
add
- Mappings:
Namespace Name Mixin selector official aLfx;a(Lgs;)Lfx;intermediary method_10081Lnet/minecraft/class_2338;method_10081(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2338;named addLnet/minecraft/util/math/BlockPos;add(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/BlockPos;
-
subtract
- Mappings:
Namespace Name Mixin selector official bLfx;b(Lgs;)Lfx;intermediary method_10059Lnet/minecraft/class_2338;method_10059(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2338;named subtractLnet/minecraft/util/math/BlockPos;subtract(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/BlockPos;
-
up
-
up
-
down
-
down
-
north
- Mappings:
Namespace Name Mixin selector official dLfx;d()Lfx;intermediary method_10095Lnet/minecraft/class_2338;method_10095()Lnet/minecraft/class_2338;named northLnet/minecraft/util/math/BlockPos;north()Lnet/minecraft/util/math/BlockPos;
-
north
- Mappings:
Namespace Name Mixin selector official dLfx;d(I)Lfx;intermediary method_10076Lnet/minecraft/class_2338;method_10076(I)Lnet/minecraft/class_2338;named northLnet/minecraft/util/math/BlockPos;north(I)Lnet/minecraft/util/math/BlockPos;
-
south
- Mappings:
Namespace Name Mixin selector official eLfx;e()Lfx;intermediary method_10072Lnet/minecraft/class_2338;method_10072()Lnet/minecraft/class_2338;named southLnet/minecraft/util/math/BlockPos;south()Lnet/minecraft/util/math/BlockPos;
-
south
- Mappings:
Namespace Name Mixin selector official eLfx;e(I)Lfx;intermediary method_10077Lnet/minecraft/class_2338;method_10077(I)Lnet/minecraft/class_2338;named southLnet/minecraft/util/math/BlockPos;south(I)Lnet/minecraft/util/math/BlockPos;
-
west
- Mappings:
Namespace Name Mixin selector official fLfx;f()Lfx;intermediary method_10067Lnet/minecraft/class_2338;method_10067()Lnet/minecraft/class_2338;named westLnet/minecraft/util/math/BlockPos;west()Lnet/minecraft/util/math/BlockPos;
-
west
- Mappings:
Namespace Name Mixin selector official fLfx;f(I)Lfx;intermediary method_10088Lnet/minecraft/class_2338;method_10088(I)Lnet/minecraft/class_2338;named westLnet/minecraft/util/math/BlockPos;west(I)Lnet/minecraft/util/math/BlockPos;
-
east
- Mappings:
Namespace Name Mixin selector official gLfx;g()Lfx;intermediary method_10078Lnet/minecraft/class_2338;method_10078()Lnet/minecraft/class_2338;named eastLnet/minecraft/util/math/BlockPos;east()Lnet/minecraft/util/math/BlockPos;
-
east
- Mappings:
Namespace Name Mixin selector official gLfx;g(I)Lfx;intermediary method_10089Lnet/minecraft/class_2338;method_10089(I)Lnet/minecraft/class_2338;named eastLnet/minecraft/util/math/BlockPos;east(I)Lnet/minecraft/util/math/BlockPos;
-
offset
- Mappings:
Namespace Name Mixin selector official aLfx;a(Lgc;)Lfx;intermediary method_10093Lnet/minecraft/class_2338;method_10093(Lnet/minecraft/class_2350;)Lnet/minecraft/class_2338;named offsetLnet/minecraft/util/math/BlockPos;offset(Lnet/minecraft/util/math/Direction;)Lnet/minecraft/util/math/BlockPos;
-
offset
- Overrides:
offsetin classVec3i- Mappings:
Namespace Name Mixin selector official aLfx;a(Lgc;I)Lfx;intermediary method_10079Lnet/minecraft/class_2338;method_10079(Lnet/minecraft/class_2350;I)Lnet/minecraft/class_2338;named offsetLnet/minecraft/util/math/BlockPos;offset(Lnet/minecraft/util/math/Direction;I)Lnet/minecraft/util/math/BlockPos;
-
offset
- Mappings:
Namespace Name Mixin selector official aLfx;a(Lgc$a;I)Lfx;intermediary method_30513Lnet/minecraft/class_2338;method_30513(Lnet/minecraft/class_2350$class_2351;I)Lnet/minecraft/class_2338;named offsetLnet/minecraft/util/math/BlockPos;offset(Lnet/minecraft/util/math/Direction$Axis;I)Lnet/minecraft/util/math/BlockPos;
-
rotate
- Mappings:
Namespace Name Mixin selector official aLfx;a(Lccm;)Lfx;intermediary method_10070Lnet/minecraft/class_2338;method_10070(Lnet/minecraft/class_2470;)Lnet/minecraft/class_2338;named rotateLnet/minecraft/util/math/BlockPos;rotate(Lnet/minecraft/util/BlockRotation;)Lnet/minecraft/util/math/BlockPos;
-
crossProduct
- Overrides:
crossProductin classVec3i- Mappings:
Namespace Name Mixin selector official cLfx;c(Lgs;)Lfx;intermediary method_10075Lnet/minecraft/class_2338;method_10075(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2338;named crossProductLnet/minecraft/util/math/BlockPos;crossProduct(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/BlockPos;
-
withY
- Mappings:
Namespace Name Mixin selector official hLfx;h(I)Lfx;intermediary method_33096Lnet/minecraft/class_2338;method_33096(I)Lnet/minecraft/class_2338;named withYLnet/minecraft/util/math/BlockPos;withY(I)Lnet/minecraft/util/math/BlockPos;
-
toImmutable
Returns an immutable block position with the same x, y, and z as this position.This method should be called when a block position is used as map keys as to prevent side effects of mutations of mutable block positions.
- Mappings:
Namespace Name Mixin selector official hLfx;h()Lfx;intermediary method_10062Lnet/minecraft/class_2338;method_10062()Lnet/minecraft/class_2338;named toImmutableLnet/minecraft/util/math/BlockPos;toImmutable()Lnet/minecraft/util/math/BlockPos;
-
mutableCopy
Returns a mutable copy of this block position.If this block position is a mutable one, mutation to this block position won't affect the returned position.
- Mappings:
Namespace Name Mixin selector official iLfx;i()Lfx$a;intermediary method_25503Lnet/minecraft/class_2338;method_25503()Lnet/minecraft/class_2338$class_2339;named mutableCopyLnet/minecraft/util/math/BlockPos;mutableCopy()Lnet/minecraft/util/math/BlockPos$Mutable;
-
iterateRandomly
public static Iterable<BlockPos> iterateRandomly(Random random, int count, int minX, int minY, int minZ, int maxX, int maxY, int maxZ)Iterates throughcountrandom block positions in the given area.The iterator yields positions in no specific order. The same position may be returned multiple times by the iterator.
- Parameters:
random- theRandomobject used to compute new positionscount- the number of positions to iterateminX- the minimum x value for returned positionsminY- the minimum y value for returned positionsminZ- the minimum z value for returned positionsmaxX- the maximum x value for returned positionsmaxY- the maximum y value for returned positionsmaxZ- the maximum z value for returned positions- Mappings:
Namespace Name Mixin selector official aLfx;a(Ljava/util/Random;IIIIIII)Ljava/lang/Iterable;intermediary method_27156Lnet/minecraft/class_2338;method_27156(Ljava/util/Random;IIIIIII)Ljava/lang/Iterable;named iterateRandomlyLnet/minecraft/util/math/BlockPos;iterateRandomly(Ljava/util/Random;IIIIIII)Ljava/lang/Iterable;
-
iterateOutwards
public static Iterable<BlockPos> iterateOutwards(BlockPos center, int xRange, int yRange, int zRange)Iterates block positions around thecenter. The iteration order is mainly based on the manhattan distance of the position from the center.For the same manhattan distance, the positions are iterated by y offset, from negative to positive. For the same y offset, the positions are iterated by x offset, from negative to positive. For the two positions with the same x and y offsets and the same manhattan distance, the one with a positive z offset is visited first before the one with a negative z offset.
- Parameters:
center- the center of iterationxRange- the maximum x difference from the centeryRange- the maximum y difference from the centerzRange- the maximum z difference from the center- Mappings:
Namespace Name Mixin selector official aLfx;a(Lfx;III)Ljava/lang/Iterable;intermediary method_25996Lnet/minecraft/class_2338;method_25996(Lnet/minecraft/class_2338;III)Ljava/lang/Iterable;named iterateOutwardsLnet/minecraft/util/math/BlockPos;iterateOutwards(Lnet/minecraft/util/math/BlockPos;III)Ljava/lang/Iterable;
-
findClosest
public static Optional<BlockPos> findClosest(BlockPos pos, int horizontalRange, int verticalRange, Predicate<BlockPos> condition)- Mappings:
Namespace Name Mixin selector official aLfx;a(Lfx;IILjava/util/function/Predicate;)Ljava/util/Optional;intermediary method_25997Lnet/minecraft/class_2338;method_25997(Lnet/minecraft/class_2338;IILjava/util/function/Predicate;)Ljava/util/Optional;named findClosestLnet/minecraft/util/math/BlockPos;findClosest(Lnet/minecraft/util/math/BlockPos;IILjava/util/function/Predicate;)Ljava/util/Optional;
-
streamOutwards
- Mappings:
Namespace Name Mixin selector official bLfx;b(Lfx;III)Ljava/util/stream/Stream;intermediary method_25998Lnet/minecraft/class_2338;method_25998(Lnet/minecraft/class_2338;III)Ljava/util/stream/Stream;named streamOutwardsLnet/minecraft/util/math/BlockPos;streamOutwards(Lnet/minecraft/util/math/BlockPos;III)Ljava/util/stream/Stream;
-
iterate
- Mappings:
Namespace Name Mixin selector official aLfx;a(Lfx;Lfx;)Ljava/lang/Iterable;intermediary method_10097Lnet/minecraft/class_2338;method_10097(Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Ljava/lang/Iterable;named iterateLnet/minecraft/util/math/BlockPos;iterate(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;)Ljava/lang/Iterable;
-
stream
- Mappings:
Namespace Name Mixin selector official bLfx;b(Lfx;Lfx;)Ljava/util/stream/Stream;intermediary method_20437Lnet/minecraft/class_2338;method_20437(Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Ljava/util/stream/Stream;named streamLnet/minecraft/util/math/BlockPos;stream(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;)Ljava/util/stream/Stream;
-
stream
- Mappings:
Namespace Name Mixin selector official aLfx;a(Lcwn;)Ljava/util/stream/Stream;intermediary method_23627Lnet/minecraft/class_2338;method_23627(Lnet/minecraft/class_3341;)Ljava/util/stream/Stream;named streamLnet/minecraft/util/math/BlockPos;stream(Lnet/minecraft/util/math/BlockBox;)Ljava/util/stream/Stream;
-
stream
- Mappings:
Namespace Name Mixin selector official aLfx;a(Ldip;)Ljava/util/stream/Stream;intermediary method_29715Lnet/minecraft/class_2338;method_29715(Lnet/minecraft/class_238;)Ljava/util/stream/Stream;named streamLnet/minecraft/util/math/BlockPos;stream(Lnet/minecraft/util/math/Box;)Ljava/util/stream/Stream;
-
stream
public static Stream<BlockPos> stream(int startX, int startY, int startZ, int endX, int endY, int endZ)- Mappings:
Namespace Name Mixin selector official aLfx;a(IIIIII)Ljava/util/stream/Stream;intermediary method_17962Lnet/minecraft/class_2338;method_17962(IIIIII)Ljava/util/stream/Stream;named streamLnet/minecraft/util/math/BlockPos;stream(IIIIII)Ljava/util/stream/Stream;
-
iterate
public static Iterable<BlockPos> iterate(int startX, int startY, int startZ, int endX, int endY, int endZ)- Mappings:
Namespace Name Mixin selector official bLfx;b(IIIIII)Ljava/lang/Iterable;intermediary method_10094Lnet/minecraft/class_2338;method_10094(IIIIII)Ljava/lang/Iterable;named iterateLnet/minecraft/util/math/BlockPos;iterate(IIIIII)Ljava/lang/Iterable;
-
iterateInSquare
public static Iterable<BlockPos.Mutable> iterateInSquare(BlockPos center, int radius, Direction firstDirection, Direction secondDirection)Iterates block positions around thecenterin a square of (2 * radius + 1) by (2 * radius + 1). The blocks are iterated in a (square) spiral around the center.The first block returned is the center, then the iterator moves a block towards the first direction, followed by moving along the second direction.
- Parameters:
center- the center of iterationradius- the maximum chebychev distancefirstDirection- the direction the iterator moves firstsecondDirection- the direction the iterator moves after the first- Throws:
IllegalStateException- when the 2 directions lie on the same axis- Mappings:
Namespace Name Mixin selector official aLfx;a(Lfx;ILgc;Lgc;)Ljava/lang/Iterable;intermediary method_30512Lnet/minecraft/class_2338;method_30512(Lnet/minecraft/class_2338;ILnet/minecraft/class_2350;Lnet/minecraft/class_2350;)Ljava/lang/Iterable;named iterateInSquareLnet/minecraft/util/math/BlockPos;iterateInSquare(Lnet/minecraft/util/math/BlockPos;ILnet/minecraft/util/math/Direction;Lnet/minecraft/util/math/Direction;)Ljava/lang/Iterable;
-