Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package GriefPreventionIntegration;
- import java.util.ArrayList;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
- import org.bukkit.Sound;
- 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.Listener;
- import org.bukkit.event.inventory.ClickType;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.inventory.InventoryType.SlotType;
- import org.bukkit.inventory.Inventory;
- import org.bukkit.inventory.ItemFlag;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.inventory.meta.SkullMeta;
- import Plugin.Main;
- import me.ryanhamshire.GriefPrevention.Claim;
- public class BauenListe implements CommandExecutor, Listener {
- @SuppressWarnings("deprecation")
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (cmd.getName().equalsIgnoreCase("BauenListe")) {
- if (sender instanceof Player) {
- Player p = (Player) sender;
- if (args.length == 0) {
- Claim claim = Main.instance.griefPrevention.dataStore.getClaimAt(p.getLocation(), true, null);
- if (claim != null) {
- p.playSound(p.getLocation(), Sound.BLOCK_WOOD_BUTTON_CLICK_ON, 3, 1);
- Inventory inv = Bukkit.createInventory(null, 9 * 6, "§e§lBauen-Liste");
- for (int i = 0; i < 9 * 6; i++) {
- ItemStack filler = new ItemStack(Material.STAINED_GLASS_PANE, 1, (byte) 15);
- ItemMeta fillermeta = filler.getItemMeta();
- fillermeta.setDisplayName(" ");
- filler.setItemMeta(fillermeta);
- inv.setItem(i, filler);
- }
- int counter = 0;
- for (Player onlineplayerlist : Bukkit.getOnlinePlayers()) {
- if (counter >= 52) {
- break;
- }
- ItemStack info = new ItemStack(Material.SKULL_ITEM);
- info.setDurability((short) 3);
- SkullMeta infometa = (SkullMeta) info.getItemMeta();
- infometa.setOwner(onlineplayerlist.getName());
- infometa.setDisplayName(onlineplayerlist.getName());
- ArrayList<String> infoLore = new ArrayList<>();
- infoLore.add("");
- infoLore.add("§cEntfernen §4✖");
- infometa.setLore(infoLore);
- info.setItemMeta(infometa);
- if (onlineplayerlist != p) {
- if (!(claim.allowBreak(onlineplayerlist, Material.GRASS) != null)) {
- inv.setItem(counter, info);
- counter++;
- }
- }
- }
- ItemStack zurueckKnopf = new ItemStack(Material.ARROW);
- ItemMeta zurueckKnopfMeta = zurueckKnopf.getItemMeta();
- zurueckKnopfMeta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
- zurueckKnopfMeta.setDisplayName("§e§lZurück");
- zurueckKnopf.setItemMeta(zurueckKnopfMeta);
- inv.setItem(53, zurueckKnopf);
- p.openInventory(inv);
- Bukkit.getScheduler().scheduleAsyncDelayedTask(Main.instance, new Runnable() {
- @Override
- public void run() {
- p.updateInventory();
- }
- }, 20);
- } else {
- p.playSound(p.getLocation(), Sound.ENTITY_VILLAGER_NO, 3, 1);
- p.sendTitle("§cClaim §4§4✖", "Nicht gefunden");
- p.closeInventory();
- }
- }
- }
- }
- return false;
- }
- @EventHandler
- public void onBackMain(InventoryClickEvent e) {
- Player p = (Player) e.getWhoClicked();
- if (e.getSlotType().equals(SlotType.OUTSIDE)) {
- return;
- }
- if (!e.getCurrentItem().hasItemMeta()) {
- return;
- }
- if (e.getCurrentItem().getType().equals(Material.ENCHANTED_BOOK)) {
- return;
- }
- if (e.getInventory().getName().equalsIgnoreCase("§e§lBauen-Liste")) {
- e.setCancelled(true);
- if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§e§lZurück")) {
- Bukkit.dispatchCommand(p, "claimverwaltung");
- }
- if (e.getClick() == ClickType.LEFT) {
- if (!e.getCurrentItem().getType().equals(Material.SKULL_ITEM)) {
- return;
- }
- Bukkit.dispatchCommand(p, "untrust " + e.getCurrentItem().getItemMeta().getDisplayName());
- p.playSound(p.getLocation(), Sound.ENTITY_VILLAGER_TRADING, 3, 1);
- p.closeInventory();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement