private void growLeafNode(World world, int x, int y, int z) { for (int xOffset = -3; xOffset <= 3; xOffset++) for (int zOffset = -3; zOffset <= 3; zOffset++) { if ((Math.abs(xOffset) != 3 || Math.abs(zOffset) != 3) && (Math.abs(xOffset) != 3 || Math.abs(zOffset) != 2) && (Math.abs(xOffset) != 2 || Math.abs(zOffset) != 3) && (xOffset != 0 || zOffset != 0)) if (world.getBlockId(x + xOffset, y, z + zOffset) == 0) setBlockAndMetadata( world, x + xOffset, y, z + zOffset, TreeBlock.LEAVES.getID(), TreeBlock.LEAVES.getMetadata()); if (Math.abs(xOffset) >= 3 || Math.abs(zOffset) >= 3 || Math.abs(xOffset) == 2 && Math.abs(zOffset) == 2) continue; if (world.getBlockId(x + xOffset, y - 1, z + zOffset) == 0) setBlockAndMetadata( world, x + xOffset, y - 1, z + zOffset, TreeBlock.LEAVES.getID(), TreeBlock.LEAVES.getMetadata()); if (world.getBlockId(x + xOffset, y + 1, z + zOffset) != 0) continue; setBlockAndMetadata( world, x + xOffset, y + 1, z + zOffset, TreeBlock.LEAVES.getID(), TreeBlock.LEAVES.getMetadata()); } }