Wie prüfe ich das ein Spieler ein Item im Inventar hat, und das wenn er es hat eine bestimmte Aktion ausgeführt wird?

...komplette Frage anzeigen

2 Antworten

Kommt ganz darauf an, wie du dein Inventar programmiert hast...

Angenommen, alle Items sind in einer std::list, könntest du einfach in deiner Query durch die gesamte Liste iterieren und bei jeder Iteration den Iterator auf seine ID prüfen.

Beispiel:

bool doesPlayerHasItem(ITEM id)
{
     for(Item *i : *player->itemlist)
     {
          if(i->id == id) return true;
     }
     return false;
}
Antwort bewerten Vielen Dank für Deine Bewertung

/testfor @p {Inventory:[{id:"minecraft:diamond_sword"}]}

testet ob der Spieler ein Diamant Schwert im inventar hat. Dies kopierst du in ein command_block. Der command_block muss auf wiederholen gestellt sein.

Daran setzt du einen Redstone Comparator verstärkst das Signal mit einen repeater. Und verbindet das ausgehende redstone signal mit der gewünschten Aktion.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Ishidres
05.03.2017, 19:00

besser hätte ich es nicht erklären können..?

0
Kommentar von Ishidres
05.03.2017, 19:00

ehm ja, ohne das '?'

0

Was möchtest Du wissen?