Dieser Inhalt ist nur für die Java Edition.
/trigger
Operator-Level
benötigt

0

Einschränkungen

Keine

/trigger ist speziell für das Ändern eines Punkte-Ziels über die Chat-Eingabe oder einen JSON-Text im Chat oder Buch gedacht.

Mit dem Befehl /scoreboard können beliebige Punkte-Ziele (engl. objectives) für eine Anzeigetafel in der Welt erstellt werden, für die die Spieler Punkte sammeln können. Dabei wird für jedes Punkte-Ziel ein Kriterium angegeben, was als Punkte gezählt wird, z.B. eine bestimmte Statistik oder die Anzahl von Tötungen.

Es gibt auch das Zielkriterium dummy. Für solche Ziele ändert sich der Punktestand nur durch /scoreboard-Befehle, wie z.B. den Befehl /scoreboard players add Punktehalter Punkte-Ziel Wert. Diese Befehle werden in Befehlsblöcken oder Funktionen hinterlegt, sodass sie auf jeden Spieler wirken, der das Ereignis aktiviert. Die /scoreboard-Befehle eignen sich jedoch nicht für die Anwendung in JSON-Texten.

JSON-Texte können über Befehlsblöcke versendet werden oder in einem beschriebenen Buch enthalten sein oder - wenn sie kurz sind - auch direkt in der Server-Konsole oder von Operatoren im Chat eingegeben werden. Sie können Textteile enthalten, die beim Überfahren mit der Maus oder beim Anklicken einen Befehl auslösen können. Diese Befehle werden von dem jeweils betroffenen Spieler selbst ausgeführt, er muss also die Berechtigung dafür haben. Die hat der normale Spieler für /scoreboard-Befehle nicht.

Eigens für die Anwendung in der Chat-Eingabe oder JSON-Texten gibt es daher den /trigger-Befehl. Diesen Befehl kann jeder Spieler ausführen, auch ohne Befehlen-erlauben-Aktivierung und ohne Operator-Rechte.

Syntax Bearbeiten

Zur Eingabe eines Befehls siehe Befehl#Eingabehilfe.

/trigger <Punkte-Ziel>
/trigger <Punkte-Ziel> add <Wert>
/trigger <Punkte-Ziel> set <Wert>

Argumente Bearbeiten

Parameter-Argumente Bearbeiten

<Punkte-Ziel>

Ein für den Spieler aktiviertes Punkte-Ziel mit dem Kriterium „trigger“.
Muss eine nicht in Anführungszeichen gesetzte Zeichenfolge sein, die bei der Befehlsausführung in ein Punkte-Ziel aufgelöst wird. Erlaubte Zeichen sind: -, +, ., _, A-Z, a-z, und 0-9.

<Wert>

Gibt den Wert an, der für das Punkte-Ziel festgelegt oder hinzugefügt werden soll.
Muss eine Ganzzahl (32-Bit-Integer-Zahl) sein (von -2147483648 (-231) bis 2147483647 (231-1)).

Befehls-Argumente Bearbeiten

add

erhöht den Punktestand des Spielers für das Ziel um den Wert. add <Wert> kann auch weggelassen werden, dann wird der Auslöser genau um eins erhöht.

set

erhöht den Punktestand des Spielers für das Ziel um den Wert.

Eigenschaften Bearbeiten

Der /trigger-Befehl setzt oder ändert den Punktstand bei dem Spieler, der ihn ausführt. Er kann daher nur von Spielern (direkt oder als Teil eines JSON-Textes) ausgeführt werden, nicht von Befehlsblöcken oder Funktionen. Um zu verhindern, dass jeder Spieler sich einfach selbst die Punkte erhöht, muss der /trigger-Befehl zuerst durch den Befehl /scoreboard players enable Punktehalter Punkte-Ziel freigeschaltet werden. Die anschließende Ausführung des /trigger-Befehls sperrt den Punktstand automatisch wieder, sodass er für eine zweite Veränderung erneut freigeschaltet werden muss. Auf diese Weise wird sichergestellt, dass der Befehl in einem JSON-Text nur ein einziges Mal ausgeführt werden kann und nicht durch mehrfaches Anklicken beliebig oft.

Ausgabe Bearbeiten

BefehleAuslöserJava Edition
Beliebigdie Argumente sind nicht richtig angegeben Unparsbar
das Punkte-Ziel existiert nicht Fehlschlag
das Punkte-Ziel ist nicht vom Kriterien-Typ „trigger“
der Ausführende ist kein Spieler
der Ausführende ist nicht auf dem Punkte-Ziel.
das Punkte-Ziel wurde für den Spieler nicht „aktiviert“
SonstigesErfolgreich

Rückgabe Bearbeiten

BefehleEditionSituationErfolgszähler/execute store success .../execute store result ...
BeliebigJava EditionBei Fehlschlag000
Bei Erfolg11Der Punkte-Ziel-Wert des Spielers nach Ausführung des Befehls.

Beispiele Bearbeiten

Befehl Beispiel
/trigger /scoreboard objectives add wiki.aktiv trigger
Erstellt das Auslöser-Punkte-Ziel. Der Kriterien-Typ muss „trigger“ sein.

/scoreboard players enable @a wiki.aktiv

Anschließend erhalten alle Spieler die Berechtigung per trigger-Befehl ihren Punktestand zu ändern.

/trigger wiki.aktiv add 42

Nun kann jeder Spieler den trigger-Befehl einmalig ausführen. Wird der trigger-Befehl im Chat eingegeben, erhält der Ausführer den Wert 42.
/scoreboard objectives add wiki.schatz trigger
Es wird ein Ziel "Schatz" definiert, für das man Punkte in Form von /tellraw-Nachrichten bekommt.

/scoreboard players enable @p wiki.schatz

Durch eine bestimmte Aktion löst ein Spieler zwei Befehlsblöcke aus. Der erste schaltet den Punktestand "wiki.schatz" für den nächstgelegenen (@p) Spieler frei.
Der zweite Befehlsblock sendet dem nächstgelegenen Spieler eine tellraw-Nachricht:
/tellraw @p 
{
  "text":"Klick mich, ich bin ein Schatz",
  "clickEvent":
  {
    "action":"run_command",
    "value":"/trigger wiki.schatz add 5"
  }
}
Den Text dieser Nachricht kann der Spieler in der Chat-Konsole anklicken und löst dabei den /trigger-Befehl aus. Dadurch gibt sich der Spieler 5 weitere Punkte auf seinen Punktestand "Schatz". Gleichzeitig wird die Freischaltung wieder entfernt, sodass ein erneuter Klick auf den Text keine Wirkung mehr hat.

Geschichte Bearbeiten

Versionsgeschichte der Java Edition
Vollversion 1.8 (14w06a)
  • Der Befehl /trigger wird hinzugefügt.
Vollversion 1.13 (17w45a)
  • Der Befehl /trigger wird vereinfacht, der Befehl /trigger <Punkte-Ziel> ist eine Abkürzung für den Befehl /trigger <Punkte-Ziel> add 1.

  NODES
chat 14
Project 1