Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package net.arrayofc.Commands;
- import net.arrayofc.Main.Main;
- import net.arrayofc.Main.Strings;
- import org.apache.commons.lang.StringUtils;
- import org.bukkit.*;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.inventory.meta.SkullMeta;
- import java.util.ArrayList;
- public class Punish implements CommandExecutor {
- public static Inventory PTypeInv = Bukkit.getServer().createInventory(null, 27, "Select a Punishment Type");
- public StringBuilder reason = new StringBuilder(" ");
- public Main plugin;
- public Punish(Main plugin) {
- this.plugin = plugin;
- }
- public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
- if (!(sender instanceof Player)) {
- sender.sendMessage("§cThis command can only be used in-game.");
- return true;
- }
- final OfflinePlayer target = Bukkit.getOfflinePlayer(args[0]);
- if (cmd.getName().equalsIgnoreCase("punish")) {
- final Player player = (Player) sender;
- if (!(player.hasPermission("bm.punish"))) {
- player.sendMessage(Strings.NoPermission);
- return true;
- }
- if (args.length == 0) {
- player.sendMessage(Strings.Prefix + "Invalid arguments. Correct usage: /punish <target> [custom reason if necessary]");
- return true;
- }
- player.openInventory(PTypeInv);
- if (args.length >= 2) {
- for (int i = 1; i < args.length; i++) {
- reason.append(args[i]).append(" ");
- }
- // OPEN MENU//
- player.openInventory(PTypeInv);
- }
- PTypeInv.clear();
- // ITEMS \\
- ItemStack selected = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
- SkullMeta skullMeta = (SkullMeta) selected.getItemMeta();
- skullMeta.setOwner(args[0]);
- skullMeta.setDisplayName("§3" + target.getName());
- ArrayList<String> selLore = new ArrayList<>();
- selLore.add("§fCustom Reason:" + reason);
- skullMeta.setLore(selLore);
- selected.setItemMeta(skullMeta);
- ItemStack alts = new ItemStack(Material.REDSTONE_COMPARATOR, 1);
- ItemMeta altsMeta = alts.getItemMeta();
- altsMeta.setDisplayName("§3§lAlts");
- ArrayList<String> altsLore = new ArrayList<>();
- altsLore.add("§fList of possible alt. accounts");
- altsLore.add("§funder targets IP.");
- altsMeta.setLore(altsLore);
- alts.setItemMeta(altsMeta);
- ItemStack history = new ItemStack(Material.EMPTY_MAP, 1);
- ItemMeta historyMeta = history.getItemMeta();
- historyMeta.setDisplayName("§3§lHistory");
- ArrayList<String> historyLore = new ArrayList<>();
- historyLore.add("§fSee targets previous punishment history.");
- historyMeta.setLore(historyLore);
- history.setItemMeta(historyMeta);
- ItemStack ban = new ItemStack(Material.BOOK, 1);
- ItemMeta banMeta = ban.getItemMeta();
- banMeta.setDisplayName("§3§lBan User");
- ArrayList<String> banLore = new ArrayList<String>();
- banLore.add("§fThis option will open up a new menu with");
- banLore.add("§fban options.");
- banMeta.setLore(banLore);
- ban.setItemMeta(banMeta);
- ItemStack kick = new ItemStack(Material.BOOK, 1);
- ItemMeta kickMeta = kick.getItemMeta();
- kickMeta.setDisplayName("§3§lKick User");
- ArrayList<String> kickLore = new ArrayList<String>();
- kickLore.add("§fThis option will open up a new menu with");
- kickLore.add("§fkick options.");
- kickMeta.setLore(kickLore);
- kick.setItemMeta(kickMeta);
- ItemStack mute = new ItemStack(Material.BOOK, 1);
- ItemMeta muteMeta = mute.getItemMeta();
- muteMeta.setDisplayName("§3§lMute User");
- ArrayList<String> muteLore = new ArrayList<String>();
- muteLore.add("§fThis option will open up a new menu with");
- muteLore.add("§fmute options.");
- muteMeta.setLore(muteLore);
- mute.setItemMeta(muteMeta);
- ItemStack cancel = new ItemStack(Material.INK_SACK, 1, (short) 1);
- ItemMeta cancelMeta = cancel.getItemMeta();
- cancelMeta.setDisplayName("§c§lCancel");
- ArrayList<String> cancelLore = new ArrayList<String>();
- cancelLore.add("§fClose this menu.");
- cancelMeta.setLore(cancelLore);
- cancel.setItemMeta(cancelMeta);
- PTypeInv.setItem(3, history);
- PTypeInv.setItem(4, selected);
- PTypeInv.setItem(5, alts);
- PTypeInv.setItem(11, ban);
- PTypeInv.setItem(13, kick);
- PTypeInv.setItem(15, mute);
- PTypeInv.setItem(22, cancel);
- }
- return true;
- }
- @EventHandler
- public void onInventoryClick(InventoryClickEvent event) {
- Player player = (Player) event.getWhoClicked();
- if (event.getInventory().getTitle().equals("Select a Punishment Type")) {
- if (event.getWhoClicked() == null) {
- return;
- }
- if (event.getCurrentItem() == null || !event.getCurrentItem().hasItemMeta()) {
- return;
- }
- if (event.getCurrentItem().getItemMeta().getDisplayName().equals("§3")) ;
- event.setCancelled(true);
- }
- if (event.getCurrentItem().getItemMeta().getDisplayName().equals("§3§lAlts")) ;
- player.performCommand("alts " + target.);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement