private void setDirtyChunksNear(Vector3i pos0) { for (Vector3i pos : ChunkMath.getChunkRegionAroundWorldPos(pos0, 1)) { RenderableChunk dirtiedChunk = chunkProvider.getChunk(pos); if (dirtiedChunk != null) { dirtiedChunk.setDirty(true); } } }
@Override public void setDirtyAround(Vector3i blockPos) { for (Vector3i pos : ChunkMath.getChunkRegionAroundWorldPos(blockPos, 1)) { chunks[pos.x + offset.x + chunkRegion.size().x * (pos.z + offset.z)].setDirty(true); } }
@Override public void setValueAt(Vector3i pos, byte value) { setValueAt(getChunk(pos), ChunkMath.calcBlockPos(pos.x, pos.y, pos.z), value); for (Vector3i affectedChunkPos : ChunkMath.getChunkRegionAroundWorldPos(pos, 1)) { Chunk dirtiedChunk = chunkProvider.getChunk(affectedChunkPos); if (dirtiedChunk != null) { dirtiedChunk.setDirty(true); } } }
@Override public ChunkViewCore getSubviewAroundBlock(Vector3i blockPos, int extent) { Region3i region = ChunkMath.getChunkRegionAroundWorldPos(blockPos, extent); return createWorldView(region, new Vector3i(-region.min().x, -region.min().y, -region.min().z)); }
@Override public ChunkViewCore getSubviewAroundBlock(Vector3i blockPos, int extent) { Region3i region = ChunkMath.getChunkRegionAroundWorldPos(blockPos, extent); return createWorldView(region, new Vector3i(-region.min().x, -region.min().y, -region.min().z)); }