diff --git a/src/main/java/com/drtshock/playervaults/Main.java b/src/main/java/com/drtshock/playervaults/Main.java index e193f0a..57b0481 100644 --- a/src/main/java/com/drtshock/playervaults/Main.java +++ b/src/main/java/com/drtshock/playervaults/Main.java @@ -56,6 +56,7 @@ public class Main extends JavaPlugin { commands = new Commands(); getCommand("pv").setExecutor(commands); getCommand("pvdel").setExecutor(commands); + getCommand("workbench").setExecutor(commands); setupEconomy(); if(getConfig().getBoolean("drop-on-death.enabled")) { diff --git a/src/main/java/com/drtshock/playervaults/commands/Commands.java b/src/main/java/com/drtshock/playervaults/commands/Commands.java index d7d82bf..f055144 100644 --- a/src/main/java/com/drtshock/playervaults/commands/Commands.java +++ b/src/main/java/com/drtshock/playervaults/commands/Commands.java @@ -2,15 +2,17 @@ package com.drtshock.playervaults.commands; import java.util.HashMap; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; +import org.bukkit.event.inventory.InventoryType; +import org.bukkit.inventory.Inventory; import com.drtshock.playervaults.util.Lang; - public class Commands implements CommandExecutor { public static HashMap inVault = new HashMap(); @@ -20,13 +22,13 @@ public class Commands implements CommandExecutor { if(cmd.getName().equalsIgnoreCase("pv")) { if(sender instanceof Player) { Player p = (Player) sender; - switch(args.length) { + switch (args.length) { case 1: if(VaultOperations.openOwnVault(p, args[0])) inVault.put(sender.getName(), new VaultViewInfo(sender.getName(), Integer.parseInt(args[0]))); break; case 2: - if(VaultOperations.openOtherVault(p,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; default: @@ -34,17 +36,16 @@ public class Commands implements CommandExecutor { } } else sender.sendMessage(Lang.TITLE.toString() + ChatColor.RED + Lang.PLAYER_ONLY); - } - - else if(cmd.getName().equalsIgnoreCase("pvdel")) { - switch(args.length) { + } else if(cmd.getName().equalsIgnoreCase("pvdel")) { + switch (args.length) { case 1: if(sender instanceof Player) { Player p = (Player) sender; VaultOperations.deleteOwnVault(p, args[0]); } - else + else { sender.sendMessage(Lang.TITLE.toString() + ChatColor.RED + Lang.PLAYER_ONLY); + } break; case 2: VaultOperations.deleteOtherVault(sender, args[0], args[1]); @@ -52,6 +53,18 @@ public class Commands implements CommandExecutor { default: Feedback.showHelp(sender, Feedback.Type.DELETE); } + } else if(cmd.getName().equalsIgnoreCase("workbench")) { + if(sender.hasPermission("playervaults.workbench")) { + if(sender instanceof Player) { + Inventory workbench = Bukkit.createInventory(null, InventoryType.WORKBENCH); + ((Player)sender).openInventory(workbench); + sender.sendMessage(Lang.TITLE.toString() + Lang.OPEN_WORKBENCH); + } else { + sender.sendMessage(Lang.TITLE.toString() + Lang.PLAYER_ONLY); + } + } else { + sender.sendMessage(Lang.TITLE.toString() + Lang.NO_PERMS); + } } return true; } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4c20fb8..a927c12 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -10,4 +10,6 @@ commands: aliases: [vault] pvdel: description: Delete a vault. - aliases: [vaultdel] \ No newline at end of file + aliases: [vaultdel] + workbench: + description: Opens a workbench. \ No newline at end of file