MCWorld
Link to mcworld
Worlds represent a dimension within the game. They are used to interact with the blocks, mobs, and other variables within that dimension.
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 Copyimport crafttweaker.api.world.MCWorld;
Extending CapabilityProvider<MCWorld>
Link to extending-capabilityprovidermcworld
MCWorld extends CapabilityProvider<MCWorld>. That means all methods available in CapabilityProvider<MCWorld> are also available in MCWorld
Implemented Interfaces
Link to implemented-interfaces
MCWorld implements the following interfaces. That means all methods defined in these interfaces are also available in MCWorld
- AutoCloseable
Casters
Link to casters
Result type | Is Implicit |
---|---|
Result type MCBlockDisplayReader | Is Implicit true |
Result type MCServerWorld | Is Implicit false |
Methods
Link to methods
Name: addEntity
add an entity to the world, return if the entity is added successfully.
Return Type: boolean
ZenScript CopyMCWorld.addEntity(entity as MCEntity) as boolean
Parameter | Type | Description |
---|---|---|
Parameter entity | Type MCEntity | Description No Description Provided |
Name: asBlockDisplayReader
Return Type: MCBlockDisplayReader
ZenScript Copy// MCWorld.asBlockDisplayReader() as MCBlockDisplayReader
world.asBlockDisplayReader();
Name: asServerWorld
Return Type: MCServerWorld
ZenScript Copy// MCWorld.asServerWorld() as MCServerWorld
world.asServerWorld();
Name: destroyBlock
Destroys a block within the world.
Returns: Whether or not the block was changed.
Return Type: boolean
ZenScript Copy// MCWorld.destroyBlock(pos as BlockPos, doDrops as boolean) as boolean
world.destroyBlock(new BlockPos(0, 1, 2), true);
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position of the block. |
Parameter doDrops | Type boolean | Description Whether or not the block drops itself and it's loot. |
Name: destroyBlock
Destroys a block within the world.
Returns: Whether or not the block was changed.
Return Type: boolean
ZenScript Copy// MCWorld.destroyBlock(pos as BlockPos, doDrops as boolean, breaker as MCEntity) as boolean
world.destroyBlock(new BlockPos(0, 1, 2), true, player);
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position of the block. |
Parameter doDrops | Type boolean | Description Whether or not the block drops itself and it's loot. |
Parameter breaker | Type MCEntity | Description The entity to break the block. |
Name: getBlockState
Gets the block state at a given position.
Returns: The block state at the position.
Return Type: MCBlockState
ZenScript Copy// MCWorld.getBlockState(pos as BlockPos) as MCBlockState
world.getBlockState(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to look up. |
Name: getEntitiesInArea
Gets all entities in given area, but the arguments are block poses.
If pos2
is omitted, it will use pos1.add(1, 1, 1)
Returns: all entities in given area
Return Type: stdlib.List<MCEntity>
ZenScript Copy// MCWorld.getEntitiesInArea(pos1 as BlockPos, pos2 as BlockPos) as stdlib.List<MCEntity>
world.getEntitiesInArea(new BlockPos(0, 1, 2), new BlockPos(3, 4, 5));
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter pos1 | Type BlockPos | Description No Description Provided | Optional false | DefaultValue ​ |
Parameter pos2 | Type BlockPos | Description No Description Provided | Optional true | DefaultValue ​ |
Name: getEntitiesInArea
Gets all entities in given area.
Returns: all entities in given area.
Return Type: stdlib.List<MCEntity>
ZenScript Copy// MCWorld.getEntitiesInArea(x1 as double, y1 as double, z1 as double, x2 as double, y2 as double, z2 as double) as stdlib.List<MCEntity>
world.getEntitiesInArea(1.0, 1.0, 1.0, 11.4, 11.4, 11.4);
Parameter | Type | Description |
---|---|---|
Parameter x1 | Type double | Description No Description Provided |
Parameter y1 | Type double | Description No Description Provided |
Parameter z1 | Type double | Description No Description Provided |
Parameter x2 | Type double | Description No Description Provided |
Parameter y2 | Type double | Description No Description Provided |
Parameter z2 | Type double | Description No Description Provided |
Name: getEntitiesInAreaExcluding
Return Type: stdlib.List<MCEntity>
ZenScript Copy// MCWorld.getEntitiesInAreaExcluding(excludingEntity as MCEntity?, predicate as Predicate<MCEntity>, pos1 as BlockPos, pos2 as BlockPos) as stdlib.List<MCEntity>
world.getEntitiesInAreaExcluding(entity, (entityIn) => entityIn.isInWater(), new BlockPos(0, 1, 2), new BlockPos(3, 4, 5));
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter excludingEntity | Type MCEntity? | Description No Description Provided | Optional false | DefaultValue ​ |
Parameter predicate | Type Predicate<MCEntity> | Description No Description Provided | Optional false | DefaultValue ​ |
Parameter pos1 | Type BlockPos | Description No Description Provided | Optional false | DefaultValue ​ |
Parameter pos2 | Type BlockPos | Description No Description Provided | Optional true | DefaultValue ​ |
Name: getEntitiesInAreaExcluding
Gets all entities in given area, excluding the one passed into it.
Return Type: stdlib.List<MCEntity>
ZenScript Copy// MCWorld.getEntitiesInAreaExcluding(excludingEntity as MCEntity?, x1 as double, y1 as double, z1 as double, x2 as double, y2 as double, z2 as double, predicate as Predicate<MCEntity>) as stdlib.List<MCEntity>
world.getEntitiesInAreaExcluding(entity, 1.0, 1.0, 1.0, 11.4, 11.4, 11.4, (entityIn) => entityIn.isInWater());
Parameter | Type | Description |
---|---|---|
Parameter excludingEntity | Type MCEntity? | Description No Description Provided |
Parameter x1 | Type double | Description No Description Provided |
Parameter y1 | Type double | Description No Description Provided |
Parameter z1 | Type double | Description No Description Provided |
Parameter x2 | Type double | Description No Description Provided |
Parameter y2 | Type double | Description No Description Provided |
Parameter z2 | Type double | Description No Description Provided |
Parameter predicate | Type Predicate<MCEntity> | Description the entity filter |
Name: getRedstonePower
Gets the redstone signal strength available to a position from a given direction.
Returns: The redstone signal strength available from that direction.
Return Type: int
ZenScript Copy// MCWorld.getRedstonePower(pos as BlockPos, direction as Direction) as int
world.getRedstonePower(new BlockPos(0, 1, 2), <direction:north>);
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to check. |
Parameter direction | Type Direction | Description The direction to query. |
Name: getRedstonePowerFromNeighbors
Gets the highest redstone signal available to a position from any of it's neighbors.
Returns: The highest redstone signal available to the position.
Return Type: int
ZenScript Copy// MCWorld.getRedstonePowerFromNeighbors(pos as BlockPos) as int
world.getRedstonePowerFromNeighbors(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to check. |
Name: getStrongPower
Gets the highest strong (direct) redstone signal of any neighboring block.
Returns: The highest strong (direct) redstone signal of all directly neighboring blocks.
Return Type: int
ZenScript Copy// MCWorld.getStrongPower(pos as BlockPos) as int
world.getStrongPower(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to check. |
Name: getTileData
Gets the tile entity data for a tile entity at a given position.
Returns: The data of the tile entity.
Return Type: IData
ZenScript Copy// MCWorld.getTileData(pos as BlockPos) as IData
world.getTileData(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position of the tile entity. |
Name: getTileEntity
Return Type: MCTileEntity?
ZenScript CopyMCWorld.getTileEntity(pos as BlockPos) as MCTileEntity?
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description No Description Provided |
Name: isAir
Checks if the block at a given position is air.
Returns: Whether or not the block is air.
Return Type: boolean
ZenScript Copy// MCWorld.isAir(pos as BlockPos) as boolean
world.isAir(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to look up. |
Name: isBlockPowered
Checks if a given position is receiving a redstone signal.
Returns: Whether or not the position is receiving a redstone signal.
Return Type: boolean
ZenScript Copy// MCWorld.isBlockPowered(pos as BlockPos) as boolean
world.isBlockPowered(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to check. |
Name: isLoaded
Checks if the block at a given position is in a loaded chunk.
Returns: Whether or not the position is in a loaded chunk.
Return Type: boolean
ZenScript Copy// MCWorld.isLoaded(pos as BlockPos) as boolean
world.isLoaded(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to look up. |
Name: isRainingAt
Checks if it is raining at a specific position. This can never be true if the position does not have direct line of sight to the sky.
Returns: Whether or not it is raining at the current position.
Return Type: boolean
ZenScript Copy// MCWorld.isRainingAt(pos as BlockPos) as boolean
world.isRainingAt(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to check. |
Name: isRemote
Checks if the world is remote. This is always true on the rendering thread.
Returns: Whether or not the world is remote.
Return Type: boolean
ZenScript Copy// MCWorld.isRemote() as boolean
world.isRemote();
Name: playEvent
Triggers a predetermined event on the client. Using this on a server or integrated server will send the event to all nearby players.
Return Type: void
ZenScript Copy// MCWorld.playEvent(eventId as int, pos as BlockPos, data as int) as void
world.playEvent(2005, new BlockPos(0, 1, 2), 0);
Parameter | Type | Description |
---|---|---|
Parameter eventId | Type int | Description The ID of the event to play. |
Parameter pos | Type BlockPos | Description The position of the event. |
Parameter data | Type int | Description Four bytes of additional data encoded as an integer. This is generally unused. |
Name: playEvent
Triggers a predetermined event on the client. Using this on a server or integrated server will send the event to all nearby players.
Return Type: void
ZenScript Copy// MCWorld.playEvent(excluded as MCPlayerEntity, eventId as int, pos as BlockPos, data as int) as void
world.playEvent(player, 2005, new BlockPos(0, 1, 2), 0);
Parameter | Type | Description |
---|---|---|
Parameter excluded | Type MCPlayerEntity | Description An excluded player who will not receive the event. |
Parameter eventId | Type int | Description The ID of the event to play. |
Parameter pos | Type BlockPos | Description The position of the event. |
Parameter data | Type int | Description Four bytes of additional data encoded as an integer. This is generally unused. |
Name: rayTraceBlocks
Creates a ray trace from one vector to the other vector, which will stop at a block or a fluid.
Returns: a BlockRayTraceResult holding the result, the position and facing the ray stops.
Return Type: BlockRayTraceResult
ZenScript Copy// MCWorld.rayTraceBlocks(startVec as MCVector3d, endVec as MCVector3d, blockMode as RayTraceBlockMode, fluidMode as RayTraceFluidMode, entity as MCEntity) as BlockRayTraceResult
world.rayTraceBlocks(new MCVector3d(0.0, 0.0, 0.0), new MCVector3d(1.1, 4.5, 1.4), RayTraceBlockMode.OUTLINE, RayTraceFluidMode.NONE, entity);
Parameter | Type | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter startVec | Type MCVector3d | Description a vector which describes the starting point | Optional false | DefaultValue ​ |
Parameter endVec | Type MCVector3d | Description a vector which describes the direction and length we are searching in | Optional false | DefaultValue ​ |
Parameter blockMode | Type RayTraceBlockMode | Description the type of block that the ray trace would stop at. | Optional false | DefaultValue ​ |
Parameter fluidMode | Type RayTraceFluidMode | Description the type of fluid that the ray trace would stop at. | Optional false | DefaultValue ​ |
Parameter entity | Type MCEntity | Description the entity for selection context | Optional true | DefaultValue ​ |
Name: setBlockState
Sets the block and it's state at a given position.
Returns: Whether or not the block was changed.
Return Type: boolean
ZenScript Copy// MCWorld.setBlockState(pos as BlockPos, state as MCBlockState) as boolean
world.setBlockState(new BlockPos(0, 1, 2), <blockstate:minecraft:iron_block>);
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to set the block at. |
Parameter state | Type MCBlockState | Description The new state of the block. |
Properties
Link to properties
Name | Type | Has Getter | Has Setter | Description |
---|---|---|---|---|
Name dayTime | Type boolean | Has Getter true | Has Setter false | Description Checks if it is day time in the world. Different dimensions will have different logic for how this is determined. |
Name difficulty | Type string | Has Getter true | Has Setter false | Description Gets the difficulty setting for the world. |
Name difficultyLocked | Type boolean | Has Getter true | Has Setter false | Description Checks if the difficulty of the world has been locked. |
Name dimension | Type string | Has Getter true | Has Setter false | Description Gets the registry name of the dimension this world represents. |
Name gameTime | Type long | Has Getter true | Has Setter false | Description Gets the current game time in ticks. |
Name hardcore | Type boolean | Has Getter true | Has Setter false | Description Checks if hardcore mode is enabled. |
Name nightTime | Type boolean | Has Getter true | Has Setter false | Description Checks if it is night time in the world. Different dimensions will have different logic for how this is determined. |
Name raining | Type boolean | Has Getter true | Has Setter false | Description Checks if it is raining. |
Name random | Type Random | Has Getter true | Has Setter false | Description No Description Provided |
Name remote | Type boolean | Has Getter true | Has Setter false | Description Checks if the world is remote. This is always true on the rendering thread. |
Name seaLevel | Type int | Has Getter true | Has Setter false | Description Gets the height of the sea level. |
Name thundering | Type boolean | Has Getter true | Has Setter false | Description Checks if there is a thunder storm. |
Name timeOfDay | Type long | Has Getter true | Has Setter false | Description Gets the current time of the day in ticks. |