package regalowl.hyperconomy; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import regalowl.databukkit.CommonFunctions; public class Value { HyperConomy hc; Value(String args[], CommandSender sender, String playerecon) { hc = HyperConomy.hc; HyperEconomy he = hc.getEconomyManager().getEconomy(playerecon); CommonFunctions cf = hc.gCF(); LanguageFile L = hc.getLanguageFile(); Player player = null; EconomyManager em = hc.getEconomyManager(); try { if (sender instanceof Player) { player = (Player) sender; } boolean requireShop = hc.gYH().gFC("config").getBoolean("config.limit-info-commands-to-shops"); if (player == null || (requireShop && em.inAnyShop(player)) || !requireShop || player.hasPermission("hyperconomy.admin")) { String name = he.fixName(args[0]); int amount; if (args.length == 2) { amount = Integer.parseInt(args[1]); if (amount > 10000) { amount = 10000; } } else { amount = 1; } BasicObject bo = he.getBasicObject(name, em.getShop(player)); HyperItem hi = he.getHyperItem(name, em.getShop(player)); if (hi != null) { String displayName = hi.getDisplayName(); double val = hi.getValue(amount); double salestax = 0; if (player != null) { HyperPlayer hp = em.getHyperPlayer(player); salestax = hp.getSalesTax(val); } val = cf.twoDecimals(val - salestax); sender.sendMessage(L.get("LINE_BREAK")); sender.sendMessage(L.f(L.get("CAN_BE_SOLD_FOR"), amount, val, displayName)); double cost = hi.getCost(amount); double taxpaid = hi.getPurchaseTax(cost); cost = cf.twoDecimals(cost + taxpaid); if (cost > Math.pow(10, 10)) { cost = -1; } double stock = 0; stock = cf.twoDecimals(he.getHyperObject(name, em.getShop(player)).getStock()); sender.sendMessage(L.f(L.get("CAN_BE_PURCHASED_FOR"), amount, cost, displayName)); sender.sendMessage(L.f(L.get("GLOBAL_SHOP_CURRENTLY_HAS"), stock, displayName)); sender.sendMessage(L.get("LINE_BREAK")); } else if (bo != null) { String displayName = bo.getDisplayName(); double val = bo.getValue(amount); double salestax = 0; if (player != null) { HyperPlayer hp = em.getHyperPlayer(player); salestax = hp.getSalesTax(val); } val = cf.twoDecimals(val - salestax); sender.sendMessage(L.get("LINE_BREAK")); sender.sendMessage(L.f(L.get("CAN_BE_SOLD_FOR"), amount, val, displayName)); double cost = bo.getCost(amount); double taxpaid = bo.getPurchaseTax(cost); cost = cf.twoDecimals(cost + taxpaid); if (cost > Math.pow(10, 10)) { cost = -1; } double stock = 0; stock = cf.twoDecimals(he.getHyperObject(name, em.getShop(player)).getStock()); sender.sendMessage(L.f(L.get("CAN_BE_PURCHASED_FOR"), amount, cost, displayName)); sender.sendMessage(L.f(L.get("GLOBAL_SHOP_CURRENTLY_HAS"), stock, displayName)); sender.sendMessage(L.get("LINE_BREAK")); } else { sender.sendMessage(L.get("INVALID_ITEM_NAME")); return; } } else { sender.sendMessage(L.get("REQUIRE_SHOP_FOR_INFO")); return; } } catch (Exception e) { sender.sendMessage(L.get("VALUE_INVALID")); return; } } }