Gibt es einen Befehl, mit dem ich testen kann, wann der Spieler etwas isst, und nachdem der Spieler das Ding gegessen hat, geben Sie ihm 2 Herzen? Ich habe das Gefühl, es könnte ein Test für Befehl sein ....
Gibt es einen Befehl, mit dem ich testen kann, wann der Spieler etwas isst, und nachdem der Spieler das Ding gegessen hat, geben Sie ihm 2 Herzen? Ich habe das Gefühl, es könnte ein Test für Befehl sein ....
Ähnlich wie Sie verhindern könnten, dass jemand ein Diamantschwert verwendet, ist es in Vanille am einfachsten, Anzeigetafeln zu verwenden. Leider gibt es keine Möglichkeit, alle Lebensmittel mit einem einzigen Anzeigetafelziel zu überprüfen. Sie müssen für jedes Lebensmittel ein Ziel festlegen. Darüber hinaus gab es in früheren Versionen einen Fehler, der verhindert, dass Sie das tun, was Sie gefragt haben, und Sie müssen 1.8 Snapshots oder höher verwenden.
In diesem Beispiel verwende ich Brot, aber Sie müssen es abdecken jedes Lebensmittel. Legen Sie zunächst die Anzeigetafelziele für jeden zu verfolgenden Lebensmitteltyp fest:
/ Anzeigetafelziele add ateBread stat.useItem.minecraft.bread
Sie tun dies nicht Wenn Sie dies von einem Befehlsblock aus tun müssen, kann jede Operation den Befehl ausführen.
Als Nächstes benötigen Sie für jedes Lebensmittel zwei Befehlsblöcke, wobei der erste des Paares in den zweiten eingespeist wird mit einem Komparator. Der erste sucht nach Spielern, die ein Lebensmittel gegessen haben, und gibt ihnen 2 Herzen (4 PS), der zweite setzt das Ziel der Spieler-Anzeigetafel für dieses Lebensmittel zurück:
effect @a [score_ateBread_min = 1 ] 6scoreboard-Spieler setzen @a [score_usedBread_min = 1] usedBread 0
Schließen Sie schließlich alle Befehlsblockpaare an eine schnelle Uhr an, und schon sind Sie fertig.
Jetzt gibt es hier einige Nachteile. Erstens, wenn ihr Hungerriegel voll ist, können sie nicht essen und können sich daher mit dieser Methode nicht regenerieren. Zweitens, wenn ihr Hungerriegel voll (oder fast voll) ist, regenerieren sie sich auf natürliche Weise, was möglicherweise nicht das gewünschte Ergebnis ist. Das folgende Video bietet einen Weg, um dies zu umgehen, und richtet alles von einem einzelnen Befehlsblock aus ein.