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

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

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;
}

/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.


Ishidres  05.03.2017, 19:00

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

1
Ishidres  05.03.2017, 19:00

ehm ja, ohne das '?'

0