Level
Importing the class
If you need to reference this type directly, like when casting an Array, or as a parameter, you will need to import it. Simply add the import at the top of the file.
import crafttweaker.api.world.Level;
Extends
Level extends AttachmentHolder
.
Implements
Level
implements the following interfaces:
LevelAccessor
,ILevelExtension
,IAttachmentHolder
,CommonLevelAccessor
,LevelReader
,LevelSimulatedRW
,BlockAndTintGetter
,BlockGetter
,LevelWriter
Undocumented Interfaces
LevelTimeAccess
,EntityGetter
,CollisionGetter
,SignalGetter
,NoiseBiomeSource
,ILevelReaderExtension
,IBlockAndTintGetterExtension
,LevelHeightAccessor
,IBlockGetterExtension
,LevelSimulatedReader
Members
// Level.daytime as longmyLevel.daytime
Return Type:
long
// Level.daytime() as long;myLevel.daytime();
Return Type:
long
Returns: Whether the block was changed.
myLevel.destroyBlock(new BlockPos(0, 1, 2), true);
Parameters:
Return Type:
bool
Returns: Whether the block was changed.
myLevel.destroyBlock(new BlockPos(0, 1, 2), true, player);
Parameters:
Return Type:
bool
The breakerId is usually the id of the entity that is breaking the block, however you can put any number. It is recommended to use negative numbers to ensure that there are no conflicts with entities in the world. A single breakerId can only have one progress at a time.
myLevel.destroyBlockProgress(-1, new BlockPos(1, 1, 1);, 5);
// Level.difficulty as DifficultymyLevel.difficulty
Return Type:
Difficulty
// Level.dimension as ResourceLocationmyLevel.dimension
Return Type:
ResourceLocation
// Level.gameTime as longmyLevel.gameTime
Return Type:
long
// Level.gameTime() as long;myLevel.gameTime();
Return Type:
long
myLevel.getAttachmentData<T>(myAttachmentType);
Parameters:
type: AttachmentType<T>
Type: AttachmentType<T>
Return Type:
T
myLevel.getAttachmentData<T>(mySupplier);
Parameters:
type: Supplier<AttachmentType<T>>
Type: Supplier<AttachmentType<T>>
Return Type:
T
Returns: The highest redstone signal available to the position.
myLevel.getBestNeighborSignal(new BlockPos(0, 1, 2));
Return Type:
int
myLevel.getBlockEntity(myBlockPos);
Return Type:
BlockEntity
Returns: The data of the tile entity.
myLevel.getBlockEntityData(new BlockPos(0, 1, 2));
Return Type:
IData
Returns: The block state at the position.
myLevel.getBlockState(new BlockPos(0, 1, 2));
Return Type:
BlockState
myLevel.getCapability<C, T>(myBlockCapability, myBlockPos, myC);
Parameters:
cap: BlockCapability<C, T>
Type: BlockCapability<C, T>
context: C?
Type: C?
Return Type:
T?
// Level.getCapability<C, T>(cap as BlockCapability<C, T>, pos as BlockPos, state as BlockState, blockEntity as BlockEntity, context as C?) as T?;myLevel.getCapability<C, T>(myBlockCapability, myBlockPos, myBlockState, myBlockEntity, myC);
Parameters:
cap: BlockCapability<C, T>
Type: BlockCapability<C, T>
state: BlockState
Type: BlockState
blockEntity: BlockEntity
Type: BlockEntity
context: C?
Type: C?
Return Type:
T?
myLevel.getCurrentDifficultyAt(myBlockPos);
Return Type:
DifficultyInstance
Returns: The highest strong (direct) redstone signal of all directly neighboring blocks.
myLevel.getDirectSignalTo(new BlockPos(0, 1, 2));
Return Type:
int
myLevel.getEntities(entity, 1.0, 1.0, 1.0, 11.4, 11.4, 11.4, (entityIn) => entityIn.isInWater());
Parameters:
Return Type:
List<Entity>
pos2
is omitted, it will use pos1.add(1, 1, 1)
Returns: all entities in given area
myLevel.getEntitiesInArea<T>(new BlockPos(0, 1, 2), new BlockPos(3, 4, 5));
Parameters:
Return Type:
List<Entity>
myLevel.getEntitiesInAreaExcluding(entity, (entityIn) => entityIn.isInWater(), new BlockPos(0, 1, 2), new BlockPos(3, 4, 5));
Parameters:
Return Type:
List<Entity>
Returns: all entities in given area.
myLevel.getEntitiesOfClass<T>(1.0, 1.0, 1.0, 11.4, 11.4, 11.4);
Parameters:
x1: double
Type: double
y1: double
Type: double
z1: double
Type: double
x2: double
Type: double
y2: double
Type: double
z2: double
Type: double
Return Type:
List<Entity>
Returns: The redstone signal strength available from that direction.
myLevel.getSignal(new BlockPos(0, 1, 2), <direction:north>);
Parameters:
Return Type:
int
myLevel.globalLevelEvent(2005, new BlockPos(0, 1, 2), 0);
myLevel.hasAttachmentData<T>(myAttachmentType);
Parameters:
type: AttachmentType<T>
Type: AttachmentType<T>
Return Type:
bool
myLevel.hasAttachmentData<T>(mySupplier);
Parameters:
type: Supplier<AttachmentType<T>>
Type: Supplier<AttachmentType<T>>
Return Type:
bool
// Level.hasChunk(x as int, z as int) as bool;myLevel.hasChunk(myInt, myInt);
Parameters:
x: int
Type: int
z: int
Type: int
Return Type:
bool
Returns: Whether the position is receiving a redstone signal.
myLevel.hasNeighborSignal(new BlockPos(0, 1, 2));
Return Type:
bool
// Level.isClientSide as boolmyLevel.isClientSide
Return Type:
bool
// Level.isDay as boolmyLevel.isDay
Return Type:
bool
// Level.isDay() as bool;myLevel.isDay();
Return Type:
bool
// Level.isNight as boolmyLevel.isNight
Return Type:
bool
// Level.isNight() as bool;myLevel.isNight();
Return Type:
bool
Returns: Whether it is raining at the current position.
myLevel.isRainingAt(new BlockPos(0, 1, 2));
Return Type:
bool
myLevel.levelEvent(player, myInt, myBlockPos, myInt);
Parameters:
myLevel.levelEvent(myInt, myBlockPos, myInt);
// Level.maxLightLevel as intmyLevel.maxLightLevel
Return Type:
int
// Level.playSound(player as Player, position as BlockPos, event as SoundEvent, source as SoundSource);myLevel.playSound(myPlayer, myBlockPos, mySoundEvent, mySoundSource);
Parameters:
event: SoundEvent
Type: SoundEvent
source: SoundSource
Type: SoundSource
// Level.playSound(player as Player, position as BlockPos, event as SoundEvent, source as SoundSource, volume as float, pitch as float);myLevel.playSound(myPlayer, myBlockPos, mySoundEvent, mySoundSource, myFloat, myFloat);
Parameters:
event: SoundEvent
Type: SoundEvent
source: SoundSource
Type: SoundSource
volume: float
Type: float
pitch: float
Type: float
// Level.raining as boolmyLevel.raining
Return Type:
bool
// Level.rainLevel = (level as float);myLevel.rainLevel = myFloat;
Parameters:
level: float
Type: float
- The new rain level between 0 and 1 // Level.rainLevel(level as float);myLevel.rainLevel(0.5);
Parameters:
level: float
Type: float
- The new rain level between 0 and 1 // Level.random as RandomSourcemyLevel.random
Return Type:
RandomSource
Returns: a BlockHitResult
holding the result, the position and facing the ray stops.
// Level.rayTraceBlocks(startVec as Vec3, endVec as Vec3, blockMode as BlockClipContext, fluidMode as FluidClipContext, entity as Entity = null) 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);
Parameters:
blockMode: BlockClipContext
Type: BlockClipContext
- the type of block that the ray trace would stop at. fluidMode: FluidClipContext
Type: FluidClipContext
- the type of fluid that the ray trace would stop at.
Return Type:
BlockHitResult
// Level.seaLevel as intmyLevel.seaLevel
Return Type:
int
SequenceBuilder
for this level. SequenceBuilder
's let you compose scripted events such as waiting 5 ticks, then setting the weather to rain.
Returns: A new SequenceBuilder
for this level.
// Level.sequence(data as IData = new crafttweaker.api.data.MapData()) as SequenceBuilder<Level, IData>;myLevel.sequence({version: "1.0.0"});
Return Type:
SequenceBuilder<Level, IData>
SequenceBuilder
for this level. SequenceBuilder
's let you compose scripted events such as waiting 5 ticks, then setting the weather to rain.
Returns: A new SequenceBuilder
for this level.
myLevel.sequence<T>({version: "1.0.0"});
Parameters:
data: T
Type: T
Return Type:
SequenceBuilder<Level, T>
myLevel.setAttachmentData<T>(myAttachmentType, myT);
Parameters:
type: AttachmentType<T>
Type: AttachmentType<T>
data: T
Type: T
Return Type:
T?
myLevel.setAttachmentData<T>(mySupplier, myT);
Parameters:
type: Supplier<AttachmentType<T>>
Type: Supplier<AttachmentType<T>>
data: T
Type: T
Return Type:
T?
Returns: Whether the block was changed.
myLevel.setBlockAndUpdate(new BlockPos(0, 1, 2), <blockstate:minecraft:iron_block>);
Parameters:
Return Type:
bool
// Level.skyDarken as intmyLevel.skyDarken
Return Type:
int
// Level.thundering as boolmyLevel.thundering
Return Type:
bool