Represents a position of a block in the world

It might be required for you to import the package if you encounter any issues (like casting an Array), so better be safe than sorry and add the import at the very top of the file.

ZenScript
Copy
import crafttweaker.api.util.BlockPos;

Extending MCVector3i

Link to extending-mcvector3i

BlockPos extends MCVector3i. That means all methods available in MCVector3i are also available in BlockPos

Name: getAllInBox

Gets all the BlockPos inside the given positions.

For example, doing

getAllInBox(new BlockPos(0,0,0), new BlockPos(2,2,0

Would return a list of the following positions:

[(0,0,0), (1,0,0), (1,1,0), (0,1,0)]

Returns: A list of all the BlockPos within the given position.
Return Type: stdlib.List<BlockPos>

ZenScript
Copy
// BlockPos.getAllInBox(first as BlockPos, second as BlockPos) as stdlib.List<BlockPos>

BlockPos.getAllInBox(new BlockPos(0, 0, 0), new BlockPos(5, 5, 5));
参数类型描述
参数
first
类型
BlockPos
描述
The first position.
参数
second
类型
BlockPos
描述
The second position.

Constructor #构造函数

Link to constructor-构造函数

ZenScript
Copy
new BlockPos(x as int, y as int, z as int) as BlockPos
参数类型描述
参数
x
类型
int
描述
No description provided
参数
y
类型
int
描述
No description provided
参数
z
类型
int
描述
No description provided
结果类型是否隐藏
结果类型
long
是否隐藏
false
结果类型
string
是否隐藏
true

Name: add

Adds two positions together and returns the result.

Returns: new BlockPos with the added values.
Return Type: BlockPos

ZenScript
Copy
// BlockPos.add(pos as BlockPos) as BlockPos

new BlockPos(0, 1, 2).add(new BlockPos(3, 2, 1));
参数类型描述
参数
类型
BlockPos
描述
other position to add

Name: add

Adds the given values to this position, and returns a new position with the new values.

Returns: a new position based on values of provided values and this position
Return Type: BlockPos

ZenScript
Copy
// BlockPos.add(x as double, y as double, z as double) as BlockPos

new BlockPos(0, 1, 2).add(50.21, -20.8, -25.2);
参数类型描述
参数
x
类型
double
描述
x value to add
参数
y
类型
double
描述
y value to add
参数
z
类型
double
描述
z value to add

Name: add

Adds the given values to this position, and returns a new position with the new values.

Returns: a new position based on values of provided values and this position
Return Type: BlockPos

ZenScript
Copy
// BlockPos.add(x as int, y as int, z as int) as BlockPos

new BlockPos(0, 1, 2).add(50, -20, -25);
参数类型描述
参数
x
类型
int
描述
x value to add
参数
y
类型
int
描述
y value to add
参数
z
类型
int
描述
z value to add

Name: crossProduct

Creates a new BlockPos based on the cross product of this position, and the given position

Returns: a new BlockPos based on the cross product of this BlockPos and the given BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.crossProduct(pos as BlockPos) as BlockPos

new BlockPos(0, 1, 2).crossProduct(new BlockPos(5, 8, 2););
参数类型描述
参数
类型
BlockPos
描述
BlockPos to cross product

Name: distanceSq

Gets the squared distance of this position to the specified BlockPos, using the center of the BlockPos

Returns: the squared distance of this current position and the given BlockPos.
Return Type: double

ZenScript
Copy
// BlockPos.distanceSq(to as BlockPos) as double

new BlockPos(0, 1, 2).distanceSq(new BlockPos(256, 128, 10););
参数类型描述
参数
to
类型
BlockPos
描述
BlockPos to check against

Name: distanceSq

Gets the squared distance of this position to the specified BlockPos

Returns: the squared distance of this current position and the given BlockPos.
Return Type: double

ZenScript
Copy
// BlockPos.distanceSq(to as BlockPos, useCenter as boolean) as double

new BlockPos(0, 1, 2).distanceSq(new BlockPos(256, 128, 10);, true);
参数类型描述
参数
to
类型
BlockPos
描述
BlockPos to check against
参数
useCenter
类型
布尔值
描述
should the center of the coordinate be used? (adds 0.5 to each value)

Name: distanceSq

Gets the squared distance of this position to the specified coordinates

Returns: the squared distance of this current position and the given coordinates.
Return Type: double

ZenScript
Copy
// BlockPos.distanceSq(x as double, y as double, z as double, useCenter as boolean) as double

new BlockPos(0, 1, 2).distanceSq(500.25, 250.75, 100.20, false);
参数类型描述
参数
x
类型
double
描述
x position to check against
参数
y
类型
double
描述
y position to check against
参数
z
类型
double
描述
z position to check against
参数
useCenter
类型
布尔值
描述
should the center of the coordinate be used? (adds 0.5 to each value)

Name: down

Creates a new BlockPos based on this BlockPos that is one block lower than this BlockPos

Returns: a new BlockPos that is one block lower than this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.down() as BlockPos

new BlockPos(0, 1, 2).down();

Name: down

Creates a new BlockPos based on this BlockPos that is n block(s) lower than this BlockPos

Returns: a new BlockPos that is n block(s) lower than this BlockPos
Return Type: BlockPos

ZenScript
Copy
BlockPos.down(n as int) as BlockPos
参数类型描述
参数
n
类型
int
描述
No Description Provided

Name: east

Creates a new BlockPos based on this BlockPos that is one block east of this BlockPos

Returns: a new BlockPos that is one block east of this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.east() as BlockPos

new BlockPos(0, 1, 2).east();

Name: east

Creates a new BlockPos based on this BlockPos that is n block(s) east of this BlockPos

Returns: a new BlockPos that is n block(s) east of this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.east(n as int) as BlockPos

new BlockPos(0, 1, 2).east(2);
参数类型描述
参数
n
类型
int
描述
No Description Provided

Link to manhattanDistance

Name: manhattanDistance

Gets the Manhattan Distance of this pos compared to a different position

Returns: The manhattan distance of the positions
Return Type: int

ZenScript
Copy
// BlockPos.manhattanDistance(other as BlockPos) as int

new BlockPos(0, 1, 2).manhattanDistance(new BlockPos(4, 5, 6));
参数类型描述
参数
other
类型
BlockPos
描述
other position to get the distance to

Name: north

Creates a new BlockPos based on this BlockPos that is one block north of this BlockPos

Returns: a new BlockPos that is one block north of this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.north() as BlockPos

new BlockPos(0, 1, 2).north();

Name: north

Creates a new BlockPos based on this BlockPos that is n block(s) north of this BlockPos

Returns: a new BlockPos that is n block(s) north of this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.north(n as int) as BlockPos

new BlockPos(0, 1, 2).north(10);
参数类型描述
参数
n
类型
int
描述
No Description Provided

Name: offset

Creates a new BlockPos based on this BlockPos that is one block offset of this BlockPos based on the given Direction

Returns: a new BlockPos that is 1 block offset of this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.offset(direction as Direction) as BlockPos

new BlockPos(0, 1, 2).offset(<direction:east>);
参数类型描述
参数
direction
类型
Direction
描述
No Description Provided

Name: offset

Creates a new BlockPos based on this BlockPos that is n block(s) offset of this BlockPos based on the given Direction

Returns: a new BlockPos that is n block(s) offset of this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.offset(direction as Direction, n as int) as BlockPos

new BlockPos(0, 1, 2).offset(<direction:south>, 3);
参数类型描述
参数
direction
类型
Direction
描述
No Description Provided
参数
n
类型
int
描述
No Description Provided

Name: south

Creates a new BlockPos based on this BlockPos that is one block south of this BlockPos

Returns: a new BlockPos that is one block south of this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.south() as BlockPos

new BlockPos(0, 1, 2).south();

Name: south

Creates a new BlockPos based on this BlockPos that is n block(s) south of this BlockPos

Returns: a new BlockPos that is n block(s) south of this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.south(n as int) as BlockPos

new BlockPos(0, 1, 2).south(12);
参数类型描述
参数
n
类型
int
描述
No Description Provided

Name: subtract

Subtracts two positions together and returns the result.

Returns: new BlockPos with the removed values.
Return Type: BlockPos

ZenScript
Copy
// BlockPos.subtract(pos as BlockPos) as BlockPos

new BlockPos(0, 1, 2).subtract(new BlockPos(2, 1, 3));
参数类型描述
参数
类型
BlockPos
描述
other position to remove

Name: up

Creates a new BlockPos based on this BlockPos that is one block higher than this BlockPos

Returns: a new BlockPos that is one block higher than this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.up() as BlockPos

new BlockPos(0, 1, 2).up();

Name: up

Creates a new BlockPos based on this BlockPos that is n block(s) higher than this BlockPos

Returns: a new BlockPos that is n block(s) higher than this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.up(n as int) as BlockPos

new BlockPos(0, 1, 2).up(45);
参数类型描述
参数
n
类型
int
描述
No Description Provided

Name: west

Creates a new BlockPos based on this BlockPos that is one block west of this BlockPos

Returns: a new BlockPos that is one block west of this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.west() as BlockPos

new BlockPos(0, 1, 2).west();

Name: west

Creates a new BlockPos based on this BlockPos that is n block(s) west of this BlockPos

Returns: a new BlockPos that is n block(s) west of this BlockPos
Return Type: BlockPos

ZenScript
Copy
// BlockPos.west(n as int) as BlockPos

new BlockPos(0, 1, 2).west(120);
参数类型描述
参数
n
类型
int
描述
No Description Provided

Name: withinDistance

Checks if the given BlockPos is within the specified distance of this BlockPos (this uses the middle of the BlockPos)

Returns: true if the given BlockPos is within the given distance of this BlockPos
Return Type: boolean

ZenScript
Copy
// BlockPos.withinDistance(pos as BlockPos, distance as double) as boolean

new BlockPos(0, 1, 2).withinDistance(new BlockPos(80, 75, 54);, 10);
参数类型描述
参数
类型
BlockPos
描述
BlockPos to check if it is within the distance
参数
distance
类型
double
描述
distance to check within
名称类型可获得可设置描述
名称
x
类型
int
可获得
true
可设置
false
描述
No Description Provided
名称
y
类型
int
可获得
true
可设置
false
描述
No Description Provided
名称
z
类型
int
可获得
true
可设置
false
描述
No Description Provided