private void processInvalidatedChunks(NetData.NetMessage message) { for (NetData.InvalidateChunkMessage chunk : message.getInvalidateChunkList()) { Vector3i chunkPos = NetMessageUtil.convert(chunk.getPos()); remoteWorldProvider.invalidateChunks(chunkPos); awaitingChunkReadyBlockUpdates.removeAll(chunkPos); awaitingChunkReadyBiomeUpdates.removeAll(chunkPos); } }
private void processReceivedChunks() { if (remoteWorldProvider != null) { List<Chunk> chunks = Lists.newArrayListWithExpectedSize(chunkQueue.size()); chunkQueue.drainTo(chunks); for (Chunk chunk : chunks) { remoteWorldProvider.receiveChunk(chunk); } } }
void setRemoteWorldProvider(RemoteChunkProvider remoteWorldProvider) { this.remoteWorldProvider = remoteWorldProvider; remoteWorldProvider.subscribe(this); }