Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.26 KB | None | 0 0
  1. package GriefPreventionIntegration;
  2.  
  3. import java.util.ArrayList;
  4. import org.bukkit.Bukkit;
  5. import org.bukkit.Material;
  6. import org.bukkit.Sound;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandExecutor;
  9. import org.bukkit.command.CommandSender;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.inventory.ClickType;
  14. import org.bukkit.event.inventory.InventoryClickEvent;
  15. import org.bukkit.event.inventory.InventoryType.SlotType;
  16. import org.bukkit.inventory.Inventory;
  17. import org.bukkit.inventory.ItemFlag;
  18. import org.bukkit.inventory.ItemStack;
  19. import org.bukkit.inventory.meta.ItemMeta;
  20. import org.bukkit.inventory.meta.SkullMeta;
  21.  
  22. import Plugin.Main;
  23. import me.ryanhamshire.GriefPrevention.Claim;
  24.  
  25. public class BauenListe implements CommandExecutor, Listener {
  26.  
  27. @SuppressWarnings("deprecation")
  28. @Override
  29. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  30. if (cmd.getName().equalsIgnoreCase("BauenListe")) {
  31. if (sender instanceof Player) {
  32. Player p = (Player) sender;
  33. if (args.length == 0) {
  34.  
  35. Claim claim = Main.instance.griefPrevention.dataStore.getClaimAt(p.getLocation(), true, null);
  36.  
  37. if (claim != null) {
  38.  
  39. p.playSound(p.getLocation(), Sound.BLOCK_WOOD_BUTTON_CLICK_ON, 3, 1);
  40.  
  41. Inventory inv = Bukkit.createInventory(null, 9 * 6, "§e§lBauen-Liste");
  42.  
  43. for (int i = 0; i < 9 * 6; i++) {
  44. ItemStack filler = new ItemStack(Material.STAINED_GLASS_PANE, 1, (byte) 15);
  45. ItemMeta fillermeta = filler.getItemMeta();
  46. fillermeta.setDisplayName(" ");
  47. filler.setItemMeta(fillermeta);
  48.  
  49. inv.setItem(i, filler);
  50. }
  51.  
  52. int counter = 0;
  53.  
  54. for (Player onlineplayerlist : Bukkit.getOnlinePlayers()) {
  55.  
  56. if (counter >= 52) {
  57. break;
  58. }
  59.  
  60. ItemStack info = new ItemStack(Material.SKULL_ITEM);
  61. info.setDurability((short) 3);
  62. SkullMeta infometa = (SkullMeta) info.getItemMeta();
  63. infometa.setOwner(onlineplayerlist.getName());
  64. infometa.setDisplayName(onlineplayerlist.getName());
  65.  
  66. ArrayList<String> infoLore = new ArrayList<>();
  67. infoLore.add("");
  68. infoLore.add("§cEntfernen §4✖");
  69.  
  70. infometa.setLore(infoLore);
  71. info.setItemMeta(infometa);
  72.  
  73. if (onlineplayerlist != p) {
  74.  
  75. if (!(claim.allowBreak(onlineplayerlist, Material.GRASS) != null)) {
  76.  
  77. inv.setItem(counter, info);
  78. counter++;
  79.  
  80. }
  81.  
  82. }
  83. }
  84.  
  85. ItemStack zurueckKnopf = new ItemStack(Material.ARROW);
  86. ItemMeta zurueckKnopfMeta = zurueckKnopf.getItemMeta();
  87. zurueckKnopfMeta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES);
  88.  
  89. zurueckKnopfMeta.setDisplayName("§e§lZurück");
  90. zurueckKnopf.setItemMeta(zurueckKnopfMeta);
  91.  
  92. inv.setItem(53, zurueckKnopf);
  93.  
  94. p.openInventory(inv);
  95.  
  96. Bukkit.getScheduler().scheduleAsyncDelayedTask(Main.instance, new Runnable() {
  97.  
  98. @Override
  99. public void run() {
  100. p.updateInventory();
  101.  
  102. }
  103. }, 20);
  104.  
  105. } else {
  106.  
  107. p.playSound(p.getLocation(), Sound.ENTITY_VILLAGER_NO, 3, 1);
  108. p.sendTitle("§cClaim §4§4✖", "Nicht gefunden");
  109. p.closeInventory();
  110. }
  111. }
  112. }
  113.  
  114. }
  115. return false;
  116. }
  117.  
  118. @EventHandler
  119. public void onBackMain(InventoryClickEvent e) {
  120. Player p = (Player) e.getWhoClicked();
  121.  
  122. if (e.getSlotType().equals(SlotType.OUTSIDE)) {
  123. return;
  124. }
  125.  
  126. if (!e.getCurrentItem().hasItemMeta()) {
  127. return;
  128. }
  129.  
  130. if (e.getCurrentItem().getType().equals(Material.ENCHANTED_BOOK)) {
  131. return;
  132. }
  133.  
  134. if (e.getInventory().getName().equalsIgnoreCase("§e§lBauen-Liste")) {
  135.  
  136. e.setCancelled(true);
  137.  
  138. if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§e§lZurück")) {
  139. Bukkit.dispatchCommand(p, "claimverwaltung");
  140. }
  141.  
  142. if (e.getClick() == ClickType.LEFT) {
  143.  
  144. if (!e.getCurrentItem().getType().equals(Material.SKULL_ITEM)) {
  145. return;
  146. }
  147.  
  148. Bukkit.dispatchCommand(p, "untrust " + e.getCurrentItem().getItemMeta().getDisplayName());
  149. p.playSound(p.getLocation(), Sound.ENTITY_VILLAGER_TRADING, 3, 1);
  150.  
  151. p.closeInventory();
  152.  
  153. }
  154.  
  155. }
  156.  
  157. }
  158.  
  159. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement