}
old_base = PlayerChunks().Base();
sort(chunk_queue.begin(), chunk_queue.end(), QueueCompare(old_base));
+ chunk_queue.erase(unique(chunk_queue.begin(), chunk_queue.end()), chunk_queue.end());
}
// don't push entity updates and chunk data in the same tick
if (chunk_blocks_skipped >= NetStat().SuggestedPacketHold() && !SendingUpdates()) {
return HasPlayer() && PlayerChunks().InRange(pos);
}
+void ClientConnection::On(const Packet::ChunkBegin &pack) {
+ glm::ivec3 pos;
+ pack.ReadChunkCoords(pos);
+ if (ChunkInRange(pos)) {
+ chunk_queue.push_front(pos);
+ }
+}
+
void ClientConnection::On(const Packet::Message &pack) {
uint8_t type;
uint32_t ref;