protected void getCuboid( SpoutChunk[][][] chunks, int x, int y, int z, CuboidBlockMaterialBuffer buffer) { lockChunks(chunks); try { for (int dx = 0; dx < chunks.length; dx++) { SpoutChunk[][] subArray1 = chunks[dx]; for (int dy = 0; dy < subArray1.length; dy++) { SpoutChunk[] subArray2 = subArray1[dy]; for (int dz = 0; dz < subArray2.length; dz++) { subArray2[dz].getCuboid(x, y, z, buffer); } } } } finally { unlockChunks(chunks); } }
protected boolean commitCuboid( SpoutChunk[][][] chunks, CuboidBlockMaterialBuffer buffer, Cause<?> cause) { Vector3 base = buffer.getBase(); int x = base.getFloorX(); int y = base.getFloorY(); int z = base.getFloorZ(); lockChunks(chunks); try { for (int dx = 0; dx < chunks.length; dx++) { SpoutChunk[][] subArray1 = chunks[dx]; for (int dy = 0; dy < subArray1.length; dy++) { SpoutChunk[] subArray2 = subArray1[dy]; for (int dz = 0; dz < subArray2.length; dz++) { if (!subArray2[dz].testCuboid(x, y, z, buffer)) { return false; } } } } // set for (int dx = 0; dx < chunks.length; dx++) { SpoutChunk[][] subArray1 = chunks[dx]; for (int dy = 0; dy < subArray1.length; dy++) { SpoutChunk[] subArray2 = subArray1[dy]; for (int dz = 0; dz < subArray2.length; dz++) { subArray2[dz].setCuboid(x, y, z, buffer, cause); } } } return true; } finally { unlockChunks(chunks); } }