Problem with plugin

Discussion in 'Plugin Development' started by Tyzun, Jul 25, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    Tyzun

    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?
     
  2. Offline

    seemethere

    Tyzun

    This:

    Code:java
    1. 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
    1. event.getCursor().getType() != Material.SADDLE || event.getCursor().getType() != Material.IRON_BARDING || event.getCursor().getType() != Material.GOLD_BARDING || event.getCursor().getType() != Material.DIAMOND_BARDING
     
  3. Offline

    Tyzun

    It didn’t help.
     
  4. Offline

    Dpasi314

    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.
     
Thread Status:
Not open for further replies.

Share This Page