Advertisement
Guest User

Untitled

a guest
Sep 8th, 2021
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.65 KB | None | 0 0
  1. package com.jennings.noshulkersinenderchests;
  2.  
  3. import org.bukkit.event.EventHandler;
  4. import org.bukkit.event.Listener;
  5. import org.bukkit.event.inventory.InventoryAction;
  6. import org.bukkit.event.inventory.InventoryClickEvent;
  7. import org.bukkit.event.inventory.InventoryCloseEvent;
  8. import org.bukkit.event.inventory.InventoryInteractEvent;
  9. import org.bukkit.event.inventory.InventoryOpenEvent;
  10. import org.bukkit.event.inventory.InventoryType;
  11. import org.bukkit.inventory.ItemStack;
  12. import org.bukkit.plugin.java.JavaPlugin;
  13.  
  14. import java.util.ArrayList;
  15.  
  16. import org.bukkit.Bukkit;
  17. import org.bukkit.Material;
  18.  
  19. public class Main extends JavaPlugin implements Listener{
  20. public static ArrayList<Material> bannedItems = new ArrayList<Material>();
  21. static {
  22. bannedItems.add(Material.SHULKER_BOX);
  23. bannedItems.add(Material.WHITE_SHULKER_BOX);
  24. bannedItems.add(Material.LIGHT_GRAY_SHULKER_BOX);
  25. bannedItems.add(Material.GRAY_SHULKER_BOX);
  26. bannedItems.add(Material.BLACK_SHULKER_BOX);
  27. bannedItems.add(Material.BROWN_SHULKER_BOX);
  28. bannedItems.add(Material.RED_SHULKER_BOX);
  29. bannedItems.add(Material.ORANGE_SHULKER_BOX);
  30. bannedItems.add(Material.YELLOW_SHULKER_BOX);
  31. bannedItems.add(Material.LIME_SHULKER_BOX);
  32. bannedItems.add(Material.GREEN_SHULKER_BOX);
  33. bannedItems.add(Material.CYAN_SHULKER_BOX);
  34. bannedItems.add(Material.LIGHT_BLUE_SHULKER_BOX);
  35. bannedItems.add(Material.BLUE_SHULKER_BOX);
  36. bannedItems.add(Material.PURPLE_SHULKER_BOX);
  37. bannedItems.add(Material.MAGENTA_SHULKER_BOX);
  38. bannedItems.add(Material.PINK_SHULKER_BOX);
  39. }
  40.  
  41. @Override
  42. public void onEnable() {
  43. getServer().getPluginManager().registerEvents(this, this);
  44. }
  45.  
  46. @Override
  47. public void onDisable() {
  48.  
  49. }
  50.  
  51. @EventHandler
  52. public void onInventoryClickEvent(InventoryClickEvent event) {
  53. if (event.getInventory().getType().equals(InventoryType.ENDER_CHEST) && event.getCurrentItem() != null) {
  54. if (bannedItems.contains(event.getCurrentItem().getType())) {
  55. event.setCancelled(true);
  56. }
  57.  
  58. /*if (event.getAction().equals(InventoryAction.HOTBAR_SWAP)) {
  59. if (event.getHotbarButton() == -1) {
  60. if (event.getInventory().getViewers().get(0).getInventory().getItemInOffHand() != null && bannedItems.contains(event.getInventory().getViewers().get(0).getInventory().getItemInOffHand().getType())) {
  61. event.setCancelled(true);
  62. }
  63. } else if (event.getInventory().getViewers().get(0).getInventory().getItem(event.getHotbarButton()) != null && bannedItems.contains(event.getInventory().getViewers().get(0).getInventory().getItem(event.getHotbarButton()).getType())) {
  64. event.setCancelled(true);
  65. }
  66. }*/
  67.  
  68. ItemStack[] enderChestItems = event.getInventory().getContents();
  69. ArrayList<ItemStack> enderChestArray = new ArrayList<ItemStack>();
  70.  
  71. ArrayList<ItemStack> toGive = new ArrayList<ItemStack>();
  72.  
  73. for (ItemStack item : enderChestItems) {
  74. if (item != null) {
  75. if (bannedItems.contains(item.getType())) {
  76. toGive.add(item);
  77.  
  78. String pName = event.getInventory().getViewers().get(0).getName();
  79. System.out.print("Illegal ShulkerBox moved from " + pName + "'s EnderChest to their inventory!");
  80. } else {
  81. enderChestArray.add(item);
  82. }
  83. }
  84. }
  85.  
  86. ItemStack[] enderChestItemsNew = enderChestArray.toArray(new ItemStack[0]);
  87. event.getInventory().setContents(enderChestItemsNew);
  88.  
  89. for (ItemStack item : toGive) {
  90. event.getInventory().getViewers().get(0).getInventory().addItem(item);
  91. }
  92.  
  93. if (toGive.size() > 0) {
  94. event.getInventory().getViewers().get(0).closeInventory();
  95. }
  96. }
  97. }
  98.  
  99. @EventHandler
  100. public void onInventoryCloseEvent(InventoryCloseEvent event) {
  101. ItemStack[] enderChestItems = event.getInventory().getContents();
  102. ArrayList<ItemStack> enderChestArray = new ArrayList<ItemStack>();
  103.  
  104. ArrayList<ItemStack> toGive = new ArrayList<ItemStack>();
  105.  
  106. for (ItemStack item : enderChestItems) {
  107. if (item != null) {
  108. if (bannedItems.contains(item.getType())) {
  109. toGive.add(item);
  110.  
  111. String pName = event.getInventory().getViewers().get(0).getName();
  112. System.out.print("Illegal ShulkerBox moved from " + pName + "'s EnderChest to their inventory!");
  113. } else {
  114. enderChestArray.add(item);
  115. }
  116. }
  117. }
  118.  
  119. ItemStack[] enderChestItemsNew = enderChestArray.toArray(new ItemStack[0]);
  120. event.getInventory().setContents(enderChestItemsNew);
  121.  
  122. for (ItemStack item : toGive) {
  123. event.getInventory().getViewers().get(0).getInventory().addItem(item);
  124. }
  125.  
  126. if (toGive.size() > 0) {
  127. event.getInventory().getViewers().get(0).closeInventory();
  128. }
  129. }
  130.  
  131. @EventHandler
  132. public void onInventoryOpenEvent(InventoryOpenEvent event) {
  133. ItemStack[] enderChestItems = event.getInventory().getContents();
  134. ArrayList<ItemStack> enderChestArray = new ArrayList<ItemStack>();
  135.  
  136. ArrayList<ItemStack> toGive = new ArrayList<ItemStack>();
  137.  
  138. for (ItemStack item : enderChestItems) {
  139. if (item != null) {
  140. if (bannedItems.contains(item.getType())) {
  141. toGive.add(item);
  142.  
  143. String pName = event.getInventory().getViewers().get(0).getName();
  144. System.out.print("Illegal ShulkerBox moved from " + pName + "'s EnderChest to their inventory!");
  145. } else {
  146. enderChestArray.add(item);
  147. }
  148. }
  149. }
  150.  
  151. ItemStack[] enderChestItemsNew = enderChestArray.toArray(new ItemStack[0]);
  152. event.getInventory().setContents(enderChestItemsNew);
  153.  
  154. for (ItemStack item : toGive) {
  155. event.getInventory().getViewers().get(0).getInventory().addItem(item);
  156. }
  157.  
  158. if (toGive.size() > 0) {
  159. event.getInventory().getViewers().get(0).closeInventory();
  160. }
  161. }
  162. }
  163.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement