Package net.minecraft.world.chunk
Class WorldChunk
java.lang.Object
net.minecraft.world.chunk.WorldChunk
- All Implemented Interfaces:
BlockView
,Chunk
,StructureHolder
- Direct Known Subclasses:
EmptyChunk
public class WorldChunk extends Object implements Chunk
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
WorldChunk.CreationType
-
Field Summary
Fields Modifier and Type Field Description private BiomeArray
biomeArray
private Map<BlockPos,BlockEntity>
blockEntities
private TickScheduler<Block>
blockTickScheduler
static ChunkSection
EMPTY_SECTION
private TypeFilterableList<Entity>[]
entitySections
private TickScheduler<Fluid>
fluidTickScheduler
private Map<Heightmap.Type,Heightmap>
heightmaps
private long
inhabitedTime
private long
lastSaveTime
private Supplier<ChunkHolder.LevelType>
levelTypeProvider
private boolean
lightOn
private boolean
loadedToWorld
private Consumer<WorldChunk>
loadToWorldConsumer
private static Logger
LOGGER
private Map<BlockPos,CompoundTag>
pendingBlockEntityTags
private ChunkPos
pos
private ShortList[]
postProcessingLists
private ChunkSection[]
sections
private boolean
shouldSave
private Map<StructureFeature<?>,LongSet>
structureReferences
private Map<StructureFeature<?>,StructureStart<?>>
structureStarts
private boolean
unsaved
private UpgradeData
upgradeData
private World
world
-
Constructor Summary
Constructors Constructor Description WorldChunk(World world, ChunkPos pos, BiomeArray biomes)
WorldChunk(World world, ChunkPos pos, BiomeArray biomes, UpgradeData upgradeData, TickScheduler<Block> blockTickScheduler, TickScheduler<Fluid> fluidTickScheduler, long inhabitedTime, ChunkSection[] sections, Consumer<WorldChunk> loadToWorldConsumer)
WorldChunk(World world, ProtoChunk protoChunk)
-
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.world.BlockView
getDismountHeight, getDismountHeight, getHeight, getLuminance, getMaxLightLevel, method_29546, raycast, raycastBlock
Methods inherited from interface net.minecraft.world.chunk.Chunk
areSectionsEmptyBetween, getHighestNonEmptySection, getHighestNonEmptySectionYOffset, markBlockForPostProcessing, markBlockForPostProcessing
-
Field Details
-
LOGGER
-
EMPTY_SECTION
-
sections
-
biomeArray
-
pendingBlockEntityTags
-
loadedToWorld
private boolean loadedToWorld -
world
-
heightmaps
-
upgradeData
-
blockEntities
-
entitySections
-
structureStarts
-
structureReferences
-
postProcessingLists
-
blockTickScheduler
-
fluidTickScheduler
-
unsaved
private boolean unsaved -
lastSaveTime
private long lastSaveTime -
shouldSave
private volatile boolean shouldSave -
inhabitedTime
private long inhabitedTime -
levelTypeProvider
-
loadToWorldConsumer
-
pos
-
lightOn
private volatile boolean lightOn
-
-
Constructor Details
-
WorldChunk
-
WorldChunk
public WorldChunk(World world, ChunkPos pos, BiomeArray biomes, UpgradeData upgradeData, TickScheduler<Block> blockTickScheduler, TickScheduler<Fluid> fluidTickScheduler, long inhabitedTime, @Nullable ChunkSection[] sections, @Nullable Consumer<WorldChunk> loadToWorldConsumer) -
WorldChunk
-
-
Method Details
-
getHeightmap
- Specified by:
getHeightmap
in interfaceChunk
-
getBlockEntityPositions
- Specified by:
getBlockEntityPositions
in interfaceChunk
-
getSectionArray
- Specified by:
getSectionArray
in interfaceChunk
-
getBlockState
- Specified by:
getBlockState
in interfaceBlockView
-
getFluidState
- Specified by:
getFluidState
in interfaceBlockView
-
getFluidState
-
setBlockState
- Specified by:
setBlockState
in interfaceChunk
-
getLightingProvider
-
addEntity
-
setHeightmap
- Specified by:
setHeightmap
in interfaceChunk
-
remove
-
remove
-
sampleHeightmap
- Specified by:
sampleHeightmap
in interfaceChunk
-
createBlockEntity
-
getBlockEntity
- Specified by:
getBlockEntity
in interfaceBlockView
-
getBlockEntity
-
addBlockEntity
-
setBlockEntity
- Specified by:
setBlockEntity
in interfaceChunk
-
addPendingBlockEntityTag
- Specified by:
addPendingBlockEntityTag
in interfaceChunk
-
getPackedBlockEntityTag
- Specified by:
getPackedBlockEntityTag
in interfaceChunk
-
removeBlockEntity
- Specified by:
removeBlockEntity
in interfaceChunk
-
loadToWorld
public void loadToWorld() -
markDirty
public void markDirty() -
collectOtherEntities
-
collectEntities
public <T extends Entity> void collectEntities(@Nullable EntityType<?> type, Box box, List<? super T> result, Predicate<? super T> predicate)Collects a list of entities and appends them to the given list according to the specified criteria. Warning: Ifnull
is passed as the entity type filter, care should be taken that the type argumentT
is set toEntity
, otherwise heap pollution in the output list orClassCastException
can occur.- Parameters:
type
- the entity type of the entities to collect, ornull
to collect entities of all types.box
- the box within which collected entities must beresult
- a list in which to store the collected entitiespredicate
- a predicate which entities must satisfy in order to be collected
-
collectEntitiesByClass
public <T extends Entity> void collectEntitiesByClass(Class<? extends T> entityClass, Box box, List<T> result, @Nullable Predicate<? super T> predicate)Collects a list of entities of some runtime type and appends them to the given list. The runtime class of each collected entity will be the same as or a subclass of the given class.- Parameters:
entityClass
- the class object representing the type collected entities must extendbox
- the box in which to collect entitiesresult
- a list in which to store the collected entitiespredicate
- a predicate which entities must satisfy in order to be collected
-
isEmpty
public boolean isEmpty() -
getPos
-
loadFromPacket
@Environment(CLIENT) public void loadFromPacket(@Nullable BiomeArray biomes, PacketByteBuf buf, CompoundTag tag, int verticalStripBitmask) -
getBiomeArray
- Specified by:
getBiomeArray
in interfaceChunk
-
setLoadedToWorld
public void setLoadedToWorld(boolean loaded) -
getWorld
-
getHeightmaps
- Specified by:
getHeightmaps
in interfaceChunk
-
getBlockEntities
-
getEntitySectionArray
-
getBlockEntityTag
- Specified by:
getBlockEntityTag
in interfaceChunk
-
getLightSourcesStream
- Specified by:
getLightSourcesStream
in interfaceChunk
-
getBlockTickScheduler
- Specified by:
getBlockTickScheduler
in interfaceChunk
-
getFluidTickScheduler
- Specified by:
getFluidTickScheduler
in interfaceChunk
-
setShouldSave
public void setShouldSave(boolean shouldSave)- Specified by:
setShouldSave
in interfaceChunk
-
needsSaving
public boolean needsSaving()- Specified by:
needsSaving
in interfaceChunk
-
setUnsaved
public void setUnsaved(boolean unsaved) -
setLastSaveTime
public void setLastSaveTime(long lastSaveTime)- Specified by:
setLastSaveTime
in interfaceChunk
-
getStructureStart
- Specified by:
getStructureStart
in interfaceStructureHolder
-
setStructureStart
- Specified by:
setStructureStart
in interfaceStructureHolder
-
getStructureStarts
- Specified by:
getStructureStarts
in interfaceChunk
-
setStructureStarts
- Specified by:
setStructureStarts
in interfaceChunk
-
getStructureReferences
- Specified by:
getStructureReferences
in interfaceStructureHolder
-
addStructureReference
- Specified by:
addStructureReference
in interfaceStructureHolder
-
getStructureReferences
- Specified by:
getStructureReferences
in interfaceStructureHolder
-
setStructureReferences
- Specified by:
setStructureReferences
in interfaceStructureHolder
-
getInhabitedTime
public long getInhabitedTime()- Specified by:
getInhabitedTime
in interfaceChunk
-
setInhabitedTime
public void setInhabitedTime(long inhabitedTime)- Specified by:
setInhabitedTime
in interfaceChunk
-
runPostProcessing
public void runPostProcessing() -
loadBlockEntity
-
getUpgradeData
- Specified by:
getUpgradeData
in interfaceChunk
-
getPostProcessingLists
- Specified by:
getPostProcessingLists
in interfaceChunk
-
disableTickSchedulers
public void disableTickSchedulers() -
enableTickSchedulers
-
getStatus
-
getLevelType
-
setLevelTypeProvider
-
isLightOn
public boolean isLightOn() -
setLightOn
public void setLightOn(boolean lightOn)- Specified by:
setLightOn
in interfaceChunk
-