void ScheduleUpdatesForChunk(IWorld world, IChunk chunk) { chunk.UpdateHeightMap(); int _x = chunk.Coordinates.X * Chunk.Width; int _z = chunk.Coordinates.Z * Chunk.Depth; Coordinates3D coords, _coords; for (byte x = 0; x < Chunk.Width; x++) { for (byte z = 0; z < Chunk.Depth; z++) { for (int y = 0; y < chunk.GetHeight(x, z); y++) { _coords.X = x; _coords.Y = y; _coords.Z = z; var id = chunk.GetBlockID(_coords); if (id == 0) { continue; } coords.X = _x + x; coords.Y = y; coords.Z = _z + z; var provider = BlockRepository.GetBlockProvider(id); provider.BlockLoadedFromChunk(coords, this, world); } } } }
void ScheduleUpdatesForChunk(IWorld world, IChunk chunk) { chunk.UpdateHeightMap(); int _x = chunk.Coordinates.X * Chunk.Width; int _z = chunk.Coordinates.Z * Chunk.Depth; Coordinates3D coords, _coords; for (byte x = 0; x < Chunk.Width; x++) { for (byte z = 0; z < Chunk.Depth; z++) { for (int y = 0; y < chunk.GetHeight(x, z); y++) { _coords.X = x; _coords.Y = y; _coords.Z = z; var id = chunk.GetBlockID(_coords); if (id == 0) continue; coords.X = _x + x; coords.Y = y; coords.Z = _z + z; var provider = BlockRepository.GetBlockProvider(id); provider.BlockLoadedFromChunk(coords, this, world); } } } }