Level
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.
import crafttweaker.api.world.Level;
Implemented Interfaces
Level implements the following interfaces. That means all methods defined in these interfaces are also available in Level
- AutoCloseable
Casters
Result type | Is Implicit |
---|---|
Result type ServerLevel | Is Implicit false |
Methods
add an entity to the world, return if the entity is added successfully.
Return Type: boolean
Level.addFreshEntity(entity as Entity) as boolean
Parameter | Type | Description |
---|---|---|
Parameter entity | Type Entity | Description No Description Provided |
Return Type: ServerLevel
// Level.asServerLevel() as ServerLevel
myLevel.asServerLevel();
Destroys a block within the world.
Returns: Whether the block was changed.
Return Type: boolean
// 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. |
Destroys a block within the world.
Returns: Whether the block was changed.
Return Type: boolean
// 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. |
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
// 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. |
Return Type: BlockEntity
Level.getBlockEntity(pos as BlockPos) as BlockEntity
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description No Description Provided |
Gets the tile entity data for a tile entity at a given position.
Returns: The data of the tile entity.
Return Type: MapData
// Level.getBlockEntityData(pos as BlockPos) as MapData
myLevel.getBlockEntityData(new BlockPos(0, 1, 2));
Parameter | Type | Description |
---|---|---|
Parameter pos | Type BlockPos | Description The position of the tile entity. |
Gets the block state at a given position.
Returns: The block state at the position.
Return Type: BlockState
// 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. |
Return Type: long
// Level.getDayTime() as long
myLevel.getDayTime();
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
// 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. |
Gets all entities in given area, excluding the one passed into it.
Return Type: stdlib.List<Entity>
// 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 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<Entity> | Description the entity filter |
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>
Level.getEntitiesInArea<T : Entity>(pos1 as BlockPos, pos2 as BlockPos) as stdlib.List<T>
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 |
Parameter T | Type Entity | Description No Description Provided | Optional N/A | DefaultValue N/A |
Return Type: stdlib.List<Entity>
// 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 | Description | Optional | DefaultValue |
---|---|---|---|---|
Parameter excludingEntity | Type Entity | Description No Description Provided | Optional false | DefaultValue |
Parameter predicate | Type Predicate<Entity> | 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 |
Gets all entities in given area.
Returns: all entities in given area.
Return Type: stdlib.List<T>
Level.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 | 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 |
Parameter T | Type Entity | Description No Description Provided |
Return Type: long
// Level.getGametime() as long
myLevel.getGametime();
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
// 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. |
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
// Level.globalLevelEvent(eventId as int, pos as BlockPos, data as int) as void
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. |
Checks if a given position is receiving a redstone signal.
Returns: Whether the position is receiving a redstone signal.
Return Type: boolean
// 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. |
Return Type: boolean
// Level.isDay() as boolean
myLevel.isDay();
Checks if the block at a given position is empty.
Returns: Whether the block is empty.
Return Type: boolean
// 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. |
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
// 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. |
Return Type: boolean
// Level.isNight() as boolean
myLevel.isNight();
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
// 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. |
Return Type: boolean
// Level.isRemote() as boolean
myLevel.isRemote();
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
// Level.levelEvent(excluded as Player, eventId as int, pos as BlockPos, data as int) as void
myLevel.levelEvent(player, 2005, new BlockPos(0, 1, 2), 0);
Parameter | Type | Description |
---|---|---|
Parameter excluded | Type Player | 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. |
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
// 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 | DefaultValue |
---|---|---|---|---|
Parameter startVec | Type Vec3 | Description a vector which describes the starting point | Optional false | DefaultValue |
Parameter endVec | Type Vec3 | Description a vector which describes the direction and length we are searching in | Optional false | DefaultValue |
Parameter blockMode | Type BlockClipContext | Description the type of block that the ray trace would stop at. | Optional false | DefaultValue |
Parameter fluidMode | Type FluidClipContext | Description the type of fluid that the ray trace would stop at. | Optional false | DefaultValue |
Parameter entity | Type Entity | Description the entity for selection context | Optional true | DefaultValue |
Sets the block and it’s state at a given position.
Returns: Whether the block was changed.
Return Type: boolean
// 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. |
Properties
Name | Type | Has Getter | Has Setter | Description |
---|---|---|---|---|
Name daytime | Type long | Has Getter true | Has Setter false | Description No Description Provided |
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 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 No Description Provided |
Name hardcore | Type boolean | Has Getter true | Has Setter false | Description Checks if hardcore mode is enabled. |
Name isClientSide | Type boolean | Has Getter true | Has Setter false | Description No Description Provided |
Name isDay | Type boolean | Has Getter true | Has Setter false | Description No Description Provided |
Name isNight | Type boolean | Has Getter true | Has Setter false | Description No Description Provided |
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 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. |