Class BlockPos
- All Implemented Interfaces:
Comparable<Vec3i>
- Direct Known Subclasses:
BlockPos.Mutable
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 gh
intermediary net/minecraft/class_2338
named net/minecraft/util/math/BlockPos
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionprivate static final int
private static final int
private static final long
private static final long
private static final long
static final com.mojang.serialization.Codec<BlockPos>
private static final int
private static final Logger
static final BlockPos
The block position which x, y, and z values are all zero.private static final int
static final int
private static final int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionadd
(double double2, double double3, double double4) add
(int int2, int int3, int int4) Returns another Vec3i whose coordinates have the parameter x, y, and z added to the coordinates of this vector.static long
add
(long value, int x, int y, int z) long
asLong()
static long
asLong
(int x, int y, int z) crossProduct
(Vec3i pos) down()
down
(int int2) east()
east
(int distance) findClosest
(BlockPos pos, int horizontalRange, int verticalRange, Predicate<BlockPos> condition) static BlockPos
fromLong
(long packedPos) iterate
(int startX, int startY, int startZ, int endX, int endY, int endZ) static Iterable<BlockPos.Mutable>
iterateInSquare
(BlockPos center, int radius, Direction firstDirection, Direction secondDirection) Iterates block positions around thecenter
in a square of (2 * radius + 1
) by (2 * radius + 1
).iterateOutwards
(BlockPos center, int rangeX, int rangeY, int rangeZ) Iterates block positions around thecenter
.iterateRandomly
(Random random, int count, int minX, int minY, int minZ, int maxX, int maxY, int maxZ) Iterates throughcount
random block positions in the given area.iterateRandomly
(Random random, int count, BlockPos around, int range) Iterates throughcount
random block positions in a given range around the given position.multiply
(int int2) Returns a mutable copy of this block position.north()
north
(int distance) static long
offset
(Direction.Axis axis, int int2) static long
removeChunkSectionLocalY
(long y) rotate
(BlockRotation rotation) south()
south
(int distance) stream
(int startX, int startY, int startZ, int endX, int endY, int endZ) streamOutwards
(BlockPos center, int maxX, int maxY, int maxZ) Returns an immutable block position with the same x, y, and z as this position.static int
unpackLongX
(long packedPos) static int
unpackLongY
(long packedPos) static int
unpackLongZ
(long packedPos) up()
up
(int distance) west()
west
(int distance) withY
(int y) Methods inherited from class net.minecraft.util.math.Vec3i
compareTo, createOffsetCodec, 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 a
Lgh;a:Lcom/mojang/serialization/Codec;
intermediary field_25064
Lnet/minecraft/class_2338;field_25064:Lcom/mojang/serialization/Codec;
named CODEC
Lnet/minecraft/util/math/BlockPos;CODEC:Lcom/mojang/serialization/Codec;
-
LOGGER
- Mappings:
Namespace Name Mixin selector official d
Lgh;d:Lorg/apache/logging/log4j/Logger;
intermediary field_18789
Lnet/minecraft/class_2338;field_18789:Lorg/apache/logging/log4j/Logger;
named LOGGER
Lnet/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 b
Lgh;b:Lgh;
intermediary field_10980
Lnet/minecraft/class_2338;field_10980:Lnet/minecraft/class_2338;
named ORIGIN
Lnet/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 e
Lgh;e:I
intermediary field_10978
Lnet/minecraft/class_2338;field_10978:I
named SIZE_BITS_X
Lnet/minecraft/util/math/BlockPos;SIZE_BITS_X:I
-
SIZE_BITS_Z
private static final int SIZE_BITS_Z- Mappings:
Namespace Name Mixin selector official h
Lgh;h:I
intermediary field_10977
Lnet/minecraft/class_2338;field_10977:I
named SIZE_BITS_Z
Lnet/minecraft/util/math/BlockPos;SIZE_BITS_Z:I
-
SIZE_BITS_Y
public static final int SIZE_BITS_Y- Mappings:
Namespace Name Mixin selector official c
Lgh;c:I
intermediary field_10975
Lnet/minecraft/class_2338;field_10975:I
named SIZE_BITS_Y
Lnet/minecraft/util/math/BlockPos;SIZE_BITS_Y:I
-
BITS_X
private static final long BITS_X- Mappings:
Namespace Name Mixin selector official i
Lgh;i:J
intermediary field_10976
Lnet/minecraft/class_2338;field_10976:J
named BITS_X
Lnet/minecraft/util/math/BlockPos;BITS_X:J
-
BITS_Y
private static final long BITS_Y- Mappings:
Namespace Name Mixin selector official j
Lgh;j:J
intermediary field_10974
Lnet/minecraft/class_2338;field_10974:J
named BITS_Y
Lnet/minecraft/util/math/BlockPos;BITS_Y:J
-
BITS_Z
private static final long BITS_Z- Mappings:
Namespace Name Mixin selector official k
Lgh;k:J
intermediary field_10973
Lnet/minecraft/class_2338;field_10973:J
named BITS_Z
Lnet/minecraft/util/math/BlockPos;BITS_Z:J
-
field_33083
private static final int field_33083- See Also:
- Mappings:
Namespace Name Mixin selector official l
Lgh;l:I
intermediary field_33083
Lnet/minecraft/class_2338;field_33083:I
named field_33083
Lnet/minecraft/util/math/BlockPos;field_33083:I
-
BIT_SHIFT_Z
private static final int BIT_SHIFT_Z- Mappings:
Namespace Name Mixin selector official m
Lgh;m:I
intermediary field_10983
Lnet/minecraft/class_2338;field_10983:I
named BIT_SHIFT_Z
Lnet/minecraft/util/math/BlockPos;BIT_SHIFT_Z:I
-
BIT_SHIFT_X
private static final int BIT_SHIFT_X- Mappings:
Namespace Name Mixin selector official n
Lgh;n:I
intermediary field_10981
Lnet/minecraft/class_2338;field_10981:I
named BIT_SHIFT_X
Lnet/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>
Lhc;<init>(III)V
intermediary <init>
Lnet/minecraft/class_2382;<init>(III)V
named <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>
Lhc;<init>(DDD)V
intermediary <init>
Lnet/minecraft/class_2382;<init>(DDD)V
named <init>
Lnet/minecraft/util/math/Vec3i;<init>(DDD)V
-
BlockPos
- Mappings:
Namespace Name Mixin selector official <init>
Lgh;<init>(Ldnz;)V
intermediary <init>
Lnet/minecraft/class_2338;<init>(Lnet/minecraft/class_243;)V
named <init>
Lnet/minecraft/util/math/BlockPos;<init>(Lnet/minecraft/util/math/Vec3d;)V
-
BlockPos
- Mappings:
Namespace Name Mixin selector official <init>
Lgh;<init>(Lgu;)V
intermediary <init>
Lnet/minecraft/class_2338;<init>(Lnet/minecraft/class_2374;)V
named <init>
Lnet/minecraft/util/math/BlockPos;<init>(Lnet/minecraft/util/math/Position;)V
-
BlockPos
- Mappings:
Namespace Name Mixin selector official <init>
Lgh;<init>(Lhc;)V
intermediary <init>
Lnet/minecraft/class_2338;<init>(Lnet/minecraft/class_2382;)V
named <init>
Lnet/minecraft/util/math/BlockPos;<init>(Lnet/minecraft/util/math/Vec3i;)V
-
-
Method Details
-
offset
- Mappings:
Namespace Name Mixin selector official a
Lgh;a(JLgm;)J
intermediary method_10060
Lnet/minecraft/class_2338;method_10060(JLnet/minecraft/class_2350;)J
named offset
Lnet/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 a
Lgh;a(JIII)J
intermediary method_10096
Lnet/minecraft/class_2338;method_10096(JIII)J
named add
Lnet/minecraft/util/math/BlockPos;add(JIII)J
-
unpackLongX
public static int unpackLongX(long packedPos) - Mappings:
Namespace Name Mixin selector official a
Lgh;a(J)I
intermediary method_10061
Lnet/minecraft/class_2338;method_10061(J)I
named unpackLongX
Lnet/minecraft/util/math/BlockPos;unpackLongX(J)I
-
unpackLongY
public static int unpackLongY(long packedPos) - Mappings:
Namespace Name Mixin selector official b
Lgh;b(J)I
intermediary method_10071
Lnet/minecraft/class_2338;method_10071(J)I
named unpackLongY
Lnet/minecraft/util/math/BlockPos;unpackLongY(J)I
-
unpackLongZ
public static int unpackLongZ(long packedPos) - Mappings:
Namespace Name Mixin selector official c
Lgh;c(J)I
intermediary method_10083
Lnet/minecraft/class_2338;method_10083(J)I
named unpackLongZ
Lnet/minecraft/util/math/BlockPos;unpackLongZ(J)I
-
fromLong
- Mappings:
Namespace Name Mixin selector official d
Lgh;d(J)Lgh;
intermediary method_10092
Lnet/minecraft/class_2338;method_10092(J)Lnet/minecraft/class_2338;
named fromLong
Lnet/minecraft/util/math/BlockPos;fromLong(J)Lnet/minecraft/util/math/BlockPos;
-
asLong
public long asLong()- Mappings:
Namespace Name Mixin selector official a
Lgh;a()J
intermediary method_10063
Lnet/minecraft/class_2338;method_10063()J
named asLong
Lnet/minecraft/util/math/BlockPos;asLong()J
-
asLong
public static long asLong(int x, int y, int z) - Mappings:
Namespace Name Mixin selector official a
Lgh;a(III)J
intermediary method_10064
Lnet/minecraft/class_2338;method_10064(III)J
named asLong
Lnet/minecraft/util/math/BlockPos;asLong(III)J
-
removeChunkSectionLocalY
public static long removeChunkSectionLocalY(long y) - Mappings:
Namespace Name Mixin selector official e
Lgh;e(J)J
intermediary method_10091
Lnet/minecraft/class_2338;method_10091(J)J
named removeChunkSectionLocalY
Lnet/minecraft/util/math/BlockPos;removeChunkSectionLocalY(J)J
-
add
-
add
Description copied from class:Vec3i
Returns another Vec3i whose coordinates have the parameter x, y, and z added to the coordinates of this vector.This method always returns an immutable object.
-
add
- Overrides:
add
in classVec3i
- Mappings:
Namespace Name Mixin selector official a
Lgh;a(Lhc;)Lgh;
intermediary method_10081
Lnet/minecraft/class_2338;method_10081(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2338;
named add
Lnet/minecraft/util/math/BlockPos;add(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/BlockPos;
-
subtract
- Overrides:
subtract
in classVec3i
- Mappings:
Namespace Name Mixin selector official b
Lgh;b(Lhc;)Lgh;
intermediary method_10059
Lnet/minecraft/class_2338;method_10059(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2338;
named subtract
Lnet/minecraft/util/math/BlockPos;subtract(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/BlockPos;
-
multiply
-
up
-
up
-
down
-
down
-
north
-
north
-
south
-
south
-
west
-
west
-
east
-
east
-
offset
- Overrides:
offset
in classVec3i
- Mappings:
Namespace Name Mixin selector official a
Lgh;a(Lgm;)Lgh;
intermediary method_10093
Lnet/minecraft/class_2338;method_10093(Lnet/minecraft/class_2350;)Lnet/minecraft/class_2338;
named offset
Lnet/minecraft/util/math/BlockPos;offset(Lnet/minecraft/util/math/Direction;)Lnet/minecraft/util/math/BlockPos;
-
offset
- Overrides:
offset
in classVec3i
- Mappings:
Namespace Name Mixin selector official a
Lgh;a(Lgm;I)Lgh;
intermediary method_10079
Lnet/minecraft/class_2338;method_10079(Lnet/minecraft/class_2350;I)Lnet/minecraft/class_2338;
named offset
Lnet/minecraft/util/math/BlockPos;offset(Lnet/minecraft/util/math/Direction;I)Lnet/minecraft/util/math/BlockPos;
-
offset
- Overrides:
offset
in classVec3i
- Mappings:
Namespace Name Mixin selector official a
Lgh;a(Lgm$a;I)Lgh;
intermediary method_30513
Lnet/minecraft/class_2338;method_30513(Lnet/minecraft/class_2350$class_2351;I)Lnet/minecraft/class_2338;
named offset
Lnet/minecraft/util/math/BlockPos;offset(Lnet/minecraft/util/math/Direction$Axis;I)Lnet/minecraft/util/math/BlockPos;
-
rotate
- Mappings:
Namespace Name Mixin selector official a
Lgh;a(Lcin;)Lgh;
intermediary method_10070
Lnet/minecraft/class_2338;method_10070(Lnet/minecraft/class_2470;)Lnet/minecraft/class_2338;
named rotate
Lnet/minecraft/util/math/BlockPos;rotate(Lnet/minecraft/util/BlockRotation;)Lnet/minecraft/util/math/BlockPos;
-
crossProduct
- Overrides:
crossProduct
in classVec3i
- Mappings:
Namespace Name Mixin selector official c
Lgh;c(Lhc;)Lgh;
intermediary method_10075
Lnet/minecraft/class_2338;method_10075(Lnet/minecraft/class_2382;)Lnet/minecraft/class_2338;
named crossProduct
Lnet/minecraft/util/math/BlockPos;crossProduct(Lnet/minecraft/util/math/Vec3i;)Lnet/minecraft/util/math/BlockPos;
-
withY
- Mappings:
Namespace Name Mixin selector official h
Lgh;h(I)Lgh;
intermediary method_33096
Lnet/minecraft/class_2338;method_33096(I)Lnet/minecraft/class_2338;
named withY
Lnet/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 h
Lgh;h()Lgh;
intermediary method_10062
Lnet/minecraft/class_2338;method_10062()Lnet/minecraft/class_2338;
named toImmutable
Lnet/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 i
Lgh;i()Lgh$a;
intermediary method_25503
Lnet/minecraft/class_2338;method_25503()Lnet/minecraft/class_2338$class_2339;
named mutableCopy
Lnet/minecraft/util/math/BlockPos;mutableCopy()Lnet/minecraft/util/math/BlockPos$Mutable;
-
iterateRandomly
public static Iterable<BlockPos> iterateRandomly(Random random, int count, BlockPos around, int range) Iterates throughcount
random block positions in a given range around the given position.The iterator yields positions in no specific order. The same position may be returned multiple times by the iterator.
- Parameters:
random
- theRandom
object used to compute new positionscount
- the number of positions to iteratearound
- theBlockPos
to iterate aroundrange
- the maximum distance from the given pos in any axis- Mappings:
Namespace Name Mixin selector official a
Lgh;a(Ljava/util/Random;ILgh;I)Ljava/lang/Iterable;
intermediary method_34848
Lnet/minecraft/class_2338;method_34848(Ljava/util/Random;ILnet/minecraft/class_2338;I)Ljava/lang/Iterable;
named iterateRandomly
Lnet/minecraft/util/math/BlockPos;iterateRandomly(Ljava/util/Random;ILnet/minecraft/util/math/BlockPos;I)Ljava/lang/Iterable;
-
iterateRandomly
public static Iterable<BlockPos> iterateRandomly(Random random, int count, int minX, int minY, int minZ, int maxX, int maxY, int maxZ) Iterates throughcount
random 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
- theRandom
object 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 a
Lgh;a(Ljava/util/Random;IIIIIII)Ljava/lang/Iterable;
intermediary method_27156
Lnet/minecraft/class_2338;method_27156(Ljava/util/Random;IIIIIII)Ljava/lang/Iterable;
named iterateRandomly
Lnet/minecraft/util/math/BlockPos;iterateRandomly(Ljava/util/Random;IIIIIII)Ljava/lang/Iterable;
-
iterateOutwards
public static Iterable<BlockPos> iterateOutwards(BlockPos center, int rangeX, int rangeY, int rangeZ) 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 iterationrangeX
- the maximum x difference from the centerrangeY
- the maximum y difference from the centerrangeZ
- the maximum z difference from the center- Mappings:
Namespace Name Mixin selector official a
Lgh;a(Lgh;III)Ljava/lang/Iterable;
intermediary method_25996
Lnet/minecraft/class_2338;method_25996(Lnet/minecraft/class_2338;III)Ljava/lang/Iterable;
named iterateOutwards
Lnet/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 a
Lgh;a(Lgh;IILjava/util/function/Predicate;)Ljava/util/Optional;
intermediary method_25997
Lnet/minecraft/class_2338;method_25997(Lnet/minecraft/class_2338;IILjava/util/function/Predicate;)Ljava/util/Optional;
named findClosest
Lnet/minecraft/util/math/BlockPos;findClosest(Lnet/minecraft/util/math/BlockPos;IILjava/util/function/Predicate;)Ljava/util/Optional;
-
streamOutwards
- Mappings:
Namespace Name Mixin selector official b
Lgh;b(Lgh;III)Ljava/util/stream/Stream;
intermediary method_25998
Lnet/minecraft/class_2338;method_25998(Lnet/minecraft/class_2338;III)Ljava/util/stream/Stream;
named streamOutwards
Lnet/minecraft/util/math/BlockPos;streamOutwards(Lnet/minecraft/util/math/BlockPos;III)Ljava/util/stream/Stream;
-
iterate
- Mappings:
Namespace Name Mixin selector official a
Lgh;a(Lgh;Lgh;)Ljava/lang/Iterable;
intermediary method_10097
Lnet/minecraft/class_2338;method_10097(Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Ljava/lang/Iterable;
named iterate
Lnet/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 b
Lgh;b(Lgh;Lgh;)Ljava/util/stream/Stream;
intermediary method_20437
Lnet/minecraft/class_2338;method_20437(Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Ljava/util/stream/Stream;
named stream
Lnet/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 a
Lgh;a(Lddx;)Ljava/util/stream/Stream;
intermediary method_23627
Lnet/minecraft/class_2338;method_23627(Lnet/minecraft/class_3341;)Ljava/util/stream/Stream;
named stream
Lnet/minecraft/util/math/BlockPos;stream(Lnet/minecraft/util/math/BlockBox;)Ljava/util/stream/Stream;
-
stream
- Mappings:
Namespace Name Mixin selector official a
Lgh;a(Ldnu;)Ljava/util/stream/Stream;
intermediary method_29715
Lnet/minecraft/class_2338;method_29715(Lnet/minecraft/class_238;)Ljava/util/stream/Stream;
named stream
Lnet/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 a
Lgh;a(IIIIII)Ljava/util/stream/Stream;
intermediary method_17962
Lnet/minecraft/class_2338;method_17962(IIIIII)Ljava/util/stream/Stream;
named stream
Lnet/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 b
Lgh;b(IIIIII)Ljava/lang/Iterable;
intermediary method_10094
Lnet/minecraft/class_2338;method_10094(IIIIII)Ljava/lang/Iterable;
named iterate
Lnet/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 thecenter
in 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 a
Lgh;a(Lgh;ILgm;Lgm;)Ljava/lang/Iterable;
intermediary method_30512
Lnet/minecraft/class_2338;method_30512(Lnet/minecraft/class_2338;ILnet/minecraft/class_2350;Lnet/minecraft/class_2350;)Ljava/lang/Iterable;
named iterateInSquare
Lnet/minecraft/util/math/BlockPos;iterateInSquare(Lnet/minecraft/util/math/BlockPos;ILnet/minecraft/util/math/Direction;Lnet/minecraft/util/math/Direction;)Ljava/lang/Iterable;
-