Checken ob ein Spieler ein bestimmtes Item im Inventar hat

Dieses Thema im Forum "Programmierung" wurde erstellt von Yellowphoenix18, 4. Oktober 2014.

  1. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Hallo,ich suche derzeit den Code um zu checken,ob ein Spieler ein gewisses Item mit einer gewissen Anzahl im Inventar hat.

    mfg YellowPhoenix18
     
    #1
  2. Spamversender
    Offline

    Spamversender

    Registriert seit:
    9. März 2014
    Beiträge:
    118
    das geht mit Player.getInventory().contains(ItemStack)
     
    #2
  3. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Hab ich auch so,aber es geht iwie nicht
     
    #3
  4. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    if(p.getInventory().contains(new ItemStack(Material.BRICK,2))) {
    Hier einmal die Abfrage

    mfg YellowPhoenix18

    Aber sie geht leider nicht,was ist denn daran falsch?
     
    #4
  5. Spamversender
    Offline

    Spamversender

    Registriert seit:
    9. März 2014
    Beiträge:
    118
    kommt da eine fehlermeldung?
     
    #5
  6. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Leider nicht.
    Aber ich hätte noch die Frage,wie man Brick(Das Item) bekommen kann,da dieses ja nicht beim Material angegeben ist.
     
    #6
  7. Spamversender
    Offline

    Spamversender

    Registriert seit:
    9. März 2014
    Beiträge:
    118
    Dann musst du eine for-Schleife machen:

    for(ItemStack is : p.getInventory().getContents[]{
    if(is.gettype == Material.ZEUGS && is.getAmount == 5000000){

    }
    }

    oder statt dem if da oben mit if(is.equals(deinItemStack), allerdings kann ich dir sagen dass das nicht hinhauen wird weil alle Werte (ItemMeta, Enchantments usw.) komplett gleich sein müssen.
     
    #7
  8. Yellowphoenix18
    Offline

    Yellowphoenix18

    Registriert seit:
    26. März 2013
    Beiträge:
    267
    Ort:
    Niedersachsen
    Minecraft:
    YellowPhoenix18
    Ich habe das ganze mal nun so angewendet,aber es will nicht gehen:
    if (e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("Schuhe")) {
    for(ItemStack is : p.getInventory().getContents()) {
    if(is.getType() == Material.BRICK && is.getAmount() == 2) {
    p.closeInventory();
    p.getInventory().addItem(new ItemStack(Material.LEATHER_BOOTS));
    } else {
    p.closeInventory();
    }
    }
    }
     
    #8
  9. MiCrJonas
    Offline

    MiCrJonas

    Registriert seit:
    29. Oktober 2012
    Beiträge:
    1.069
    #9