Add /pvdel

This commit is contained in:
gomeow
2013-03-07 07:38:16 -08:00
parent 2fdebb47c5
commit fe949b9661
5 changed files with 59 additions and 21 deletions
+1
View File
@@ -31,6 +31,7 @@ public class Main extends JavaPlugin {
PluginManager pm = getServer().getPluginManager();
pm.registerEvents(new Listeners(this), this);
getCommand("pv").setExecutor(new Commands());
getCommand("pvdel").setExecutor(new Commands());
loadConfig();
loadLang();
startMetrics();
@@ -18,25 +18,34 @@ public class Commands implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if(cmd.getName().equalsIgnoreCase("pv")) {
switch(args.length) {
case 1:
if(sender instanceof Player) {
if(sender instanceof Player) {
switch(args.length) {
case 1:
if(VaultOperations.openOwnVault(sender, args[0]))
inVault.put(sender.getName(), new VaultViewInfo(sender.getName(), Integer.parseInt(args[0])));
}
else sender.sendMessage(pv + "Sorry but that can only be run by a player!");
break;
case 2:
if(sender instanceof Player) {
break;
case 2:
if(VaultOperations.openOtherVault(sender,args[0], args[1])) {
inVault.put(sender.getName(), new VaultViewInfo(args[0], Integer.parseInt(args[1])));
}
break;
default:
Feedback.showHelp(sender, Feedback.Type.OPEN);
}
else sender.sendMessage(pv + "Sorry but that can only be run by a player!");
break;
default:
Feedback.showHelp(sender);
}
else sender.sendMessage(pv + "Sorry but that can only be run by a player!");
}
else if(cmd.getName().equalsIgnoreCase("pvdel")) {
if(sender instanceof Player) {
switch(args.length) {
case 1:
VaultOperations.deleteOwnVault(sender, args[0]);
break;
default:
Feedback.showHelp(sender, Feedback.Type.DELETE);
}
}
else sender.sendMessage(pv + "Sorry but that can only be run by a player!");
}
return true;
}
@@ -3,8 +3,14 @@ package me.shock.playervaults.commands;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
public class Feedback {
public class Feedback {
public enum Type {
OPEN,
DELETE,
WORKBENCH, //For later versions
FURNACE;
}
static String pv = ChatColor.DARK_RED + "[" + ChatColor.WHITE + "PlayerVaults" +
ChatColor.DARK_RED + "]" + ChatColor.WHITE + ": ";
@@ -14,9 +20,15 @@ public class Feedback {
}
public static void showHelp(CommandSender sender) {
sender.sendMessage(pv + "/vault <number>");
sender.sendMessage(pv + "/vault delete <number>");
public static void showHelp(CommandSender sender, Type t) {
if(t == Type.OPEN) {
sender.sendMessage(pv + "/pv <number>");
sender.sendMessage(pv + "/pv <player> <number>");
}
else if(t == Type.DELETE) {
sender.sendMessage(pv + "/pvdel <number>");
sender.sendMessage(pv + "/pvdel <player> <number>");
}
}
public static void badWorld(CommandSender sender) {
@@ -1,5 +1,7 @@
package me.shock.playervaults.commands;
import java.io.IOException;
import me.shock.playervaults.Main;
import me.shock.playervaults.util.VaultManager;
@@ -52,8 +54,7 @@ public class VaultOperations {
number = Integer.parseInt(arg);
}
catch(NumberFormatException nfe) {
//Yell at the player
//We should probably check perms first though
sender.sendMessage(pv+ChatColor.RED+"You need to specify a number!");
}
if(sender.hasPermission("playervaults.admin")) {
vm.loadVault(sender, user, number);
@@ -65,6 +66,22 @@ public class VaultOperations {
}
return false;
}
public static void deleteOwnVault(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!");
}
try {
vm.deleteVault(sender, sender.getName(), number);
} catch (IOException e) {
sender.sendMessage(pv+"There was an error deleting the vault!");
}
}
}
@SuppressWarnings("unused")
private static boolean allowedWorld(Player player) {
@@ -5,8 +5,6 @@ import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
import net.minecraft.server.v1_4_R1.NBTBase;
import net.minecraft.server.v1_4_R1.NBTTagCompound;
import net.minecraft.server.v1_4_R1.NBTTagList;
@@ -16,6 +14,7 @@ import org.bukkit.craftbukkit.v1_4_R1.inventory.CraftInventoryCustom;
import org.bukkit.craftbukkit.v1_4_R1.inventory.CraftItemStack;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.yaml.snakeyaml.external.biz.base64Coder.Base64Coder;
public class Serialization {