Represents a position of a block in the world

Importing the class

Link to 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.

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));
ParameterTypeDescription
Parameter
first
Type
BlockPos
Description
The first position.
Parameter
second
Type
BlockPos
Description
The second position.
ZenScript
Copy
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
Result typeIs Implicit
Result type
long
Is Implicit
false
Result type
string
Is Implicit
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));
ParameterTypeDescription
Parameter
pos
Type
BlockPos
Description
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);
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

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);
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

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););
ParameterTypeDescription
Parameter
pos
Type
BlockPos
Description
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););
ParameterTypeDescription
Parameter
to
Type
BlockPos
Description
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);
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)

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);
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)

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
ParameterTypeDescription
Parameter
n
Type
int
Description
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);
ParameterTypeDescription
Parameter
n
Type
int
Description
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));
ParameterTypeDescription
Parameter
other
Type
BlockPos
Description
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);
ParameterTypeDescription
Parameter
n
Type
int
Description
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>);
ParameterTypeDescription
Parameter
direction
Type
Direction
Description
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);
ParameterTypeDescription
Parameter
direction
Type
Direction
Description
No Description Provided
Parameter
n
Type
int
Description
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);
ParameterTypeDescription
Parameter
n
Type
int
Description
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));
ParameterTypeDescription
Parameter
pos
Type
BlockPos
Description
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);
ParameterTypeDescription
Parameter
n
Type
int
Description
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);
ParameterTypeDescription
Parameter
n
Type
int
Description
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);
ParameterTypeDescription
Parameter
pos
Type
BlockPos
Description
BlockPos to check if it is within the distance
Parameter
distance
Type
double
Description
distance to check within
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