Inventory removes 1 unit

Discussion in 'Plugin Development' started by Batman500, Apr 6, 2014.

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

    Batman500

    How can I do to remove one drive? I tried:

    Code:
    Player p = (Player)sender;
    ItemStack itemstack = new ItemStack(Material.DIAMOND, 1);
    p.getInventory().remove(itemstack);
    Why not remove?
     
  2. Offline

    leimekiller

    Have you tried p.getInventory().removeItem(itemstack); ? Also use Player p = (Player) sender; Instead of Player p = p (sender);
     
  3. Offline

    Batman500

    I did as an example and it seems I was wrong.
    I've tried removeItem
     
  4. Offline

    leimekiller

    It seems to work fine for me.
     
  5. Offline

    GodzOfMadness

    To remove a diamond from someone's inventory you would do something like this:

    Code:
    int i = player.getInventory().first(Material.DIAMOND);
            if(player.getInventory().getItem(i).getAmount() > 1){
                ItemStack is = player.getInventory().getItem(i);
                is.setAmount(is.getAmount()-1);
                player.getInventory().setItem(i, is);
            }else{
                player.getInventory().setItem(i, null);
            }
    I never tried using the "first" method because I usually make my own loop and find it myself. This just seems simpler.
     
  6. Offline

    Batman500

    Now seems to be working
    It seems that was not updating the inventory and I put p.updateInventory(); to update
    Thanks for helping
     
Thread Status:
Not open for further replies.

Share This Page