Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.bacon.hybrid;
- import net.milkbowl.vault.economy.Economy;
- import net.milkbowl.vault.permission.Permission;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.Color;
- import org.bukkit.DyeColor;
- import org.bukkit.FireworkEffect;
- import org.bukkit.Material;
- import org.bukkit.FireworkEffect.Type;
- import org.bukkit.Server;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Firework;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.FireworkMeta;
- import org.bukkit.inventory.meta.ItemMeta;
- public class RankupCommand
- implements CommandExecutor, Listener
- {
- Rankup plugin;
- public void openGUI(Player player){
- Inventory inv = Bukkit.createInventory(null, 9, ChatColor.RED + "Proceed with Rankup?");
- ItemStack yes = new ItemStack(Material.EMERALD_BLOCK);
- ItemStack no = new ItemStack(Material.REDSTONE_BLOCK);
- ItemMeta ym = yes.getItemMeta();
- ItemMeta nm = no.getItemMeta();
- ym.setDisplayName(ChatColor.GREEN + "Yes, Proceed!");
- nm.setDisplayName(ChatColor.RED + "No, Exit!");
- yes.setItemMeta(ym);
- no.setItemMeta(nm);
- inv.setItem(0, yes);
- inv.setItem(8, no);
- player.openInventory(inv);
- }
- public RankupCommand(Rankup instance)
- {
- this.plugin = instance;
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
- {
- if (cmd.getName().equalsIgnoreCase("rankup")) {
- if ((sender instanceof Player))
- {
- Player p = (Player)sender;
- if (p.hasPermission("LegendaryRankup.Rankup"))
- {
- String rank = Rankup.permission.getPrimaryGroup(p);
- String nextrank = this.plugin.getConfig().getString("Ranks." + rank.toString());
- if (!rank.equals(this.plugin.getConfig().getString("HighestRank")))
- {
- double money = Rankup.economy.getBalance(p.getName());
- double price = this.plugin.getConfig().getDouble("Price." + this.plugin.getConfig().getString(new StringBuilder("Ranks.").append(rank.toString()).toString()));
- String nomoney = this.plugin.getConfig().getString("Messages.NotEnoughMoney").replaceAll("(&([a-f0-9]))", "§$2");
- String broadcast = this.plugin.getConfig().getString("Messages.Broadcast").replaceAll("(&([a-f0-9]))", "§$2").replace("%player%", p.getName()).replace("%rank%", nextrank);
- if (money >= price)
- {
- openGUI(p);
- }
- else
- {
- p.sendMessage(nomoney);
- }
- }
- else
- {
- String highestrank = this.plugin.getConfig().getString("Messages.HighestRank").replaceAll("(&([a-f0-9]))", "§$2");
- sender.sendMessage(highestrank);
- }
- }
- else
- {
- p.sendMessage(ChatColor.RED + "You dont have permission!");
- }
- }
- else
- {
- sender.sendMessage(ChatColor.RED + "Error: You must be a player to run that command!");
- }
- }
- return true;
- }
- @EventHandler
- public void onPlayerClick(InventoryClickEvent e){
- Player p = (Player) e.getWhoClicked();
- String rank = Rankup.permission.getPrimaryGroup(p);
- String nextrank = this.plugin.getConfig().getString("Ranks." + rank.toString());
- double money = Rankup.economy.getBalance(p.getName());
- double price = this.plugin.getConfig().getDouble("Price." + this.plugin.getConfig().getString(new StringBuilder("Ranks.").append(rank.toString()).toString()));
- String broadcast = this.plugin.getConfig().getString("Messages.Broadcast").replaceAll("(&([a-f0-9]))", "§$2").replace("%player%", p.getName()).replace("%rank%", nextrank);
- if (!ChatColor.stripColor(e.getInventory().getName()).equalsIgnoreCase("Proceed With Rankup?"))
- return;
- e.setCancelled(true);
- if(e.getCurrentItem() == null || e.getCurrentItem().getType() == Material.AIR || !e.getCurrentItem().hasItemMeta()){
- p.closeInventory();
- return;
- }
- switch(e.getCurrentItem().getType()){
- case EMERALD_BLOCK:
- //p.sendMessage("Reached Emerald block");
- Rankup.economy.withdrawPlayer(p.getName(), price);
- Rankup.permission.playerRemoveGroup(p, rank);
- Rankup.permission.playerAddGroup(p, nextrank);
- this.plugin.getServer().broadcastMessage(broadcast);
- Firework f = (Firework) p.getWorld().spawn(p.getLocation(), Firework.class);
- FireworkMeta fm = f.getFireworkMeta();
- FireworkMeta fm1 = f.getFireworkMeta();
- fm.addEffect(FireworkEffect.builder().flicker(true).trail(true).withColor(Color.RED).withFade(Color.GREEN).build());
- 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());
- fm.setPower(1);
- fm1.setPower(1);
- f.setFireworkMeta(fm);
- f.setFireworkMeta(fm1);
- p.closeInventory();
- break;
- case REDSTONE_BLOCK:
- System.out.println("e.getCurrentItem().getData().getData()");
- p.sendMessage(ChatColor.RED + "Sorry you did not rank up!");
- p.closeInventory();
- break;
- default:
- p.closeInventory();
- break;
- }
- }
- }
Add Comment
Please, Sign In to add comment