BaconIsBest

google

Aug 25th, 2014
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.61 KB | None | 0 0
  1. package me.bacon.hybrid;
  2.  
  3. import net.milkbowl.vault.economy.Economy;
  4. import net.milkbowl.vault.permission.Permission;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Color;
  9. import org.bukkit.DyeColor;
  10. import org.bukkit.FireworkEffect;
  11. import org.bukkit.Material;
  12. import org.bukkit.FireworkEffect.Type;
  13. import org.bukkit.Server;
  14. import org.bukkit.command.Command;
  15. import org.bukkit.command.CommandExecutor;
  16. import org.bukkit.command.CommandSender;
  17. import org.bukkit.configuration.file.FileConfiguration;
  18. import org.bukkit.entity.Firework;
  19. import org.bukkit.entity.Player;
  20. import org.bukkit.event.EventHandler;
  21. import org.bukkit.event.Listener;
  22. import org.bukkit.event.inventory.InventoryClickEvent;
  23. import org.bukkit.inventory.Inventory;
  24. import org.bukkit.inventory.ItemStack;
  25. import org.bukkit.inventory.meta.FireworkMeta;
  26. import org.bukkit.inventory.meta.ItemMeta;
  27.  
  28. public class RankupCommand
  29. implements CommandExecutor, Listener
  30. {
  31. Rankup plugin;
  32.  
  33. public void openGUI(Player player){
  34. Inventory inv = Bukkit.createInventory(null, 9, ChatColor.RED + "Proceed with Rankup?");
  35. ItemStack yes = new ItemStack(Material.EMERALD_BLOCK);
  36. ItemStack no = new ItemStack(Material.REDSTONE_BLOCK);
  37. ItemMeta ym = yes.getItemMeta();
  38. ItemMeta nm = no.getItemMeta();
  39. ym.setDisplayName(ChatColor.GREEN + "Yes, Proceed!");
  40. nm.setDisplayName(ChatColor.RED + "No, Exit!");
  41. yes.setItemMeta(ym);
  42. no.setItemMeta(nm);
  43. inv.setItem(0, yes);
  44. inv.setItem(8, no);
  45.  
  46. player.openInventory(inv);
  47. }
  48.  
  49. public RankupCommand(Rankup instance)
  50. {
  51. this.plugin = instance;
  52. }
  53.  
  54. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
  55. {
  56. if (cmd.getName().equalsIgnoreCase("rankup")) {
  57. if ((sender instanceof Player))
  58. {
  59. Player p = (Player)sender;
  60. if (p.hasPermission("LegendaryRankup.Rankup"))
  61. {
  62. String rank = Rankup.permission.getPrimaryGroup(p);
  63. String nextrank = this.plugin.getConfig().getString("Ranks." + rank.toString());
  64. if (!rank.equals(this.plugin.getConfig().getString("HighestRank")))
  65. {
  66. double money = Rankup.economy.getBalance(p.getName());
  67.  
  68. double price = this.plugin.getConfig().getDouble("Price." + this.plugin.getConfig().getString(new StringBuilder("Ranks.").append(rank.toString()).toString()));
  69.  
  70.  
  71. String nomoney = this.plugin.getConfig().getString("Messages.NotEnoughMoney").replaceAll("(&([a-f0-9]))", "§$2");
  72. String broadcast = this.plugin.getConfig().getString("Messages.Broadcast").replaceAll("(&([a-f0-9]))", "§$2").replace("%player%", p.getName()).replace("%rank%", nextrank);
  73. if (money >= price)
  74. {
  75. openGUI(p);
  76. }
  77. else
  78. {
  79. p.sendMessage(nomoney);
  80. }
  81. }
  82. else
  83. {
  84. String highestrank = this.plugin.getConfig().getString("Messages.HighestRank").replaceAll("(&([a-f0-9]))", "§$2");
  85. sender.sendMessage(highestrank);
  86. }
  87. }
  88. else
  89. {
  90. p.sendMessage(ChatColor.RED + "You dont have permission!");
  91. }
  92. }
  93. else
  94. {
  95. sender.sendMessage(ChatColor.RED + "Error: You must be a player to run that command!");
  96. }
  97. }
  98. return true;
  99. }
  100.  
  101. @EventHandler
  102. public void onPlayerClick(InventoryClickEvent e){
  103. Player p = (Player) e.getWhoClicked();
  104. String rank = Rankup.permission.getPrimaryGroup(p);
  105. String nextrank = this.plugin.getConfig().getString("Ranks." + rank.toString());
  106. double money = Rankup.economy.getBalance(p.getName());
  107. double price = this.plugin.getConfig().getDouble("Price." + this.plugin.getConfig().getString(new StringBuilder("Ranks.").append(rank.toString()).toString()));
  108. String broadcast = this.plugin.getConfig().getString("Messages.Broadcast").replaceAll("(&([a-f0-9]))", "§$2").replace("%player%", p.getName()).replace("%rank%", nextrank);
  109. if (!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("Proceed With Rankup?"))
  110. return;
  111. e.setCancelled(true);
  112.  
  113. if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR || !e.getCurrentItem().hasItemMeta()){
  114. p.closeInventory();
  115. return;
  116. }
  117. switch(e.getCurrentItem().getType()){
  118. case EMERALD_BLOCK:
  119. //p.sendMessage("Reached Emerald block");
  120. Rankup.economy.withdrawPlayer(p.getName(), price);
  121. Rankup.permission.playerRemoveGroup(p, rank);
  122. Rankup.permission.playerAddGroup(p, nextrank);
  123. this.plugin.getServer().broadcastMessage(broadcast);
  124. Firework f = (Firework) p.getWorld().spawn(p.getLocation(), Firework.class);
  125. FireworkMeta fm = f.getFireworkMeta();
  126. FireworkMeta fm1 = f.getFireworkMeta();
  127. fm.addEffect(FireworkEffect.builder().flicker(true).trail(true).withColor(Color.RED).withFade(Color.GREEN).build());
  128. fm1.addEffect(FireworkEffect.builder().flicker(true).trail(true).with(Type.BALL_LARGE).withColor(Color.ORANGE).withColor(Color.YELLOW).withColor(Color.PURPLE).withFade(Color.LIME).build());
  129. fm.setPower(1);
  130. fm1.setPower(1);
  131. f.setFireworkMeta(fm);
  132. f.setFireworkMeta(fm1);
  133. p.closeInventory();
  134. break;
  135. case REDSTONE_BLOCK:
  136. System.out.println("e.getCurrentItem().getData().getData()");
  137. p.sendMessage(ChatColor.RED + "Sorry you did not rank up!");
  138. p.closeInventory();
  139. break;
  140. default:
  141. p.closeInventory();
  142. break;
  143. }
  144. }
  145.  
  146. }
Add Comment
Please, Sign In to add comment