Home Migration Guide Getting Started With Scripts Commands Examples
BracketHandlers

BlockPos

Represents a position of a block in the world

Importing the class

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.

script.zs
import crafttweaker.api.util.BlockPos;

Extending MCVector3i

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

Static Methods

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>

script.zs
// BlockPos.getAllInBox(first as BlockPos, second as BlockPos) as stdlib.List<BlockPos>
BlockPos.getAllInBox(new BlockPos(0, 0, 0), new BlockPos(5, 5, 5));
ParameterTypeDescription
Parameter
first
Type
BlockPos
Description
The first position.
Parameter
second
Type
BlockPos
Description
The second position.

Constructors

script.zs
new BlockPos(x as int, y as int, z as int) as BlockPos
ParameterTypeDescription
Parameter
x
Type
int
Description
No description provided
Parameter
y
Type
int
Description
No description provided
Parameter
z
Type
int
Description
No description provided

Casters

Result typeIs Implicit
Result type
long
Is Implicit
false
Result type
string
Is Implicit
true

Methods

Adds two positions together and returns the result.

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

script.zs
// BlockPos.add(pos as BlockPos) as BlockPos
new BlockPos(0, 1, 2).add(new BlockPos(3, 2, 1));
ParameterTypeDescription
Parameter
pos
Type
BlockPos
Description
other position to 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

script.zs
// 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);
ParameterTypeDescription
Parameter
x
Type
double
Description
x value to add
Parameter
y
Type
double
Description
y value to add
Parameter
z
Type
double
Description
z value to 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

script.zs
// BlockPos.add(x as int, y as int, z as int) as BlockPos
new BlockPos(0, 1, 2).add(50, -20, -25);
ParameterTypeDescription
Parameter
x
Type
int
Description
x value to add
Parameter
y
Type
int
Description
y value to add
Parameter
z
Type
int
Description
z value to add

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

script.zs
// BlockPos.crossProduct(pos as BlockPos) as BlockPos
new BlockPos(0, 1, 2).crossProduct(new BlockPos(5, 8, 2););
ParameterTypeDescription
Parameter
pos
Type
BlockPos
Description
BlockPos to cross product

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

script.zs
// BlockPos.distanceSq(to as BlockPos) as double
new BlockPos(0, 1, 2).distanceSq(new BlockPos(256, 128, 10););
ParameterTypeDescription
Parameter
to
Type
BlockPos
Description
BlockPos to check against

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

script.zs
// BlockPos.distanceSq(to as BlockPos, useCenter as boolean) as double
new BlockPos(0, 1, 2).distanceSq(new BlockPos(256, 128, 10);, true);
ParameterTypeDescription
Parameter
to
Type
BlockPos
Description
BlockPos to check against
Parameter
useCenter
Type
boolean
Description
should the center of the coordinate be used? (adds 0.5 to each value)

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

script.zs
// 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);
ParameterTypeDescription
Parameter
x
Type
double
Description
x position to check against
Parameter
y
Type
double
Description
y position to check against
Parameter
z
Type
double
Description
z position to check against
Parameter
useCenter
Type
boolean
Description
should the center of the coordinate be used? (adds 0.5 to each value)

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

script.zs
// BlockPos.down() as BlockPos
new BlockPos(0, 1, 2).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

script.zs
BlockPos.down(n as int) as BlockPos
ParameterTypeDescription
Parameter
n
Type
int
Description
No Description Provided

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

script.zs
// BlockPos.east() as BlockPos
new BlockPos(0, 1, 2).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

script.zs
// BlockPos.east(n as int) as BlockPos
new BlockPos(0, 1, 2).east(2);
ParameterTypeDescription
Parameter
n
Type
int
Description
No Description Provided

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

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

script.zs
// BlockPos.manhattanDistance(other as BlockPos) as int
new BlockPos(0, 1, 2).manhattanDistance(new BlockPos(4, 5, 6));
ParameterTypeDescription
Parameter
other
Type
BlockPos
Description
other position to get the distance to

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

script.zs
// BlockPos.north() as BlockPos
new BlockPos(0, 1, 2).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

script.zs
// BlockPos.north(n as int) as BlockPos
new BlockPos(0, 1, 2).north(10);
ParameterTypeDescription
Parameter
n
Type
int
Description
No Description Provided

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

script.zs
// BlockPos.offset(direction as Direction) as BlockPos
new BlockPos(0, 1, 2).offset(<direction:east>);
ParameterTypeDescription
Parameter
direction
Type
Direction
Description
No Description Provided

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

script.zs
// BlockPos.offset(direction as Direction, n as int) as BlockPos
new BlockPos(0, 1, 2).offset(<direction:south>, 3);
ParameterTypeDescription
Parameter
direction
Type
Direction
Description
No Description Provided
Parameter
n
Type
int
Description
No Description Provided

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

script.zs
// BlockPos.south() as BlockPos
new BlockPos(0, 1, 2).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

script.zs
// BlockPos.south(n as int) as BlockPos
new BlockPos(0, 1, 2).south(12);
ParameterTypeDescription
Parameter
n
Type
int
Description
No Description Provided

Subtracts two positions together and returns the result.

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

script.zs
// BlockPos.subtract(pos as BlockPos) as BlockPos
new BlockPos(0, 1, 2).subtract(new BlockPos(2, 1, 3));
ParameterTypeDescription
Parameter
pos
Type
BlockPos
Description
other position to remove

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

script.zs
// BlockPos.up() as BlockPos
new BlockPos(0, 1, 2).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

script.zs
// BlockPos.up(n as int) as BlockPos
new BlockPos(0, 1, 2).up(45);
ParameterTypeDescription
Parameter
n
Type
int
Description
No Description Provided

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

script.zs
// BlockPos.west() as BlockPos
new BlockPos(0, 1, 2).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

script.zs
// BlockPos.west(n as int) as BlockPos
new BlockPos(0, 1, 2).west(120);
ParameterTypeDescription
Parameter
n
Type
int
Description
No Description Provided

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

script.zs
// BlockPos.withinDistance(pos as BlockPos, distance as double) as boolean
new BlockPos(0, 1, 2).withinDistance(new BlockPos(80, 75, 54);, 10);
ParameterTypeDescription
Parameter
pos
Type
BlockPos
Description
BlockPos to check if it is within the distance
Parameter
distance
Type
double
Description
distance to check within

Properties

NameTypeHas GetterHas SetterDescription
Name
x
Type
int
Has Getter
true
Has Setter
false
Description
No Description Provided
Name
y
Type
int
Has Getter
true
Has Setter
false
Description
No Description Provided
Name
z
Type
int
Has Getter
true
Has Setter
false
Description
No Description Provided