Level
Link to level
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.Level;
Extending CapabilityProvider<Level>
Link to extending-capabilityproviderlevel
Level extends CapabilityProvider<Level>. That means all methods available in CapabilityProvider<Level> are also available in Level
Implemented Interfaces
Link to implemented-interfaces
Level implements the following interfaces. That means all methods defined in these interfaces are also available in Level
- LevelAccessor
- AutoCloseable
Methods
Link to methods
Name: addFreshEntity
add an entity to the world, return if the entity is added successfully.
Return Type: boolean
ZenScript CopyLevel.addFreshEntity(entity as Entity) as boolean
Parameter | Type |
---|---|
Parameter entity | Type Entity |
Name: destroyBlock
Destroys a block within the world.
Returns: Whether the block was changed.
Return Type: boolean
ZenScript Copy// Level.destroyBlock(pos as BlockPos, doDrops as boolean) as boolean
myLevel.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 the block drops itself and it's loot. |
Name: destroyBlock
Destroys a block within the world.
Returns: Whether the block was changed.
Return Type: boolean
ZenScript Copy// Level.destroyBlock(pos as BlockPos, doDrops as boolean, breaker as Entity?) as boolean
myLevel.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 the block drops itself and it's loot. |
Parameter breaker | Type Entity? | Description The entity to break the block. |
Name: getBestNeighborSignal
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// Level.getBestNeighborSignal(pos as BlockPos) as int
myLevel.getBestNeighborSignal(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to check. |
Name: getBlockEntity
Return Type: BlockEntity?
ZenScript CopyLevel.getBlockEntity(pos as BlockPos) as BlockEntity?
Parameter | Type |
---|---|
Parameter pos | Type BlockPos |
Name: getBlockEntityData
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// Level.getBlockEntityData(pos as BlockPos) as IData
myLevel.getBlockEntityData(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position of the tile entity. |
Name: getBlockState
Gets the block state at a given position.
Returns: The block state at the position.
Return Type: BlockState
ZenScript Copy// Level.getBlockState(pos as BlockPos) as BlockState
myLevel.getBlockState(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to look up. |
Name: getDayTime
Return Type: long
ZenScript Copy// Level.getDayTime() as long
myLevel.getDayTime();
Name: getDirectSignalTo
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// Level.getDirectSignalTo(pos as BlockPos) as int
myLevel.getDirectSignalTo(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to check. |
Name: getEntities
Gets all entities in given area, excluding the one passed into it.
Return Type: stdlib.List<Entity>
ZenScript Copy// Level.getEntities(excludingEntity as Entity?, x1 as double, y1 as double, z1 as double, x2 as double, y2 as double, z2 as double, predicate as Predicate<Entity>) as stdlib.List<Entity>
myLevel.getEntities(entity, 1.0, 1.0, 1.0, 11.4, 11.4, 11.4, (entityIn) => entityIn.isInWater());
Parameter | Type | Description |
---|---|---|
Parameter excludingEntity | Type Entity? | Description ​ |
Parameter x1 | Type double | Description ​ |
Parameter y1 | Type double | Description ​ |
Parameter z1 | Type double | Description ​ |
Parameter x2 | Type double | Description ​ |
Parameter y2 | Type double | Description ​ |
Parameter z2 | Type double | Description ​ |
Parameter predicate | Type Predicate<Entity> | Description the entity filter |
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<T>
ZenScript CopyLevel.getEntitiesInArea<T : Entity>(pos1 as BlockPos, pos2 as BlockPos) as stdlib.List<T>
Parameter | Type | Optional |
---|---|---|
Parameter pos1 | Type BlockPos | Optional false |
Parameter pos2 | Type BlockPos | Optional true |
Parameter T | Type Entity | Optional ​ |
Name: getEntitiesInAreaExcluding
Return Type: stdlib.List<Entity>
ZenScript Copy// Level.getEntitiesInAreaExcluding(excludingEntity as Entity?, predicate as Predicate<Entity>, pos1 as BlockPos, pos2 as BlockPos) as stdlib.List<Entity>
myLevel.getEntitiesInAreaExcluding(entity, (entityIn) => entityIn.isInWater(), new BlockPos(0, 1, 2), new BlockPos(3, 4, 5));
Parameter | Type | Optional |
---|---|---|
Parameter excludingEntity | Type Entity? | Optional false |
Parameter predicate | Type Predicate<Entity> | Optional false |
Parameter pos1 | Type BlockPos | Optional false |
Parameter pos2 | Type BlockPos | Optional true |
Name: getEntitiesOfClass
Gets all entities in given area.
Returns: all entities in given area.
Return Type: stdlib.List<T>
ZenScript CopyLevel.getEntitiesOfClass<T : Entity>(x1 as double, y1 as double, z1 as double, x2 as double, y2 as double, z2 as double) as stdlib.List<T>
Parameter | Type |
---|---|
Parameter x1 | Type double |
Parameter y1 | Type double |
Parameter z1 | Type double |
Parameter x2 | Type double |
Parameter y2 | Type double |
Parameter z2 | Type double |
Parameter T | Type Entity |
Name: getGametime
Return Type: long
ZenScript Copy// Level.getGametime() as long
myLevel.getGametime();
Name: getSignal
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// Level.getSignal(pos as BlockPos, direction as Direction) as int
myLevel.getSignal(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: globalLevelEvent
Triggers a predetermined event on the client. Using this on a server or integrated server will send the event to all nearby players.
ZenScript Copy// Level.globalLevelEvent(eventId as int, pos as BlockPos, data as int)
myLevel.globalLevelEvent(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: hasNeighborSignal
Checks if a given position is receiving a redstone signal.
Returns: Whether the position is receiving a redstone signal.
Return Type: boolean
ZenScript Copy// Level.hasNeighborSignal(pos as BlockPos) as boolean
myLevel.hasNeighborSignal(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to check. |
Name: isClientSide
Return Type: boolean
ZenScript Copy// Level.isClientSide() as boolean
myLevel.isClientSide();
Name: isDay
Return Type: boolean
ZenScript Copy// Level.isDay() as boolean
myLevel.isDay();
Name: isEmptyBlock
Checks if the block at a given position is empty.
Returns: Whether the block is empty.
Return Type: boolean
ZenScript Copy// Level.isEmptyBlock(pos as BlockPos) as boolean
myLevel.isEmptyBlock(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to look up. |
Name: isLoaded
Checks if the block at a given position is in a loaded chunk.
Returns: Whether the position is in a loaded chunk.
Return Type: boolean
ZenScript Copy// Level.isLoaded(pos as BlockPos) as boolean
myLevel.isLoaded(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to look up. |
Name: isNight
Return Type: boolean
ZenScript Copy// Level.isNight() as boolean
myLevel.isNight();
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 it is raining at the current position.
Return Type: boolean
ZenScript Copy// Level.isRainingAt(pos as BlockPos) as boolean
myLevel.isRainingAt(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position to check. |
Name: rayTraceBlocks
Creates a ray trace from one vector to the other vector, which will stop at a block or a fluid.
Returns: a BlockHitResult holding the result, the position and facing the ray stops.
Return Type: BlockHitResult
ZenScript Copy// Level.rayTraceBlocks(startVec as Vec3, endVec as Vec3, blockMode as BlockClipContext, fluidMode as FluidClipContext, entity as Entity) as BlockHitResult
myLevel.rayTraceBlocks(new Vec3(0.0, 0.0, 0.0), new Vec3(1.1, 4.5, 1.4), RayTraceBlockMode.OUTLINE, RayTraceFluidMode.NONE, entity);
Parameter | Type | Description | Optional |
---|---|---|---|
Parameter startVec | Type Vec3 | Description a vector which describes the starting point | Optional false |
Parameter endVec | Type Vec3 | Description a vector which describes the direction and length we are searching in | Optional false |
Parameter blockMode | Type BlockClipContext | Description the type of block that the ray trace would stop at. | Optional false |
Parameter fluidMode | Type FluidClipContext | Description the type of fluid that the ray trace would stop at. | Optional false |
Parameter entity | Type Entity | Description the entity for selection context | Optional true |
Name: sequence
Creates a new SequenceBuilder<T,U> for this level.
SequenceBuilder<T,U>'s let you compose scripted events such as waiting 5 ticks, then setting the weather to rain.
Returns: A new SequenceBuilder<T,U> for this level.
Return Type: SequenceBuilder<Level,MapData>
ZenScript Copy// Level.sequence(data as MapData) as SequenceBuilder<Level,MapData>
myLevel.sequence({version: "1.0.0"});
Parameter | Type | Optional | Default Value |
---|---|---|---|
Parameter data | Type MapData | Optional true | Default Value new crafttweaker.api.data.MapData() |
Name: sequence
Creates a new SequenceBuilder<T,U> for this level.
SequenceBuilder<T,U>'s let you compose scripted events such as waiting 5 ticks, then setting the weather to rain.
Returns: A new SequenceBuilder<T,U> for this level.
Return Type: SequenceBuilder<Level,T>
ZenScript Copy// Level.sequence<T : Object>(data as T) as SequenceBuilder<Level,T>
myLevel.sequence<crafttweaker.api.data.MapData>({version: "1.0.0"});
Parameter | Type |
---|---|
Parameter data | Type T |
Parameter T | Type Object |
Name: setBlockAndUpdate
Sets the block and its state at a given position.
Returns: Whether the block was changed.
Return Type: boolean
ZenScript Copy// Level.setBlockAndUpdate(pos as BlockPos, state as BlockState) as boolean
myLevel.setBlockAndUpdate(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 BlockState | Description The new state of the block. |
Name: setRainingLevel
Sets the current rain level.
ZenScript Copy// Level.setRainingLevel(level as float)
myLevel.setRainingLevel(0.5);
Parameter | Type | Description |
---|---|---|
Parameter level | Type float | Description The new rain level between 0 and 1 |
Properties
Link to properties
Name | Type | Has Getter | Has Setter | Description |
---|---|---|---|---|
Name daytime | Type long | Has Getter true | Has Setter false | Description ​ |
Name dimension | Type ResourceLocation | 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 ​ |
Name isClientSide | Type boolean | Has Getter true | Has Setter false | Description ​ |
Name isDay | Type boolean | Has Getter true | Has Setter false | Description ​ |
Name isNight | Type boolean | Has Getter true | Has Setter false | Description ​ |
Name rainLevel | Type Level | Has Getter false | Has Setter true | Description Sets the current rain level. |
Name raining | Type boolean | Has Getter true | Has Setter false | Description Checks if it is raining. |
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. |