package com.crossge.cceconomy.Commands; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.crossge.cceconomy.*; public class CmdSetPrice extends Cmd { ArrayLists arl = new ArrayLists(); Formatter form = new Formatter(); Prices pr = new Prices(); Materials mat = new Materials(); public CmdSetPrice() { } public boolean commandUse(CommandSender sender, String[] args) { if (sender instanceof Player) { Player player = (Player) sender; if (args.length == 0 || args.length == 1 || args.length > 3) return false; String itemName = ""; if(args.length == 3) { itemName = args[0]; if(form.isLegal(itemName)) itemName = mat.idToName(Integer.parseInt(itemName)); if(!form.isLegal(args[1]) && !args[1].equalsIgnoreCase("null")) return false; itemName = mat.findItem(itemName); if(!mat.itemExists(itemName)) { player.sendMessage(arl.getMessages() + "That item does not exist"); return true; } String file; if(args[2].equalsIgnoreCase("buy")) file = arl.getBuyFile(); else if(args[2].equalsIgnoreCase("sell")) file = arl.getSellFile(); else { player.sendMessage(arl.getMessages() + "Input either sell or buy"); return false; } if(args[1].equalsIgnoreCase("null")) { pr.setCost(file, itemName, args[1]); if(!itemName.equalsIgnoreCase("NETHER_BRICK_ITEM")) itemName = itemName.replaceAll("_ITEM", ""); itemName = form.capFirst(itemName); if(args[2].equalsIgnoreCase("buy")) player.sendMessage(arl.getMessages() + plural(itemName) + " can no longer be bought"); else player.sendMessage(arl.getMessages() + plural(itemName) + " can no longer be sold"); return true; } else { pr.setCost(file, itemName, form.roundTwoDecimals(Double.parseDouble(args[1]))); if(!itemName.equalsIgnoreCase("NETHER_BRICK_ITEM")) itemName = itemName.replaceAll("_ITEM", ""); itemName = form.capFirst(itemName); if(args[2].equalsIgnoreCase("buy")) player.sendMessage(arl.getMessages() + ownerShip(itemName) + " buy price was set to " + arl.getMoney() + "$" + form.roundTwoDecimals(Double.parseDouble(args[1]))); else player.sendMessage(arl.getMessages() + ownerShip(itemName) + " sell price was set to " + arl.getMoney() + "$" + form.roundTwoDecimals(Double.parseDouble(args[1]))); return true; } } if(args.length == 2) { if(!args[1].equalsIgnoreCase("buy") && !args[1].equalsIgnoreCase("sell")) { player.sendMessage(arl.getMessages() + "Input either sell or buy"); return false; } itemName = Integer.toString(player.getItemInHand().getTypeId()); if(form.isLegal(itemName)) itemName = mat.idToName(Integer.parseInt(itemName)); if(!form.isLegal(args[0]) && !args[0].equalsIgnoreCase("null")) return false; itemName = mat.findItem(itemName); if(!mat.itemExists(itemName)) { player.sendMessage(arl.getMessages() + "That item does not exist"); return true; } String file; if(args[1].equalsIgnoreCase("buy")) file = arl.getBuyFile(); else if(args[1].equalsIgnoreCase("sell")) file = arl.getSellFile(); else { player.sendMessage(arl.getMessages() + "Input either sell or buy"); return false; } if(args[0].equalsIgnoreCase("null")) { pr.setCost(file, itemName, args[0]); if(!itemName.equalsIgnoreCase("NETHER_BRICK_ITEM")) itemName = itemName.replaceAll("_ITEM", ""); itemName = form.capFirst(itemName); if(args[1].equalsIgnoreCase("buy")) player.sendMessage(arl.getMessages() + plural(itemName) + " can no longer be bought"); else player.sendMessage(arl.getMessages() + plural(itemName) + " can no longer be sold"); return true; } else { pr.setCost(file, itemName, form.roundTwoDecimals(Double.parseDouble(args[0]))); if(!itemName.equalsIgnoreCase("NETHER_BRICK_ITEM")) itemName = itemName.replaceAll("_ITEM", ""); itemName = form.capFirst(itemName); if(args[1].equalsIgnoreCase("buy")) player.sendMessage(arl.getMessages() + ownerShip(itemName) + " buy price was set to " + arl.getMoney() + "$" + form.roundTwoDecimals(Double.parseDouble(args[0]))); else player.sendMessage(arl.getMessages() + ownerShip(itemName) + " sell price was set to " + arl.getMoney() + "$" + form.roundTwoDecimals(Double.parseDouble(args[0]))); return true; } } return true; } else { if (args.length != 3) return false; String itemName; itemName = args[0]; if(form.isLegal(itemName)) itemName = mat.idToName(Integer.parseInt(itemName)); if(!form.isLegal(args[1]) && !args[1].equalsIgnoreCase("null")) return false; itemName = mat.findItem(itemName); if(!mat.itemExists(itemName)) { sender.sendMessage(arl.getMessages() + "That item does not exist"); return true; } String file; if(args[2].equalsIgnoreCase("buy")) file = arl.getBuyFile(); else if(args[2].equalsIgnoreCase("sell")) file = arl.getSellFile(); else { sender.sendMessage(arl.getMessages() + "Input either sell or buy"); return false; } if(args[1].equalsIgnoreCase("null")) { pr.setCost(file, itemName, args[1]); if(!itemName.equalsIgnoreCase("NETHER_BRICK_ITEM")) itemName = itemName.replaceAll("_ITEM", ""); itemName = form.capFirst(itemName); if(args[2].equalsIgnoreCase("buy")) sender.sendMessage(arl.getMessages() + plural(itemName) + " can no longer be bought"); else sender.sendMessage(arl.getMessages() + plural(itemName) + " can no longer be sold"); return true; } else { pr.setCost(file, itemName, form.roundTwoDecimals(Double.parseDouble(args[1]))); itemName = itemName.replaceAll("_ITEM", ""); itemName = form.capFirst(itemName); if(args[2].equalsIgnoreCase("buy")) sender.sendMessage(arl.getMessages() + ownerShip(itemName) + " buy price was set to " + arl.getMoney() + "$" + form.roundTwoDecimals(Double.parseDouble(args[1]))); else sender.sendMessage(arl.getMessages() + ownerShip(itemName) + " sell price was set to " + arl.getMoney() + "$" + form.roundTwoDecimals(Double.parseDouble(args[1]))); return true; } } } private String plural(String s) { if(s.endsWith("s") || s.endsWith("S")) return s; return s + "s"; } private String ownerShip(String s) { if(s.endsWith("s") || s.endsWith("S")) return s + "'"; return s + "'s"; } }