--- miscJava/minecraft-plugins/hoeruputils/src/HoerupUtils.java 2010/11/28 20:48:20 1198 +++ miscJava/hmod-minecraft-plugins/hoeruputils/src/HoerupUtils.java 2011/03/20 13:39:37 1234 @@ -4,7 +4,7 @@ public class HoerupUtils extends Plugin { - final static Logger log = Logger.getLogger("HoerupUtils"); + final static Logger log = Logger.getLogger("Minecraft"); private void registerCommands() { @@ -14,6 +14,8 @@ e.addCommand("/fillarea", ""); e.addCommand("/levelarea", ""); e.addCommand("/setsurface", ""); + e.addCommand("/slopearea", ""); + e.addCommand("/admindestroy",""); } @Override @@ -29,6 +31,8 @@ e.removeCommand("/fillarea"); e.removeCommand("/levelarea"); e.removeCommand("/setsurface"); + e.removeCommand("/slopearea"); + e.removeCommand("/admindestroy"); } @@ -130,6 +134,8 @@ final static int BLOCK_GRASS = 2; final static int BLOCK_DIRT = 3; + private HashMap commands = new HashMap(); + //http://www.minecraftforum.net/viewtopic.php?f=35&t=14739 @@ -202,8 +208,20 @@ if (! player.canUseCommand(split[0]) ) { return false; } + + if ( split[0].equals("/levelarea") || split[0].equals("/la") || split[0].equals("/slopearea") || split[0].equals("/fillarea") || split[0].equals("/setsurface") ) { + commands.put(player.getName(), split); + } - if( split[0].equals("/setpos") && player.canUseCommand("/setpos") ) { + if ( split[0].equals("//") ) { + String cmd[] = commands.get(player.getName() ); + if (cmd != null) { + onCommand(player, commands.get(player.getName() ) ); + } else { + player.sendMessage("//: no recorded command found"); + } + return true; + } else if( split[0].equals("/setpos") && player.canUseCommand("/setpos") ) { setPos(player, split); return true; } else if ( split[0].equals("/whereis" ) && player.canUseCommand("/whereis")) { @@ -243,7 +261,7 @@ } private void setSurface(Player player, String[] split) { - int valid_block_array[] = {1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 35, 41, 42, 43, 44, 45, 46, 48, 49, 56, 57, 73, 74, 79, 80, 82} ; + int valid_block_array[] = {1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 35, 41, 42, 43, 44, 45, 48, 49, 56, 57, 73, 74, 79, 80, 82} ; final int BLOCK_MAX = 86; @@ -327,12 +345,18 @@ } if (split.length == 3) { + int id; try { - Integer.parseInt( split[2] ); + id = Integer.parseInt( split[2] ); } catch (Exception e) { - player.sendMessage(split[0] + ": radius must be an integer"); + player.sendMessage(split[0] + ": id must be an integer"); + return false; + } + if ( id == 46) { + player.sendMessage("Sorry dave, i can't do that"); return false; } + } return true;