From cfb25b14c56fda8ae5e56ec1ce6ab2a26e16174f Mon Sep 17 00:00:00 2001 From: gomeow Date: Thu, 7 Mar 2013 10:56:00 -0800 Subject: [PATCH] Add a few things --- .../shock/playervaults/commands/Commands.java | 8 +-- .../shock/playervaults/commands/Feedback.java | 3 +- .../commands/VaultOperations.java | 51 +++++++++++-------- .../shock/playervaults/util/VaultManager.java | 5 +- 4 files changed, 39 insertions(+), 28 deletions(-) diff --git a/src/me/shock/playervaults/commands/Commands.java b/src/me/shock/playervaults/commands/Commands.java index 1016b92..d859854 100644 --- a/src/me/shock/playervaults/commands/Commands.java +++ b/src/me/shock/playervaults/commands/Commands.java @@ -19,13 +19,14 @@ public class Commands implements CommandExecutor { public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(cmd.getName().equalsIgnoreCase("pv")) { if(sender instanceof Player) { + Player p = (Player) sender; switch(args.length) { case 1: - if(VaultOperations.openOwnVault(sender, args[0])) + if(VaultOperations.openOwnVault(p, args[0])) inVault.put(sender.getName(), new VaultViewInfo(sender.getName(), Integer.parseInt(args[0]))); break; case 2: - if(VaultOperations.openOtherVault(sender,args[0], args[1])) { + if(VaultOperations.openOtherVault(p,args[0], args[1])) { inVault.put(sender.getName(), new VaultViewInfo(args[0], Integer.parseInt(args[1]))); } break; @@ -37,9 +38,10 @@ public class Commands implements CommandExecutor { } else if(cmd.getName().equalsIgnoreCase("pvdel")) { if(sender instanceof Player) { + Player p = (Player) sender; switch(args.length) { case 1: - VaultOperations.deleteOwnVault(sender, args[0]); + VaultOperations.deleteOwnVault(p, args[0]); break; default: Feedback.showHelp(sender, Feedback.Type.DELETE); diff --git a/src/me/shock/playervaults/commands/Feedback.java b/src/me/shock/playervaults/commands/Feedback.java index c58c84f..aa669ee 100644 --- a/src/me/shock/playervaults/commands/Feedback.java +++ b/src/me/shock/playervaults/commands/Feedback.java @@ -2,6 +2,7 @@ package me.shock.playervaults.commands; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; public class Feedback { @@ -31,7 +32,7 @@ public class Feedback { } } - public static void badWorld(CommandSender sender) { + public static void badWorld(Player sender) { sender.sendMessage(pv + "You can't use this in that world!"); return; } diff --git a/src/me/shock/playervaults/commands/VaultOperations.java b/src/me/shock/playervaults/commands/VaultOperations.java index 7495092..4ec71cb 100644 --- a/src/me/shock/playervaults/commands/VaultOperations.java +++ b/src/me/shock/playervaults/commands/VaultOperations.java @@ -18,6 +18,7 @@ public class VaultOperations { static String pv = ChatColor.DARK_RED + "[" + ChatColor.WHITE + "PlayerVaults" + ChatColor.DARK_RED + "]" + ChatColor.WHITE + ": "; + public static boolean checkPerms(CommandSender cs, int number) { if(cs.hasPermission("playervaults.amount."+String.valueOf(number))) return true; for(int x = number; x <= 99;x++) { @@ -25,28 +26,37 @@ public class VaultOperations { } return false; } - - public static boolean openOwnVault(CommandSender sender, String arg) { - if(arg.matches("^[0-9]{1,2}$")) { - int number = 0; - try { - number = Integer.parseInt(arg); - } - catch(NumberFormatException nfe) { - sender.sendMessage(pv+ChatColor.RED+"You need to specify a number!"); - return false; - } - if(checkPerms(sender, number)) { - vm.loadVault(sender, sender.getName(), number); - sender.sendMessage(pv + "Opening vault " + ChatColor.GREEN + number); - return true; - } else { - Feedback.noPerms(sender); + /* + * TODO: Chenge how permissions are checked here. + */ + public static boolean openOwnVault(Player sender, String arg) { + if(allowedWorld(sender)) { + if(arg.matches("^[0-9]{1,2}$")) { + int number = 0; + try { + number = Integer.parseInt(arg); + } + catch(NumberFormatException nfe) { + sender.sendMessage(pv+ChatColor.RED+"You need to specify a number!"); + return false; + } + if(checkPerms(sender, number)) { + vm.loadVault(sender, sender.getName(), number); + sender.sendMessage(pv + "Opening vault " + ChatColor.GREEN + number); + return true; + } else { + Feedback.noPerms(sender); + } } } + else { + Feedback.badWorld(sender); + } return false; } - public static boolean openOtherVault(CommandSender sender, String user, String arg) { + + + public static boolean openOtherVault(Player sender, String user, String arg) { if(sender.hasPermission("playervaults.admin")) { if(arg.matches("^[0-9]{1,2}$")) { int number = 0; @@ -66,7 +76,7 @@ public class VaultOperations { } return false; } - public static void deleteOwnVault(CommandSender sender, String arg) { + public static void deleteOwnVault(Player sender, String arg) { if(arg.matches("^[0-9]{1,2}$")) { int number = 0; try { @@ -82,7 +92,7 @@ public class VaultOperations { } } } - public static void deleteOtherVault(CommandSender sender, String user, String arg) { + public static void deleteOtherVault(Player sender, String user, String arg) { if(sender.hasPermission("playervaults.delete")) { if(arg.matches("^[0-9]{1,2}$")) { int number = 0; @@ -102,7 +112,6 @@ public class VaultOperations { else Feedback.noPerms(sender); } - @SuppressWarnings("unused") private static boolean allowedWorld(Player player) { World world = player.getWorld(); if(plugin.disabledWorlds().contains(world)) diff --git a/src/me/shock/playervaults/util/VaultManager.java b/src/me/shock/playervaults/util/VaultManager.java index 2284991..f9698e8 100644 --- a/src/me/shock/playervaults/util/VaultManager.java +++ b/src/me/shock/playervaults/util/VaultManager.java @@ -7,7 +7,6 @@ import me.shock.playervaults.Main; import org.bukkit.Bukkit; import org.bukkit.ChatColor; -import org.bukkit.command.CommandSender; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; @@ -45,7 +44,7 @@ public class VaultManager { * * TODO: Check to see if the path exists before we get it! */ - public void loadVault(CommandSender sender, String holder, int number) { + public void loadVault(Player sender, String holder, int number) { YamlConfiguration playerFile = playerVaultFile(holder); String data = playerFile.getString("vault"+number); Player player = (Player) sender; @@ -58,7 +57,7 @@ public class VaultManager { } } - public void deleteVault(CommandSender sender, String target, int number) throws IOException { + public void deleteVault(Player sender, String target, int number) throws IOException { String name = target.toLowerCase(); File file = new File(directory + name + ".yml"); FileConfiguration playerFile = YamlConfiguration.loadConfiguration(file);