27class NetworkChunkPublisher {
31 ::ll::TypedStorage<8, 8, ::ILevel&> mLevel;
32 ::ll::TypedStorage<8, 8, ::ServerNetworkSystem*> mNetwork;
33 ::ll::TypedStorage<8, 176, ::NetworkIdentifier> mOwner;
34 ::ll::TypedStorage<8, 8, ::ClientBlobCache::Server::ActiveTransfersManager*> mClientCache;
35 ::ll::TypedStorage<1, 1, ::SubClientId> mSubClientId;
36 ::ll::TypedStorage<4, 12, ::BlockPos> mLastChunkUpdatePosition;
37 ::ll::TypedStorage<4, 4, uint> mLastChunkUpdateRadius;
38 ::ll::TypedStorage<4, 4, uint> mHandleForChunkBuildOrderUpdates;
39 ::ll::TypedStorage<4, 4, int> mChunksSentSinceStart;
40 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ChunkViewSource>> mSource;
41 ::ll::TypedStorage<8, 16, ::std::shared_ptr<::ChunkSource>> mNetworkChunkSource;
42 ::ll::TypedStorage<8, 64, ::std::function<void(::gsl::span<::std::shared_ptr<::LevelChunk>>)>> mAddCallback;
43 ::ll::TypedStorage<8, 32, ::std::string> mCacheSerializeBuffer;
44 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPositionAndDimension, ::std::weak_ptr<::LevelChunk>>>
46 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mLastGenerationRequestQueued;
47 ::ll::TypedStorage<1, 1, bool> mWaitingForServerChunks;
48 ::ll::TypedStorage<1, 1, bool> mInitialSpawnDone;
52 ::std::queue<::ClientGenerationRequestHandler, ::std::deque<::ClientGenerationRequestHandler>>>
58 NetworkChunkPublisher& operator=(NetworkChunkPublisher
const&);
59 NetworkChunkPublisher(NetworkChunkPublisher
const&);
60 NetworkChunkPublisher();
65 virtual ~NetworkChunkPublisher();
73 MCAPI
bool _sendQueuedChunk(
78 MCAPI
void _serializeAndCache(
84 MCAPI
void clearRegion();
86 MCAPI
void destroyRegion();
89 MCAPI
int getChunksSentSinceStart()
const;
93 MCAPI
void handleGenerationRequests();
96 MCAPI
bool is2DPositionRelevant(
::BlockPos const& position)
const;
98 MCAPI
void moveRegion(
::BlockPos const& position, uint blockRadius,
::Vec3 const& direction,
float minDistance);
103 MCAPI
void queueChunkGenerationRequests(
107 ::std::vector<::ChunkPos>
const& serverChunks
111 MCAPI
void resetInitialSpawn();
113 MCAPI
void sendQueuedChunks();
116 MCAPI
void setClientsNetworkChunkSource(::std::shared_ptr<::ChunkSource> networkChunkSource);