diff --git a/src/main/java/de/diddiz/LogBlock/CommandsHandler.java b/src/main/java/de/diddiz/LogBlock/CommandsHandler.java index d90ce1d..3d8876c 100755 --- a/src/main/java/de/diddiz/LogBlock/CommandsHandler.java +++ b/src/main/java/de/diddiz/LogBlock/CommandsHandler.java @@ -153,7 +153,7 @@ public class CommandsHandler implements CommandExecutor { player.sendMessage(ChatColor.GREEN + "Tool enabled."); } else if (args[1].equalsIgnoreCase("disable") || args[1].equalsIgnoreCase("off")) { toolData.enabled = false; - if (logblock.hasPermission(player, "logblock.spawnTools")) { + if (tool.removeOnDisable && logblock.hasPermission(player, "logblock.spawnTools")) { player.getInventory().removeItem(new ItemStack(tool.item, 1)); } player.sendMessage(ChatColor.GREEN + "Tool disabled."); diff --git a/src/main/java/de/diddiz/LogBlock/Tool.java b/src/main/java/de/diddiz/LogBlock/Tool.java index 17055b9..db198c2 100644 --- a/src/main/java/de/diddiz/LogBlock/Tool.java +++ b/src/main/java/de/diddiz/LogBlock/Tool.java @@ -15,8 +15,9 @@ public class Tool { public final QueryParams params; public final ToolMode mode; public final PermissionDefault permissionDefault; + public final boolean removeOnDisable; - public Tool(String name, List aliases, ToolBehavior leftClickBehavior, ToolBehavior rightClickBehavior, boolean defaultEnabled, Material item, boolean canDrop, QueryParams params, ToolMode mode, PermissionDefault permissionDefault) { + public Tool(String name, List aliases, ToolBehavior leftClickBehavior, ToolBehavior rightClickBehavior, boolean defaultEnabled, Material item, boolean canDrop, QueryParams params, ToolMode mode, PermissionDefault permissionDefault, boolean removeOnDisable) { this.name = name; this.aliases = aliases; this.leftClickBehavior = leftClickBehavior; @@ -27,5 +28,6 @@ public class Tool { this.params = params; this.mode = mode; this.permissionDefault = permissionDefault; + this.removeOnDisable = removeOnDisable; } } diff --git a/src/main/java/de/diddiz/LogBlock/config/Config.java b/src/main/java/de/diddiz/LogBlock/config/Config.java index abe13e3..c9e857a 100644 --- a/src/main/java/de/diddiz/LogBlock/config/Config.java +++ b/src/main/java/de/diddiz/LogBlock/config/Config.java @@ -126,6 +126,7 @@ public class Config { def.put("tools.tool.defaultEnabled", true); def.put("tools.tool.item", Material.WOODEN_PICKAXE.name()); def.put("tools.tool.canDrop", true); + def.put("tools.tool.removeOnDisable", true); def.put("tools.tool.params", "area 0 all sum none limit 15 desc since 60d silent"); def.put("tools.tool.mode", "LOOKUP"); def.put("tools.tool.permissionDefault", "OP"); @@ -135,6 +136,7 @@ public class Config { def.put("tools.toolblock.defaultEnabled", true); def.put("tools.toolblock.item", Material.BEDROCK.name()); def.put("tools.toolblock.canDrop", false); + def.put("tools.toolblock.removeOnDisable", true); def.put("tools.toolblock.params", "area 0 all sum none limit 15 desc since 60d silent"); def.put("tools.toolblock.mode", "LOOKUP"); def.put("tools.toolblock.permissionDefault", "OP"); @@ -233,12 +235,13 @@ public class Config { final boolean defaultEnabled = tSec.getBoolean("defaultEnabled", false); final Material item = Material.matchMaterial(tSec.getString("item","OAK_LOG")); final boolean canDrop = tSec.getBoolean("canDrop", false); + final boolean removeOnDisable = tSec.getBoolean("removeOnDisable", true); final QueryParams params = new QueryParams(logblock); params.prepareToolQuery = true; params.parseArgs(getConsoleSender(), Arrays.asList(tSec.getString("params").split(" ")), false); final ToolMode mode = ToolMode.valueOf(tSec.getString("mode").toUpperCase()); final PermissionDefault pdef = PermissionDefault.valueOf(tSec.getString("permissionDefault").toUpperCase()); - tools.add(new Tool(toolName, aliases, leftClickBehavior, rightClickBehavior, defaultEnabled, item, canDrop, params, mode, pdef)); + tools.add(new Tool(toolName, aliases, leftClickBehavior, rightClickBehavior, defaultEnabled, item, canDrop, params, mode, pdef, removeOnDisable)); } catch (final Exception ex) { getLogger().log(Level.WARNING, "Error at parsing tool '" + toolName + "': ", ex); }