I want to prevent putting items on horse inventory(I want that players can put only armor and saddle). So, I wrote this code: Code: @EventHandler public void horse(InventoryClickEvent event) { Inventory inv = event.getInventory(); if (inv instanceof HorseInventory) { if (event.getCursor().getType() != Material.SADDLE | event.getCursor().getType() != Material.IRON_BARDING | event.getCursor().getType() != Material.GOLD_BARDING | event.getCursor().getType() != Material.DIAMOND_BARDING) { event.setCancelled(true); } But when I opening horse inventory and trying to get any item from my inventory, this item returns back. And saddle with Armor returns too. What mistake in this code?
Tyzun This: Code:java event.getCursor().getType() != Material.SADDLE | event.getCursor().getType() != Material.IRON_BARDING | event.getCursor().getType() != Material.GOLD_BARDING | event.getCursor().getType() != Material.DIAMOND_BARDING Should be this: Code:java event.getCursor().getType() != Material.SADDLE || event.getCursor().getType() != Material.IRON_BARDING || event.getCursor().getType() != Material.GOLD_BARDING || event.getCursor().getType() != Material.DIAMOND_BARDING
Tyzun You're explicitly canceling the event. I should add to this, if the item is already in there, and you cancel the event you can not take items out or put items in.