--- miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/creative/GeneralContractorCommands.java 2012/03/18 14:36:49 1750 +++ miscJava/bukkit-minecraft-plugins/HoerupUtils/src/main/java/dk/thoerup/bukkit/hoeruputils/creative/GeneralContractorCommands.java 2012/03/18 14:58:22 1751 @@ -68,6 +68,12 @@ return true; } + if ( label.equals("createcave") ) { + if (validateLevelOrFill(player, label, args) ) { + createCave(player, loc, args); + } + return true; + } if ( label.equals("fillarea") ) { if (validateLevelOrFill(player, label, args) ) { @@ -324,6 +330,37 @@ } } + private void createCave(Player player, Location loc, String[] split) { + + int radius = Integer.parseInt(split[0]); + + System.out.println("Player " + player.getName() + " used levelarea with radius=" + radius); + + + int playerX = loc.getBlockX(); + int playerY = loc.getBlockY(); + int playerZ = loc.getBlockZ(); + + + World world = loc.getWorld(); + + int count = 0; + for (int x=(playerX-radius); x<=(playerX+radius); x++) { + for (int z=(playerZ-radius); z<=(playerZ+radius); z++) { + + int y_max = playerY+radius; + //for (int y=playerY; y<=playerY+radius; y++) { + for (int y=playerY; y<=y_max; y++) { + count++; + world.getBlockAt(x, y, z).setType(Material.AIR); + + } + + } + + } + } + private void levelArea(Player player, Location loc, String[] split) { int radius = Integer.parseInt(split[0]); @@ -353,6 +390,7 @@ } } + private void resetMap(boolean[][] map) {