Package net.minecraft.client.multiplayer
Class ClientLevel
java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.level.Level
net.minecraft.client.multiplayer.ClientLevel
- All Implemented Interfaces:
AutoCloseable,BiomeManager.NoiseBiomeSource,BlockAndTintGetter,BlockGetter,CollisionGetter,CommonLevelAccessor,EntityGetter,LevelAccessor,LevelHeightAccessor,LevelReader,LevelSimulatedReader,LevelSimulatedRW,LevelTimeAccess,LevelWriter,SignalGetter,IAttachmentHolder,IBlockAndTintGetterExtension,IBlockGetterExtension,ILevelExtension,ILevelReaderExtension
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class(package private) final classNested classes/interfaces inherited from class net.minecraft.world.level.Level
Level.ExplosionInteractionNested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
AttachmentHolder.AsField -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BlockStatePredictionHandlerprivate final ClientChunkCacheprivate final ClientLevel.ClientLevelDataprivate static final longprivate final ClientPacketListenerprivate floatprivate floatprivate final DimensionSpecialEffectsprivate final TransientEntitySectionManager<Entity> private static final doubleprivate final LevelRendererprivate static final intprivate static final org.slf4j.Loggerprivate final Map<MapId, MapItemSavedData> private final Minecraftprivate final ModelDataManagerprivate static final intprivate final it.unimi.dsi.fastutil.ints.Int2ObjectMap<PartEntity<?>> (package private) final List<AbstractClientPlayer> private intprivate int(package private) final EntityTickListprivate final TickRateManagerprivate final it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap<ColorResolver, BlockTintCache> 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_DAYFields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
ATTACHMENTS_NBT_KEYFields inherited from interface net.neoforged.neoforge.common.extensions.ILevelExtension
TRANSLATION_PREFIXFields inherited from interface net.minecraft.world.level.SignalGetter
DIRECTIONS -
Constructor Summary
ConstructorsConstructorDescriptionClientLevel(ClientPacketListener connection, ClientLevel.ClientLevelData clientLevelData, ResourceKey<Level> dimension, Holder<DimensionType> dimensionType, int viewDistance, int serverSimulationDistance, Supplier<ProfilerFiller> profiler, LevelRenderer levelRenderer, boolean isDebug, long biomeZoomSeed) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAlwaysVisibleParticle(ParticleOptions particleData, boolean ignoreRange, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) voidaddAlwaysVisibleParticle(ParticleOptions particleData, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) voidaddDestroyBlockEffect(BlockPos pos, BlockState state) voidprotected voidaddMapData(Map<MapId, MapItemSavedData> map) voidaddParticle(ParticleOptions particleData, boolean forceAlwaysRender, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) voidaddParticle(ParticleOptions particleData, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) voidanimateTick(int posX, int posY, int posZ) intcalculateBlockTint(BlockPos blockPos, ColorResolver colorResolver) voidvoidcreateFireworks(double x, double y, double z, double xSpeed, double ySpeed, double zSpeed, List<FireworkExplosion> explosions) voiddestroyBlockProgress(int breakerId, BlockPos pos, int progress) voidvoiddoAnimateTick(int posX, int posY, int posZ, int range, RandomSource random, Block block, BlockPos.MutableBlockPos blockPos) effects()fillReportDetails(CrashReport report) Adds some basic stats of the world to the given crash report.voidgameEvent(Holder<GameEvent> gameEvent, Vec3 pos, GameEvent.Context context) protected Map<MapId, MapItemSavedData> (package private) BlockStatePredictionHandlerintgetBlockTint(BlockPos blockPos, ColorResolver colorResolver) getCloudColor(float partialTick) floatfloatReturns the current ratio between game ticks and clock ticks.protected LevelEntityGetter<Entity> getEntity(int id) Returns the Entity with the given ID, or null if it doesn't exist in this World.intgetMapData(MapId mapId) private BlockgetModelData(BlockPos pos) Retrieves model data for a block at the given position.Retrieves the model data manager for the given level.Collection<PartEntity<?>> All part entities in this world.intfloatgetShade(float normalX, float normalY, float normalZ, boolean shade) Computes the shade for a given normal.floatgetSkyColor(Vec3 pos, float partialTick) floatgetSkyDarken(float partialTick) intfloatgetStarBrightness(float partialTick) getUncachedNoiseBiome(int x, int y, int z) voidglobalLevelEvent(int id, BlockPos pos, int data) voidhandleBlockChangedAck(int sequence) booleanhasChunk(int chunkX, int chunkZ) booleanvoidlevelEvent(Player player, int type, BlockPos pos, int data) voidonChunkLoaded(ChunkPos chunkPos) voidoverrideMapData(MapId mapId, MapItemSavedData mapData) players()voidplayLocalSound(double x, double y, double z, SoundEvent sound, SoundSource category, float volume, float pitch, boolean distanceDelay) voidplayLocalSound(Entity entity, SoundEvent sound, SoundSource category, float volume, float pitch) voidplaySeededSound(Player player, double x, double y, double z, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) voidplaySeededSound(Player player, Entity entity, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) private voidplaySound(double x, double y, double z, SoundEvent soundEvent, SoundSource source, float volume, float pitch, boolean distanceDelay, long seed) voidvoidqueueLightUpdate(Runnable task) voidremoveEntity(int entityId, Entity.RemovalReason reason) voidsendBlockUpdated(BlockPos pos, BlockState oldState, BlockState newState, int flags) Flags are as in setBlockStatevoidsendPacketToServer(Packet<?> packet) booleansetBlock(BlockPos pos, BlockState state, int flags, int recursionLeft) voidsetBlocksDirty(BlockPos blockPos, BlockState oldState, BlockState newState) voidsetDayTime(long time) Sets the world time.voidsetDayTimeFraction(float dayTimeFraction) voidsetDayTimePerTick(float dayTimePerTick) DO NOT CALL.voidsetDefaultSpawnPos(BlockPos spawnPos, float spawnAngle) voidsetGameTime(long time) voidsetMapData(MapId mapId, MapItemSavedData mapData) voidsetSectionDirtyWithNeighbors(int sectionX, int sectionY, int sectionZ) voidsetServerSimulationDistance(int serverSimulationDistance) voidsetServerVerifiedBlockState(BlockPos pos, BlockState state, int flags) voidsetSkyFlashTime(int timeFlash) booleanshouldTickDeath(Entity entity) private voidspawnFluidParticle(double xStart, double xEnd, double zStart, double zEnd, double y, ParticleOptions particleData) private voidspawnParticle(BlockPos pos, ParticleOptions particleData, VoxelShape voxelShape, double y) voidsyncBlockState(BlockPos pos, BlockState state, Vec3 playerPos) voidtick(BooleanSupplier hasTimeLeft) Runs a single tick for the worldvoidvoidtickNonPassenger(Entity p_entity) private voidtickPassenger(Entity mount, Entity rider) private voidtickTime()toString()private voidtrySpawnDripParticles(BlockPos blockPos, BlockState blockState, ParticleOptions particleData, boolean shapeDownSolid) voidunload(LevelChunk chunk) Methods inherited from class net.minecraft.world.level.Level
addBlockEntityTicker, addFreshBlockEntities, advanceDaytime, blockEntityChanged, blockEvent, broadcastDamageEvent, broadcastEntityEvent, close, damageSources, destroyBlock, dimension, dimensionType, dimensionTypeRegistration, explode, explode, explode, explode, explode, explode, getBiomeManager, getBlockEntity, getBlockRandomPos, getBlockState, getChunk, getChunk, getChunkAt, getChunkForCollisions, getCurrentDifficultyAt, getDayTime, getEntities, getEntities, getEntities, getEntities, getFluidState, getGameRules, getGameTime, getHeight, getLightEngine, getMaxEntityRadius, getProfiler, getProfilerSupplier, getRainLevel, getRandom, getSeaLevel, getServer, getSharedSpawnAngle, getSharedSpawnPos, getSkyDarken, getSunAngle, getThunderLevel, getWorldBorder, guardEntityTick, increaseMaxEntityRadius, isClientSide, isDay, isDebug, isFluidAtPosition, isInSpawnableBounds, isInWorldBounds, isLoaded, isNight, isRaining, isRainingAt, isStateAtPosition, isThundering, loadedAndEntityCanStandOn, loadedAndEntityCanStandOnFace, markAndNotifyBlock, mayInteract, neighborChanged, neighborChanged, neighborShapeChanged, nextSubTickCount, noSave, onBlockStateChange, playLocalSound, playSeededSound, playSound, playSound, playSound, playSound, playSound, playSound, prepareWeather, registryAccess, removeBlock, removeBlockEntity, setBlock, setBlockAndUpdate, setBlockEntity, setRainLevel, setSpawnSettings, setThunderLevel, shouldTickBlocksAt, shouldTickBlocksAt, tickBlockEntities, updateNeighborsAt, updateNeighborsAtExceptFromFacing, updateNeighbourForOutputSignal, updateSkyBrightnessMethods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, removeData, serializeAttachments, setDataMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.world.level.BlockAndTintGetter
canSeeSky, getBrightness, getRawBrightnessMethods inherited from interface net.minecraft.world.level.BlockGetter
clip, clipWithInteractionOverride, getBlockFloorHeight, getBlockFloorHeight, getBlockStates, getLightEmission, getMaxLightLevel, isBlockInLineMethods inherited from interface net.minecraft.world.level.CollisionGetter
collidesWithSuffocatingBlock, findFreePosition, findSupportingBlock, getBlockCollisions, getCollisions, getEntityCollisions, isUnobstructed, isUnobstructed, isUnobstructed, noBlockCollision, noCollision, noCollision, noCollisionMethods inherited from interface net.minecraft.world.level.CommonLevelAccessor
getBlockEntity, getEntityCollisions, getHeightmapPos, isUnobstructedMethods inherited from interface net.minecraft.world.level.EntityGetter
getEntities, getEntitiesOfClass, getEntitiesOfClass, getNearbyEntities, getNearbyPlayers, getNearestEntity, getNearestEntity, getNearestPlayer, getNearestPlayer, getNearestPlayer, getNearestPlayer, getNearestPlayer, getNearestPlayer, getPlayerByUUID, hasNearbyAlivePlayerMethods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setDataMethods inherited from interface net.neoforged.neoforge.common.extensions.IBlockGetterExtension
getAuxLightManager, getAuxLightManagerMethods inherited from interface net.neoforged.neoforge.common.extensions.ILevelExtension
getCapability, getCapability, getCapability, getCapability, getDescription, getDescriptionKey, invalidateCapabilities, invalidateCapabilitiesMethods inherited from interface net.neoforged.neoforge.common.extensions.ILevelReaderExtension
holder, holderOrThrow, isAreaLoadedMethods inherited from interface net.minecraft.world.level.LevelAccessor
blockUpdated, dayTime, gameEvent, gameEvent, gameEvent, gameEvent, getDifficulty, levelEvent, playSound, scheduleTick, scheduleTick, scheduleTick, scheduleTickMethods inherited from interface net.minecraft.world.level.LevelHeightAccessor
getMaxBuildHeight, getMaxSection, getMinSection, getSectionIndex, getSectionIndexFromSectionY, getSectionsCount, getSectionYFromSectionIndex, isOutsideBuildHeight, isOutsideBuildHeightMethods inherited from interface net.minecraft.world.level.LevelReader
canSeeSkyFromBelowWater, containsAnyLiquid, getBiome, getBlockStatesIfLoaded, getChunk, getChunk, getHeight, getLightLevelDependentMagicValue, getMaxLocalRawBrightness, getMaxLocalRawBrightness, getMinBuildHeight, getNoiseBiome, getPathfindingCostFromLightLevels, hasChunkAt, hasChunkAt, hasChunksAt, hasChunksAt, hasChunksAt, holderLookup, isEmptyBlock, isWaterAtMethods inherited from interface net.minecraft.world.level.LevelTimeAccess
getMoonBrightness, getMoonPhase, getTimeOfDayMethods inherited from interface net.minecraft.world.level.LevelWriter
addFreshEntity, destroyBlock, destroyBlockMethods inherited from interface net.minecraft.world.level.SignalGetter
getBestNeighborSignal, getControlInputSignal, getDirectSignal, getDirectSignalTo, getSignal, hasNeighborSignal, hasSignal
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
FLUID_PARTICLE_SPAWN_OFFSET
private static final double FLUID_PARTICLE_SPAWN_OFFSET- See Also:
-
NORMAL_LIGHT_UPDATES_PER_FRAME
private static final int NORMAL_LIGHT_UPDATES_PER_FRAME- See Also:
-
LIGHT_UPDATE_QUEUE_SIZE_THRESHOLD
private static final int LIGHT_UPDATE_QUEUE_SIZE_THRESHOLD- See Also:
-
tickingEntities
-
entityStorage
-
connection
-
levelRenderer
-
clientLevelData
-
effects
-
tickRateManager
-
minecraft
-
players
-
mapData
-
CLOUD_COLOR
private static final long CLOUD_COLOR- See Also:
-
skyFlashTime
private int skyFlashTime -
tintCaches
private final it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap<ColorResolver,BlockTintCache> tintCaches -
chunkSource
-
lightUpdateQueue
-
serverSimulationDistance
private int serverSimulationDistance -
blockStatePredictionHandler
-
MARKER_PARTICLE_ITEMS
-
partEntities
-
modelDataManager
-
dayTimeFraction
private float dayTimeFraction -
dayTimePerTick
private float dayTimePerTick
-
-
Constructor Details
-
ClientLevel
public ClientLevel(ClientPacketListener connection, ClientLevel.ClientLevelData clientLevelData, ResourceKey<Level> dimension, Holder<DimensionType> dimensionType, int viewDistance, int serverSimulationDistance, Supplier<ProfilerFiller> profiler, LevelRenderer levelRenderer, boolean isDebug, long biomeZoomSeed)
-
-
Method Details
-
handleBlockChangedAck
public void handleBlockChangedAck(int sequence) -
setServerVerifiedBlockState
-
syncBlockState
-
getBlockStatePredictionHandler
BlockStatePredictionHandler getBlockStatePredictionHandler() -
setBlock
- Specified by:
setBlockin interfaceLevelWriter- Overrides:
setBlockin classLevel
-
queueLightUpdate
-
pollLightUpdates
public void pollLightUpdates() -
isLightUpdateQueueEmpty
public boolean isLightUpdateQueueEmpty() -
effects
-
tick
Runs a single tick for the world -
tickTime
private void tickTime() -
setGameTime
public void setGameTime(long time) -
setDayTime
public void setDayTime(long time) Sets the world time. -
entitiesForRendering
-
tickEntities
public void tickEntities() -
shouldTickDeath
- Overrides:
shouldTickDeathin classLevel
-
tickNonPassenger
-
tickPassenger
-
unload
-
onChunkLoaded
-
clearTintCaches
public void clearTintCaches() -
hasChunk
public boolean hasChunk(int chunkX, int chunkZ) -
getEntityCount
public int getEntityCount() -
addEntity
-
removeEntity
-
getEntity
Returns the Entity with the given ID, or null if it doesn't exist in this World. -
disconnect
public void disconnect()- Overrides:
disconnectin classLevel
-
animateTick
public void animateTick(int posX, int posY, int posZ) -
getMarkerParticleTarget
-
doAnimateTick
public void doAnimateTick(int posX, int posY, int posZ, int range, RandomSource random, @Nullable Block block, BlockPos.MutableBlockPos blockPos) -
trySpawnDripParticles
private void trySpawnDripParticles(BlockPos blockPos, BlockState blockState, ParticleOptions particleData, boolean shapeDownSolid) -
spawnParticle
private void spawnParticle(BlockPos pos, ParticleOptions particleData, VoxelShape voxelShape, double y) -
spawnFluidParticle
private void spawnFluidParticle(double xStart, double xEnd, double zStart, double zEnd, double y, ParticleOptions particleData) -
fillReportDetails
Adds some basic stats of the world to the given crash report.- Overrides:
fillReportDetailsin 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:
playSeededSoundin classLevel
-
playSeededSound
public void playSeededSound(@Nullable Player player, Entity entity, Holder<SoundEvent> sound, SoundSource category, float volume, float pitch, long seed) - Specified by:
playSeededSoundin classLevel
-
playLocalSound
public void playLocalSound(Entity entity, SoundEvent sound, SoundSource category, float volume, float pitch) - Overrides:
playLocalSoundin classLevel
-
playLocalSound
public void playLocalSound(double x, double y, double z, SoundEvent sound, SoundSource category, float volume, float pitch, boolean distanceDelay) - Overrides:
playLocalSoundin classLevel
-
playSound
private void playSound(double x, double y, double z, SoundEvent soundEvent, SoundSource source, float volume, float pitch, boolean distanceDelay, long seed) -
createFireworks
public void createFireworks(double x, double y, double z, double xSpeed, double ySpeed, double zSpeed, List<FireworkExplosion> explosions) - Overrides:
createFireworksin classLevel
-
sendPacketToServer
- Overrides:
sendPacketToServerin classLevel
-
getRecipeManager
- Specified by:
getRecipeManagerin classLevel
-
tickRateManager
- Specified by:
tickRateManagerin classLevel
-
getBlockTicks
-
getFluidTicks
-
getChunkSource
-
getMapData
- Specified by:
getMapDatain classLevel
-
overrideMapData
-
setMapData
- Specified by:
setMapDatain classLevel
-
getFreeMapId
- Specified by:
getFreeMapIdin classLevel
-
getScoreboard
- Specified by:
getScoreboardin classLevel
-
sendBlockUpdated
Flags are as in setBlockState- Specified by:
sendBlockUpdatedin classLevel
-
setBlocksDirty
- Overrides:
setBlocksDirtyin classLevel
-
setSectionDirtyWithNeighbors
public void setSectionDirtyWithNeighbors(int sectionX, int sectionY, int sectionZ) -
destroyBlockProgress
- Specified by:
destroyBlockProgressin classLevel
-
globalLevelEvent
- Overrides:
globalLevelEventin classLevel
-
levelEvent
-
addParticle
public void addParticle(ParticleOptions particleData, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) - Specified by:
addParticlein interfaceLevelAccessor- Overrides:
addParticlein classLevel
-
addParticle
public void addParticle(ParticleOptions particleData, boolean forceAlwaysRender, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) - Overrides:
addParticlein classLevel
-
addAlwaysVisibleParticle
public void addAlwaysVisibleParticle(ParticleOptions particleData, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) - Overrides:
addAlwaysVisibleParticlein classLevel
-
addAlwaysVisibleParticle
public void addAlwaysVisibleParticle(ParticleOptions particleData, boolean ignoreRange, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) - Overrides:
addAlwaysVisibleParticlein classLevel
-
players
-
getUncachedNoiseBiome
-
getSkyDarken
public float getSkyDarken(float partialTick) -
getSkyColor
-
getCloudColor
-
getStarBrightness
public float getStarBrightness(float partialTick) -
getSkyFlashTime
public int getSkyFlashTime() -
setSkyFlashTime
public void setSkyFlashTime(int timeFlash) - Overrides:
setSkyFlashTimein classLevel
-
getShade
-
getBlockTint
-
calculateBlockTint
-
setDefaultSpawnPos
-
toString
-
getLevelData
- Specified by:
getLevelDatain interfaceLevelAccessor- Overrides:
getLevelDatain classLevel
-
gameEvent
-
getAllMapData
-
addMapData
-
getEntities
- Specified by:
getEntitiesin classLevel
-
gatherChunkSourceStats
- Specified by:
gatherChunkSourceStatsin classLevel
-
addDestroyBlockEffect
- Overrides:
addDestroyBlockEffectin classLevel
-
setServerSimulationDistance
public void setServerSimulationDistance(int serverSimulationDistance) -
getServerSimulationDistance
public int getServerSimulationDistance() -
enabledFeatures
-
potionBrewing
- Specified by:
potionBrewingin classLevel
-
getPartEntities
Description copied from interface:ILevelExtensionAll 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. -
getModelDataManager
Description copied from interface:ILevelExtensionRetrieves the model data manager for the given level. May be null on a server level.For model data retrieval, prefer calling
IBlockGetterExtension.getModelData(BlockPos)rather than this method, as it works on more than just a level. -
getModelData
Description copied from interface:IBlockGetterExtensionRetrieves model data for a block at the given position.- Parameters:
pos- the position to query- Returns:
- the model data at this position, or
ModelData.EMPTYif none exists
-
getShade
public float getShade(float normalX, float normalY, float normalZ, boolean shade) Description copied from interface:IBlockAndTintGetterExtensionComputes the shade for a given normal. Alternate version of the vanilla method taking in aDirection. -
setDayTimeFraction
@Internal public void setDayTimeFraction(float dayTimeFraction) - Specified by:
setDayTimeFractionin classLevel
-
getDayTimeFraction
@Internal public float getDayTimeFraction()- Specified by:
getDayTimeFractionin classLevel
-
getDayTimePerTick
public float getDayTimePerTick()Description copied from class:LevelReturns 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:
getDayTimePerTickin classLevel
-
setDayTimePerTick
@Internal public void setDayTimePerTick(float dayTimePerTick) Description copied from class:LevelDO NOT CALL.Use
ServerLevel.setDayTimePerTick(float)instead.- Specified by:
setDayTimePerTickin classLevel
-