Package net.minecraft.world.level.entity
Class PersistentEntitySectionManager<T extends EntityAccess>
java.lang.Object
net.minecraft.world.level.entity.PersistentEntitySectionManager<T>
- All Implemented Interfaces:
 AutoCloseable
public class PersistentEntitySectionManager<T extends EntityAccess>
extends Object
implements AutoCloseable
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) class(package private) static enum - 
Field Summary
FieldsModifier and TypeFieldDescription(package private) final LevelCallback<T> private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<PersistentEntitySectionManager.ChunkLoadStatus> private final it.unimi.dsi.fastutil.longs.LongSetprivate final it.unimi.dsi.fastutil.longs.Long2ObjectMap<Visibility> private final LevelEntityGetter<T> private final Queue<ChunkEntities<T>> (package private) static final org.slf4j.Loggerprivate final EntityPersistentStorage<T> (package private) final EntitySectionStorage<T> private final EntityLookup<T>  - 
Constructor Summary
ConstructorsConstructorDescriptionPersistentEntitySectionManager(Class<T> pEntityClass, LevelCallback<T> pCallbacks, EntityPersistentStorage<T> pPermanentStorage)  - 
Method Summary
Modifier and TypeMethodDescriptionprivate booleanprivate booleanaddEntityUuid(T pEntity) private booleanaddEntityWithoutEvent(T p_157539_, boolean p_157540_) voidaddLegacyChunkEntities(Stream<T> pEntities) booleanaddNewEntity(T pEntity) booleanaddNewEntityWithoutEvent(T entity) voidaddWorldGenChunkEntities(Stream<T> pEntities) booleanareEntitiesLoaded(long pChunkPos) voidautoSave()booleancanPositionTick(BlockPos pPos) booleancanPositionTick(ChunkPos pChunkPos) voidclose()intcount()voiddumpSections(Writer pWriter) private voidensureChunkQueuedForLoad(long pChunkPosValue) private it.unimi.dsi.fastutil.longs.LongSet(package private) static <T extends EntityAccess>
VisibilitygetEffectiveStatus(T pEntity, Visibility pVisibility) booleanbooleanprivate booleanprocessChunkUnload(long pChunkPosValue) voidprivate void(package private) voidremoveSectionIfEmpty(long pSectionKey, EntitySection<T> pSection) private voidrequestChunkLoad(long pChunkPosValue) voidsaveAll()(package private) voidstartTicking(T pEntity) (package private) voidstartTracking(T pEntity) (package private) voidstopTicking(T pEntity) (package private) voidstopTracking(T pEntity) private booleanstoreChunkSections(long pChunkPosValue, Consumer<T> pEntityAction) voidtick()private voidunloadEntity(EntityAccess pEntity) voidupdateChunkStatus(ChunkPos pChunkPos, FullChunkStatus pFullChunkStatus) voidupdateChunkStatus(ChunkPos pPos, Visibility pVisibility)  
- 
Field Details
- 
LOGGER
static final org.slf4j.Logger LOGGER - 
knownUuids
 - 
callbacks
 - 
permanentStorage
 - 
visibleEntityStorage
 - 
sectionStorage
 - 
entityGetter
 - 
chunkVisibility
 - 
chunkLoadStatuses
private final it.unimi.dsi.fastutil.longs.Long2ObjectMap<PersistentEntitySectionManager.ChunkLoadStatus> chunkLoadStatuses - 
chunksToUnload
private final it.unimi.dsi.fastutil.longs.LongSet chunksToUnload - 
loadingInbox
 
 - 
 - 
Constructor Details
- 
PersistentEntitySectionManager
public PersistentEntitySectionManager(Class<T> pEntityClass, LevelCallback<T> pCallbacks, EntityPersistentStorage<T> pPermanentStorage)  
 - 
 - 
Method Details
- 
removeSectionIfEmpty
 - 
addEntityUuid
 - 
addNewEntity
 - 
addNewEntityWithoutEvent
 - 
addEntity
 - 
addEntityWithoutEvent
 - 
getEffectiveStatus
 - 
isTicking
 - 
addLegacyChunkEntities
 - 
addWorldGenChunkEntities
 - 
startTicking
 - 
stopTicking
 - 
startTracking
 - 
stopTracking
 - 
updateChunkStatus
 - 
updateChunkStatus
 - 
ensureChunkQueuedForLoad
private void ensureChunkQueuedForLoad(long pChunkPosValue)  - 
storeChunkSections
 - 
requestChunkLoad
private void requestChunkLoad(long pChunkPosValue)  - 
processChunkUnload
private boolean processChunkUnload(long pChunkPosValue)  - 
unloadEntity
 - 
processUnloads
private void processUnloads() - 
processPendingLoads
public void processPendingLoads() - 
tick
public void tick() - 
getAllChunksToSave
private it.unimi.dsi.fastutil.longs.LongSet getAllChunksToSave() - 
autoSave
public void autoSave() - 
saveAll
public void saveAll() - 
close
- Specified by:
 closein interfaceAutoCloseable- Throws:
 IOException
 - 
isLoaded
 - 
getEntityGetter
 - 
canPositionTick
 - 
canPositionTick
 - 
areEntitiesLoaded
public boolean areEntitiesLoaded(long pChunkPos)  - 
dumpSections
- Throws:
 IOException
 - 
gatherStats
 - 
count
public int count() 
 -