package me.kaZep.Commands; import java.io.File; import java.io.IOException; import java.text.DecimalFormat; import java.util.ArrayList; import java.util.List; import java.util.Map; import me.kaZep.Base.Main; import me.kaZep.Commands.JobsDataInfo.Job; import net.milkbowl.vault.economy.Economy; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Difficulty; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.OfflinePlayer; import org.bukkit.Server; import org.bukkit.SkullType; import org.bukkit.World; import org.bukkit.block.Skull; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Monster; import org.bukkit.entity.Player; import org.bukkit.event.inventory.InventoryType; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.MerchantInventory; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.SkullMeta; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; import com.sk89q.worldedit.CuboidClipboard; import com.sk89q.worldedit.EditSession; import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.bukkit.BukkitWorld; import com.sk89q.worldedit.data.DataException; import com.sk89q.worldedit.schematic.SchematicFormat; public class commandBankEconomy implements CommandExecutor { public Main plugin; String prefix = "2[BankEconomy]"; String usage = "bUsage:"; String invARG = "cInvalid argument. Please use 2/bankeconomyc to see a full list of commands."; String invARGT2 = "cInvalid argument or insufficient permissions."; String offlinePlayer = "cPlayer not found."; String accountDisabled = "cYour account is disabled."; String cmdInfo = "aYour bank balance isb"; String cmdCheckARG1 = "a/bankeconomy check "; String cmdResetARG1 = "a/bankeconomy reset "; String cmdDepositARG1 = "a"; String cmdWithdrawARG1 = "a"; String cmdTransferARG1 = "a/transfer "; String cmdTransferARG2 = "aPlease precise the name of the player."; String cmdEditARG1 = "a/bankeconomy edit "; String cmdEditARG2 = "aPlease precise the value."; String cmdCheckReponsePlayer = "a's bank balance isb"; String cmdResetToPlayer1 = "aYou have reset"; String cmdResetToPlayer2 = "'s bank account."; String cmdResetToTarget = "has reset your bank account."; String cmdReload = "aAll the configs have been reloaded succesfully."; String notEnoughMoney = "aYou do not own that amount of money."; String succesfullDeposited = "aYou have depositedb"; String succesfullWithdraw = "aYou have withdrawnb"; String cmdTransferToPlayer1 = "aYou have transferedb"; String cmdTransferToPlayer2 = "atob"; String cmdTransferToTarget1 = "ahas transfered to youb"; String cmdTransferSameNick = "aYou can't transfer money to yourself."; String cmdEditAvaibleActions = "aAvaible actions: status, balance"; String cmdEditDisabledToPlayer1 = "aYou have disabled"; String cmdEditDisabledToPlayer2 = "'s bank account."; String cmdEditEnableToPlayer1 = "aYou have enabled"; String cmdEditEnableToPlayer2 = "'s bank account."; String cmdEditAmountSetPlayer1 = "aYou have set"; String cmdEditAmountSetPlayer2 = "atob"; String cmdEditAmountSetPlayer3 = "a's account."; public commandBankEconomy(Main plugin) { this.plugin = plugin; } public String convertToItemName(String val) { val=val.replace('_', ' '); char[] mod = val.toCharArray(); boolean first=false; for (int i=0;i='a'&&mod[i]<='z') { mod[i]-=32; first=true; } else if (i==0) { if (mod[i]>='A'&&mod[i]<='Z') { first=true; } } else { if (mod[i]>='A'&&mod[i]<='Z'&&(mod[i-1]<'A'||mod[i-1]>'Z')) { first=true; } } } else { if (mod[i-1]!=' ') { if (mod[i]>='A'&&mod[i]<='Z') { mod[i]+=32; } } } } return String.valueOf(mod); } public void giveLegendaryItem(Player p) { String prefix = ""; String suffix = ""; int type=(int)(Math.random()*6); //int type=5; //TESTING. List enchants1 = new ArrayList(); List enchants2 = new ArrayList(); ItemStack finalitem = null; if (type==0) { finalitem=new ItemStack(Material.DIAMOND_HELMET); enchants1.add("Protective"); enchants1.add("Fire-Proof"); enchants1.add("Blast Resistant"); enchants1.add("Untouchable"); enchants1.add("Breathing"); enchants1.add("Working"); enchants1.add("Unbreaking"); enchants1.add("Thorny"); enchants2.add("Life"); enchants2.add("Resistance"); enchants2.add("Durability"); enchants2.add("Protection"); } if (type==1) { finalitem=new ItemStack(Material.DIAMOND_CHESTPLATE); enchants1.add("Protective"); enchants1.add("Fire-Proof"); enchants1.add("Blast Resistant"); enchants1.add("Untouchable"); enchants1.add("Unbreaking"); enchants1.add("Thorny"); enchants2.add("Life"); enchants2.add("Resistance"); enchants2.add("Durability"); enchants2.add("Protection"); } if (type==2) { finalitem=new ItemStack(Material.DIAMOND_LEGGINGS); enchants1.add("Protective"); enchants1.add("Fire-Proof"); enchants1.add("Blast Resistant"); enchants1.add("Untouchable"); enchants1.add("Unbreaking"); enchants1.add("Thorny"); enchants2.add("Life"); enchants2.add("Resistance"); enchants2.add("Durability"); enchants2.add("Protection"); } if (type==3) { finalitem=new ItemStack(Material.DIAMOND_BOOTS); enchants1.add("Protective"); enchants1.add("Fire-Proof"); enchants1.add("Blast Resistant"); enchants1.add("Untouchable"); enchants1.add("Lightweight"); enchants1.add("Unbreaking"); enchants1.add("Thorny"); enchants2.add("Life"); enchants2.add("Resistance"); enchants2.add("Durability"); enchants2.add("Protection"); } if (type==4) { finalitem=new ItemStack(Material.BOW); enchants1.add("Power"); enchants1.add("Punch"); enchants1.add("Flaming"); enchants1.add("Infinite"); enchants1.add("Unbreaking"); enchants2.add("Smiting"); enchants2.add("Penetration"); enchants2.add("Draining"); enchants2.add("Fury"); enchants2.add("Power"); } if (type==5) { finalitem=new ItemStack(Material.DIAMOND_SWORD); enchants1.add("Damaging"); enchants1.add("Knockback"); enchants1.add("Undead"); enchants1.add("Baning"); enchants1.add("Fiery"); enchants1.add("Greedy"); enchants1.add("Unbreaking"); enchants2.add("Smiting"); enchants2.add("Penetration"); enchants2.add("Draining"); enchants2.add("Fury"); enchants2.add("Power"); } prefix = enchants1.get((int)(Math.random()*enchants1.size())); suffix = enchants2.get((int)(Math.random()*enchants2.size())); if (prefix.equalsIgnoreCase("Protective")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 10); } if (prefix.equalsIgnoreCase("Fire-Proof")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_FIRE, 10); } if (prefix.equalsIgnoreCase("Blast Resistant")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_EXPLOSIONS, 10); } if (prefix.equalsIgnoreCase("Untouchable")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_PROJECTILE, 10); } if (prefix.equalsIgnoreCase("Breathing")) { finalitem.addUnsafeEnchantment(Enchantment.OXYGEN, 10); } if (prefix.equalsIgnoreCase("Working")) { finalitem.addUnsafeEnchantment(Enchantment.WATER_WORKER, 10); } if (prefix.equalsIgnoreCase("Unbreaking")) { finalitem.addUnsafeEnchantment(Enchantment.DURABILITY, 10); } if (prefix.equalsIgnoreCase("Thorny")) { finalitem.addUnsafeEnchantment(Enchantment.THORNS, 10); } if (prefix.equalsIgnoreCase("Untouchable")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_PROJECTILE, 10); } if (prefix.equalsIgnoreCase("Lightweight")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_FALL, 10); } if (prefix.equalsIgnoreCase("Power")) { finalitem.addUnsafeEnchantment(Enchantment.ARROW_DAMAGE, 10); } if (prefix.equalsIgnoreCase("Damaging")) { finalitem.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 10); } if (prefix.equalsIgnoreCase("Knockback")) { finalitem.addUnsafeEnchantment(Enchantment.KNOCKBACK, 10); } if (prefix.equalsIgnoreCase("Punch")) { finalitem.addUnsafeEnchantment(Enchantment.ARROW_KNOCKBACK, 10); } if (prefix.equalsIgnoreCase("Flaming")) { finalitem.addUnsafeEnchantment(Enchantment.ARROW_FIRE, 10); } if (prefix.equalsIgnoreCase("Infinite")) { finalitem.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, 10); } if (prefix.equalsIgnoreCase("Undead")) { finalitem.addUnsafeEnchantment(Enchantment.DAMAGE_UNDEAD, 10); } if (prefix.equalsIgnoreCase("Baning")) { finalitem.addUnsafeEnchantment(Enchantment.DAMAGE_ARTHROPODS, 10); } if (prefix.equalsIgnoreCase("Fiery")) { finalitem.addUnsafeEnchantment(Enchantment.FIRE_ASPECT, 10); } if (prefix.equalsIgnoreCase("Greedy")) { finalitem.addUnsafeEnchantment(Enchantment.LOOT_BONUS_MOBS, 10); } ItemMeta meta = finalitem.getItemMeta(); meta.setDisplayName(ChatColor.GOLD+""+ChatColor.BOLD+prefix+" "+convertToItemName(finalitem.getType().name())+" of "+suffix); List setLore = new ArrayList(); if (suffix.equalsIgnoreCase("Life")) { setLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*30)+10)+" "+ChatColor.BLUE+"Health"); } if (suffix.equalsIgnoreCase("Resistance")) { setLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*70)+20)+"% "+ChatColor.BLUE+"Damage Reduction"); } if (suffix.equalsIgnoreCase("Durability")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*200)+50)*10)+"% "+ChatColor.BLUE+"Durability"); } if (suffix.equalsIgnoreCase("Protection")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*50)+10))+"% "+ChatColor.BLUE+"Block Chance"); } if (suffix.equalsIgnoreCase("Smiting")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*50)+10))+"% "+ChatColor.BLUE+"Critical Chance"); } if (suffix.equalsIgnoreCase("Penetration")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*20)+5))+" "+ChatColor.BLUE+"Armor Penetration"); } if (suffix.equalsIgnoreCase("Draining")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*30)+20))+"% "+ChatColor.BLUE+"Life Steal"); } if (suffix.equalsIgnoreCase("Fury")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*50)+10))+"% "+ChatColor.BLUE+"Attack Speed"); } if (suffix.equalsIgnoreCase("Power")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*10)+5))+" "+ChatColor.BLUE+"Damage"); } setLore.add(""); setLore.add(ChatColor.YELLOW+"[Halloween]"); setLore.add("This item was created during the Halloween"); setLore.add("event. When this item breaks, it simply turns"); setLore.add("into a \"broken\" state and has a recharge time"); setLore.add("of 1 week. The item will be fully restored after"); setLore.add("a week of cooldown."); meta.setLore(setLore); finalitem.setItemMeta(meta); //finalitem.setDurability((short)1560); //TESTING. boolean full=true; for (int i=0;i0/*Has a point in it.*/?ChatColor.YELLOW+"+"+this.plugin.getStatBonus(0, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat1")/6)+"/"+ChatColor.RED+"+"+this.plugin.getStatBonus(0, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat1")/6+1):ChatColor.RED+"+"+this.plugin.getStatBonus(0, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat1")/6+1)):(ChatColor.YELLOW+"+"+this.plugin.getStatBonus(0, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat1")/6))))+ChatColor.GREEN+" Health Regeneration."); p.sendMessage(ChatColor.GRAY+""+ChatColor.ITALIC+"#9 "+ChatColor.RESET+ChatColor.WHITE+"+"+this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat2")/5+" - "+ChatColor.AQUA+" 5 pts: "+ChatColor.YELLOW+((this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat2")<24 /*Not maxed.*/?(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat2")>0/*Has a point in it.*/?ChatColor.YELLOW+"+"+this.plugin.getStatBonus(1, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat2")/5)+"%"+"/"+ChatColor.RED+"+"+this.plugin.getStatBonus(1, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat2")/5+1)+"%":ChatColor.RED+"+"+this.plugin.getStatBonus(1, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat2")/5+1)+"%"):(ChatColor.YELLOW+"+"+this.plugin.getStatBonus(1, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat2")/5)+"%")))+ChatColor.GREEN+" block destroying speed."); p.sendMessage(ChatColor.GRAY+""+ChatColor.ITALIC+"#8 "+ChatColor.RESET+ChatColor.WHITE+"+"+this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat3")/4+" - "+ChatColor.AQUA+" 4 pts: "+ChatColor.YELLOW+((this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat3")<24 /*Not maxed.*/?(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat3")>0/*Has a point in it.*/?ChatColor.YELLOW+"+"+this.plugin.getStatBonus(2, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat3")/4)+"%"+"/"+ChatColor.RED+"+"+this.plugin.getStatBonus(2, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat3")/4+1)+"%":ChatColor.RED+"+"+this.plugin.getStatBonus(2, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat3")/4+1)+"%"):(ChatColor.YELLOW+"+"+this.plugin.getStatBonus(2, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat3")/4)+"%")))+ChatColor.GREEN+" damage reduction."); p.sendMessage(ChatColor.GRAY+""+ChatColor.ITALIC+"#7 "+ChatColor.RESET+ChatColor.WHITE+"+"+this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat5")/4+" - "+ChatColor.AQUA+" 4 pts: "+ChatColor.YELLOW+((this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat5")<24 /*Not maxed.*/?(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat5")>0/*Has a point in it.*/?ChatColor.YELLOW+"+"+this.plugin.getStatBonus(4, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat5")/4)+"/"+ChatColor.RED+"+"+this.plugin.getStatBonus(4, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat5")/4+1):ChatColor.RED+"+"+this.plugin.getStatBonus(4, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat5")/4+1)):(ChatColor.YELLOW+"+"+this.plugin.getStatBonus(4, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat5")/4))))+ChatColor.GREEN+" armor penetration."); p.sendMessage(ChatColor.GRAY+""+ChatColor.ITALIC+"#6 "+ChatColor.RESET+ChatColor.WHITE+"+"+this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat4")/3+" - "+ChatColor.AQUA+" 3 pts: "+ChatColor.YELLOW+((this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat4")<24 /*Not maxed.*/?(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat4")>0/*Has a point in it.*/?ChatColor.YELLOW+"+"+this.plugin.getStatBonus(3, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat4")/3)+"/"+ChatColor.RED+"+"+this.plugin.getStatBonus(3, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat4")/3+1):ChatColor.RED+"+"+this.plugin.getStatBonus(3, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat4")/3+1)):(ChatColor.YELLOW+"+"+this.plugin.getStatBonus(3, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat4")/3))))+ChatColor.GREEN+" temporary health. (Regenerates every 3 minutes)"); p.sendMessage(ChatColor.GRAY+""+ChatColor.ITALIC+"#5 "+ChatColor.RESET+ChatColor.WHITE+"+"+this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat6")/3+" - "+ChatColor.AQUA+" 3 pts: "+ChatColor.YELLOW+((this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat6")<24 /*Not maxed.*/?(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat6")>0/*Has a point in it.*/?ChatColor.YELLOW+"+"+this.plugin.getStatBonus(5, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat6")/3)+"/"+ChatColor.RED+"+"+this.plugin.getStatBonus(5, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat6")/3+1):ChatColor.RED+"+"+this.plugin.getStatBonus(5, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat6")/3+1)):(ChatColor.YELLOW+"+"+this.plugin.getStatBonus(5, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat6")/3))))+ChatColor.GREEN+" seconds of fire resistance when caught on fire."); p.sendMessage(ChatColor.GRAY+""+ChatColor.ITALIC+"#4 "+ChatColor.RESET+ChatColor.WHITE+"+"+this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat7")/2+" - "+ChatColor.AQUA+" 2 pts: "+ChatColor.YELLOW+((this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat7")<24 /*Not maxed.*/?(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat7")>0/*Has a point in it.*/?ChatColor.YELLOW+"+"+this.plugin.getStatBonus(6, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat7")/2)+"/"+ChatColor.RED+"+"+this.plugin.getStatBonus(6, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat7")/2+1):ChatColor.RED+"+"+this.plugin.getStatBonus(6, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat7")/2+1)):(ChatColor.YELLOW+"+"+this.plugin.getStatBonus(6, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat7")/2))))+ChatColor.GREEN+" base damage."); p.sendMessage(ChatColor.GRAY+""+ChatColor.ITALIC+"#3 "+ChatColor.RESET+ChatColor.WHITE+"+"+this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat8")/2+" - "+ChatColor.AQUA+" 2 pts: "+ChatColor.YELLOW+((this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat8")<24 /*Not maxed.*/?(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat8")>0/*Has a point in it.*/?ChatColor.YELLOW+"+"+this.plugin.getStatBonus(7, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat8")/2)+"/"+ChatColor.RED+"+"+this.plugin.getStatBonus(7, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat8")/2+1):ChatColor.RED+"+"+this.plugin.getStatBonus(7, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat8")/2+1)):(ChatColor.YELLOW+"+"+this.plugin.getStatBonus(7, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat8")/2))))+ChatColor.GREEN+" health."); p.sendMessage(ChatColor.GRAY+""+ChatColor.ITALIC+"#2 "+ChatColor.RESET+ChatColor.WHITE+"-"+this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat9")/1+" - "+ChatColor.AQUA+" 1 pt: "+ChatColor.YELLOW+((this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat9")<25 /*Not maxed.*/?(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat9")>0/*Has a point in it.*/?ChatColor.YELLOW+"-"+this.plugin.getStatBonus(8, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat9")/1)+"%"+"/"+ChatColor.RED+"-"+this.plugin.getStatBonus(8, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat9")/1+1)+"%":ChatColor.RED+"-"+this.plugin.getStatBonus(8, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat9")/1+1)+"%"):(ChatColor.YELLOW+"-"+this.plugin.getStatBonus(8, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat9")/1)+"%")))+ChatColor.GREEN+" hunger decay."); p.sendMessage(ChatColor.GRAY+""+ChatColor.ITALIC+"#1 "+ChatColor.RESET+ChatColor.WHITE+"+"+this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat10")/1+" - "+ChatColor.AQUA+" 1 pt: "+ChatColor.YELLOW+((this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat10")<25 /*Not maxed.*/?(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat10")>0/*Has a point in it.*/?ChatColor.YELLOW+"+"+this.plugin.getStatBonus(9, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat10")/1)+"/"+ChatColor.RED+"+"+this.plugin.getStatBonus(9, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat10")/1+1):ChatColor.RED+"+"+this.plugin.getStatBonus(9, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat10")/1+1)):(ChatColor.YELLOW+"+"+this.plugin.getStatBonus(9, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat10")/1))))+ChatColor.GREEN+" seconds of water breathing."); p.sendMessage(ChatColor.ITALIC+""+ChatColor.DARK_AQUA+"Remember that 1 Health / Damage point is half a heart."); if (this.plugin.getStatPointTotal(p)"+ChatColor.WHITE+" - Teleport to a player for a cost."); } else if (cmd.getName().equalsIgnoreCase("settings")) { Inventory i = Bukkit.createInventory(p, 27, "Notification Options"); int count=-1; ItemStack temp,on,off; temp=new ItemStack(Material.DIRT); ItemMeta temp_meta=temp.getItemMeta();temp_meta.setDisplayName(ChatColor.YELLOW+"Pick Up Items");List temp_meta_lore = new ArrayList();temp_meta_lore.add(ChatColor.ITALIC+"Get notified whenever you pick up items.");temp_meta_lore.add(ChatColor.ITALIC+"");temp_meta_lore.add(ChatColor.ITALIC+""+ChatColor.GRAY+"Click to toggle this option on or off.");temp_meta.setLore(temp_meta_lore);temp.setItemMeta(temp_meta); on=new ItemStack(Material.REDSTONE_TORCH_ON); off=new ItemStack(Material.REDSTONE_TORCH_OFF); i.setItem(count+=2, temp);on.setItemMeta(temp_meta);off.setItemMeta(temp_meta); i.setItem(count+=1, (this.plugin.getAccountsConfig().getBoolean(p.getName().toLowerCase()+".settings.notify1")?on:off)); temp_meta.setDisplayName(ChatColor.YELLOW+"Craft Items");temp_meta_lore = new ArrayList();temp_meta_lore.add(ChatColor.ITALIC+"Get notified whenever you craft an item.");temp_meta_lore.add(ChatColor.ITALIC+"");temp_meta_lore.add(ChatColor.ITALIC+""+ChatColor.GRAY+"Click to toggle this option on or off.");temp_meta.setLore(temp_meta_lore); temp=new ItemStack(Material.WORKBENCH); temp.setItemMeta(temp_meta);i.setItem(count+=3, temp);on.setItemMeta(temp_meta);off.setItemMeta(temp_meta); i.setItem(count+=1, (this.plugin.getAccountsConfig().getBoolean(p.getName().toLowerCase()+".settings.notify2")?on:off)); temp_meta.setDisplayName(ChatColor.YELLOW+"Experience Points");temp_meta_lore = new ArrayList();temp_meta_lore.add(ChatColor.ITALIC+"Get notified whenever you gain");temp_meta_lore.add(ChatColor.ITALIC+"experience points.");temp_meta_lore.add(ChatColor.ITALIC+"");temp_meta_lore.add(ChatColor.ITALIC+""+ChatColor.GRAY+"Click to toggle this option on or off.");temp_meta.setLore(temp_meta_lore); temp=new ItemStack(Material.SLIME_BALL); temp.setItemMeta(temp_meta);i.setItem(count+=4, temp);on.setItemMeta(temp_meta);off.setItemMeta(temp_meta); i.setItem(count+=1, (this.plugin.getAccountsConfig().getBoolean(p.getName().toLowerCase()+".settings.notify3")?on:off)); temp_meta.setDisplayName(ChatColor.YELLOW+"Damage Dealt");temp_meta_lore = new ArrayList();temp_meta_lore.add(ChatColor.ITALIC+"Get notified whenever you deal");temp_meta_lore.add(ChatColor.ITALIC+"damage to enemies.");temp_meta_lore.add(ChatColor.ITALIC+"");temp_meta_lore.add(ChatColor.ITALIC+""+ChatColor.GRAY+"Click to toggle this option on or off.");temp_meta.setLore(temp_meta_lore); temp=new ItemStack(Material.IRON_SWORD); temp.setItemMeta(temp_meta);i.setItem(count+=3, temp);on.setItemMeta(temp_meta);off.setItemMeta(temp_meta); i.setItem(count+=1, (this.plugin.getAccountsConfig().getBoolean(p.getName().toLowerCase()+".settings.notify4")?on:off)); temp_meta.setDisplayName(ChatColor.YELLOW+"Damage Received");temp_meta_lore = new ArrayList();temp_meta_lore.add(ChatColor.ITALIC+"Get notified whenever you take damage");temp_meta_lore.add(ChatColor.ITALIC+" from enemies and other sources of damage.");temp_meta_lore.add(ChatColor.ITALIC+"");temp_meta_lore.add(ChatColor.ITALIC+""+ChatColor.GRAY+"Click to toggle this option on or off.");temp_meta.setLore(temp_meta_lore); temp=new ItemStack(Material.IRON_CHESTPLATE); temp.setItemMeta(temp_meta); i.setItem(count+=4, temp);on.setItemMeta(temp_meta);off.setItemMeta(temp_meta); i.setItem(count+=1, (this.plugin.getAccountsConfig().getBoolean(p.getName().toLowerCase()+".settings.notify5")?on:off)); temp_meta.setDisplayName(ChatColor.YELLOW+"Money Gained");temp_meta_lore = new ArrayList();temp_meta_lore.add(ChatColor.ITALIC+"Get notified of how much money you made");temp_meta_lore.add(ChatColor.ITALIC+" from your jobs in the past hour.");temp_meta_lore.add(ChatColor.ITALIC+"");temp_meta_lore.add(ChatColor.ITALIC+""+ChatColor.GRAY+"Click to toggle this option on or off.");temp_meta.setLore(temp_meta_lore); temp=new ItemStack(Material.GOLD_INGOT); temp.setItemMeta(temp_meta);i.setItem(count+=3, temp);on.setItemMeta(temp_meta);off.setItemMeta(temp_meta); i.setItem(count+=1, (this.plugin.getAccountsConfig().getBoolean(p.getName().toLowerCase()+".settings.notify6")?on:off)); p.openInventory(i); } else if (cmd.getName().equalsIgnoreCase("event")) { if (p.hasPermission("maintenance-mode-admin")) { p.sendMessage("Events available: halloween, thanksgiving. Use: /event "); } } else if (cmd.getName().equalsIgnoreCase("maintenance")) { if (p.hasPermission("maintenance-mode-admin")) { if (this.plugin.getConfig().getBoolean("maintenance-mode")) { this.plugin.getConfig().set("maintenance-mode", Boolean.valueOf(false)); Bukkit.broadcastMessage("Maintenance mode is now "+ChatColor.BLUE+" OFF"+ChatColor.RESET+"."); } else { this.plugin.getConfig().set("maintenance-mode", Boolean.valueOf(true)); Bukkit.broadcastMessage("Maintenance mode is now "+ChatColor.RED+" ON"+ChatColor.RESET+"."); } this.plugin.saveConfig(); } } else if (cmd.getName().equalsIgnoreCase("transfer")) { p.sendMessage("Usage: "+ChatColor.RED+"/transfer name money"+ChatColor.WHITE+" - Transfer money to a player."); } else if (cmd.getName().equalsIgnoreCase("revive")) { p.sendMessage("Usage: "+ChatColor.RED+"/revive me "+ChatColor.WHITE+" - Revive to the last location you died at."); } else if (cmd.getName().equalsIgnoreCase("unenchant")) { Map map = p.getItemInHand().getEnchantments(); for (Map.Entry entry : map.entrySet()) { p.getItemInHand().removeEnchantment(entry.getKey()); } if (p.getItemInHand().hasItemMeta() && p.getItemInHand().getItemMeta().hasLore()) { List newlore = new ArrayList(); for (int i=0;i newlore = new ArrayList(); newlore.add(ChatColor.YELLOW+"Can only be used by Lv5+ Builders."); newlore.add(ChatColor.YELLOW+""); newlore.add("Left-click one block and another"); newlore.add("of the same type to create a line"); newlore.add("of blocks. "+ChatColor.BLUE+"(Max Range: 500 blocks)"); meta.setLore(newlore); i.setItemMeta(meta); p.getInventory().addItem(i); } else { p.sendMessage(ChatColor.RED+"You do not have the Lv5 Builder Buff!"); } } else if (cmd.getName().equalsIgnoreCase("rectangle")) { if (this.plugin.hasJobBuff("Builder", p, Job.JOB10)) { p.sendMessage("You have received a rectangle builder tool."); ItemStack i = new ItemStack(Material.getMaterial(142)); ItemMeta meta = i.getItemMeta(); meta.setDisplayName(ChatColor.GRAY+"Rectangle Builder Tool"); List newlore = new ArrayList(); newlore.add(ChatColor.YELLOW+"Can only be used by Lv10+ Builders."); newlore.add(ChatColor.YELLOW+""); newlore.add("Left-click one block and another"); newlore.add("of the same type to fill a"); newlore.add("rectangle of blocks."); newlore.add(ChatColor.BLUE+" (Max Range: 500 blocks)"); meta.setLore(newlore); i.setItemMeta(meta); p.getInventory().addItem(i); } else { p.sendMessage(ChatColor.RED+"You do not have the Lv10 Builder Buff!"); } } else if (cmd.getName().equalsIgnoreCase("ticktime")) { p.sendMessage("Current Server Time: "+ChatColor.GRAY+""+ChatColor.ITALIC+Main.SERVER_TICK_TIME); } else if (cmd.getName().equalsIgnoreCase("jobs")) { FileConfiguration config = this.plugin.getConfig(); int MAXJOBS = config.getInt("jobs.MAX_JOBS"); p.sendMessage(ChatColor.GOLD+" Blacksmith ("+config.getInt("jobs.Blacksmith")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.DARK_GREEN+" Breeder ("+config.getInt("jobs.Breeder")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.LIGHT_PURPLE+" Brewer ("+config.getInt("jobs.Brewer")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.WHITE+" Builder ("+config.getInt("jobs.Builder")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.YELLOW+" Cook ("+config.getInt("jobs.Cook")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.GOLD+" Digger ("+config.getInt("jobs.Digger")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.DARK_BLUE+" Enchanter ("+config.getInt("jobs.Enchanter")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.WHITE+" Explorer ("+config.getInt("jobs.Explorer")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.AQUA+" Fisherman ("+config.getInt("jobs.Fisherman")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.RED+" Hunter ("+config.getInt("jobs.Hunter")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.GRAY+" Miner ("+config.getInt("jobs.Miner")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.DARK_RED+" Support ("+config.getInt("jobs.Support")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.DARK_PURPLE+" Weaponsmith ("+config.getInt("jobs.Weaponsmith")+"/"+MAXJOBS+")"); p.sendMessage(ChatColor.GREEN+" Woodcutter ("+config.getInt("jobs.Woodcutter")+"/"+MAXJOBS+")"); p.sendMessage("For more information, type "+ChatColor.GREEN+"/jobs info [JobName]"); } else if (!p.hasPermission("bankeconomy.main.admin")) { p.sendMessage(ChatColor.GOLD + "---===" + this.prefix + ChatColor.GOLD + "===---"); p.sendMessage(ChatColor.RED + "/bankeconomy transfer " + ChatColor.AQUA + "- Transfer some money to other player."); p.sendMessage(ChatColor.RED + "/bankeconomy info " + ChatColor.AQUA + "- See your bank informations."); p.sendMessage(ChatColor.RED + "/revive me" + ChatColor.AQUA + "- Revive after a death."); p.sendMessage(ChatColor.RED + "/revive amount " + ChatColor.AQUA + "- Check cost to revive at current location."); } else { p.sendMessage(ChatColor.GOLD + "---===" + this.prefix + ChatColor.GOLD + "===---"); p.sendMessage(ChatColor.RED + "/bankeconomy transfer " + ChatColor.AQUA + "- Transfer some money to other player."); p.sendMessage(ChatColor.RED + "/bankeconomy info " + ChatColor.AQUA + "- See your bank informations."); p.sendMessage(ChatColor.DARK_RED + "/bankeconomy edit " + ChatColor.DARK_AQUA + "- Edit a player bank account."); p.sendMessage(ChatColor.RED + "/revive me" + ChatColor.AQUA + "- Revive after a death."); p.sendMessage(ChatColor.RED + "/revive amount " + ChatColor.AQUA + "- Check cost to revive at current location."); p.sendMessage(ChatColor.DARK_RED + "/bankeconomy check " + ChatColor.DARK_AQUA + "- Check a player bank account."); p.sendMessage(ChatColor.DARK_RED + "/bankeconomy reset " + ChatColor.DARK_AQUA + "- Delete a player bank account."); p.sendMessage(ChatColor.DARK_RED + "/bankeconomy reload " + ChatColor.DARK_AQUA + "- Reloads config and accounts."); } } else if (cmd.getName().equalsIgnoreCase("event") && args.length==1 && p.hasPermission("maintenance-mode-admin")) { if (args[0].equalsIgnoreCase("halloween")) { if (this.plugin.getConfig().getBoolean("halloween-enabled")) { this.plugin.getConfig().set("halloween-enabled", Boolean.valueOf(false)); p.sendMessage("Halloween event disabled."); } else { this.plugin.getConfig().set("halloween-enabled", Boolean.valueOf(true)); p.sendMessage("Halloween event enabled."); } this.plugin.saveConfig(); } if (args[0].equalsIgnoreCase("thanksgiving")) { if (this.plugin.getConfig().getBoolean("thanksgiving-enabled")) { this.plugin.getConfig().set("thanksgiving-enabled", Boolean.valueOf(false)); p.sendMessage("Thanksgiving event disabled."); } else { this.plugin.getConfig().set("thanksgiving-enabled", Boolean.valueOf(true)); p.sendMessage("Thanksgiving event enabled."); } this.plugin.saveConfig(); } if (args[0].equalsIgnoreCase("loot")) { ItemStack chest = new ItemStack(Material.CHEST); ItemMeta chest_name = chest.getItemMeta(); chest_name.setDisplayName(ChatColor.YELLOW+"Closed Chest"); List chestlore = new ArrayList(); chestlore.add(ChatColor.GRAY+""+ChatColor.ITALIC+"A mysterious chest!"); chestlore.add(ChatColor.GRAY+""+ChatColor.ITALIC+""); chestlore.add(ChatColor.GRAY+""+ChatColor.ITALIC+"It feels heavy; there"); chestlore.add(ChatColor.GRAY+""+ChatColor.ITALIC+"might be items inside."); chest_name.setLore(chestlore); chest.setItemMeta(chest_name); p.getWorld().dropItemNaturally(p.getLocation(), chest); } } else if (cmd.getName().equalsIgnoreCase("event") && args.length==2 && p.hasPermission("maintenance-mode-admin")) { if (args[0].equalsIgnoreCase("head")) { ItemStack m = new ItemStack(Material.SKULL_ITEM, 64, (short)SkullType.PLAYER.ordinal()); SkullMeta skullMeta = (SkullMeta) m.getItemMeta(); skullMeta.setOwner(args[1]); skullMeta.setDisplayName(ChatColor.RESET + args[1]+"'s Head"); m.setItemMeta(skullMeta); p.getInventory().addItem(m); } if (args[0].equalsIgnoreCase("halloween_reward")) { Bukkit.broadcastMessage(args[1]+" has won the Pumpkin Patch contest due to popular vote! "+ChatColor.BOLD+"Congratulations!"); Player f = Bukkit.getPlayer(args[1]); f.sendMessage("You have received $800 in holding money, and 5 Job Boost cards!"); this.plugin.economy.depositPlayer(args[1], 800); ItemStack i = new ItemStack(Material.getMaterial(34),5); ItemMeta meta = i.getItemMeta(); meta.setDisplayName(ChatColor.LIGHT_PURPLE+"Job Boost Card"); List lore = new ArrayList(); lore.add("Use /jobs boost to instantly level up"); lore.add("that job with this card!"); meta.setLore(lore); i.setItemMeta(meta); f.getInventory().addItem(i); } if (args[0].equalsIgnoreCase("halloween") && args[1].equalsIgnoreCase("end")) { p.sendMessage(ChatColor.GRAY+"Ending Harrowing night... Did you make sure it was night time? If not, type this command again after /time night instead."); this.plugin.harrowing_night=true; this.plugin.getConfig().set("halloween-enabled", Boolean.valueOf(false)); p.sendMessage("Halloween event disabled."); Bukkit.broadcastMessage(ChatColor.GRAY+"Ending 'The Harrowing' Event..."); Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { @Override public void run() { Bukkit.broadcastMessage(" Thanks for playing and sticking with us through this event!"); } },20); Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { @Override public void run() { Bukkit.broadcastMessage(ChatColor.GOLD+" Please make 3 slots of room in your inventory now if you do not have room. We are giving prizes...."); } },100); Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { @Override public void run() { Bukkit.broadcastMessage(ChatColor.GREEN+" You each have received an extra Harrowing item, a bonus extra item, and a special Polymorph Wand for participating in this event! I have also given you appropriate buffs."); for (int i=0;i enchants1 = new ArrayList(); List enchants2 = new ArrayList(); ItemStack finalitem = null; if (type==0) { finalitem=new ItemStack(Material.DIAMOND_HELMET); enchants1.add("Protective"); enchants1.add("Fire-Proof"); enchants1.add("Blast Resistant"); enchants1.add("Untouchable"); enchants1.add("Breathing"); enchants1.add("Working"); enchants1.add("Unbreaking"); enchants1.add("Thorny"); enchants2.add("Life"); enchants2.add("Resistance"); enchants2.add("Durability"); enchants2.add("Protection"); } if (type==1) { finalitem=new ItemStack(Material.DIAMOND_CHESTPLATE); enchants1.add("Protective"); enchants1.add("Fire-Proof"); enchants1.add("Blast Resistant"); enchants1.add("Untouchable"); enchants1.add("Unbreaking"); enchants1.add("Thorny"); enchants2.add("Life"); enchants2.add("Resistance"); enchants2.add("Durability"); enchants2.add("Protection"); } if (type==2) { finalitem=new ItemStack(Material.DIAMOND_LEGGINGS); enchants1.add("Protective"); enchants1.add("Fire-Proof"); enchants1.add("Blast Resistant"); enchants1.add("Untouchable"); enchants1.add("Unbreaking"); enchants1.add("Thorny"); enchants2.add("Life"); enchants2.add("Resistance"); enchants2.add("Durability"); enchants2.add("Protection"); } if (type==3) { finalitem=new ItemStack(Material.DIAMOND_BOOTS); enchants1.add("Protective"); enchants1.add("Fire-Proof"); enchants1.add("Blast Resistant"); enchants1.add("Untouchable"); enchants1.add("Lightweight"); enchants1.add("Unbreaking"); enchants1.add("Thorny"); enchants2.add("Life"); enchants2.add("Resistance"); enchants2.add("Durability"); enchants2.add("Protection"); } if (type==4) { finalitem=new ItemStack(Material.BOW); enchants1.add("Power"); enchants1.add("Punch"); enchants1.add("Flaming"); enchants1.add("Infinite"); enchants1.add("Unbreaking"); enchants2.add("Smiting"); enchants2.add("Penetration"); enchants2.add("Draining"); enchants2.add("Fury"); enchants2.add("Power"); } if (type==5) { finalitem=new ItemStack(Material.DIAMOND_SWORD); enchants1.add("Damaging"); enchants1.add("Knockback"); enchants1.add("Undead"); enchants1.add("Baning"); enchants1.add("Fiery"); enchants1.add("Greedy"); enchants1.add("Unbreaking"); enchants2.add("Smiting"); enchants2.add("Penetration"); enchants2.add("Draining"); enchants2.add("Fury"); enchants2.add("Power"); } prefix = enchants1.get((int)(Math.random()*enchants1.size())); suffix = enchants2.get((int)(Math.random()*enchants2.size())); if (prefix.equalsIgnoreCase("Protective")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_ENVIRONMENTAL, 10); } if (prefix.equalsIgnoreCase("Fire-Proof")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_FIRE, 10); } if (prefix.equalsIgnoreCase("Blast Resistant")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_EXPLOSIONS, 10); } if (prefix.equalsIgnoreCase("Untouchable")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_PROJECTILE, 10); } if (prefix.equalsIgnoreCase("Breathing")) { finalitem.addUnsafeEnchantment(Enchantment.OXYGEN, 10); } if (prefix.equalsIgnoreCase("Working")) { finalitem.addUnsafeEnchantment(Enchantment.WATER_WORKER, 10); } if (prefix.equalsIgnoreCase("Unbreaking")) { finalitem.addUnsafeEnchantment(Enchantment.DURABILITY, 10); } if (prefix.equalsIgnoreCase("Thorny")) { finalitem.addUnsafeEnchantment(Enchantment.THORNS, 10); } if (prefix.equalsIgnoreCase("Untouchable")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_PROJECTILE, 10); } if (prefix.equalsIgnoreCase("Lightweight")) { finalitem.addUnsafeEnchantment(Enchantment.PROTECTION_FALL, 10); } if (prefix.equalsIgnoreCase("Power")) { finalitem.addUnsafeEnchantment(Enchantment.ARROW_DAMAGE, 10); } if (prefix.equalsIgnoreCase("Damaging")) { finalitem.addUnsafeEnchantment(Enchantment.DAMAGE_ALL, 10); } if (prefix.equalsIgnoreCase("Knockback")) { finalitem.addUnsafeEnchantment(Enchantment.KNOCKBACK, 10); } if (prefix.equalsIgnoreCase("Punch")) { finalitem.addUnsafeEnchantment(Enchantment.ARROW_KNOCKBACK, 10); } if (prefix.equalsIgnoreCase("Flaming")) { finalitem.addUnsafeEnchantment(Enchantment.ARROW_FIRE, 10); } if (prefix.equalsIgnoreCase("Infinite")) { finalitem.addUnsafeEnchantment(Enchantment.ARROW_INFINITE, 10); } if (prefix.equalsIgnoreCase("Undead")) { finalitem.addUnsafeEnchantment(Enchantment.DAMAGE_UNDEAD, 10); } if (prefix.equalsIgnoreCase("Baning")) { finalitem.addUnsafeEnchantment(Enchantment.DAMAGE_ARTHROPODS, 10); } if (prefix.equalsIgnoreCase("Fiery")) { finalitem.addUnsafeEnchantment(Enchantment.FIRE_ASPECT, 10); } if (prefix.equalsIgnoreCase("Greedy")) { finalitem.addUnsafeEnchantment(Enchantment.LOOT_BONUS_MOBS, 10); } ItemMeta meta = finalitem.getItemMeta(); meta.setDisplayName(ChatColor.GOLD+""+ChatColor.BOLD+prefix+" "+convertToItemName(finalitem.getType().name())+" of "+suffix); List setLore = new ArrayList(); if (suffix.equalsIgnoreCase("Life")) { setLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*30)+10)+" "+ChatColor.BLUE+"Health"); } if (suffix.equalsIgnoreCase("Resistance")) { setLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*70)+20)+"% "+ChatColor.BLUE+"Damage Reduction"); } if (suffix.equalsIgnoreCase("Durability")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*200)+50)*10)+"% "+ChatColor.BLUE+"Durability"); } if (suffix.equalsIgnoreCase("Protection")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*50)+10))+"% "+ChatColor.BLUE+"Block Chance"); } if (suffix.equalsIgnoreCase("Smiting")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*50)+10))+"% "+ChatColor.BLUE+"Critical Chance"); } if (suffix.equalsIgnoreCase("Penetration")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*20)+5))+" "+ChatColor.BLUE+"Armor Penetration"); } if (suffix.equalsIgnoreCase("Draining")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*30)+20))+"% "+ChatColor.BLUE+"Life Steal"); } if (suffix.equalsIgnoreCase("Fury")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*50)+10))+"% "+ChatColor.BLUE+"Attack Speed"); } if (suffix.equalsIgnoreCase("Power")) { setLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*10)+5))+" "+ChatColor.BLUE+"Damage"); } setLore.add(""); setLore.add(ChatColor.YELLOW+"[Halloween]"); setLore.add("This item was created during the Halloween"); setLore.add("event. When this item breaks, it simply turns"); setLore.add("into a \"broken\" state and has a recharge time"); setLore.add("of 1 week. The item will be fully restored after"); setLore.add("a week of cooldown."); meta.setLore(setLore); finalitem.setItemMeta(meta); //finalitem.setDurability((short)1560); //TESTING. boolean full=true; for (int j=0;j0) { chance_increase=1.5d; } if (type2.equalsIgnoreCase("BOW")) { item = new ItemStack(Material.BOW); int enchants[] = {48,49,50,51}; for (int j=0;j ourLore = new ArrayList(); if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*10)+1)+"% "+ChatColor.BLUE+"Critical Chance"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*3)+1)+" "+ChatColor.BLUE+"Armor Penetration"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*10)+1)+"% "+ChatColor.BLUE+"Life Steal"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*30)+1)+"% "+ChatColor.BLUE+"Attack Speed"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*5)+1)+" "+ChatColor.BLUE+"Damage"); } ItemMeta meta1 = item.getItemMeta(); meta1.setLore(ourLore); item.setItemMeta(meta1); } else { item = new ItemStack(Material.getMaterial(type1+"_"+type2)); if (type2.equalsIgnoreCase("SWORD")) { int enchants[] = {16,17,18,19,20,21,34}; for (int j=0;j ourLore = new ArrayList(); if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*10)+1)+"% "+ChatColor.BLUE+"Critical Chance"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*3)+1)+" "+ChatColor.BLUE+"Armor Penetration"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*10)+1)+"% "+ChatColor.BLUE+"Life Steal"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*30)+1)+"% "+ChatColor.BLUE+"Attack Speed"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*5)+1)+" "+ChatColor.BLUE+"Damage"); } ItemMeta meta1 = item.getItemMeta(); meta1.setLore(ourLore); if (rarity==1) { meta.setDisplayName(ChatColor.BLUE+"Rare "+convertToItemName(item.getType().name().replace("_", " "))); } if (rarity==2) { meta.setDisplayName(ChatColor.YELLOW+""+ChatColor.BOLD+"Legendary "+convertToItemName(item.getType().name().replace("_", " "))); } item.setItemMeta(meta1); } else if (type2.equalsIgnoreCase("SPADE") || type2.equalsIgnoreCase("PICKAXE") || type2.equalsIgnoreCase("HOE") || type2.equalsIgnoreCase("AXE")) { int enchants[] = {32,33,34,35}; for (int j=0;j ourLore = new ArrayList(); if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*10)+1)+"% "+ChatColor.BLUE+"Critical Chance"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*3)+1)+" "+ChatColor.BLUE+"Armor Penetration"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*10)+1)+"% "+ChatColor.BLUE+"Life Steal"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*30)+1)+"% "+ChatColor.BLUE+"Attack Speed"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*5)+1)+" "+ChatColor.BLUE+"Damage"); } ItemMeta meta1 = item.getItemMeta(); meta1.setLore(ourLore); if (rarity==1) { meta.setDisplayName(ChatColor.BLUE+"Rare "+convertToItemName(item.getType().name().replace("_", " "))); } if (rarity==2) { meta.setDisplayName(ChatColor.YELLOW+""+ChatColor.BOLD+"Legendary "+convertToItemName(item.getType().name().replace("_", " "))); } item.setItemMeta(meta1); } else { int enchants[] = {0,1,2,3,4,5,6,7,34}; for (int j=0;j ourLore = new ArrayList(); if (rarity==2) { if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*16)+1)+" "+ChatColor.BLUE+"Health"); } else if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*40)+1)+"% "+ChatColor.BLUE+"Damage Reduction"); } else if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*200)+1)*10)+"% "+ChatColor.BLUE+"Durability"); } else if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*40)+1)+"% "+ChatColor.BLUE+"Block Chance"); } else { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*40)+1)+"% "+ChatColor.BLUE+"Speed Boost Chance"); } } else if (rarity==1) { if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*8)+1)+" "+ChatColor.BLUE+"Health"); } else if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*20)+1)+"% "+ChatColor.BLUE+"Damage Reduction"); } else if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*100)+1)*10)+"% "+ChatColor.BLUE+"Durability"); } else if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*20)+1)+"% "+ChatColor.BLUE+"Block Chance"); } else { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*20)+1)+"% "+ChatColor.BLUE+"Speed Boost Chance"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*8)+1)+" "+ChatColor.BLUE+"Health"); } else if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*20)+1)+"% "+ChatColor.BLUE+"Damage Reduction"); } else if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*100)+1)*10)+"% "+ChatColor.BLUE+"Durability"); } else if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*20)+1)+"% "+ChatColor.BLUE+"Block Chance"); } else { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*20)+1)+"% "+ChatColor.BLUE+"Speed Boost Chance"); } } else { if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*4)+1)+" "+ChatColor.BLUE+"Health"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*10)+1)+"% "+ChatColor.BLUE+"Damage Reduction"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+(((int)(Math.random()*50)+1)*10)+"% "+ChatColor.BLUE+"Durability"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*10)+1)+"% "+ChatColor.BLUE+"Block Chance"); } if (Math.random()<=0.2) { ourLore.add(ChatColor.YELLOW+"+"+((int)(Math.random()*10)+1)+"% "+ChatColor.BLUE+"Speed Boost Chance"); } } ItemMeta meta1 = item.getItemMeta(); meta1.setLore(ourLore); if (rarity==1) { meta.setDisplayName(ChatColor.BLUE+"Rare "+convertToItemName(item.getType().name().replace("_", " "))); } if (rarity==2) { meta.setDisplayName(ChatColor.YELLOW+""+ChatColor.BOLD+"Legendary "+convertToItemName(item.getType().name().replace("_", " "))); } item.setItemMeta(meta1); } } p.getInventory().addItem(item); ItemStack wand = new ItemStack(Material.getMaterial(127)); ItemMeta wand_meta = wand.getItemMeta(); wand_meta.setDisplayName(ChatColor.RED+"P"+ ChatColor.GOLD+"o"+ChatColor.YELLOW+"l"+ ChatColor.GREEN+"y"+ChatColor.BLUE+"m"+ ChatColor.LIGHT_PURPLE+"o"+ChatColor.DARK_RED+"r" +ChatColor.DARK_GREEN+"p"+ChatColor.DARK_PURPLE+"h"+ChatColor.RESET+" Wand"); List newLore = new ArrayList(); newLore.add("A "+ChatColor.YELLOW+"[Halloween]"+ChatColor.DARK_PURPLE+""+ChatColor.ITALIC+" item received as a reward"); newLore.add("for participating in the event. This item can"); newLore.add("turn a creature into another creature."); newLore.add("Can be used once a minute."); wand_meta.setLore(newLore); wand.setItemMeta(wand_meta); p.getInventory().addItem(wand); p.addPotionEffect(new PotionEffect(PotionEffectType.INCREASE_DAMAGE,1728000,1)); p.addPotionEffect(new PotionEffect(PotionEffectType.HEALTH_BOOST,1728000,1)); p.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION,1728000,0)); } } },400); Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { @Override public void run() { Bukkit.broadcastMessage(ChatColor.GOLD+""+ChatColor.BOLD+""); Bukkit.broadcastMessage(ChatColor.GOLD+""+ChatColor.BOLD+"Again, thank you for participating, and everyone have a great night!"); } },600); Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { @Override public void run() { Bukkit.broadcastMessage(ChatColor.DARK_GRAY+""+ChatColor.ITALIC+" And so the Harrowing ends...."); } },700); Bukkit.getWorld("world").setDifficulty(Difficulty.HARD); this.plugin.harrowing_night=true; this.plugin.saveConfig(); } if (args[0].equalsIgnoreCase("spawn_dungeon") && args[1].equalsIgnoreCase("boss")) { //Empty the whole area. double xoffset = Math.random()*10+15; double zoffset = Math.random()*10+15; if (Math.random()<=0.5) { xoffset*=-1; } if (Math.random()<=0.5) { zoffset*=-1; } for (int j=-15;j<16;j++) { for (int y=0;y<10;y++) { for (int k=-15;k<16;k++) { Bukkit.getWorld("world").getBlockAt(p.getLocation().add(xoffset+j,y,zoffset+k)).setType(Material.AIR); } } } Bukkit.getLogger().info("Spawned a new boss area."); File file = new File("plugins/WorldEdit/schematics/boss.schematic"); if (file.exists()) { try { com.sk89q.worldedit.Vector v = new com.sk89q.worldedit.Vector(p.getLocation().getX()+xoffset-8, p.getLocation().getY(), p.getLocation().getZ()+zoffset-8); World worldf = Bukkit.getWorld("world"); BukkitWorld BWf = new BukkitWorld(worldf); EditSession es = new EditSession(BWf, 2000000); CuboidClipboard c1 = SchematicFormat.MCEDIT.load(file); c1.place(es, v, true); Bukkit.getWorld("world").getBlockAt(new Location(p.getWorld(),p.getLocation().getX()+xoffset, p.getLocation().getY()+2, p.getLocation().getZ()+zoffset)).setType(Material.COMMAND); } catch (DataException ex) { Bukkit.getLogger().warning("DataException while trying to create structure."); } catch (IOException ex) { Bukkit.getLogger().warning("IOException while trying to create structure."); } catch (MaxChangedBlocksException ex) { Bukkit.getLogger().warning("MaxChangedBlocksException while trying to create structure."); } } else { Bukkit.getLogger().warning(("File does not exist.")); } this.plugin.last_boss_dungeon_time=this.plugin.SERVER_TICK_TIME+12000; } if (args[0].equalsIgnoreCase("fatal_survivor") && args[1].equalsIgnoreCase("reset")) { boolean survivor=false; this.plugin.explorers.clear(); } if (args[0].equalsIgnoreCase("halloween") && args[1].equalsIgnoreCase("giant_pumpkin")) { if (this.plugin.getConfig().getBoolean("halloween-enabled")) { ItemStack item = new ItemStack(Material.PUMPKIN); ItemMeta meta = item.getItemMeta(); meta.setDisplayName(ChatColor.GREEN+"Giant Pumpkin"); List lore = new ArrayList(); lore.add("Place the Giant Pumpkin on an Orange"); lore.add("Block to start carving your pumpkin!"); meta.setLore(lore); item.setItemMeta(meta); p.getInventory().addItem(item); } this.plugin.saveConfig(); } if (args[0].equalsIgnoreCase("halloween") && args[1].equalsIgnoreCase("pie_label")) { if (this.plugin.getConfig().getBoolean("halloween-enabled")) { for (int i=1;i<11;i++) { ItemStack item = new ItemStack(Material.PUMPKIN_PIE); ItemMeta meta = item.getItemMeta(); meta.setDisplayName("Pie "+i); item.setItemMeta(meta); p.getInventory().addItem(item); } } this.plugin.saveConfig(); } if (args[0].equalsIgnoreCase("halloween") && args[1].equalsIgnoreCase("legendary_item")) { if (this.plugin.getConfig().getBoolean("halloween-enabled")) { giveLegendaryItem(p); } this.plugin.saveConfig(); } if (args[0].equalsIgnoreCase("halloween") && args[1].equalsIgnoreCase("break")) { if (this.plugin.getConfig().getBoolean("halloween-enabled")) { if (p.getItemInHand()!=null) { p.getItemInHand().setDurability((short)9000); } } this.plugin.saveConfig(); } } else if (cmd.getName().equalsIgnoreCase("dungeon") && p.hasPermission("maintenance-mode-admin") && args.length==1) { //Dungeon x = new Dungeon(new Location(Bukkit.getWorld("world"),-8990,0,-4),new Location(Bukkit.getWorld("world"),50,255,50),Integer.valueOf(args[0])); } else if (cmd.getName().equalsIgnoreCase("transfer") && args.length==1) { p.sendMessage("Usage: "+ChatColor.RED+"/transfer name money"+ChatColor.WHITE+" - Transfer money to a player."); } else if (cmd.getName().equalsIgnoreCase("transfer") && args.length==2) { double amount = Double.parseDouble(args[1].replaceAll("[^0-9\\.]", "")); Player target = p.getServer().getPlayer(args[0]); if (target == null) { p.sendMessage(this.prefix + " " + this.offlinePlayer); } else if (target.getName() == p.getName()) { p.sendMessage(this.prefix + " " + this.cmdTransferSameNick); } else if (amount > playerBankBalance) { p.sendMessage(this.prefix + " " + this.notEnoughMoney); } else if (amount <= playerBankBalance) { double totalWithdraw = playerBankBalance - amount; double totalDeposit = amount + this.plugin.getAccountsConfig().getInt(target.getName() + ".money"); this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".money", Double.valueOf(totalWithdraw)); this.plugin.getAccountsConfig().set(target.getName() + ".money", Double.valueOf(totalDeposit)); this.plugin.saveAccountsConfig(); if (amount > 1.0D) { p.sendMessage(this.prefix + " " + this.cmdTransferToPlayer1 + " " + amount + currencyPlural + " " + this.cmdTransferToPlayer2 + " " + target.getName() + "a."); target.sendMessage(this.prefix + " b" + p.getName() + " " + this.cmdTransferToTarget1 + " " + amount + currencyPlural + "a."); } else if (amount <= 1.0D) { p.sendMessage(this.prefix + " " + this.cmdTransferToPlayer1 + " " + amount + currencySingular + " " + this.cmdTransferToPlayer2 + " " + target.getName() + "a."); target.sendMessage(this.prefix + " b" + p.getName() + " " + this.cmdTransferToTarget1 + " " + amount + currencySingular + "a."); } } } else if (cmd.getName().equalsIgnoreCase("sp") && args.length==1) { try { int readvalue = Integer.valueOf(args[0]); if (readvalue<=10 && readvalue>=1) { int statpoints = (this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p); if (readvalue==10) { if (statpoints>=6) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase()+".stats.stat1", Integer.valueOf(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat1")+6)); this.plugin.saveAccountsConfig(); p.sendMessage("You added 1 stat point to Health Regeneration! "+ChatColor.BLUE+"You now have "+this.plugin.getStatBonus(0, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat1")/6)+" of extra health regeneration! (Every time you regenerate health, you get "+this.plugin.getStatBonus(0, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat1"))+" extra hearts!) "+((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))+" stat point"+(((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))==1?"":"s")+" left."); } else { p.sendMessage(ChatColor.RED+"You do not have enough stat points to get that stat! (You need 6.)"); } } else if (readvalue==9) { if (statpoints>=5) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase()+".stats.stat2", Integer.valueOf(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat2")+5)); this.plugin.saveAccountsConfig(); p.sendMessage("You added 1 stat point to block destroying speed! "+ChatColor.BLUE+"You now have "+this.plugin.getStatBonus(1, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat2")/5)+"% block destruction speed! "+((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))+" stat point"+(((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))==1?"":"s")+" left."); } else { p.sendMessage(ChatColor.RED+"You do not have enough stat points to get that stat! (You need 5.)"); } } else if (readvalue==8) { if (statpoints>=4) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase()+".stats.stat3", Integer.valueOf(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat3")+4)); this.plugin.saveAccountsConfig(); p.sendMessage("You added 1 stat point to block damage reduction! "+ChatColor.BLUE+"You now have "+this.plugin.getStatBonus(2, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat3")/4)+"% of damage taken reduced! "+((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))+" stat point"+(((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))==1?"":"s")+" left."); } else { p.sendMessage(ChatColor.RED+"You do not have enough stat points to get that stat! (You need 4.)"); } } else if (readvalue==6) { if (statpoints>=3) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase()+".stats.stat4", Integer.valueOf(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat4")+3)); this.plugin.saveAccountsConfig(); p.sendMessage("You added 1 stat point to temporary health! "+ChatColor.BLUE+"You now have "+this.plugin.getStatBonus(3, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat4")/4)+" extra temporary health. (Regenerates every 3 minutes.) "+((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))+" stat point"+(((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))==1?"":"s")+" left."); } else { p.sendMessage(ChatColor.RED+"You do not have enough stat points to get that stat! (You need 3.)"); } } else if (readvalue==7) { if (statpoints>=4) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase()+".stats.stat5", Integer.valueOf(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat5")+4)); this.plugin.saveAccountsConfig(); p.sendMessage("You added 1 stat point to armor penetration! "+ChatColor.BLUE+"You now have "+this.plugin.getStatBonus(4, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat5")/4)+" damage of armor penetration. Armor-Wearers will be more afraid of you! "+((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))+" stat point"+(((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))==1?"":"s")+" left."); } else { p.sendMessage(ChatColor.RED+"You do not have enough stat points to get that stat! (You need 4.)"); } } else if (readvalue==5) { if (statpoints>=3) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase()+".stats.stat6", Integer.valueOf(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat6")+3)); this.plugin.saveAccountsConfig(); p.sendMessage("You added 1 stat point to fire resistance! "+ChatColor.BLUE+"You now have "+this.plugin.getStatBonus(5, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat6")/3)+" seconds of fire resistance when you catch on fire. (Resets when you stop burning) "+((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))+" stat point"+(((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))==1?"":"s")+" left."); } else { p.sendMessage(ChatColor.RED+"You do not have enough stat points to get that stat! (You need 3.)"); } } else if (readvalue==4) { if (statpoints>=2) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase()+".stats.stat7", Integer.valueOf(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat7")+2)); this.plugin.saveAccountsConfig(); p.sendMessage("You added 1 stat point to base damage! "+ChatColor.BLUE+"You now have +"+this.plugin.getStatBonus(6, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat7")/2)+" base damage. "+((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))+" stat point"+(((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))==1?"":"s")+" left."); } else { p.sendMessage(ChatColor.RED+"You do not have enough stat points to get that stat! (You need 2.)"); } } else if (readvalue==3) { if (statpoints>=2) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase()+".stats.stat8", Integer.valueOf(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat8")+2)); this.plugin.saveAccountsConfig(); p.sendMessage("You added 1 stat point to base health! "+ChatColor.BLUE+"You now have +"+this.plugin.getStatBonus(7, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat8")/2)+" base health. "+((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))+" stat point"+(((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))==1?"":"s")+" left."); } else { p.sendMessage(ChatColor.RED+"You do not have enough stat points to get that stat! (You need 2.)"); } } else if (readvalue==2) { if (statpoints>=1) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase()+".stats.stat9", Integer.valueOf(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat9")+1)); this.plugin.saveAccountsConfig(); p.sendMessage("You added 1 stat point to hunger decay! "+ChatColor.BLUE+"You now have "+this.plugin.getStatBonus(8, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat9"))+"% less hunger decay "+((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))+" stat point"+(((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))==1?"":"s")+" left."); } else { p.sendMessage(ChatColor.RED+"You do not have enough stat points to get that stat! (You need 1.)"); } } else if (readvalue==1) { if (statpoints>=1) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase()+".stats.stat10", Integer.valueOf(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat10")+1)); this.plugin.saveAccountsConfig(); p.sendMessage("You added 1 stat point to water breathing! "+ChatColor.BLUE+"You now have "+this.plugin.getStatBonus(9, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".stats.stat10"))+" seconds of water breathing. "+ChatColor.WHITE+((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))+" stat point"+(((this.plugin.getJobTotalLvs(p)/5+1)-this.plugin.getStatPointTotal(p))==1?"":"s")+" left."); //Increase maximum air by 200 ticks. p.setMaximumAir(300+this.plugin.getStatBonus(9, this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase() + ".stats.stat10"))*20); } else { p.sendMessage(ChatColor.RED+"You do not have enough stat points to get that stat! (You need 1.)"); } } } else { p.sendMessage(ChatColor.RED+"Please choose an appropriate stat point slot (1-10)."); } } catch (NumberFormatException ex_e) { p.sendMessage(ChatColor.RED+"The inputted slot is not a valid number."); } } else if (cmd.getName().equalsIgnoreCase("bankeconomy") && (args[0].equalsIgnoreCase("info")) && (p.hasPermission("bankeconomy.info"))) { if (args.length == 1) { if (playerBankBalance <= 1) p.sendMessage(this.prefix + " " + this.cmdInfo + " " + playerBankBalance + currencySingular + "a."); else if (playerBankBalance > 1) p.sendMessage(this.prefix + " " + this.cmdInfo + " " + playerBankBalance + currencyPlural + "a."); } else p.sendMessage(this.invARG); } else if (cmd.getName().equalsIgnoreCase("bankeconomy") && (args[0].equalsIgnoreCase("check")) && (p.hasPermission("bankeconomy.check"))) { if (args.length == 1) { p.sendMessage(this.prefix + " " + this.usage + " " + this.cmdCheckARG1); } else if (args.length == 2) { Player target = p.getServer().getPlayer(args[1]); if (target == null) { p.sendMessage(this.prefix + " " + this.offlinePlayer); } else { int targetBalance = this.plugin.getAccountsConfig().getInt(target.getName() + ".money"); if (targetBalance <= 1) p.sendMessage(this.prefix + "a " + target.getName() + this.cmdCheckReponsePlayer + " " + targetBalance + currencySingular); else if (targetBalance > 1) p.sendMessage(this.prefix + "a " + target.getName() + this.cmdCheckReponsePlayer + " " + targetBalance + currencyPlural); } } else { p.sendMessage(this.invARG); } } else if (cmd.getName().equalsIgnoreCase("bankeconomy") && (args[0].equalsIgnoreCase("reset")) && (p.hasPermission("bankeconomy.reset"))) { if (args.length == 1) { p.sendMessage(this.prefix + " " + this.usage + " " + this.cmdResetARG1); } else if (args.length == 2) { Player target = p.getServer().getPlayer(args[1]); if (target == null) { p.sendMessage(this.prefix + " " + this.offlinePlayer); } else { this.plugin.getAccountsConfig().set(target.getName() + ".money", Integer.valueOf(0)); this.plugin.saveAccountsConfig(); p.sendMessage(this.prefix + " " + this.cmdResetToPlayer1 + " " + target.getName() + this.cmdResetToPlayer2); target.sendMessage(this.prefix + " a" + p.getName() + " " + this.cmdResetToTarget); } } else { p.sendMessage(this.invARG); } } else if ((args[0].equalsIgnoreCase("reload")) && (p.hasPermission("bankeconomy.reload"))) { if (args.length == 1) { p.sendMessage(this.prefix + " " + this.cmdReload); FileConfiguration conf = this.plugin.getConfig(); this.plugin.reloadConfig(); return conf == this.plugin.getConfig(); } p.sendMessage(this.invARG); } else if (cmd.getName().equalsIgnoreCase("bankeconomy") && (args[0].equalsIgnoreCase("transfer")) && (p.hasPermission("bankeconomy.transfer"))) { if (args.length == 1) { p.sendMessage(this.prefix + " " + this.usage + " " + this.cmdTransferARG1); } else if (args.length == 2) { p.sendMessage(this.prefix + " " + this.cmdTransferARG2); } else if (args.length == 3) { double amount = Double.parseDouble(args[1].replaceAll("[^0-9\\.]", "")); Player target = p.getServer().getPlayer(args[2]); if (target == null) { p.sendMessage(this.prefix + " " + this.offlinePlayer); } else if (target.getName() == p.getName()) { p.sendMessage(this.prefix + " " + this.cmdTransferSameNick); } else if (amount > playerBankBalance) { p.sendMessage(this.prefix + " " + this.notEnoughMoney); } else if (amount <= playerBankBalance) { double totalWithdraw = playerBankBalance - amount; double totalDeposit = amount + this.plugin.getAccountsConfig().getInt(target.getName() + ".money"); this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".money", Double.valueOf(totalWithdraw)); this.plugin.getAccountsConfig().set(target.getName() + ".money", Double.valueOf(totalDeposit)); this.plugin.saveAccountsConfig(); if (amount > 1.0D) { p.sendMessage(this.prefix + " " + this.cmdTransferToPlayer1 + " " + amount + currencyPlural + " " + this.cmdTransferToPlayer2 + " " + target.getName() + "a."); target.sendMessage(this.prefix + " b" + p.getName() + " " + this.cmdTransferToTarget1 + " " + amount + currencyPlural + "a."); } else if (amount <= 1.0D) { p.sendMessage(this.prefix + " " + this.cmdTransferToPlayer1 + " " + amount + currencySingular + " " + this.cmdTransferToPlayer2 + " " + target.getName() + "a."); target.sendMessage(this.prefix + " b" + p.getName() + " " + this.cmdTransferToTarget1 + " " + amount + currencySingular + "a."); } } } else { p.sendMessage(this.invARG); } } else if (cmd.getName().equalsIgnoreCase("bankeconomy") && (args[0].equalsIgnoreCase("edit")) && (p.hasPermission("bankeconomy.edit"))) { if (args.length == 1) { p.sendMessage(this.prefix + " " + this.usage + " " + this.cmdEditARG1); p.sendMessage(this.prefix + " " + this.cmdEditAvaibleActions); } else if (args.length == 2) { p.sendMessage(this.prefix + " " + this.cmdTransferARG2); } else if (args.length == 3) { p.sendMessage(this.prefix + " " + this.cmdEditARG2); } else if (args.length == 4) { double amount = Double.parseDouble(args[3].replaceAll("[^0-9\\.]", "")); Player target = p.getServer().getPlayer(args[2]); if (target == null) { p.sendMessage(this.prefix + " " + this.offlinePlayer); } else if (args[1].equalsIgnoreCase("status")) { if (amount == 1.0D) { this.plugin.getAccountsConfig().set(target.getName() + ".status", Boolean.valueOf(true)); this.plugin.saveAccountsConfig(); p.sendMessage(this.prefix + " " + this.cmdEditEnableToPlayer1 + " " + p.getName() + this.cmdEditEnableToPlayer2); } else if (amount == 0.0D) { this.plugin.getAccountsConfig().set(target.getName() + ".status", Boolean.valueOf(false)); this.plugin.saveAccountsConfig(); p.sendMessage(this.prefix + " " + this.cmdEditDisabledToPlayer1 + " " + p.getName() + this.cmdEditDisabledToPlayer2); } } else if (args[1].equalsIgnoreCase("balance")) { this.plugin.getAccountsConfig().set(target.getName() + ".money", Double.valueOf(amount)); this.plugin.saveAccountsConfig(); if (amount > 1.0D) p.sendMessage(this.prefix + " " + this.cmdEditAmountSetPlayer1 + " b" + amount + currencyPlural + " " + this.cmdEditAmountSetPlayer2 + " " + target.getName() + this.cmdEditAmountSetPlayer3); else if (amount <= 1.0D) p.sendMessage(this.prefix + " " + this.cmdEditAmountSetPlayer1 + " b" + amount + currencySingular + " " + this.cmdEditAmountSetPlayer2 + " " + target.getName() + this.cmdEditAmountSetPlayer3); } else { p.sendMessage(this.prefix + " " + this.cmdEditAvaibleActions); } } else { p.sendMessage(this.invARG); } } else if (cmd.getName().equalsIgnoreCase("revive") && args[0].equalsIgnoreCase("me")) { DecimalFormat df = new DecimalFormat("#0.00"); double deathX = this.plugin.getAccountsConfig().getDouble(p.getName().toLowerCase() + ".deathpointX"); double deathY = this.plugin.getAccountsConfig().getDouble(p.getName().toLowerCase() + ".deathpointY"); double deathZ = this.plugin.getAccountsConfig().getDouble(p.getName().toLowerCase() + ".deathpointZ"); String deathWorld = this.plugin.getAccountsConfig().getString(p.getName().toLowerCase() + ".deathworld"); //p.sendMessage("Got 1."); if (this.plugin.getAccountsConfig().getBoolean(p.getName().toLowerCase() + ".revived")==false && this.plugin.SERVER_TICK_TIME-this.plugin.getAccountsConfig().getLong(p.getName().toLowerCase() + ".revivetime")<12000) { double mincost = this.plugin.getConfig().getDouble("revive-cost-rate"); //p.sendMessage("Got 2."); if (p.getBedSpawnLocation()!=null) { mincost *= Math.abs(p.getBedSpawnLocation().getX()-deathX)+Math.abs(p.getBedSpawnLocation().getY()-deathY)+Math.abs(p.getBedSpawnLocation().getZ()-deathZ); } else { mincost *= Math.abs(p.getWorld().getSpawnLocation().getX()-deathX)+Math.abs(p.getWorld().getSpawnLocation().getY()-deathY)+Math.abs(p.getWorld().getSpawnLocation().getZ()-deathZ); } double mymoney = this.plugin.getAccountsConfig().getDouble(p.getName().toLowerCase() + ".money"); double finalcost = (mincost*this.plugin.getConfig().getDouble("revive-cost-rate")) + (mymoney*this.plugin.getConfig().getDouble("revive-cost-tax")); if (this.plugin.PlayerinJob(p, "Explorer") && this.plugin.getJobLv("Explorer", p)>=20) { finalcost*=0.25; } //p.sendMessage("Got 3."); if (mymoney>=finalcost) { this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".revived", Boolean.valueOf(true)); this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".money", mymoney-finalcost); this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".revivetime", Long.valueOf(0)); this.plugin.saveAccountsConfig(); //p.sendMessage("Got 4."); p.sendMessage("You spent $"+df.format(finalcost)+" to revive. New Bank Balance: $"+ChatColor.YELLOW+df.format(mymoney-finalcost)); //p.sendMessage("Got 5."); org.bukkit.Location teleportloc = p.getLocation(); if (p.getBedSpawnLocation()!=null) { teleportloc = p.getBedSpawnLocation(); } else { //Use world spawn point. teleportloc = p.getWorld().getSpawnLocation(); } teleportloc.setX(deathX); teleportloc.setY(deathY); teleportloc.setZ(deathZ); teleportloc.setWorld(Bukkit.getWorld(deathWorld)); //p.sendMessage("Got 6."); p.teleport(teleportloc); List nearby = p.getNearbyEntities(30, 30, 30); for (int i=0;i=20) { finalcost*=0.25; } p.sendMessage("You need to have $"+df.format(finalcost)+" to revive."); return true; } else if (cmd.getName().equalsIgnoreCase("tele") && (args[0].equalsIgnoreCase("to"))) { DecimalFormat df = new DecimalFormat("#0.00"); if (p.getPlayerTime()-this.plugin.getAccountsConfig().getDouble(p.getName().toLowerCase() + ".teletime")<400) { if (args.length==1) { p.sendMessage("Usage: "+ChatColor.RED+"/tele to "+ChatColor.GREEN+" "+ChatColor.WHITE+" - Teleport to a player for a cost."); } else if (args.length==2) { //Teleport. Player target = p.getServer().getPlayer(args[1]); if (target == null) { p.sendMessage(this.prefix + " " + this.offlinePlayer); } else { boolean is_in_vehicle = false; Entity vehicle = null; if (p.isInsideVehicle()) { is_in_vehicle=true; vehicle = p.getVehicle(); } if (target.getName() == this.plugin.getAccountsConfig().getString(p.getName().toLowerCase() + ".teleplayer")) { //Determine distance of player to other player. double otherx = target.getLocation().getX(); double othery = target.getLocation().getY(); double otherz = target.getLocation().getZ(); double mymoney = this.plugin.getAccountsConfig().getDouble(p.getName().toLowerCase() + ".money"); double finalcost = Math.abs(p.getLocation().getX()-otherx)+Math.abs(p.getLocation().getY()-othery)+Math.abs(p.getLocation().getZ()-otherz); finalcost *= this.plugin.getConfig().getDouble("teleport-cost-rate"); //finalcost += mymoney*this.plugin.getConfig().getDouble("teleport-cost-tax"); if (mymoney>=finalcost) { //Allow teleport to occur. this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".money", mymoney-finalcost); this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".teletime", Double.valueOf(0.0d)); this.plugin.saveAccountsConfig(); if (this.plugin.PlayerinJob(p, "Support")) { //Give exp for doing so. //this.plugin.gainMoneyExp(p,"Support",0,100); } p.sendMessage("Teleported to "+ChatColor.GREEN+target.getName()+ChatColor.WHITE+" for $"+ChatColor.YELLOW+df.format(finalcost)+ChatColor.WHITE+". New Account balance: $"+df.format(mymoney-finalcost)); target.sendMessage(ChatColor.GREEN+p.getName()+ChatColor.WHITE+" teleported to your location."); if (is_in_vehicle) { vehicle.eject(); p.eject(); final Player p2 = p; final Player target2 = target; Bukkit.getScheduler().scheduleSyncDelayedTask(this.plugin, new Runnable() { @Override public void run() { if (target2.isInsideVehicle()) { p2.teleport(target2.getLocation().add(0,1,0)); } else { p2.teleport(target2); } } },5); } else { if (target.isInsideVehicle()) { p.teleport(target.getLocation().add(0,1,0)); } else { p.teleport(target); } } } else { p.sendMessage("You need $"+ChatColor.YELLOW+df.format(finalcost)+" in the bank to teleport to "+ChatColor.GREEN+target.getName()+ChatColor.WHITE+"!"); } } else { //Setup another player. //Determine distance of player to other player. double otherx = target.getLocation().getX(); double othery = target.getLocation().getY(); double otherz = target.getLocation().getZ(); double mymoney = this.plugin.getAccountsConfig().getDouble(p.getName().toLowerCase() + ".money"); double finalcost = Math.abs(p.getLocation().getX()-otherx)+Math.abs(p.getLocation().getY()-othery)+Math.abs(p.getLocation().getZ()-otherz); finalcost *= this.plugin.getConfig().getDouble("teleport-cost-rate"); //finalcost += mymoney*this.plugin.getConfig().getDouble("teleport-cost-tax"); if (mymoney>=finalcost) { //Allow teleport to occur. p.sendMessage("Teleporting to "+ChatColor.GREEN+target.getName()+ChatColor.WHITE+" costs $"+ChatColor.YELLOW+df.format(finalcost)+". Type the command again to teleport."); this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".teletime", Double.valueOf(p.getPlayerTime())); this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".teleplayer", String.valueOf(target.getName())); } else { p.sendMessage("Teleporting to "+ChatColor.GREEN+target.getName()+ChatColor.WHITE+" costs $"+ChatColor.YELLOW+df.format(finalcost)+". You do not have enough in the bank for that."); } } } } } else { //Say how much it costs. If the player is found. = if (args.length==1) { p.sendMessage("Usage: "+ChatColor.RED+"/tele to "+ChatColor.GREEN+" "+ChatColor.WHITE+" - Teleport to a player for a cost."); } else if (args.length==2) { //Teleport. Player target = p.getServer().getPlayer(args[1]); if (target == null) { p.sendMessage(this.prefix + " " + this.offlinePlayer); } else { //Determine distance of player to other player. double otherx = target.getLocation().getX(); double othery = target.getLocation().getY(); double otherz = target.getLocation().getZ(); double mymoney = this.plugin.getAccountsConfig().getDouble(p.getName().toLowerCase() + ".money"); double finalcost = Math.abs(p.getLocation().getX()-otherx)+Math.abs(p.getLocation().getY()-othery)+Math.abs(p.getLocation().getZ()-otherz); finalcost *= this.plugin.getConfig().getDouble("teleport-cost-rate"); //finalcost += mymoney*this.plugin.getConfig().getDouble("teleport-cost-tax"); if (mymoney>=finalcost) { //Allow teleport to occur. p.sendMessage("Teleporting to "+ChatColor.GREEN+target.getName()+ChatColor.WHITE+" costs $"+ChatColor.YELLOW+df.format(finalcost)+". Type the command again to teleport."); this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".teletime", Double.valueOf(p.getPlayerTime())); this.plugin.getAccountsConfig().set(p.getName().toLowerCase() + ".teleplayer", String.valueOf(target.getName())); } else { p.sendMessage("Teleporting to "+ChatColor.GREEN+target.getName()+ChatColor.WHITE+" costs $"+ChatColor.YELLOW+df.format(finalcost)+". You do not have enough in the bank for that."); } } } } return true; } else if (cmd.getName().equalsIgnoreCase("jobs") && args.length == 1 && args[0].equalsIgnoreCase("info")) { p.sendMessage("Usage: "+ChatColor.GREEN+"/jobs info [JobName]"+ChatColor.WHITE+" - Get information about a job."); p.sendMessage("Usage: "+ChatColor.GREEN+"/jobs info [JobName] "+ChatColor.LIGHT_PURPLE+"[lv]"+ChatColor.WHITE+" - Get information about a job at a certain job level."); p.sendMessage(" Type /jobs to see the jobs."); } else if (cmd.getName().equalsIgnoreCase("jobs") && args.length == 1 && args[0].equalsIgnoreCase("join")) { p.sendMessage("Usage: "+ChatColor.GREEN+"/jobs join [JobName]"+ChatColor.WHITE+" - Join a job. Type /jobs to see the jobs."); } else if (cmd.getName().equalsIgnoreCase("jobs") && args.length == 1 && args[0].equalsIgnoreCase("members")) { p.sendMessage("Usage: "+ChatColor.GREEN+"/jobs members [JobName]"+ChatColor.WHITE+" - Check all members in a job."); } else if (cmd.getName().equalsIgnoreCase("jobs") && args.length == 1 && args[0].equalsIgnoreCase("leave")) { p.sendMessage("Usage: "+ChatColor.GREEN+"/jobs leave [JobName]"+ChatColor.WHITE+" - Leave a job. Type /jobs stats to see your jobs."); } else if (cmd.getName().equalsIgnoreCase("jobs") && args.length == 1 && args[0].equalsIgnoreCase("buffs")) { p.sendMessage("Usage: "+ChatColor.GREEN+"/jobs buffs [JobName]"+ChatColor.WHITE+" - Get buffs information about a job. Type /jobs to see the jobs."); } else if (cmd.getName().equalsIgnoreCase("jobs") && args.length == 2 && args[0].equalsIgnoreCase("ultimate")) { //Attempt to join the job. this.plugin.setUltimate(p,args[1]); } else if (cmd.getName().equalsIgnoreCase("jobs") && args.length == 2 && args[0].equalsIgnoreCase("boost")) { //Attempt to level up the job. this.plugin.levelUpJob(p,args[1]); } else if (cmd.getName().equalsIgnoreCase("jobs") && args.length == 2 && args[0].equalsIgnoreCase("join")) { //Attempt to join the job. this.plugin.joinJob(p,args[1]); } else if (cmd.getName().equalsIgnoreCase("jobs") && args.length == 2 && args[0].equalsIgnoreCase("leave")) { //Attempt to join the job. this.plugin.leaveJob(p,args[1]); } else if (cmd.getName().equalsIgnoreCase("jobs") && args.length == 2 && args[0].equalsIgnoreCase("members")) { JobsDataInfo[] Jobsinfo = {this.plugin.Woodcutter_job,this.plugin.Miner_job,this.plugin.Builder_job,this.plugin.Digger_job,this.plugin.Hunter_job,this.plugin.Fisherman_job,this.plugin.Weaponsmith_job,this.plugin.Blacksmith_job,this.plugin.Cook_job,this.plugin.Brewer_job,this.plugin.Enchanter_job,this.plugin.Breeder_job,this.plugin.Explorer_job,this.plugin.Support_job}; boolean found=false; String job = ""; ChatColor job_color = null; for (int i=0;i sorted_players = new ArrayList(); for (int i=0;i sorted_list_players = new ArrayList(); int highest_slot = -1; while (sorted_players.size()>0) { for (int i=0;ihighest) { highest=this.plugin.getJobLv(job, sorted_players.get(i)); highest_slot=i; } } sorted_list_players.add(sorted_players.get(highest_slot)); sorted_players.remove(highest_slot); highest_slot=-1; highest=0; } for (int i=0;i=5?"+Lv5 Buff":"")+ChatColor.GREEN+(mylv>=10?" +Lv10 Buff":"")+ChatColor.GOLD+(mylv>=20?" +Lv20 Buff":"")); } else { p.sendMessage("Lv"+mylv+" "+this.plugin.getJobColor(joblist[i])+joblist[i]+ChatColor.WHITE+": "+Math.round(this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".jobs.job"+(i+1)+"exp"))+"/"+Math.round(this.plugin.getJobExp(joblist[i], this.plugin.getAccountsConfig().getInt(p.getName().toLowerCase()+".jobs.job"+(i+1)+"lv")))+"xp "+ChatColor.BLUE+(mylv>=5?"+Lv5 Buff":"")+ChatColor.GREEN+(mylv>=10?" +Lv10 Buff":"")+ChatColor.GOLD+(mylv>=20?" +Lv20 Buff":"")); } if (joblist[i].equalsIgnoreCase("Explorer") && this.plugin.getJobLv(joblist[i], p)>=10) { //Check to see if the buff is on cooldown for this player or not. boolean discovered=false; long timeleft=0; for (int j=0;j=5?"+Lv5 Buff":"")+ChatColor.GREEN+(mylv>=10?" +Lv10 Buff":"")+ChatColor.GOLD+(mylv>=20?" +Lv20 Buff":"")); } else { p.sendMessage("Lv"+mylv+" "+this.plugin.getJobColor(joblist[i])+joblist[i]+ChatColor.WHITE+": "+Math.round(this.plugin.getAccountsConfig().getInt(Bukkit.getPlayer(args[1]).getName()+".jobs.job"+(i+1)+"exp"))+"/"+Math.round(this.plugin.getJobExp(joblist[i], this.plugin.getAccountsConfig().getInt(Bukkit.getPlayer(args[1]).getName()+".jobs.job"+(i+1)+"lv")))+"xp "+ChatColor.BLUE+(mylv>=5?"+Lv5 Buff":"")+ChatColor.GREEN+(mylv>=10?" +Lv10 Buff":"")+ChatColor.GOLD+(mylv>=20?" +Lv20 Buff":"")); } if (joblist[i].equalsIgnoreCase("Explorer") && this.plugin.getJobLv(joblist[i], Bukkit.getPlayer(args[1]))>=10) { //Check to see if the buff is on cooldown for this player or not. boolean discovered=false; long timeleft=0; for (int j=0;j=5?"+Lv5 Buff":"")+ChatColor.GREEN+(mylv>=10?" +Lv10 Buff":"")+ChatColor.GOLD+(mylv>=20?" +Lv20 Buff":"")); } else { p.sendMessage("Lv"+mylv+" "+this.plugin.getJobColor(joblist[i])+joblist[i]+ChatColor.WHITE+": "+Math.round(this.plugin.getAccountsConfig().getInt(q.getName()+".jobs.job"+(i+1)+"exp"))+"/"+Math.round(this.plugin.getJobExp(joblist[i], this.plugin.getAccountsConfig().getInt(q.getName()+".jobs.job"+(i+1)+"lv")))+"xp "+ChatColor.BLUE+(mylv>=5?"+Lv5 Buff":"")+ChatColor.GREEN+(mylv>=10?" +Lv10 Buff":"")+ChatColor.GOLD+(mylv>=20?" +Lv20 Buff":"")); } } if (joblist[i].equalsIgnoreCase("Explorer") && this.plugin.getJobLv(joblist[i], q.getName())>=10) { //Check to see if the buff is on cooldown for this player or not. boolean discovered=false; long timeleft=0; for (int j=0;j