97 enum class DeserializeEntityResult :
int {
98 FailedToLoadActor = 0,
99 FailedToAddToLevel = 1,
103 enum class Finalization :
int {
104 NeedsInstaticking = 0,
113 ::ll::TypedStorage<1, 1, uchar> mNeighbors;
123 MCFOLD
bool hasNeighbor(::LevelChunkNeighbor neighbor)
const;
125 MCAPI
bool isSurrounded()
const;
129 MCFOLD
void setNeighbor(::LevelChunkNeighbor neighbor,
bool value);
135 MCAPI static ::std::array<::std::pair<::LevelChunkNeighbor, ::ChunkPos>, 8>
const& sOffsetMap();
141 MCFOLD
void* $ctor();
151 ::ll::TypedStorage<4, 24, ::BoundingBox> aabb;
152 ::ll::TypedStorage<1, 1, ::HardcodedSpawnAreaType> type;
160 ::ll::TypedStorage<1, 1, bool> mWasStored;
161 ::ll::TypedStorage<1, 1, bool> mWasGenerated;
162 ::ll::TypedStorage<1, 1, bool> mWasRequestedInsideTickRange;
163 ::ll::TypedStorage<1, 1, bool> mWasLoadedInsideTickRange;
167 using BBorder = bool;
171 using BlockActorVector = ::std::vector<::std::shared_ptr<::BlockActor>>;
176 ::ll::TypedStorage<8, 80, ::Bedrock::Threading::Mutex> mBlockEntityAccessLock;
177 ::ll::TypedStorage<8, 8, ::ILevel&> mLevel;
178 ::ll::TypedStorage<8, 8, ::Dimension&> mDimension;
179 ::ll::TypedStorage<4, 12, ::BlockPos> mMin;
180 ::ll::TypedStorage<4, 12, ::BlockPos> mMax;
181 ::ll::TypedStorage<8, 8, ::ChunkPos> mPosition;
182 ::ll::TypedStorage<1, 1, bool> mLightingFixupDone;
183 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mLightingTaskActive;
184 ::ll::TypedStorage<1, 1, bool> mReadOnly;
185 ::ll::TypedStorage<8, 8, ::ChunkSource*> mGenerator;
186 ::ll::TypedStorage<4, 4, ::LevelChunkTicking::Entity> mTmpTickingEntity;
187 ::ll::TypedStorage<1, 2, ::std::optional<::LevelChunkFormat>> mLoadedFormat;
188 ::ll::TypedStorage<8, 32, ::std::string> mSerializedEntitiesBuffer;
189 ::ll::TypedStorage<8, 32, ::std::string> mFailedSerializedEntitiesBuffer;
190 ::ll::TypedStorage<1, 1, bool> mHadSerializedEntities;
191 ::ll::TypedStorage<8, 24, ::std::vector<::ActorLink>> mUnresolvedActorLinks;
192 ::ll::TypedStorage<1, 1, ::std::atomic<::ChunkState>> mLoadState;
193 ::ll::TypedStorage<1, 1, ::ChunkTerrainDataState> mTerrainDataState;
194 ::ll::TypedStorage<1, 1, ::ChunkDebugDisplaySavedState> mDebugDisplaySavedState;
195 ::ll::TypedStorage<1, 1, ::ChunkCachedDataState> mCachedDataState;
196 ::ll::TypedStorage<8, 24, ::SpinLockImpl> mCachedDataStateSpinLock;
197 ::ll::TypedStorage<8, 24, ::SpinLockImpl> mClientRequestHeightmapAdjustSpinLock;
198 ::ll::TypedStorage<8, 8, ::Tick> mLastTick;
199 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BlockTickingQueue>> mTickQueue;
200 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::BlockTickingQueue>> mRandomTickQueue;
201 ::ll::TypedStorage<8, 24, ::std::vector<::SubChunk>> mSubChunks;
202 ::ll::TypedStorage<8, 24, ::std::vector<::std::unique_ptr<::SpinLockImpl>>> mSubChunkSpinLocks;
203 ::ll::TypedStorage<8, 552, ::LevelChunkBiomes> mBiomes;
204 ::ll::TypedStorage<4, 2048, ::std::array<::ColumnCachedData, 256>> mCachedData;
205 ::ll::TypedStorage<2, 512, ::std::array<::ChunkLocalHeight, 256>> mHeightmap;
206 ::ll::TypedStorage<2, 512, ::std::array<::ChunkLocalHeight, 256>> mRenderHeightmap;
207 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::std::vector<short>>> mPreWorldGenHeightmap;
208 ::ll::TypedStorage<2, 2, ::ChunkLocalHeight> mNonAirMaxHeight;
209 ::ll::TypedStorage<8, 64, ::std::unordered_map<::BiomeIdType, ::BiomeChunkState>> mBiomeStates;
210 ::ll::TypedStorage<1, 1, bool> mHasCachedTemperatureNoise;
211 ::ll::TypedStorage<1, 256, ::std::array<bool, 256>> mBorderBlockMap;
212 ::ll::TypedStorage<4, 4, int> mCurrentInstatick;
213 ::ll::TypedStorage<4, 4, ::LevelChunk::Finalization> mFinalized;
214 ::ll::TypedStorage<1, 1, bool> mIsRedstoneLoaded;
215 ::ll::TypedStorage<1, 1, bool> mOwnedByTickingThread;
216 ::ll::TypedStorage<1, 1, bool> mUse3DBiomeMaps;
217 ::ll::TypedStorage<1, 1, bool> mLevelChunkHas3dBiomeTag;
218 ::ll::TypedStorage<1, 4, ::LevelChunk::Telemetry> mTelemetry;
219 ::ll::TypedStorage<4, 48, ::DirtyTicksCounter[6]> mFullChunkDirtyTicksCounters;
220 ::ll::TypedStorage<4, 8, ::DirtyTicksCounter> mChunkActorsDirtyTicksCounter;
221 ::ll::TypedStorage<2, 512, ::std::array<::ChunkLocalHeight, 256>> mRainHeights;
222 ::ll::TypedStorage<8, 24, ::std::vector<::WeakEntityRef>> mEntities;
223 ::ll::TypedStorage<8, 24, ::std::vector<::std::string>> mRemovedActorStorageKeys;
224 ::ll::TypedStorage<8, 136, ::LevelChunkBlockActorStorage> mBlockEntities;
225 ::ll::TypedStorage<8, 24, ::std::vector<::std::shared_ptr<::BlockActor>>> mPreservedBlockEntities;
226 ::ll::TypedStorage<8, 24, ::std::vector<::WeakRef<::EntityContext>>> mVolumes;
227 ::ll::TypedStorage<1, 2, ::BrightnessPair> mDefaultBrightness;
228 ::ll::TypedStorage<8, 24, ::std::vector<::LevelChunk::SpawningArea>> mSpawningAreas;
229 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastNetworkLightingTime;
230 ::ll::TypedStorage<8, 8, uint64> mLoadedMetaDataHash;
231 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::LevelChunkMetaData>> mMetaData;
232 ::ll::TypedStorage<1, 1, bool> mClientNeedsToRequestSubChunks;
233 ::ll::TypedStorage<1, 1, bool> mLevelChunkHasHadOriginalLighting;
234 ::ll::TypedStorage<4, 16, float[2][2]> mChunkInterpolants;
235 ::ll::TypedStorage<1, 1, bool> mbChunkHasConverterTag;
236 ::ll::TypedStorage<1, 1, ::LevelChunk::Neighbors> mSavedNeighbors;
237 ::ll::TypedStorage<4, 8, ::std::optional<uint>> mGenerationSeed;
238 ::ll::TypedStorage<1, 1, bool> mGeneratedPreCavesAndCliffsBlending;
239 ::ll::TypedStorage<1, 1, bool> mOnChunkLoadedCalled;
240 ::ll::TypedStorage<1, 1, bool> mAllSerializedEntitiesLoaded;
241 ::ll::TypedStorage<8, 32, ::std::string> mOutOfBoundsBlockEntitiesBuffer;
242 ::ll::TypedStorage<1, 1, bool> mSaveNonActorDataIfDirty;
243 ::ll::TypedStorage<1, 1, bool> mSaveIfNeverSaved;
244 ::ll::TypedStorage<4, 4, ::std::atomic<int>> mSnowRandomValue;
245 ::ll::TypedStorage<1, 1, bool> mHasSubChunksToPrune;
246 ::ll::TypedStorage<1, 1, bool> mHaveSubChunksBeenPruned;
247 ::ll::TypedStorage<1, 1, bool> mShouldShiftUpFlatWorldSubChunks;
248 ::ll::TypedStorage<8, 24, ::SpinLockImpl> mSubChunksToPruneLock;
249 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::std::vector<::SubChunk>>> mSubChunksToPruneOutsideRange;
250 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::GameEventListenerRegistry>> mGameEventListenerRegistry;
251 ::ll::TypedStorage<1, 1, bool> mIsClientGenerated;
252 ::ll::TypedStorage<1, 1, bool> mWasClientGenerated;
253 ::ll::TypedStorage<1, 1, bool> mIsEmptyClientChunk;
254 ::ll::TypedStorage<1, 1, bool> mActorStorageUpdatedAfterCheckingForReplacementData;
255 ::ll::TypedStorage<1, 1, ::std::atomic<bool>> mIsTransient;
256 ::ll::TypedStorage<8, 856, ::LevelChunkVolumeData> mLevelChunkVolumeData;
261 LevelChunk& operator=(LevelChunk
const&);
262 LevelChunk(LevelChunk
const&);
272 ::SubChunkInitMode initBlocks,
273 bool initializeMetaData,
274 ::LevelChunkBlockActorStorage::TrackingMode blockActorTrackingMode
277 MCAPI
void _addEntityToVolumes(::gsl::not_null<::Actor*> actor);
280 MCFOLD
void _assertChunkLoadedNotCalledAlready()
const;
283 MCAPI
void _changeTerrainDataState(::ChunkTerrainDataState, ::ChunkTerrainDataState to);
285 MCAPI
void _checkAndInferMetaDataAfterDeserialization();
287 MCAPI ::std::shared_ptr<::BlockActor> _createBlockEntity(
300 MCAPI ::LevelChunk::DeserializeEntityResult
305 MCAPI
void _dispatchBlockBreakEvents(
313 MCAPI
void _fixupCommandBlocksOnTickingQueue(
::BlockSource& tickRegion);
315 MCAPI
void _fixupCorruptedBlockActors(
322 MCAPI
void _generateOriginalLightingSubChunk(
::BlockSource& source, uint64 subchunkIdx,
bool);
324 MCFOLD ::ChunkTerrainDataState _getTerrainDataState()
const;
327 MCAPI
void _handleHeightmapDataFromSubChunkPacketWithDeserializationChanges(
333 MCAPI
void _lightingCallbacks(
340 MCAPI
void _onRandomTickingQueueChanged();
342 MCAPI
void _onTickingQueueChanged();
344 MCAPI
void _placeBlockEntity(::std::shared_ptr<::BlockActor> te);
346 MCAPI
void _placeCallbackIfChunkLoaded(
350 ::gsl::not_null<::Block const*> current,
361 MCAPI
void _removeCallbacks(
371 MCAPI
void _setAllBiomesFrom2D(::std::array<::BiomeIdType, 256>& legacyBiomes);
381 MCAPI
void addHardcodedSpawningArea(
::BoundingBox const& spawnerAABB, ::HardcodedSpawnAreaType type);
387 MCAPI
void changeState(::ChunkState from, ::ChunkState to);
389 MCAPI
bool checkSeasonsPostProcessDirty()
const;
391 MCAPI
bool chunkHasConvertedDataTag()
const;
394 MCAPI
void clearBlockEntitiesInSubChunk(
401 MCAPI
void clearDirtyTickCounters();
403 MCAPI
void clientSubChunkRequestGenerateLightingForSubChunk(
::ChunkViewSource& neighborhood,
short absoluteIndex);
407 MCAPI
void deserializeBiomeStates(
::IDataInput& stream);
409 MCAPI
void deserializeBiomes(
::IDataInput& stream,
bool fromNetwork);
411 MCAPI
void deserializeBlockEntities(
::IDataInput& stream);
414 MCAPI
void deserializeBorderBlocks(
::IDataInput& stream);
417 MCAPI
void deserializeFinalization(
::IDataInput& stream);
419 MCAPI
bool deserializeKey(::std::string_view key, ::std::string_view value);
421 MCAPI
void deserializeLoadedVersion(
::IDataInput& stream);
423 MCAPI
void deserializeMetaDataHash(
::IDataInput& stream);
426 MCAPI
void deserializeSubChunk(
429 ::std::optional<::DeserializationChanges*> deserializationChanges
433 MCAPI
void deserializeSubChunk(
436 ::std::optional<schar> absoluteIndex,
437 ::std::optional<::DeserializationChanges*> deserializationChanges
442 MCAPI
void discardPrunedSubChunks();
445 MCAPI
bool doesClientNeedToRequestSubchunks()
const;
448 MCFOLD ::LevelChunkBlockActorAccessToken enableBlockEntityAccessForThisThread()
const;
454 MCAPI
void finalizeDeserialization();
456 MCAPI
void finalizePostProcessing();
458 MCAPI
void finalizeSubChunkDeserialization(
465 MCAPI
bool generateOriginalLighting(
::ChunkViewSource& neighborhood,
bool enforceBorderCheck);
467 MCAPI ::ChunkLocalHeight getAboveTopSolidBlock(
469 bool iteratePastInitialBlocking,
474 MCAPI
void getActors(
477 ::std::vector<::Actor*>& actors
483 MCAPI ::std::unique_ptr<::Bedrock::Threading::SharedLock<::std::shared_mutex>
const> getBiomesReadLock();
488 MCAPI ::LevelChunkBlockActorStorage
const& getBlockEntities()
const;
494 MCAPI ::BrightnessPair getBrightness(
::ChunkBlockPos const& pos)
const;
498 MCAPI ::std::vector<::WeakEntityRef>& getChunkEntities();
500 MCFOLD ::Dimension& getDimension()
const;
503 MCAPI ::std::array<::ChunkLocalHeight, 256> getEntireLightingHeightMap()
const;
506 MCAPI
void getEntities(
507 ::gsl::span<::gsl::not_null<::Actor const*>> ignoredEntities,
509 ::std::vector<::Actor*>& entities,
514 getEntities(::ActorType type,
::AABB const& bb, ::std::vector<::Actor*>& es,
bool ignoreTargetType)
const;
518 MCAPI ::Block
const& getExtraBlock(
::ChunkBlockPos const& localPos)
const;
520 MCAPI ::LevelChunk::Finalization getFinalized()
const;
522 MCAPI ::GameEventListenerRegistry& getGameEventListenerRegistry()
const;
524 MCFOLD ::ChunkSource* getGenerator()
const;
530 MCAPI ::DimensionHeightRange
const& getHeightRange()
const;
535 MCAPI ::ChunkLocalHeight getHeightmapLocal(
::ChunkBlockPos const& pos)
const;
538 MCAPI
short getHighestNonAirSubChunkIndex()
const;
540 MCAPI
float getInterpolant(uint64 x, uint64 y)
const;
543 MCAPI ::std::chrono::steady_clock::time_point getLastNetworkLightingTime()
const;
546 MCFOLD ::Tick
const& getLastTick()
const;
548 MCFOLD ::ILevel& getLevel()
const;
550 MCAPI ::LevelChunkVolumeData& getLevelChunkVolumeData();
552 MCAPI ::std::optional<::LevelChunkFormat> getLoadedFormat()
const;
554 MCAPI ::BlockPos
const& getMax()
const;
556 MCAPI
short getMaxAllocatedY()
const;
558 MCAPI uint64 getMaxSubChunkCnt()
const;
560 MCAPI
short getMaxY()
const;
563 MCAPI
short getMaxYIndex()
const;
566 MCAPI ::std::shared_ptr<::LevelChunkMetaData const> getMetaData()
const;
568 MCAPI ::std::shared_ptr<::LevelChunkMetaData> getMetaDataCopy()
const;
570 MCFOLD ::BlockPos
const& getMin()
const;
572 MCAPI
short getMinY()
const;
575 MCAPI
short getMinYIndex()
const;
578 MCAPI
short getNonAirMaxHeight()
const;
580 MCFOLD ::ChunkPos
const& getPosition()
const;
582 MCAPI ::ChunkLocalHeight getPreWorldGenHeightmap(
::ChunkBlockPos const& pos)
const;
584 MCAPI ::HeightmapWrapper getPreWorldGenHeightmap()
const;
586 MCAPI ::std::vector<::std::shared_ptr<::BlockActor>>
const& getPreservedBlockEntities()
const;
588 MCFOLD ::BlockTickingQueue& getRandomTickQueue();
592 MCFOLD ::std::atomic<::ChunkState>
const& getState()
const;
594 MCAPI ::SubChunk
const* getSubChunk(
short absoluteIndex)
const;
596 MCAPI ::SubChunk* getSubChunk(
short absoluteIndex);
598 MCAPI
short getSubChunkAbsoluteIndexFromSubChunkIndex(uint64 index)
const;
600 MCAPI uint64 getSubChunkIndexFromAbsoluteIndex(
short absoluteIndex)
const;
603 MCAPI ::buffer_span_mut<::SubChunk> getSubChunks(
short minIndex,
short maxIndex);
605 MCAPI ::Biome
const& getSurfaceBiome(
::BlockPos const& pos)
const;
610 MCFOLD ::BlockTickingQueue
const& getTickQueue()
const;
612 MCFOLD ::BlockTickingQueue& getTickQueue();
616 MCAPI ::ChunkLocalHeight getTotalAllocatedHeight()
const;
621 MCAPI
void handleHeightmapDataFromSubChunkPacket(
622 short subChunkAbsoluteIndex,
624 ::std::optional<::DeserializationChanges*> deserializationChanges
628 MCAPI
bool hasAnyBiomeStates()
const;
630 MCAPI
bool hasBlockEntitiesToSerialize()
const;
632 MCFOLD
bool hasEntitiesPendingToLoad()
const;
634 MCAPI
bool hasEntitiesToSerialize()
const;
638 MCAPI
bool isAnyBlockEntityDirty()
const;
640 MCAPI
bool isBlockInChunk(
::BlockPos const& block)
const;
642 MCAPI
bool isClientGeneratedChunk()
const;
644 MCAPI
bool isEmptyClientChunk()
const;
646 MCAPI
bool isFullyLoaded()
const;
648 MCAPI
bool isNonActorDataDirty()
const;
650 MCAPI
bool isOwnedByTickingThread()
const;
652 MCAPI
bool isReadOnly()
const;
657 MCAPI
bool isSubChunkHeightWithinRange(
short const& subChunkHeight)
const;
660 MCAPI
bool isTransient()
const;
662 MCAPI
void legacyDeserializeBlockExtraData(
::IDataInput& stream);
664 MCAPI
void legacyDeserializeTerrain(
::IDataInput& stream);
666 MCAPI
bool levelChunkHad3dBiomeTagOnLastDeserialize()
const;
669 MCAPI
bool levelChunkHasHadOriginalLighting()
const;
672 MCAPI
void markAsTransient();
676 MCAPI
void markSaveIfNeverSaved();
678 MCAPI
void markSaveNonActorDataIfDirty();
680 MCAPI
bool metaDataDirty()
const;
683 MCAPI
void moveLevelChunk(::LevelChunk&& otherChunk, uint64 subChunkRequestLimit);
686 MCAPI
bool needsUpgradeFix()
const;
688 MCAPI
bool needsWallFix()
const;
690 MCAPI
bool nonActorDataNeedsSaving(
int wait,
int maxWait)
const;
692 MCAPI
void onBlockEntityChanged();
694 MCAPI
void onDiscarded();
696 MCAPI
void onTickingStarted();
698 MCAPI ::LevelChunk& operator=(::LevelChunk&& otherChunk);
700 MCAPI
void placeCallbacks(
705 ::std::shared_ptr<::BlockActor> blockEntity,
709 MCAPI
void populateHeightMapDataForSubChunkPacket(
710 short subChunkAbsoluteIndex,
714 MCAPI
void pruneBiomesAboveHeightmap();
716 MCAPI
void pruneBiomesSubChunk3D(ushort subChunkIndex);
719 MCAPI
void recalculateChunkSkyLight();
722 MCAPI
void recalculateSubchunkHashes(
bool network);
724 MCAPI
void recomputeHeightMap(
bool resetLighting);
726 MCAPI ::std::shared_ptr<::BlockActor> removeBlockEntity(
::BlockPos const& blockPos);
732 MCAPI
void removeHardcodedSpawningArea(::HardcodedSpawnAreaType type);
735 MCAPI
void resetLightingTaskActive();
740 MCAPI
void serializeBiomeStates(
::IDataOutput& stream)
const;
746 MCAPI
void serializeBlockEntitiesForSubChunk(
752 MCAPI
bool serializeBorderBlocks(
::IDataOutput& stream)
const;
754 MCAPI
void serializeEntities(
756 bool markProcessedOnChunkDisard,
757 ::std::function<
void(::std::string
const&)> addLiveActorCallback,
758 ::std::function<
void(::std::string
const&)> addActorKeyCallback,
759 ::std::function<
void(::std::string
const&)> addSerializedActor
762 MCAPI
void serializeEntityRemovals(::std::function<
void(::std::string
const&)> callback);
764 MCAPI
void serializeFinalization(
::IDataOutput& stream)
const;
766 MCAPI
void serializeMetaDataHash(
::IDataOutput& stream)
const;
768 MCAPI
void serializeRandomTicks(
::IDataOutput& stream)
const;
780 MCAPI
void setBiomeSubChunk3D(
::Biome const& biome, ushort subChunkIndex);
782 MCAPI ::Block
const& setBlock(
786 ::std::shared_ptr<::BlockActor> blockEntity,
792 MCAPI
void setBlockVolume(
::BlockVolume const& box, uint yOffset);
796 MCAPI
void setCachedTemperatureNoise(
::ChunkBlockPos const& pos, schar noiseVal);
801 MCAPI
void setClientNeedsToRequestSubchunks(::std::optional<uint64> requestLimit);
803 MCAPI
void setEmptyClientChunk();
811 MCAPI
void setFinalized(::LevelChunk::Finalization state);
817 MCAPI
void setHadSerializedEntities();
819 MCAPI
void setIsClientGeneratedChunk(
bool isClientGenerated);
822 MCAPI
void setLastNetworkLightingTime(::std::chrono::steady_clock::time_point timeToSet);
825 MCAPI
void setMetaData(::std::shared_ptr<::LevelChunkMetaData> metaData);
827 MCAPI
void setPendingEntities(::std::string entitiesData);
829 MCAPI
void setPreWorldGenHeightMap(::std::unique_ptr<::std::vector<short>> heightmap);
831 MCAPI
void setSaved();
833 MCAPI
void setToSingleBiome(
::Biome const& biome);
835 MCAPI
void setUnsaved();
843 MCAPI
bool shouldSaveIfNeverSaved()
const;
845 MCAPI
bool shouldSaveNonActorDataIfDirty()
const;
847 MCAPI
bool subChunkIsSafeReference(
::BlockPos const& blockPos)
const;
855 MCAPI
void tickImpl(
::BlockSource& tickRegion,
::Tick const& tick, ::std::function<
void()> spawnerCallback);
859 MCAPI
bool tryChangeState(::ChunkState from, ::ChunkState to);
862 MCAPI
bool trySetLightingTaskActive();
867 MCAPI
void updateLoadedMetaDataHash();
869 MCAPI
void validateAndFixBiomeStates();
872 MCAPI
bool wasEverClientGenerated()
const;
875 MCAPI
bool wasTickedThisTick(
::Tick const& tick)
const;
883 MCAPI static ::std::unique_ptr<::LevelChunk, ::LevelChunkPhase1Deleter> createNew(
887 ::SubChunkInitMode initBlocks,
888 ::LevelChunkBlockActorStorage::TrackingMode blockActorTrackingMode
891 MCAPI static ::std::unique_ptr<::LevelChunk>
892 createNewNoCustomDeleter(
::Dimension& dimension,
::ChunkPos cp,
bool readOnly, ::SubChunkInitMode initBlocks);
894 MCAPI static ::std::tuple<::std::array<::ChunkLocalHeight, 256>, ::std::array<::BiomeIdType, 256>>
895 deserialize2DData(
::IDataInput& stream, ::std::optional<::LevelChunkFormat>
const& lcFormat,
bool isClientSide);
897 MCAPI static ::std::pair<ushort, ::std::vector<::std::unique_ptr<::SubChunkStorage<::Biome>>>> deserialize3DBiomes(
900 ushort dimensionHeightInSubchunks,
905 MCAPI static ::std::tuple<
906 ::std::array<::ChunkLocalHeight, 256>,
908 ::std::vector<::std::unique_ptr<::SubChunkStorage<::Biome>>>>
912 ushort dimensionHeightInSubchunks,
916 MCAPI
static void deserializeSubChunk(
919 ::std::optional<schar> absoluteIndex,
922 ::std::optional<::DeserializationChanges*> deserializationChanges
925 MCAPI static ::std::optional<::BlockPos> findExposedLightningRod(
::BlockPos const& pos,
::BlockSource& region);
927 MCAPI
static void flushGarbageCollector();
929 MCAPI static ::std::pair<::LevelChunkTag, short> getTagAndSubIndexFromKey(::std::string_view key);
931 MCAPI
static void serializeEntities(
932 ::std::vector<::WeakEntityRef>
const& entities,
933 ::std::string
const& serializedEntitiesBuffer,
934 ::std::string
const& failedSerializedEntitiesBuffer,
936 bool markProcessedOnChunkDisard,
937 ::std::function<
void(::std::string
const&)> addLiveActorCallback,
938 ::std::function<
void(::std::string
const&)> addActorKeyCallback,
939 ::std::function<
void(::std::string
const&)> addSerializedActor
943 tuple<::std::array<::ChunkLocalHeight, 256>, ::std::array<::BiomeIdType, 256>, ::std::vector<::SubChunk>>
944 staticDeserializeLegacyTerrain(
::IDataInput& stream,
short minY, ushort dimensionSizeInSubchunks);
954 ::SubChunkInitMode initBlocks,
955 bool initializeMetaData,
956 ::LevelChunkBlockActorStorage::TrackingMode blockActorTrackingMode