package com.crossge.ccebridge.Commands; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.crossge.cceconomy.ArrayLists; import com.crossge.cceconomy.Formatter; import com.crossge.ccebridge.*; public class CmdCmdPrices extends Cmd { Formatter form = new Formatter(); CmdPrices cmdp = new CmdPrices(); ArrayLists ccearl = new ArrayLists(); PlayerInfo pInfo = new PlayerInfo(); public CmdCmdPrices() { } public boolean commandUse(CommandSender sender, String[] args) { if(args.length > 1) return false; if (sender instanceof Player) { Player player = (Player) sender; int page = 0; if (args.length == 1) { if(!form.isLegal(args[0])) return false; page = Integer.parseInt(args[0]); } if (args.length == 0) page = 1; if (page == 0) page = 1; int time = 0; String price; int totalpages = cmdp.priceListPages(); if (page > totalpages) { player.sendMessage(ChatColor.GOLD + "Input a number from 1 to " + Integer.toString(totalpages)); return true; } player.sendMessage(ChatColor.GOLD + "Command Prices Page [" + Integer.toString(page) + "/" + Integer.toString(totalpages) + "]"); page = page - 1; price = cmdp.priceLists(page, time); String rank = pInfo.curRank(player.getName()).toUpperCase(); Command com; boolean hasNode = false; while(price != null) { com = player.getServer().getPluginCommand(price.split(" ")[0]); if(com == null) hasNode = false; else { String tempn = com.getPermission(); if(tempn == null) tempn = "essentials." + price.split(" ")[0].toLowerCase(); if(tempn.contains("mcmmo")) tempn = "essentials." + price.split(" ")[0].toLowerCase(); hasNode = pInfo.hasCmd(player.getName(), tempn); } price = formL(form.capFirst(price.split(" ")[0]), price.split(" ")[1], price.split(" ")[2], Integer.toString((page*10) + time + 1) + ".", rank, hasNode); player.sendMessage(price); time++; price = cmdp.priceLists(page, time); } return true; } else { int page = 0; if (args.length == 1) { if(!form.isLegal(args[0])) return false; page = Integer.parseInt(args[0]); } if (args.length == 0) page = 1; if (page == 0) page = 1; int time = 0; String price; int totalpages = cmdp.priceListPages(); if (page > totalpages) { sender.sendMessage(ChatColor.GOLD + "Input a number from 1 to " + Integer.toString(totalpages)); return true; } sender.sendMessage(ChatColor.GOLD + "Command Prices Page [" + Integer.toString(page) + "/" + Integer.toString(totalpages) + "]"); page = page - 1; price = cmdp.priceLists(page, time); while(price != null) { price = formL(form.capFirst(price.split(" ")[0]), price.split(" ")[1], price.split(" ")[2], Integer.toString((page*10) + time + 1) + ".", "CONSOLE", true); sender.sendMessage(price); time++; price = cmdp.priceLists(page, time); } return true; } } private String formL(String cmd, String rank, String cost, String numb, String curRank, boolean hasCmd) { String price = ""; rank = rank.toLowerCase(); if(!numb.equalsIgnoreCase("10.")) numb += " "; numb += " "; if(curRank.equals("CONSOLE")) { cost = "$" + form.roundTwoDecimals(Double.parseDouble(cost)); price = ChatColor.GOLD + numb + ccearl.getMessages() + cmd + " can be bought for " + ccearl.getMoney() + cost + ccearl.getMessages() + " by rank " + rank; } else { cost = "$" + form.roundTwoDecimals(Double.parseDouble(cost)); price = ChatColor.GOLD + numb + ccearl.getMessages() + cmd + " can be bought for " + ccearl.getMoney() + cost; if(hasCmd) price += ccearl.getMessages() + " Already Aquired."; else price += ccearl.getMessages() + " by rank " + rank; } return price; } }