ServerLevel
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.ServerLevel;Extends
ServerLevel extends Level.
Implements
ServerLevel
implements the following interfaces:
LevelAccessor,ILevelExtension,IAttachmentHolder,CommonLevelAccessor,LevelReader,LevelSimulatedRW,BlockAndTintGetter,BlockGetter,LevelWriter,ServerLevelAccessor
Undocumented Interfaces
WorldGenLevel,LevelTimeAccess,EntityGetter,CollisionGetter,SignalGetter,NoiseBiomeSource,ILevelReaderExtension,IBlockAndTintGetterExtension,LevelHeightAccessor,IBlockGetterExtension,LevelSimulatedReader
Members
This lets you store data on this specific level, so data stored in the Overworld will not be accessible from the Nether.
// ServerLevel.customData as CraftTweakerSavedDatamyServerLevel.customData
Return Type:
CraftTweakerSavedData
This lets you store data on this specific level, so data stored in the Overworld will not be accessible from the Nether.
Returns: The custom data for this world.
myServerLevel.customData();
Return Type:
CraftTweakerSavedData
// ServerLevel.damageSources as DamageSourcesmyServerLevel.damageSources
Return Type:
DamageSources
// ServerLevel.daytime as longmyServerLevel.daytime
Return Type:
long
// ServerLevel.daytime() as long;myServerLevel.daytime();
Return Type:
long
// ServerLevel.dayTime = (time as long);myServerLevel.dayTime = myLong;Parameters:
time: long Type: long
- The new time of day. Should be between 0 and 24000. Returns: Whether the block was changed.
myServerLevel.destroyBlock(new BlockPos(0, 1, 2), true);Parameters:
Return Type:
bool
Returns: Whether the block was changed.
myServerLevel.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.
myServerLevel.destroyBlockProgress(-1, new BlockPos(1, 1, 1);, 5);// ServerLevel.difficulty as DifficultymyServerLevel.difficulty
Return Type:
Difficulty
// ServerLevel.dimension as ResourceLocationmyServerLevel.dimension
Return Type:
ResourceLocation
// ServerLevel.gameTime as longmyServerLevel.gameTime
Return Type:
long
// ServerLevel.gameTime() as long;myServerLevel.gameTime();
Return Type:
long
myServerLevel.getAttachmentData<T>(myAttachmentType);Parameters:
type: AttachmentType<T> Type: AttachmentType<T>
Return Type:
T
myServerLevel.getAttachmentData<T>(mySupplier);Parameters:
type: Supplier<AttachmentType<T>> Type: Supplier<AttachmentType<T>>
Return Type:
T
Returns: The highest redstone signal available to the position.
myServerLevel.getBestNeighborSignal(new BlockPos(0, 1, 2));
Return Type:
int
myServerLevel.getBlockEntity(myBlockPos);
Return Type:
BlockEntity
Returns: The data of the tile entity.
myServerLevel.getBlockEntityData(new BlockPos(0, 1, 2));
Return Type:
IData
Returns: The block state at the position.
myServerLevel.getBlockState(new BlockPos(0, 1, 2));
Return Type:
BlockState
// ServerLevel.getCapability<C, T>(cap as BlockCapability<C, T>, pos as BlockPos, context as C?) as T?;myServerLevel.getCapability<C, T>(myBlockCapability, myBlockPos, myC);Parameters:
cap: BlockCapability<C, T> Type: BlockCapability<C, T> context: C? Type: C?
Return Type:
T?
// ServerLevel.getCapability<C, T>(cap as BlockCapability<C, T>, pos as BlockPos, state as BlockState, blockEntity as BlockEntity, context as C?) as T?;myServerLevel.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?
myServerLevel.getCurrentDifficultyAt(myBlockPos);
Return Type:
DifficultyInstance
Returns: The highest strong (direct) redstone signal of all directly neighboring blocks.
myServerLevel.getDirectSignalTo(new BlockPos(0, 1, 2));
Return Type:
int
Returns: A List of Entities that match.
// ServerLevel.getEntities(predicate as function(t as Entity) as bool, type as EntityType<Entity> = null) as List<Entity>;myServerLevel.getEntities((entity as MCEntity) => entity.isImmuneToFire(), <entitytype:minecraft:sheep>);Parameters:
Return Type:
List<Entity>
myServerLevel.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
myServerLevel.getEntitiesInArea<T>(new BlockPos(0, 1, 2), new BlockPos(3, 4, 5));Parameters:
Return Type:
List<Entity>
myServerLevel.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.
myServerLevel.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.
myServerLevel.getSignal(new BlockPos(0, 1, 2), <direction:north>);Parameters:
Return Type:
int
myServerLevel.globalLevelEvent(2005, new BlockPos(0, 1, 2), 0);myServerLevel.hasAttachmentData<T>(myAttachmentType);Parameters:
type: AttachmentType<T> Type: AttachmentType<T>
Return Type:
bool
myServerLevel.hasAttachmentData<T>(mySupplier);Parameters:
type: Supplier<AttachmentType<T>> Type: Supplier<AttachmentType<T>>
Return Type:
bool
// ServerLevel.hasChunk(x as int, z as int) as bool;myServerLevel.hasChunk(myInt, myInt);Parameters:
x: int Type: int z: int Type: int
Return Type:
bool
Returns: Whether the position is receiving a redstone signal.
myServerLevel.hasNeighborSignal(new BlockPos(0, 1, 2));
Return Type:
bool
// ServerLevel.isClientSide as boolmyServerLevel.isClientSide
Return Type:
bool
// ServerLevel.isDay as boolmyServerLevel.isDay
Return Type:
bool
// ServerLevel.isDay() as bool;myServerLevel.isDay();
Return Type:
bool
Returns: Whether the position is in a loaded chunk.
myServerLevel.isLoaded(new BlockPos(0, 1, 2));
Return Type:
bool
// ServerLevel.isNight as boolmyServerLevel.isNight
Return Type:
bool
// ServerLevel.isNight() as bool;myServerLevel.isNight();
Return Type:
bool
Returns: Whether it is raining at the current position.
myServerLevel.isRainingAt(new BlockPos(0, 1, 2));
Return Type:
bool
Returns: Whether the position was inside a slime chunk.
myServerLevel.isSlimeChunk(new BlockPos(0, 1, 2));
Return Type:
bool
// ServerLevel.level as ServerLevelmyServerLevel.level
Return Type:
ServerLevel
myServerLevel.levelEvent(player, myInt, myBlockPos, myInt);Parameters:
myServerLevel.levelEvent(myInt, myBlockPos, myInt);// ServerLevel.maxLightLevel as intmyServerLevel.maxLightLevel
Return Type:
int
// ServerLevel.playSound(player as Player, position as BlockPos, event as SoundEvent, source as SoundSource);myServerLevel.playSound(myPlayer, myBlockPos, mySoundEvent, mySoundSource);Parameters:
event: SoundEvent Type: SoundEvent source: SoundSource Type: SoundSource // ServerLevel.playSound(player as Player, position as BlockPos, event as SoundEvent, source as SoundSource, volume as float, pitch as float);myServerLevel.playSound(myPlayer, myBlockPos, mySoundEvent, mySoundSource, myFloat, myFloat);Parameters:
event: SoundEvent Type: SoundEvent source: SoundSource Type: SoundSource volume: float Type: float pitch: float Type: float // ServerLevel.raining as boolmyServerLevel.raining
Return Type:
bool
// ServerLevel.rainLevel = (level as float);myServerLevel.rainLevel = myFloat;Parameters:
level: float Type: float
- The new rain level between 0 and 1 // ServerLevel.rainLevel(level as float);myServerLevel.rainLevel(0.5);Parameters:
level: float Type: float
- The new rain level between 0 and 1 // ServerLevel.random as RandomSourcemyServerLevel.random
Return Type:
RandomSource
Returns: a BlockHitResult holding the result, the position and facing the ray stops.
// ServerLevel.rayTraceBlocks(startVec as Vec3, endVec as Vec3, blockMode as BlockClipContext, fluidMode as FluidClipContext, entity as Entity = null) as BlockHitResult;myServerLevel.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
// ServerLevel.seaLevel as intmyServerLevel.seaLevel
Return Type:
int
// ServerLevel.seed as longmyServerLevel.seed
Return Type:
long
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.
// ServerLevel.sequence(data as IData = new crafttweaker.api.data.MapData()) as SequenceBuilder<Level, IData>;myServerLevel.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.
myServerLevel.sequence<T>({version: "1.0.0"});Parameters:
data: T Type: T
Return Type:
SequenceBuilder<Level, T>
myServerLevel.setAttachmentData<T>(myAttachmentType, myT);Parameters:
type: AttachmentType<T> Type: AttachmentType<T> data: T Type: T
Return Type:
T?
myServerLevel.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.
myServerLevel.setBlockAndUpdate(new BlockPos(0, 1, 2), <blockstate:minecraft:iron_block>);Parameters:
Return Type:
bool
// ServerLevel.setTimeToDay();myServerLevel.setTimeToDay();// ServerLevel.setTimeToMidnight();myServerLevel.setTimeToMidnight();// ServerLevel.setTimeToNight();myServerLevel.setTimeToNight();// ServerLevel.setTimeToNoon();myServerLevel.setTimeToNoon();// ServerLevel.skyDarken as intmyServerLevel.skyDarken
Return Type:
int
// ServerLevel.thundering as boolmyServerLevel.thundering
Return Type:
bool