public void onChunkReady(Vector3i chunkPos) {
WorldProvider worldProvider = CoreRegistry.get(WorldProvider.class);
List<NetData.BlockChangeMessage> updateBlockMessages = awaitingChunkReadyBlockUpdates.removeAll(chunkPos);
for (NetData.BlockChangeMessage message : updateBlockMessages) {
Vector3i pos = NetMessageUtil.convert(message.getPos());
Block newBlock = blockManager.getBlock((short) message.getNewBlock());
worldProvider.setBlock(pos, newBlock);
}
List<NetData.BiomeChangeMessage> updateBiomeMessages = awaitingChunkReadyBiomeUpdates.removeAll(chunkPos);
for (NetData.BiomeChangeMessage message : updateBiomeMessages) {
Vector3i pos = NetMessageUtil.convert(message.getPos());
Biome newBiome = biomeManager.getBiomeByShortId((short) message.getNewBiome());
worldProvider.setBiome(pos, newBiome);
}
}