forked from LogBlock/LogBlock
Config option if a tool should be removed on disable
This commit is contained in:
@ -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.");
|
||||
|
@ -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<String> aliases, ToolBehavior leftClickBehavior, ToolBehavior rightClickBehavior, boolean defaultEnabled, Material item, boolean canDrop, QueryParams params, ToolMode mode, PermissionDefault permissionDefault) {
|
||||
public Tool(String name, List<String> 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;
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user