Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.jennings.noshulkersinenderchests;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.inventory.InventoryAction;
- import org.bukkit.event.inventory.InventoryClickEvent;
- import org.bukkit.event.inventory.InventoryCloseEvent;
- import org.bukkit.event.inventory.InventoryInteractEvent;
- import org.bukkit.event.inventory.InventoryOpenEvent;
- import org.bukkit.event.inventory.InventoryType;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.plugin.java.JavaPlugin;
- import java.util.ArrayList;
- import org.bukkit.Bukkit;
- import org.bukkit.Material;
- public class Main extends JavaPlugin implements Listener{
- public static ArrayList<Material> bannedItems = new ArrayList<Material>();
- static {
- bannedItems.add(Material.SHULKER_BOX);
- bannedItems.add(Material.WHITE_SHULKER_BOX);
- bannedItems.add(Material.LIGHT_GRAY_SHULKER_BOX);
- bannedItems.add(Material.GRAY_SHULKER_BOX);
- bannedItems.add(Material.BLACK_SHULKER_BOX);
- bannedItems.add(Material.BROWN_SHULKER_BOX);
- bannedItems.add(Material.RED_SHULKER_BOX);
- bannedItems.add(Material.ORANGE_SHULKER_BOX);
- bannedItems.add(Material.YELLOW_SHULKER_BOX);
- bannedItems.add(Material.LIME_SHULKER_BOX);
- bannedItems.add(Material.GREEN_SHULKER_BOX);
- bannedItems.add(Material.CYAN_SHULKER_BOX);
- bannedItems.add(Material.LIGHT_BLUE_SHULKER_BOX);
- bannedItems.add(Material.BLUE_SHULKER_BOX);
- bannedItems.add(Material.PURPLE_SHULKER_BOX);
- bannedItems.add(Material.MAGENTA_SHULKER_BOX);
- bannedItems.add(Material.PINK_SHULKER_BOX);
- }
- @Override
- public void onEnable() {
- getServer().getPluginManager().registerEvents(this, this);
- }
- @Override
- public void onDisable() {
- }
- @EventHandler
- public void onInventoryClickEvent(InventoryClickEvent event) {
- if (event.getInventory().getType().equals(InventoryType.ENDER_CHEST) && event.getCurrentItem() != null) {
- if (bannedItems.contains(event.getCurrentItem().getType())) {
- event.setCancelled(true);
- }
- /*if (event.getAction().equals(InventoryAction.HOTBAR_SWAP)) {
- if (event.getHotbarButton() == -1) {
- if (event.getInventory().getViewers().get(0).getInventory().getItemInOffHand() != null && bannedItems.contains(event.getInventory().getViewers().get(0).getInventory().getItemInOffHand().getType())) {
- event.setCancelled(true);
- }
- } else if (event.getInventory().getViewers().get(0).getInventory().getItem(event.getHotbarButton()) != null && bannedItems.contains(event.getInventory().getViewers().get(0).getInventory().getItem(event.getHotbarButton()).getType())) {
- event.setCancelled(true);
- }
- }*/
- ItemStack[] enderChestItems = event.getInventory().getContents();
- ArrayList<ItemStack> enderChestArray = new ArrayList<ItemStack>();
- ArrayList<ItemStack> toGive = new ArrayList<ItemStack>();
- for (ItemStack item : enderChestItems) {
- if (item != null) {
- if (bannedItems.contains(item.getType())) {
- toGive.add(item);
- String pName = event.getInventory().getViewers().get(0).getName();
- System.out.print("Illegal ShulkerBox moved from " + pName + "'s EnderChest to their inventory!");
- } else {
- enderChestArray.add(item);
- }
- }
- }
- ItemStack[] enderChestItemsNew = enderChestArray.toArray(new ItemStack[0]);
- event.getInventory().setContents(enderChestItemsNew);
- for (ItemStack item : toGive) {
- event.getInventory().getViewers().get(0).getInventory().addItem(item);
- }
- if (toGive.size() > 0) {
- event.getInventory().getViewers().get(0).closeInventory();
- }
- }
- }
- @EventHandler
- public void onInventoryCloseEvent(InventoryCloseEvent event) {
- ItemStack[] enderChestItems = event.getInventory().getContents();
- ArrayList<ItemStack> enderChestArray = new ArrayList<ItemStack>();
- ArrayList<ItemStack> toGive = new ArrayList<ItemStack>();
- for (ItemStack item : enderChestItems) {
- if (item != null) {
- if (bannedItems.contains(item.getType())) {
- toGive.add(item);
- String pName = event.getInventory().getViewers().get(0).getName();
- System.out.print("Illegal ShulkerBox moved from " + pName + "'s EnderChest to their inventory!");
- } else {
- enderChestArray.add(item);
- }
- }
- }
- ItemStack[] enderChestItemsNew = enderChestArray.toArray(new ItemStack[0]);
- event.getInventory().setContents(enderChestItemsNew);
- for (ItemStack item : toGive) {
- event.getInventory().getViewers().get(0).getInventory().addItem(item);
- }
- if (toGive.size() > 0) {
- event.getInventory().getViewers().get(0).closeInventory();
- }
- }
- @EventHandler
- public void onInventoryOpenEvent(InventoryOpenEvent event) {
- ItemStack[] enderChestItems = event.getInventory().getContents();
- ArrayList<ItemStack> enderChestArray = new ArrayList<ItemStack>();
- ArrayList<ItemStack> toGive = new ArrayList<ItemStack>();
- for (ItemStack item : enderChestItems) {
- if (item != null) {
- if (bannedItems.contains(item.getType())) {
- toGive.add(item);
- String pName = event.getInventory().getViewers().get(0).getName();
- System.out.print("Illegal ShulkerBox moved from " + pName + "'s EnderChest to their inventory!");
- } else {
- enderChestArray.add(item);
- }
- }
- }
- ItemStack[] enderChestItemsNew = enderChestArray.toArray(new ItemStack[0]);
- event.getInventory().setContents(enderChestItemsNew);
- for (ItemStack item : toGive) {
- event.getInventory().getViewers().get(0).getInventory().addItem(item);
- }
- if (toGive.size() > 0) {
- event.getInventory().getViewers().get(0).closeInventory();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement