From e14958f2e211ccea4e3f35ce7a76c9847a8962d6 Mon Sep 17 00:00:00 2001 From: drtshock Date: Mon, 27 Apr 2015 12:10:48 -0500 Subject: [PATCH] Separate permission for vault commands. Resolves #59. Permission is playervaults.commands.use and defaults to true to keep current functionality. --- .../playervaults/commands/VaultCommand.java | 2 +- .../vaultmanagement/VaultOperations.java | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/drtshock/playervaults/commands/VaultCommand.java b/src/main/java/com/drtshock/playervaults/commands/VaultCommand.java index 16b31ed..b48aa04 100644 --- a/src/main/java/com/drtshock/playervaults/commands/VaultCommand.java +++ b/src/main/java/com/drtshock/playervaults/commands/VaultCommand.java @@ -31,7 +31,7 @@ public class VaultCommand implements CommandExecutor { switch (args.length) { case 1: - if (VaultOperations.openOwnVault(player, args[0])) { + if (VaultOperations.openOwnVault(player, args[0], true)) { PlayerVaults.getInstance().getInVault().put(sender.getName(), new VaultViewInfo(sender.getName(), Integer.parseInt(args[0]))); } else if (sender.hasPermission("playervaults.admin")) { OfflinePlayer searchPlayer = Bukkit.getOfflinePlayer(args[0]); diff --git a/src/main/java/com/drtshock/playervaults/vaultmanagement/VaultOperations.java b/src/main/java/com/drtshock/playervaults/vaultmanagement/VaultOperations.java index 090681f..ced215b 100644 --- a/src/main/java/com/drtshock/playervaults/vaultmanagement/VaultOperations.java +++ b/src/main/java/com/drtshock/playervaults/vaultmanagement/VaultOperations.java @@ -141,6 +141,23 @@ public class VaultOperations { return false; } + /** + * Open a player's own vault. If player is using a command, they'll need the required permission. + * + * @param player The player to open to. + * @param arg The vault number to open. + * @param isCommand - if player is opening via a command or not. + * + * @return Whether or not the player was allowed to open it. + */ + public static boolean openOwnVault(Player player, String arg, boolean isCommand) { + if (isCommand && player.hasPermission("playervaults.commands.use")) { + return openOwnVault(player, arg); + } + player.sendMessage(Lang.TITLE.toString() + Lang.NO_PERMS.toString()); + return false; + } + /** * Open another player's vault. *