diff --git a/src/de/diddiz/LogBlock/LogBlock.java b/src/de/diddiz/LogBlock/LogBlock.java index 8fc1b1c..13e4672 100644 --- a/src/de/diddiz/LogBlock/LogBlock.java +++ b/src/de/diddiz/LogBlock/LogBlock.java @@ -107,158 +107,174 @@ public class LogBlock extends JavaPlugin @Override public void onDisable() { if (consumer != null) { + log.info("[LogBlock] Stopping consumer"); consumer.stop(); - consumer = null; } log.info("LogBlock disabled."); } @Override public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) { - if (cmd.getName().equalsIgnoreCase("lb")) { - try { - if ((sender instanceof Player)) { - Player player = (Player)sender; - Connection conn = getConnection(); - if (conn != null) { - String table = getTable(player); - if (table != null) { - if (CheckPermission(player,"logblock.area")) { - if (args.length == 0) { - player.sendMessage(ChatColor.RED + "No argument. Type /lb help for help"); - } else if (args[0].equalsIgnoreCase("area")) { - int radius = Config.defaultDist; - if (args.length == 2 && isInt(args[1])) - radius = Integer.parseInt(args[1]); - new Thread(new AreaStats(conn, player, radius, table)).start(); - } else if (args[0].equalsIgnoreCase("world")) { - new Thread(new AreaStats(conn, player, Short.MAX_VALUE, table)).start(); - } else if (args[0].equalsIgnoreCase("player")) { - if (args.length >= 2) { - int radius = Config.defaultDist; - if (args.length == 3 && isInt(args[2])) - radius = Integer.parseInt(args[2]); - new Thread(new PlayerAreaStats(conn, player, args[1], radius, table)).start(); - } else - player.sendMessage(ChatColor.RED + "Usage: /lb player [name] "); - } else if (args[0].equalsIgnoreCase("block")) { - if (args.length >= 2) { - if (Material.matchMaterial(args[1]) != null) { - int type = Material.matchMaterial(args[1]).getId(); - int radius = Config.defaultDist; - if (args.length == 3 && isInt(args[2])) - radius = Integer.parseInt(args[2]); - new Thread(new AreaBlockSearch(conn, player, type, radius, table)).start(); - } else - player.sendMessage(ChatColor.RED + "Can't find any item like '" + args[1] + "'"); - } else - player.sendMessage(ChatColor.RED + "Usage: /lb block [type] "); - } else if (args[0].equalsIgnoreCase("setpos")) { - Session session = getSession(player); - Location loc = player.getTargetBlock(null, Integer.MAX_VALUE).getLocation(); - if (args.length == 1) { - if (!session.isloc1Set()) { - session.loc1 = loc; - player.sendMessage(ChatColor.GREEN + "Pos 1 set."); - } else if (!session.isloc2Set()) { - session.loc2 = loc; - player.sendMessage(ChatColor.GREEN + "Pos 2 set."); - } else { - session.loc1 = loc; - session.loc2 = null; - player.sendMessage(ChatColor.GREEN + "Positions cleared."); - player.sendMessage(ChatColor.GREEN + "Pos 1 set."); - } - } else if (args.length == 2) { - if (args[1].equalsIgnoreCase("1")) { - session.loc1 = loc; - player.sendMessage(ChatColor.GREEN + "Pos 1 set."); - } else if (args[1].equalsIgnoreCase("2")) { - session.loc2 = loc; - player.sendMessage(ChatColor.GREEN + "Pos 2 set."); - } else - player.sendMessage(ChatColor.RED + "Usage: /lb setpos <1|2>"); - } else { - player.sendMessage(ChatColor.RED + "Usage: /lb setpos <1|2>"); - } - } else if (args[0].equalsIgnoreCase("rollback")) { - if (args.length >= 2) { - int minutes = Config.defaultTime; - if (args[1].equalsIgnoreCase("player")) { - if (args.length == 3 || args.length == 5) { - if (args.length == 5) - minutes = parseTimeSpec(args[3], args[4]); - player.sendMessage(ChatColor.GREEN + "Rolling back " + args[2] + " by " + minutes + " minutes."); - new Thread(new Rollback(player, conn, args[2], minutes, table)).start(); - } else - player.sendMessage(ChatColor.RED + "Usage: /lb rollback player [name]