Class ServerLevel
- All Implemented Interfaces:
AutoCloseable
,BiomeManager.NoiseBiomeSource
,BlockAndTintGetter
,BlockGetter
,CollisionGetter
,CommonLevelAccessor
,EntityGetter
,LevelAccessor
,LevelHeightAccessor
,LevelReader
,LevelSimulatedReader
,LevelSimulatedRW
,LevelTimeAccess
,LevelWriter
,ServerLevelAccessor
,SignalGetter
,WorldGenLevel
,IAttachmentHolder
,IBlockAndTintGetterExtension
,IBlockGetterExtension
,ILevelExtension
,ILevelReaderExtension
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class net.minecraft.world.level.Level
Level.ExplosionInteraction
Nested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
AttachmentHolder.AsField
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet
<BlockEventData> private final List
<BlockEventData> private final LevelTicks
<Block> private final CapabilityListenerHolder
private final ServerChunkCache
private final List
<CustomSpawner> private EndDragonFight
(package private) final it.unimi.dsi.fastutil.ints.Int2ObjectMap
<PartEntity<?>> private static final int
private int
static final BlockPos
private final PersistentEntitySectionManager
<Entity> (package private) final EntityTickList
private final LevelTicks
<Fluid> private final GameEventDispatcher
private boolean
(package private) boolean
private int
private static final org.slf4j.Logger
private static final int
boolean
private final PathTypeCache
(package private) final List
<ServerPlayer> private final PortalForcer
protected final Raids
static final IntProvider
static final IntProvider
private final RandomSequences
private final MinecraftServer
private final ServerLevelData
private final SleepStatus
private final StructureCheck
private final StructureManager
private static final IntProvider
static final IntProvider
private final boolean
Fields inherited from class net.minecraft.world.level.Level
addend, blockEntityTickers, captureBlockSnapshots, capturedBlockSnapshots, END, isClientSide, levelData, LONG_PARTICLE_CLIP_RANGE, MAX_BRIGHTNESS, MAX_ENTITY_SPAWN_Y, MAX_LEVEL_SIZE, MIN_ENTITY_SPAWN_Y, neighborUpdater, NETHER, oRainLevel, oThunderLevel, OVERWORLD, rainLevel, random, randValue, RESOURCE_KEY_CODEC, restoringBlockSnapshots, SHORT_PARTICLE_CLIP_RANGE, thunderLevel, TICKS_PER_DAY
Fields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
ATTACHMENTS_NBT_KEY
Fields inherited from interface net.neoforged.neoforge.common.extensions.ILevelExtension
TRANSLATION_PREFIX
Fields inherited from interface net.minecraft.world.level.SignalGetter
DIRECTIONS
-
Constructor Summary
ConstructorsConstructorDescriptionServerLevel
(MinecraftServer server, Executor dispatcher, LevelStorageSource.LevelStorageAccess levelStorageAccess, ServerLevelData serverLevelData, ResourceKey<Level> dimension, LevelStem levelStem, ChunkProgressListener progressListener, boolean isDebug, long biomeZoomSeed, List<CustomSpawner> customSpawners, boolean tickTime, RandomSequences randomSequences) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addDuringTeleport
(Entity entity) private boolean
Called when an entity is spawned in the world.boolean
addFreshEntity
(Entity entity) void
addLegacyChunkEntities
(Stream<Entity> entities) void
addNewPlayer
(ServerPlayer player) private void
addPlayer
(ServerPlayer player) void
addRespawnedPlayer
(ServerPlayer player) boolean
addWithUUID
(Entity entity) Used for "unnatural" ways of entities appearing in the world, e.g.void
addWorldGenChunkEntities
(Stream<Entity> entities) private void
private void
boolean
areEntitiesLoaded
(long chunkPos) void
blockEvent
(BlockPos pos, Block block, int eventID, int eventParam) void
blockUpdated
(BlockPos pos, Block block) void
broadcastDamageEvent
(Entity entity, DamageSource damageSource) void
broadcastEntityEvent
(Entity entity, byte state) Sends aClientboundEntityEventPacket
to all tracked players of that entity.boolean
void
Internal method, used to clean capability listeners that are not referenced.void
clearBlockEvents
(BoundingBox boundingBox) void
close()
void
destroyBlockProgress
(int breakerId, BlockPos pos, int progress) private boolean
doBlockEvent
(BlockEventData event) private void
dumpBlockEntityTickers
(Writer output) private static void
dumpEntities
(Writer writer, Iterable<Entity> entities) explode
(Entity source, DamageSource damageSource, ExplosionDamageCalculator damageCalculator, double x, double y, double z, float radius, boolean fire, Level.ExplosionInteraction explosionInteraction, ParticleOptions smallExplosionParticles, ParticleOptions largeExplosionParticles, Holder<SoundEvent> explosionSound) fillReportDetails
(CrashReport report) Adds some basic stats of the world to the given crash report.findClosestBiome3d
(Predicate<Holder<Biome>> biomePredicate, BlockPos pos, int radius, int horizontalStep, int verticalStep) findLightningRod
(BlockPos pos) protected BlockPos
findNearestMapStructure
(TagKey<Structure> structureTag, BlockPos pos, int radius, boolean skipExistingChunks) void
gameEvent
(Holder<GameEvent> gameEvent, Vec3 pos, GameEvent.Context context) float
float
Returns the current ratio between game ticks and clock ticks.List
<? extends EnderDragon> getEntities
(EntityTypeTest<Entity, T> typeTest, Predicate<? super T> predicate) <T extends Entity>
voidgetEntities
(EntityTypeTest<Entity, T> typeTest, Predicate<? super T> predicate, List<? super T> output) <T extends Entity>
voidgetEntities
(EntityTypeTest<Entity, T> typeTest, Predicate<? super T> predicate, List<? super T> output, int maxResults) getEntity
(int id) Returns the Entity with the given ID, or null if it doesn't exist in this World.getEntityOrPart
(int id) Deprecated.it.unimi.dsi.fastutil.longs.LongSet
getLevel()
int
getMapData
(MapId mapId) Collection
<PartEntity<?>> All part entities in this world.getPlayers
(Predicate<? super ServerPlayer> predicate) getPlayers
(Predicate<? super ServerPlayer> predicate, int maxResults) getRaids()
getRandomSequence
(ResourceLocation location) long
getSeed()
float
private static <T> String
getTypeCount
(Iterable<T> objects, Function<T, String> typeGetter) getUncachedNoiseBiome
(int x, int y, int z) void
globalLevelEvent
(int id, BlockPos pos, int data) void
Notify all listeners that the capabilities at a specific position might have changed.void
Notify all listeners that the capabilities at all the positions in a chunk might have changed.boolean
isCloseToVillage
(BlockPos pos, int sections) boolean
isFlat()
boolean
boolean
boolean
isNaturalSpawningAllowed
(ChunkPos chunkPos) boolean
private boolean
isPositionTickingWithEntitiesLoaded
(long chunkPos) boolean
boolean
boolean
isVillage
(SectionPos pos) void
levelEvent
(Player player, int type, BlockPos pos, int data) boolean
mayInteract
(Player player, BlockPos pos) void
neighborChanged
(BlockPos pos, Block block, BlockPos fromPos) void
neighborChanged
(BlockState state, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) boolean
noSave()
void
onBlockStateChange
(BlockPos pos, BlockState blockState, BlockState newState) void
onReputationEvent
(ReputationEventType type, Entity target, ReputationEventHandler host) void
players()
void
playSeededSound
(Player player, double x, double y, double z, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) void
playSeededSound
(Player player, Entity entity, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) void
registerCapabilityListener
(BlockPos pos, ICapabilityInvalidationListener listener) Register a listener for capability invalidation.void
removePlayerImmediately
(ServerPlayer player, Entity.RemovalReason reason) void
void
private void
void
save
(ProgressListener progress, boolean flush, boolean skipSave) void
saveDebugReport
(Path p_path) private void
int
void
sendBlockUpdated
(BlockPos pos, BlockState oldState, BlockState newState, int flags) Flags are as in setBlockStateprivate boolean
sendParticles
(ServerPlayer player, boolean longDistance, double posX, double posY, double posZ, Packet<?> packet) <T extends ParticleOptions>
booleansendParticles
(ServerPlayer player, T type, boolean longDistance, double posX, double posY, double posZ, int particleCount, double xOffset, double yOffset, double zOffset, double speed) <T extends ParticleOptions>
intsendParticles
(T type, double posX, double posY, double posZ, int particleCount, double xOffset, double yOffset, double zOffset, double speed) boolean
setChunkForced
(int chunkX, int chunkZ, boolean add) void
setDayTime
(long time) void
setDayTimeFraction
(float dayTimeFraction) void
setDayTimePerTick
(float dayTimePerTick) This allows mods to set the rate time flows in a level.void
setDefaultSpawnPos
(BlockPos pos, float angle) void
setDragonFight
(EndDragonFight dragonFight) Deprecated.void
setMapData
(MapId mapId, MapItemSavedData mapData) void
setWeatherParameters
(int clearTime, int weatherTime, boolean isRaining, boolean isThundering) private boolean
shouldDiscardEntity
(Entity entity) boolean
shouldTickBlocksAt
(long chunkPos) void
startTickingChunk
(LevelChunk chunk) void
tick
(BooleanSupplier hasTimeLeft) Runs a single tick for the worldprivate void
void
tickChunk
(LevelChunk chunk, int randomTickSpeed) void
tickCustomSpawners
(boolean spawnEnemies, boolean spawnFriendlies) private void
void
tickNonPassenger
(Entity p_entity) private void
tickPassenger
(Entity ridingEntity, Entity passengerEntity) void
tickPrecipitation
(BlockPos blockPos) protected void
tickTime()
toString()
boolean
Attempts to summon an entity and it's passangers.void
unload
(LevelChunk chunk) void
updateNeighborsAt
(BlockPos pos, Block block) void
updateNeighborsAtExceptFromFacing
(BlockPos pos, Block blockType, Direction skipSide) void
private void
Methods inherited from class net.minecraft.world.level.Level
addAlwaysVisibleParticle, addAlwaysVisibleParticle, addBlockEntityTicker, addDestroyBlockEffect, addFreshBlockEntities, addParticle, addParticle, advanceDaytime, blockEntityChanged, createFireworks, damageSources, destroyBlock, dimension, dimensionType, dimensionTypeRegistration, disconnect, explode, explode, explode, explode, explode, getBiomeManager, getBlockEntity, getBlockRandomPos, getBlockState, getChunk, getChunk, getChunkAt, getChunkForCollisions, getCurrentDifficultyAt, getDayTime, getEntities, getEntities, getEntities, getEntities, getFluidState, getGameRules, getGameTime, getHeight, getLevelData, getLightEngine, getMaxEntityRadius, getProfiler, getProfilerSupplier, getRainLevel, getRandom, getSeaLevel, getSharedSpawnAngle, getSharedSpawnPos, getSkyDarken, getSunAngle, getThunderLevel, getWorldBorder, guardEntityTick, increaseMaxEntityRadius, isClientSide, isDay, isDebug, isFluidAtPosition, isInSpawnableBounds, isInWorldBounds, isLoaded, isNight, isRaining, isRainingAt, isStateAtPosition, isThundering, loadedAndEntityCanStandOn, loadedAndEntityCanStandOnFace, markAndNotifyBlock, neighborShapeChanged, nextSubTickCount, playLocalSound, playLocalSound, playLocalSound, playSeededSound, playSound, playSound, playSound, playSound, playSound, playSound, prepareWeather, registryAccess, removeBlock, removeBlockEntity, sendPacketToServer, setBlock, setBlock, setBlockAndUpdate, setBlockEntity, setBlocksDirty, setRainLevel, setSkyFlashTime, setSpawnSettings, setThunderLevel, shouldTickBlocksAt, shouldTickDeath, tickBlockEntities, updateNeighbourForOutputSignal, updateSkyBrightness
Methods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, removeData, serializeAttachments, setData
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.minecraft.world.level.BlockAndTintGetter
canSeeSky, getBrightness, getLightEngine, getRawBrightness
Methods inherited from interface net.minecraft.world.level.BlockGetter
clip, clipWithInteractionOverride, getBlockEntity, getBlockFloorHeight, getBlockFloorHeight, getBlockState, getBlockStates, getFluidState, getLightEmission, getMaxLightLevel, isBlockInLine
Methods inherited from interface net.minecraft.world.level.CollisionGetter
collidesWithSuffocatingBlock, findFreePosition, findSupportingBlock, getBlockCollisions, getCollisions, getEntityCollisions, getWorldBorder, isUnobstructed, isUnobstructed, isUnobstructed, noBlockCollision, noCollision, noCollision, noCollision
Methods inherited from interface net.minecraft.world.level.CommonLevelAccessor
getBlockEntity, getEntityCollisions, getHeightmapPos, isUnobstructed
Methods inherited from interface net.minecraft.world.level.EntityGetter
getEntities, getEntities, getEntities, getEntitiesOfClass, getEntitiesOfClass, getNearbyEntities, getNearbyPlayers, getNearestEntity, getNearestEntity, getNearestPlayer, getNearestPlayer, getNearestPlayer, getNearestPlayer, getNearestPlayer, getNearestPlayer, getPlayerByUUID, hasNearbyAlivePlayer
Methods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData
Methods inherited from interface net.neoforged.neoforge.common.extensions.IBlockAndTintGetterExtension
getShade
Methods inherited from interface net.neoforged.neoforge.common.extensions.IBlockGetterExtension
getAuxLightManager, getAuxLightManager, getModelData
Methods inherited from interface net.neoforged.neoforge.common.extensions.ILevelExtension
getCapability, getCapability, getCapability, getCapability, getDescription, getDescriptionKey, getModelDataManager
Methods inherited from interface net.neoforged.neoforge.common.extensions.ILevelReaderExtension
holder, holderOrThrow, isAreaLoaded
Methods inherited from interface net.minecraft.world.level.LevelAccessor
addParticle, dayTime, gameEvent, gameEvent, gameEvent, gameEvent, getCurrentDifficultyAt, getDifficulty, getLevelData, getRandom, hasChunk, levelEvent, neighborShapeChanged, nextSubTickCount, playSound, playSound, scheduleTick, scheduleTick, scheduleTick, scheduleTick
Methods inherited from interface net.minecraft.world.level.LevelHeightAccessor
getMaxBuildHeight, getMaxSection, getMinSection, getSectionIndex, getSectionIndexFromSectionY, getSectionsCount, getSectionYFromSectionIndex, isOutsideBuildHeight, isOutsideBuildHeight
Methods inherited from interface net.minecraft.world.level.LevelReader
canSeeSkyFromBelowWater, containsAnyLiquid, dimensionType, getBiome, getBiomeManager, getBlockStatesIfLoaded, getBlockTint, getChunk, getChunk, getChunk, getChunk, getChunkForCollisions, getHeight, getHeight, getLightLevelDependentMagicValue, getMaxLocalRawBrightness, getMaxLocalRawBrightness, getMinBuildHeight, getNoiseBiome, getPathfindingCostFromLightLevels, getSeaLevel, getSkyDarken, hasChunkAt, hasChunkAt, hasChunksAt, hasChunksAt, hasChunksAt, holderLookup, isClientSide, isEmptyBlock, isWaterAt, registryAccess
Methods inherited from interface net.minecraft.world.level.LevelSimulatedReader
isFluidAtPosition, isStateAtPosition
Methods inherited from interface net.minecraft.world.level.LevelTimeAccess
getMoonBrightness, getMoonPhase, getTimeOfDay
Methods inherited from interface net.minecraft.world.level.LevelWriter
destroyBlock, destroyBlock, destroyBlock, removeBlock, setBlock, setBlock
Methods inherited from interface net.minecraft.world.level.ServerLevelAccessor
addFreshEntityWithPassengers
Methods inherited from interface net.minecraft.world.level.SignalGetter
getBestNeighborSignal, getControlInputSignal, getDirectSignal, getDirectSignalTo, getSignal, hasNeighborSignal, hasSignal
Methods inherited from interface net.minecraft.world.level.WorldGenLevel
ensureCanWrite, setCurrentlyGenerating
-
Field Details
-
END_SPAWN_POINT
-
RAIN_DELAY
-
RAIN_DURATION
-
THUNDER_DELAY
-
THUNDER_DURATION
-
LOGGER
private static final org.slf4j.Logger LOGGER -
EMPTY_TIME_NO_TICK
private static final int EMPTY_TIME_NO_TICK- See Also:
-
MAX_SCHEDULED_TICKS_PER_TICK
private static final int MAX_SCHEDULED_TICKS_PER_TICK- See Also:
-
players
-
chunkSource
-
server
-
serverLevelData
-
lastSpawnChunkRadius
private int lastSpawnChunkRadius -
entityTickList
-
entityManager
-
gameEventDispatcher
-
noSave
public boolean noSave -
sleepStatus
-
emptyTime
private int emptyTime -
portalForcer
-
blockTicks
-
fluidTicks
-
pathTypesByPosCache
-
raids
-
blockEvents
-
blockEventsToReschedule
-
handlingTick
private boolean handlingTick -
customSpawners
-
dragonFight
-
dragonParts
-
structureManager
-
structureCheck
-
tickTime
private final boolean tickTime -
randomSequences
-
capListenerHolder
-
-
Constructor Details
-
ServerLevel
public ServerLevel(MinecraftServer server, Executor dispatcher, LevelStorageSource.LevelStorageAccess levelStorageAccess, ServerLevelData serverLevelData, ResourceKey<Level> dimension, LevelStem levelStem, ChunkProgressListener progressListener, boolean isDebug, long biomeZoomSeed, List<CustomSpawner> customSpawners, boolean tickTime, @Nullable RandomSequences randomSequences)
-
-
Method Details
-
setDragonFight
Deprecated. -
setWeatherParameters
public void setWeatherParameters(int clearTime, int weatherTime, boolean isRaining, boolean isThundering) -
getUncachedNoiseBiome
- Specified by:
getUncachedNoiseBiome
in interfaceLevelReader
-
structureManager
-
tick
Runs a single tick for the world -
shouldTickBlocksAt
public boolean shouldTickBlocksAt(long chunkPos) - Overrides:
shouldTickBlocksAt
in classLevel
-
tickTime
protected void tickTime() -
setDayTime
public void setDayTime(long time) -
tickCustomSpawners
public void tickCustomSpawners(boolean spawnEnemies, boolean spawnFriendlies) -
shouldDiscardEntity
-
wakeUpAllPlayers
private void wakeUpAllPlayers() -
tickChunk
-
tickPrecipitation
-
findLightningRod
-
findLightningTargetAround
-
isHandlingTick
public boolean isHandlingTick() -
canSleepThroughNights
public boolean canSleepThroughNights() -
announceSleepStatus
private void announceSleepStatus() -
updateSleepingPlayerList
public void updateSleepingPlayerList() -
getScoreboard
- Specified by:
getScoreboard
in classLevel
-
advanceWeatherCycle
private void advanceWeatherCycle() -
resetWeatherCycle
public void resetWeatherCycle() -
resetEmptyTime
public void resetEmptyTime() -
tickFluid
-
tickBlock
-
tickNonPassenger
-
tickPassenger
-
mayInteract
- Overrides:
mayInteract
in classLevel
-
save
-
saveLevelData
private void saveLevelData() -
getEntities
public <T extends Entity> List<? extends T> getEntities(EntityTypeTest<Entity, T> typeTest, Predicate<? super T> predicate) -
getEntities
public <T extends Entity> void getEntities(EntityTypeTest<Entity, T> typeTest, Predicate<? super T> predicate, List<? super T> output) -
getEntities
public <T extends Entity> void getEntities(EntityTypeTest<Entity, T> typeTest, Predicate<? super T> predicate, List<? super T> output, int maxResults) -
getDragons
-
getPlayers
-
getPlayers
-
getRandomPlayer
-
addFreshEntity
- Specified by:
addFreshEntity
in interfaceLevelWriter
-
addWithUUID
Used for "unnatural" ways of entities appearing in the world, e.g. summon command, interdimensional teleports -
addDuringTeleport
-
addNewPlayer
-
addRespawnedPlayer
-
addPlayer
-
addEntity
Called when an entity is spawned in the world. This includes players. -
tryAddFreshEntityWithPassengers
Attempts to summon an entity and it's passangers. They will only be summoned if all entities are unique and not already in queue to be summoned. -
unload
-
removePlayerImmediately
-
destroyBlockProgress
- Specified by:
destroyBlockProgress
in classLevel
-
playSeededSound
public void playSeededSound(@Nullable Player player, double x, double y, double z, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) - Specified by:
playSeededSound
in classLevel
-
playSeededSound
public void playSeededSound(@Nullable Player player, Entity entity, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) - Specified by:
playSeededSound
in classLevel
-
globalLevelEvent
- Overrides:
globalLevelEvent
in classLevel
-
levelEvent
- Specified by:
levelEvent
in interfaceLevelAccessor
-
getLogicalHeight
public int getLogicalHeight() -
gameEvent
- Specified by:
gameEvent
in interfaceLevelAccessor
-
sendBlockUpdated
Flags are as in setBlockState- Specified by:
sendBlockUpdated
in classLevel
-
updateNeighborsAt
- Overrides:
updateNeighborsAt
in classLevel
-
updateNeighborsAtExceptFromFacing
- Overrides:
updateNeighborsAtExceptFromFacing
in classLevel
-
neighborChanged
- Overrides:
neighborChanged
in classLevel
-
neighborChanged
public void neighborChanged(BlockState state, BlockPos pos, Block block, BlockPos fromPos, boolean isMoving) - Overrides:
neighborChanged
in classLevel
-
broadcastEntityEvent
Sends aClientboundEntityEventPacket
to all tracked players of that entity.- Overrides:
broadcastEntityEvent
in classLevel
-
broadcastDamageEvent
- Overrides:
broadcastDamageEvent
in classLevel
-
getChunkSource
- Specified by:
getChunkSource
in interfaceLevelAccessor
-
explode
public Explosion explode(@Nullable Entity source, @Nullable DamageSource damageSource, @Nullable ExplosionDamageCalculator damageCalculator, double x, double y, double z, float radius, boolean fire, Level.ExplosionInteraction explosionInteraction, ParticleOptions smallExplosionParticles, ParticleOptions largeExplosionParticles, Holder<SoundEvent> explosionSound) -
blockEvent
- Overrides:
blockEvent
in classLevel
-
runBlockEvents
private void runBlockEvents() -
doBlockEvent
-
getBlockTicks
- Specified by:
getBlockTicks
in interfaceLevelAccessor
-
getFluidTicks
- Specified by:
getFluidTicks
in interfaceLevelAccessor
-
getServer
- Specified by:
getServer
in interfaceLevelAccessor
- Overrides:
getServer
in classLevel
-
getPortalForcer
-
getStructureManager
-
sendParticles
public <T extends ParticleOptions> int sendParticles(T type, double posX, double posY, double posZ, int particleCount, double xOffset, double yOffset, double zOffset, double speed) -
sendParticles
public <T extends ParticleOptions> boolean sendParticles(ServerPlayer player, T type, boolean longDistance, double posX, double posY, double posZ, int particleCount, double xOffset, double yOffset, double zOffset, double speed) -
sendParticles
private boolean sendParticles(ServerPlayer player, boolean longDistance, double posX, double posY, double posZ, Packet<?> packet) -
getEntity
Returns the Entity with the given ID, or null if it doesn't exist in this World. -
getEntityOrPart
Deprecated. -
getEntity
-
findNearestMapStructure
-
findClosestBiome3d
-
getRecipeManager
- Specified by:
getRecipeManager
in classLevel
-
tickRateManager
- Specified by:
tickRateManager
in classLevel
-
noSave
public boolean noSave() -
getDataStorage
-
getMapData
- Specified by:
getMapData
in classLevel
-
setMapData
- Specified by:
setMapData
in classLevel
-
getFreeMapId
- Specified by:
getFreeMapId
in classLevel
-
setDefaultSpawnPos
-
getForcedChunks
public it.unimi.dsi.fastutil.longs.LongSet getForcedChunks() -
setChunkForced
public boolean setChunkForced(int chunkX, int chunkZ, boolean add) -
players
- Specified by:
players
in interfaceEntityGetter
-
onBlockStateChange
- Overrides:
onBlockStateChange
in classLevel
-
getPoiManager
-
isVillage
-
isVillage
-
isCloseToVillage
-
sectionsToVillage
-
getRaids
-
getRaidAt
-
isRaided
-
onReputationEvent
-
saveDebugReport
- Throws:
IOException
-
dumpEntities
- Throws:
IOException
-
dumpBlockEntityTickers
- Throws:
IOException
-
clearBlockEvents
-
blockUpdated
- Specified by:
blockUpdated
in interfaceLevelAccessor
-
getShade
- Specified by:
getShade
in interfaceBlockAndTintGetter
-
getAllEntities
-
toString
-
isFlat
public boolean isFlat() -
getSeed
public long getSeed()- Specified by:
getSeed
in interfaceWorldGenLevel
-
getDragonFight
-
getLevel
- Specified by:
getLevel
in interfaceServerLevelAccessor
-
getWatchdogStats
-
getTypeCount
-
getEntities
- Specified by:
getEntities
in classLevel
-
addLegacyChunkEntities
-
addWorldGenChunkEntities
-
startTickingChunk
-
onStructureStartsAvailable
-
getPathTypeCache
-
close
- Specified by:
close
in interfaceAutoCloseable
- Overrides:
close
in classLevel
- Throws:
IOException
-
gatherChunkSourceStats
- Specified by:
gatherChunkSourceStats
in classLevel
-
areEntitiesLoaded
public boolean areEntitiesLoaded(long chunkPos) -
isPositionTickingWithEntitiesLoaded
private boolean isPositionTickingWithEntitiesLoaded(long chunkPos) -
isPositionEntityTicking
-
isNaturalSpawningAllowed
-
isNaturalSpawningAllowed
-
enabledFeatures
- Specified by:
enabledFeatures
in interfaceLevelReader
-
potionBrewing
- Specified by:
potionBrewing
in classLevel
-
getRandomSequence
-
getRandomSequences
-
fillReportDetails
Adds some basic stats of the world to the given crash report.- Overrides:
fillReportDetails
in classLevel
-
getPartEntities
Description copied from interface:ILevelExtension
All part entities in this world. Used when collecting entities in an AABB to fix parts being ignored whose parent entity is in a chunk that does not intersect with the AABB.- Specified by:
getPartEntities
in interfaceILevelExtension
-
invalidateCapabilities
Description copied from interface:ILevelExtension
Notify all listeners that the capabilities at a specific position might have changed. This includes new capabilities becoming available.This method will only do something on
ServerLevel
s, but it is safe to call on anyLevel
, without the need for aninstanceof
check.If you already have a block entity at that position, you can call
IBlockEntityExtension.invalidateCapabilities()
instead.- Specified by:
invalidateCapabilities
in interfaceILevelExtension
-
invalidateCapabilities
Description copied from interface:ILevelExtension
Notify all listeners that the capabilities at all the positions in a chunk might have changed. This includes new capabilities becoming available.This method will only do something on
ServerLevel
s, but it is safe to call on anyLevel
, without the need for aninstanceof
check.- Specified by:
invalidateCapabilities
in interfaceILevelExtension
-
registerCapabilityListener
Register a listener for capability invalidation.- See Also:
-
cleanCapabilityListenerReferences
@Internal public void cleanCapabilityListenerReferences()Internal method, used to clean capability listeners that are not referenced. Do not call. -
setDayTimeFraction
@Internal public void setDayTimeFraction(float dayTimeFraction) - Specified by:
setDayTimeFraction
in classLevel
-
getDayTimeFraction
@Internal public float getDayTimeFraction()- Specified by:
getDayTimeFraction
in classLevel
-
getDayTimePerTick
public float getDayTimePerTick()Returns the current ratio between game ticks and clock ticks. If this value is negative, no speed has been set and those two are coupled 1:1 (i.e. vanilla mode).- Specified by:
getDayTimePerTick
in classLevel
-
setDayTimePerTick
public void setDayTimePerTick(float dayTimePerTick) This allows mods to set the rate time flows in a level. By default, each game tick the clock time also advances by one tick, withLevel.TICKS_PER_DAY
clock ticks (or 20 real-life minutes) forming a Minecraft day.This can be sped up for shorter days by giving a higher number, or slowed down for longer days with a smaller number. A negative value will reset it back to vanilla logic.
This value can also be changed with the command
/neoforge day
, where you can set either the speed or a day length in minutes.This has no effect when time progression is stopped.
While this still technically works when vanilla clients are connected, those will desync and experience a time jump once per second.
- Specified by:
setDayTimePerTick
in classLevel
-