SteamWar/MissileWars
Archiviert
13
0

Cancel Putting bow in Chest

Dieser Commit ist enthalten in:
Chaoscaot 2020-08-31 14:09:02 +02:00
Ursprung 1775f4d366
Commit 1a721b2f49

Datei anzeigen

@ -21,8 +21,12 @@ import org.bukkit.entity.Snowball;
import org.bukkit.event.EventHandler;
import org.bukkit.event.block.Action;
import org.bukkit.event.entity.ProjectileLaunchEvent;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryDragEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import java.io.File;
@ -82,11 +86,25 @@ public class ItemListener extends BasicListener {
}
}
@EventHandler(ignoreCancelled = true)
public void onInventoryClose(InventoryCloseEvent event) {
if(event.getInventory().contains(Material.BOW)) {
event.getInventory().setItem(event.getInventory().first(Material.BOW), new ItemStack(Material.AIR));
event.getPlayer().getInventory().addItem(MWTeam.getBow());
}
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
Inventory clicked = event.getClickedInventory();
if(event.getClick().isShiftClick()){
ItemStack clickedOn = event.getCurrentItem();
if(
clickedOn != null &&
event.getView().getTopInventory().getType() != InventoryType.CRAFTING &&
event.getCurrentItem().getType() != Material.BOW &&
clicked == event.getWhoClicked().getInventory())
event.setCancelled(true);
}else if (
clicked != event.getWhoClicked().getInventory() &&
clicked != null &&
clicked.getType() != InventoryType.PLAYER &&
event.getCurrentItem().getType() != Material.BOW &&
event.getCursor() != null &&
event.getCursor().getType() != Material.AIR)
event.setCancelled(true);
}
}