Oh, so very much formatting and stuffs

This commit is contained in:
gomeow
2013-05-23 22:57:16 -07:00
parent e2c327bd46
commit e3516774f3
19 changed files with 519 additions and 428 deletions
@@ -1,6 +1,5 @@
package com.drtshock.playervaults.commands;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
@@ -17,27 +16,28 @@ public class Commands implements CommandExecutor {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if(cmd.getName().equalsIgnoreCase("pv")) {
if(sender instanceof Player) {
if (cmd.getName().equalsIgnoreCase("pv")) {
if (sender instanceof Player) {
Player p = (Player) sender;
switch (args.length) {
case 1:
if(VaultOperations.openOwnVault(p, args[0]))
if (VaultOperations.openOwnVault(p, args[0]))
PlayerVaults.IN_VAULT.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]))
PlayerVaults.IN_VAULT.put(sender.getName(), new VaultViewInfo(args[0], Integer.parseInt(args[1])));
break;
default:
Feedback.showHelp(sender, Feedback.Type.OPEN);
sender.sendMessage(Lang.TITLE + "/pv <number>");
sender.sendMessage(Lang.TITLE + "/pv <player> <number>");
}
}
else sender.sendMessage(Lang.TITLE.toString() + ChatColor.RED + Lang.PLAYER_ONLY);
} else if(cmd.getName().equalsIgnoreCase("pvdel")) {
} else if (cmd.getName().equalsIgnoreCase("pvdel")) {
switch (args.length) {
case 1:
if(sender instanceof Player) {
if (sender instanceof Player) {
Player p = (Player) sender;
VaultOperations.deleteOwnVault(p, args[0]);
}
@@ -49,11 +49,12 @@ public class Commands implements CommandExecutor {
VaultOperations.deleteOtherVault(sender, args[0], args[1]);
break;
default:
Feedback.showHelp(sender, Feedback.Type.DELETE);
sender.sendMessage(Lang.TITLE + "/pvdel <number>");
sender.sendMessage(Lang.TITLE + "/pvdel <player> <number>");
}
} else if(cmd.getName().equalsIgnoreCase("workbench")) {
if(sender.hasPermission("playervaults.workbench")) {
if(sender instanceof Player) {
} 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);
@@ -63,10 +64,10 @@ public class Commands implements CommandExecutor {
} else {
sender.sendMessage(Lang.TITLE.toString() + Lang.NO_PERMS);
}
} else if(cmd.getName().equalsIgnoreCase("pvsign")) {
if(sender.hasPermission("playervaults.signs.set")) {
if(sender instanceof Player) {
if(args.length == 1) {
} else if (cmd.getName().equalsIgnoreCase("pvsign")) {
if (sender.hasPermission("playervaults.signs.set")) {
if (sender instanceof Player) {
if (args.length == 1) {
int i = 0;
try {
i = Integer.parseInt(args[0]);
@@ -78,7 +79,7 @@ public class Commands implements CommandExecutor {
PlayerVaults.SET_SIGN.put(sender.getName(), new SignSetInfo(i));
sender.sendMessage(Lang.TITLE.toString() + Lang.CLICK_A_SIGN);
}
else if(args.length >= 2) {
else if (args.length >= 2) {
int i = 0;
try {
i = Integer.parseInt(args[1]);
@@ -1,30 +0,0 @@
package com.drtshock.playervaults.commands;
import org.bukkit.command.CommandSender;
import com.drtshock.playervaults.util.Lang;
public class Feedback {
public enum Type {
OPEN,
DELETE,
WORKBENCH, // For later versions
FURNACE;
}
public static void noPerms(CommandSender sender) {
sender.sendMessage(Lang.TITLE + "" + Lang.NO_PERMS);
return;
}
public static void showHelp(CommandSender sender, Type t) {
if(t == Type.OPEN) {
sender.sendMessage(Lang.TITLE + "/pv <number>");
sender.sendMessage(Lang.TITLE + "/pv <player> <number>");
}
else if(t == Type.DELETE) {
sender.sendMessage(Lang.TITLE + "/pvdel <number>");
sender.sendMessage(Lang.TITLE + "/pvdel <player> <number>");
}
}
}
@@ -1,31 +1,56 @@
package com.drtshock.playervaults.commands;
/**
* A class for setting signs. Stores information about the sign owner, number,
* and whether or not is opens a self vault or another person's vault.
*/
public class SignSetInfo {
private String o;
private int i;
private String owner;
private int number;
private boolean self = false;
public SignSetInfo(String o, int i) {
this.o = o;
this.i = i;
/**
* Construct a SignSetInfo object for another person.
* @param s The vault owner.
* @param i The vault number.
*/
public SignSetInfo(String s, int i) {
this.owner = s;
this.number = i;
}
/**
* Construct a SignSetInfo object for opening to self.
* @param i The vault number.
*/
public SignSetInfo(int i) {
this.i = i;
this.number = i;
this.self = true;
}
/**
* Get whether or not the sign will open their own vault or another person's.
* @return Whether or not it is a 'self' sign.
*/
public boolean isSelf() {
return this.self;
}
/**
* Get the owner of the vault.
* @return The owner of the vault.
*/
public String getOwner() {
return this.o;
return this.owner;
}
/**
* Get the vault number.
* @return The vault number.
*/
public int getChest() {
return this.i;
return this.number;
}
}
@@ -5,6 +5,7 @@ import java.io.IOException;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import com.drtshock.playervaults.PlayerVaults;
import com.drtshock.playervaults.util.EconomyOperations;
@@ -12,101 +13,107 @@ import com.drtshock.playervaults.util.Lang;
public class VaultOperations {
public static boolean checkPerms(CommandSender cs, int number) {
if(cs.hasPermission("playervaults.amount." + String.valueOf(number))) return true;
/**
* Check whether or not the player has permission to open the requested vault.
* @param sender The person to check.
* @param number The vault number.
* @return Whether or not they have permission.
*/
public static boolean checkPerms(CommandSender sender, int number) {
if (sender.hasPermission("playervaults.amount." + String.valueOf(number))) return true;
for(int x = number; x <= 99; x++) {
if(cs.hasPermission("playervaults.amount." + String.valueOf(x))) return true;
if (sender.hasPermission("playervaults.amount." + String.valueOf(x))) return true;
}
return false;
}
/**
* Open a player's own vault.
* Return true if allowed. Otherwise false.
* @param Sender sender
* @param String arg
* @return success
* @param player The player to open to.
* @param arg The vault number to open.
* @return Whether or not the player was allowed to open it.
*/
public static boolean openOwnVault(Player sender, String arg) {
if(arg.matches("^[0-9]{1,2}$")) {
public static boolean openOwnVault(Player player, String arg) {
if (arg.matches("^[0-9]{1,2}$")) {
int number = 0;
try {
number = Integer.parseInt(arg);
if(number == 0)
if (number == 0)
return false;
} catch(NumberFormatException nfe) {
sender.sendMessage(Lang.TITLE.toString() + ChatColor.RED + Lang.MUST_BE_NUMBER);
player.sendMessage(Lang.TITLE.toString() + ChatColor.RED + Lang.MUST_BE_NUMBER);
return false;
}
if(checkPerms(sender, number)) {
if(EconomyOperations.payToOpen(sender)) {
PlayerVaults.VM.loadVault(sender, sender.getName(), number);
sender.sendMessage(Lang.TITLE.toString() + Lang.OPEN_VAULT.toString().replace("%v", arg));
if (checkPerms(player, number)) {
if (EconomyOperations.payToOpen(player)) {
Inventory inv = PlayerVaults.VM.loadVault(player.getName(), number);
player.openInventory(inv);
player.sendMessage(Lang.TITLE.toString() + Lang.OPEN_VAULT.toString().replace("%v", arg));
return true;
} else {
sender.sendMessage(Lang.TITLE.toString() + Lang.INSUFFICIENT_FUNDS);
player.sendMessage(Lang.TITLE.toString() + Lang.INSUFFICIENT_FUNDS);
return false;
}
} else {
Feedback.noPerms(sender);
player.sendMessage(Lang.TITLE.toString() + Lang.NO_PERMS);
}
} else {
sender.sendMessage(Lang.TITLE.toString() + Lang.MUST_BE_NUMBER);
player.sendMessage(Lang.TITLE.toString() + Lang.MUST_BE_NUMBER);
}
return false;
}
/**
* Open another player's vault.
* Return true if allowed. Otherwise false.
* @param Sender sender
* @param String user
* @param String arg
* @return success
* @param player The player to open to.
* @param user The user to whom the requested vault belongs.
* @param arg The vault number to open.
* @return Whether or not the player was allowed to open it.
*/
public static boolean openOtherVault(Player sender, String user, String arg) {
if(sender.hasPermission("playervaults.admin")) {
if(arg.matches("^[0-9]{1,2}$")) {
public static boolean openOtherVault(Player player, String user, String arg) {
if (player.hasPermission("playervaults.admin")) {
if (arg.matches("^[0-9]{1,2}$")) {
int number = 0;
try {
number = Integer.parseInt(arg);
if(number == 0)
if (number == 0)
return false;
} catch(NumberFormatException nfe) {
sender.sendMessage(Lang.TITLE.toString() + ChatColor.RED + Lang.MUST_BE_NUMBER);
player.sendMessage(Lang.TITLE.toString() + ChatColor.RED + Lang.MUST_BE_NUMBER);
}
PlayerVaults.VM.loadVault(sender, user, number);
sender.sendMessage(Lang.TITLE.toString() + Lang.OPEN_OTHER_VAULT.toString().replace("%v", arg).replace("%p", user));
Inventory inv = PlayerVaults.VM.loadVault(user, number);
player.openInventory(inv);
player.sendMessage(Lang.TITLE.toString() + Lang.OPEN_OTHER_VAULT.toString().replace("%v", arg).replace("%p", user));
return true;
} else {
sender.sendMessage(Lang.TITLE.toString() + Lang.MUST_BE_NUMBER);
player.sendMessage(Lang.TITLE.toString() + Lang.MUST_BE_NUMBER);
}
}
else {
Feedback.noPerms(sender);
player.sendMessage(Lang.TITLE.toString() + Lang.NO_PERMS);
}
return false;
}
/**
* Delete a player's own vault.
* Return true if allowed. Otherwise false.
* @param Sender sender
* @param String arg
* @param player The player to delete.
* @param user The user to whom the deleted vault belongs.
* @param arg The vault number to delete.
*/
public static void deleteOwnVault(Player sender, String arg) {
if(arg.matches("^[0-9]{1,2}$")) {
if (arg.matches("^[0-9]{1,2}$")) {
int number = 0;
try {
number = Integer.parseInt(arg);
if(number == 0)
if (number == 0)
sender.sendMessage(Lang.TITLE.toString() + ChatColor.RED + Lang.MUST_BE_NUMBER);
return;
} catch(NumberFormatException nfe) {
sender.sendMessage(Lang.TITLE.toString() + ChatColor.RED + Lang.MUST_BE_NUMBER);
}
try {
if(EconomyOperations.refundOnDelete(sender, number)) {
if (EconomyOperations.refundOnDelete(sender, number)) {
PlayerVaults.VM.deleteVault(sender, sender.getName(), number);
return;
}
@@ -119,19 +126,18 @@ public class VaultOperations {
}
/**
* Delete another player's vault.
* Return true if allowed. Otherwise false.
* @param Sender sender
* @param String user
* @param String arg
* Delete a player's own vault.
* @param player The player to delete.
* @param user The user to whom the deleted vault belongs.
* @param arg The vault number to delete.
*/
public static void deleteOtherVault(CommandSender sender, String user, String arg) {
if(sender.hasPermission("playervaults.delete")) {
if(arg.matches("^[0-9]{1,2}$")) {
if (sender.hasPermission("playervaults.delete")) {
if (arg.matches("^[0-9]{1,2}$")) {
int number = 0;
try {
number = Integer.parseInt(arg);
if(number == 0) {
if (number == 0) {
sender.sendMessage(Lang.TITLE.toString() + ChatColor.RED + Lang.MUST_BE_NUMBER);
return;
}
@@ -147,7 +153,9 @@ public class VaultOperations {
sender.sendMessage(Lang.TITLE.toString() + Lang.MUST_BE_NUMBER);
}
}
else Feedback.noPerms(sender);
else {
sender.sendMessage(Lang.TITLE.toString() + Lang.NO_PERMS);
}
}
}
@@ -1,26 +1,43 @@
package com.drtshock.playervaults.commands;
/**
* A class that stores information about a vault viewing including the holder of the vault,
* and the vault number.
*/
public class VaultViewInfo {
String s;
int i;
String holder;
int number;
/**
* Make a VaultViewObject
* @param s The holder of the vault.
* @param i The vault number.
*/
public VaultViewInfo(String s, int i) {
this.s = s;
this.i = i;
this.holder = s;
this.number = i;
}
/**
* Get the holder of the vault.
* @return The holder of the vault.
*/
public String getHolder() {
return this.s;
return this.holder;
}
/**
* Get the vault number.
* @return The vault number.
*/
public int getNumber() {
return this.i;
return this.number;
}
@Override
public String toString() {
return this.s + " " + this.i;
return this.holder + " " + this.number;
}
}