Solved Cancel item move in inventory

Discussion in 'Plugin Development' started by mickedplay, Mar 20, 2014.

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

    mickedplay

    How do I cancel that a player moves an item in a inventory? Like armor.

    Thanks!
     
  2. Offline

    GameplayJDK

    mickedplay
    Handle and/or cancel InventoryClickEvent and InventoryDragEvent
     
  3. Offline

    Fred12i12i

    Code:java
    1. @EventHandler
    2. public void onClickInventory(InventoryClickEvent event){
    3. event.getResult();
    4. event.setResult(Result.DENY);
    5. }
     
  4. Offline

    mickedplay

    GameplayJDK
    How do I use p.xyz(); in InventoryDragEvent?
    Player p = e.getPlayer(); doesn't exist.

    Fred12i12i
    Thanks, but I want that players are able to choose a class via compass. But they're not allowed to move the compass.
     
  5. Offline

    Fred12i12i

    mickedplay just add this
    Code:java
    1. if (event.getCurrentItem().getType() == Material.COMPASS) {
     
  6. Offline

    Garris0n

  7. Offline

    Tatsunow

    @EventHandler
    public void oninventoryclick(InventoryClickEvent event){
    Player player = (Player) event.getWhoClicked();
    if(event.getCurrentItem().getType() == Material.DIAMOND_HELMET){
    event.setCancelled(true);
    }
    if(event.getCurrentItem().getType() == Material.DIAMOND_CHESTPLATE){
    event.setCancelled(true);
    }
    if(event.getCurrentItem().getType() == Material.DIAMOND_LEGGINGS){
    event.setCancelled(true);
    }
    if(event.getCurrentItem().getType() == Material.DIAMOND_BOOTS){
    event.setCancelled(true);
    }
    }
     
  8. Offline

    mickedplay

    Tatsunow

    Thanks, but why
    "p.getInventory().setHelmet(new Wool(DyeColor.RED));"
    won't work?

    It says
    "The method setHelmet(ItemStack) in the type PlayerInventory is not applicable for the arguments (Wool).
    Ho do I fix it?

    And how do I check if a player wears a red/blue wool on his head?

    Thanks!
     
  9. Offline

    Zach_1919

    mickedplay You need to put in an item stack instead. Do this:

    p.getInventory().setHelmet(new ItemStack(Material.WOOL, 1, (short) 3));

    The (short) 3 is the data value of the ItemStack. In this case, it changes the color of the wool.
     
  10. Offline

    mickedplay

Thread Status:
Not open for further replies.

Share This Page