Package net.minecraft.world.server
Class ServerChunkProvider
- java.lang.Object
-
- net.minecraft.world.chunk.AbstractChunkProvider
-
- net.minecraft.world.server.ServerChunkProvider
-
- All Implemented Interfaces:
java.lang.AutoCloseable,IChunkLightProvider
public class ServerChunkProvider extends AbstractChunkProvider
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classServerChunkProvider.ChunkExecutor
-
Field Summary
Fields Modifier and Type Field Description private static java.util.List<ChunkStatus>CHUNK_STATUSESChunkManagerchunkMapprivate DimensionSavedDataManagerdataStorageprivate TicketManagerdistanceManagerChunkGeneratorgeneratorprivate IChunk[]lastChunkprivate long[]lastChunkPosprivate ChunkStatus[]lastChunkStatusprivate longlastInhabitedUpdateprivate WorldEntitySpawner.EntityDensityManagerlastSpawnStateServerWorldlevelprivate ServerWorldLightManagerlightEngineprivate java.lang.ThreadmainThreadprivate ServerChunkProvider.ChunkExecutormainThreadProcessorprivate booleanspawnEnemiesprivate booleanspawnFriendlies
-
Constructor Summary
Constructors Constructor Description ServerChunkProvider(ServerWorld p_i232603_1_, SaveFormat.LevelSave p_i232603_2_, com.mojang.datafixers.DataFixer p_i232603_3_, TemplateManager p_i232603_4_, java.util.concurrent.Executor p_i232603_5_, ChunkGenerator p_i232603_6_, int p_i232603_7_, boolean p_i232603_8_, IChunkStatusListener p_i232603_9_, java.util.function.Supplier<DimensionSavedDataManager> p_i232603_10_)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddEntity(Entity p_217230_1_)<T> voidaddRegionTicket(TicketType<T> p_217228_1_, ChunkPos p_217228_2_, int p_217228_3_, T p_217228_4_)voidblockChanged(BlockPos p_217217_1_)voidbroadcast(Entity p_217218_1_, IPacket<?> p_217218_2_)voidbroadcastAndSend(Entity p_217216_1_, IPacket<?> p_217216_2_)private booleancheckChunkFuture(long p_222872_1_, java.util.function.Function<ChunkHolder,java.util.concurrent.CompletableFuture<com.mojang.datafixers.util.Either<Chunk,ChunkHolder.IChunkLoadingError>>> p_222872_3_)private booleanchunkAbsent(ChunkHolder p_217224_1_, int p_217224_2_)private voidclearCache()voidclose()java.lang.StringgatherStats()IChunkgetChunk(int p_212849_1_, int p_212849_2_, ChunkStatus p_212849_3_, boolean p_212849_4_)java.lang.StringgetChunkDebugData(ChunkPos p_217208_1_)IBlockReadergetChunkForLighting(int p_217202_1_, int p_217202_2_)java.util.concurrent.CompletableFuture<com.mojang.datafixers.util.Either<IChunk,ChunkHolder.IChunkLoadingError>>getChunkFuture(int p_217232_1_, int p_217232_2_, ChunkStatus p_217232_3_, boolean p_217232_4_)private java.util.concurrent.CompletableFuture<com.mojang.datafixers.util.Either<IChunk,ChunkHolder.IChunkLoadingError>>getChunkFutureMainThread(int p_217233_1_, int p_217233_2_, ChunkStatus p_217233_3_, boolean p_217233_4_)ChunkgetChunkNow(int p_225313_1_, int p_225313_2_)DimensionSavedDataManagergetDataStorage()private voidgetFullChunk(long p_241098_1_, java.util.function.Consumer<Chunk> p_241098_3_)ChunkGeneratorgetGenerator()WorldEntitySpawner.EntityDensityManagergetLastSpawnState()WorldgetLevel()ServerWorldLightManagergetLightEngine()intgetLoadedChunksCount()intgetPendingTasksCount()PointOfInterestManagergetPoiManager()intgetTickingGenerated()private ChunkHoldergetVisibleChunkIfPresent(long p_217213_1_)booleanhasChunk(int p_73149_1_, int p_73149_2_)booleanisEntityTickingChunk(Entity p_217204_1_)booleanisEntityTickingChunk(ChunkPos p_222865_1_)booleanisTickingChunk(BlockPos p_222866_1_)voidmove(ServerPlayerEntity p_217221_1_)voidonLightUpdate(LightType p_217201_1_, SectionPos p_217201_2_)booleanpollTask()<T> voidregisterTickingTicket(TicketType<T> type, ChunkPos pos, int distance, T value)<T> voidreleaseTickingTicket(TicketType<T> type, ChunkPos pos, int distance, T value)voidremoveEntity(Entity p_217226_1_)<T> voidremoveRegionTicket(TicketType<T> p_217222_1_, ChunkPos p_217222_2_, int p_217222_3_, T p_217222_4_)private booleanrunDistanceManagerUpdates()voidsave(boolean p_217210_1_)voidsetSpawnSettings(boolean p_217203_1_, boolean p_217203_2_)voidsetViewDistance(int p_217219_1_)private voidstoreInCache(long p_225315_1_, IChunk p_225315_3_, ChunkStatus p_225315_4_)voidtick(java.util.function.BooleanSupplier p_217207_1_)private voidtickChunks()voidupdateChunkForced(ChunkPos p_217206_1_, boolean p_217206_2_)-
Methods inherited from class net.minecraft.world.chunk.AbstractChunkProvider
getChunk
-
-
-
-
Field Detail
-
CHUNK_STATUSES
private static final java.util.List<ChunkStatus> CHUNK_STATUSES
-
distanceManager
private final TicketManager distanceManager
-
generator
public final ChunkGenerator generator
-
level
public final ServerWorld level
-
mainThread
private final java.lang.Thread mainThread
-
lightEngine
private final ServerWorldLightManager lightEngine
-
mainThreadProcessor
private final ServerChunkProvider.ChunkExecutor mainThreadProcessor
-
chunkMap
public final ChunkManager chunkMap
-
dataStorage
private final DimensionSavedDataManager dataStorage
-
lastInhabitedUpdate
private long lastInhabitedUpdate
-
spawnEnemies
private boolean spawnEnemies
-
spawnFriendlies
private boolean spawnFriendlies
-
lastChunkPos
private final long[] lastChunkPos
-
lastChunkStatus
private final ChunkStatus[] lastChunkStatus
-
lastChunk
private final IChunk[] lastChunk
-
lastSpawnState
@Nullable private WorldEntitySpawner.EntityDensityManager lastSpawnState
-
-
Constructor Detail
-
ServerChunkProvider
public ServerChunkProvider(ServerWorld p_i232603_1_, SaveFormat.LevelSave p_i232603_2_, com.mojang.datafixers.DataFixer p_i232603_3_, TemplateManager p_i232603_4_, java.util.concurrent.Executor p_i232603_5_, ChunkGenerator p_i232603_6_, int p_i232603_7_, boolean p_i232603_8_, IChunkStatusListener p_i232603_9_, java.util.function.Supplier<DimensionSavedDataManager> p_i232603_10_)
-
-
Method Detail
-
getLightEngine
public ServerWorldLightManager getLightEngine()
- Specified by:
getLightEnginein classAbstractChunkProvider
-
getVisibleChunkIfPresent
@Nullable private ChunkHolder getVisibleChunkIfPresent(long p_217213_1_)
-
getTickingGenerated
public int getTickingGenerated()
-
storeInCache
private void storeInCache(long p_225315_1_, IChunk p_225315_3_, ChunkStatus p_225315_4_)
-
getChunk
@Nullable public IChunk getChunk(int p_212849_1_, int p_212849_2_, ChunkStatus p_212849_3_, boolean p_212849_4_)
- Specified by:
getChunkin classAbstractChunkProvider
-
getChunkNow
@Nullable public Chunk getChunkNow(int p_225313_1_, int p_225313_2_)
- Overrides:
getChunkNowin classAbstractChunkProvider
-
clearCache
private void clearCache()
-
getChunkFuture
public java.util.concurrent.CompletableFuture<com.mojang.datafixers.util.Either<IChunk,ChunkHolder.IChunkLoadingError>> getChunkFuture(int p_217232_1_, int p_217232_2_, ChunkStatus p_217232_3_, boolean p_217232_4_)
-
getChunkFutureMainThread
private java.util.concurrent.CompletableFuture<com.mojang.datafixers.util.Either<IChunk,ChunkHolder.IChunkLoadingError>> getChunkFutureMainThread(int p_217233_1_, int p_217233_2_, ChunkStatus p_217233_3_, boolean p_217233_4_)
-
chunkAbsent
private boolean chunkAbsent(@Nullable ChunkHolder p_217224_1_, int p_217224_2_)
-
hasChunk
public boolean hasChunk(int p_73149_1_, int p_73149_2_)- Overrides:
hasChunkin classAbstractChunkProvider
-
getChunkForLighting
public IBlockReader getChunkForLighting(int p_217202_1_, int p_217202_2_)
- Specified by:
getChunkForLightingin interfaceIChunkLightProvider- Overrides:
getChunkForLightingin classAbstractChunkProvider
-
getLevel
public World getLevel()
-
pollTask
public boolean pollTask()
-
runDistanceManagerUpdates
private boolean runDistanceManagerUpdates()
-
isEntityTickingChunk
public boolean isEntityTickingChunk(Entity p_217204_1_)
- Overrides:
isEntityTickingChunkin classAbstractChunkProvider
-
isEntityTickingChunk
public boolean isEntityTickingChunk(ChunkPos p_222865_1_)
- Overrides:
isEntityTickingChunkin classAbstractChunkProvider
-
isTickingChunk
public boolean isTickingChunk(BlockPos p_222866_1_)
- Overrides:
isTickingChunkin classAbstractChunkProvider
-
checkChunkFuture
private boolean checkChunkFuture(long p_222872_1_, java.util.function.Function<ChunkHolder,java.util.concurrent.CompletableFuture<com.mojang.datafixers.util.Either<Chunk,ChunkHolder.IChunkLoadingError>>> p_222872_3_)
-
save
public void save(boolean p_217210_1_)
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Overrides:
closein classAbstractChunkProvider- Throws:
java.io.IOException
-
tick
public void tick(java.util.function.BooleanSupplier p_217207_1_)
-
tickChunks
private void tickChunks()
-
getFullChunk
private void getFullChunk(long p_241098_1_, java.util.function.Consumer<Chunk> p_241098_3_)
-
gatherStats
public java.lang.String gatherStats()
- Specified by:
gatherStatsin classAbstractChunkProvider
-
getPendingTasksCount
public int getPendingTasksCount()
-
getGenerator
public ChunkGenerator getGenerator()
-
getLoadedChunksCount
public int getLoadedChunksCount()
-
blockChanged
public void blockChanged(BlockPos p_217217_1_)
-
onLightUpdate
public void onLightUpdate(LightType p_217201_1_, SectionPos p_217201_2_)
-
addRegionTicket
public <T> void addRegionTicket(TicketType<T> p_217228_1_, ChunkPos p_217228_2_, int p_217228_3_, T p_217228_4_)
-
removeRegionTicket
public <T> void removeRegionTicket(TicketType<T> p_217222_1_, ChunkPos p_217222_2_, int p_217222_3_, T p_217222_4_)
-
registerTickingTicket
public <T> void registerTickingTicket(TicketType<T> type, ChunkPos pos, int distance, T value)
-
releaseTickingTicket
public <T> void releaseTickingTicket(TicketType<T> type, ChunkPos pos, int distance, T value)
-
updateChunkForced
public void updateChunkForced(ChunkPos p_217206_1_, boolean p_217206_2_)
- Overrides:
updateChunkForcedin classAbstractChunkProvider
-
move
public void move(ServerPlayerEntity p_217221_1_)
-
removeEntity
public void removeEntity(Entity p_217226_1_)
-
addEntity
public void addEntity(Entity p_217230_1_)
-
setViewDistance
public void setViewDistance(int p_217219_1_)
-
setSpawnSettings
public void setSpawnSettings(boolean p_217203_1_, boolean p_217203_2_)- Overrides:
setSpawnSettingsin classAbstractChunkProvider
-
getChunkDebugData
public java.lang.String getChunkDebugData(ChunkPos p_217208_1_)
-
getDataStorage
public DimensionSavedDataManager getDataStorage()
-
getPoiManager
public PointOfInterestManager getPoiManager()
-
getLastSpawnState
@Nullable public WorldEntitySpawner.EntityDensityManager getLastSpawnState()
-
-