🇩🇪 Deutsch (German)
🇩🇪 Deutsch (German)
Erscheinungsbild
🇩🇪 Deutsch (German)
🇩🇪 Deutsch (German)
Erscheinungsbild
This page is written for:
1.20.4
This page is written for:
1.20.4
Parameter werden in den meisten Befehlen verwendet. Manchmal sind sie optional, das heißt, wenn du diesen Parameter nicht angibst, wird der Befehl dennoch ausgeführt. Ein Knoten kann mehrere Parametertypen haben, aber es ist zu beachten, dass die Möglichkeit einer Mehrdeutigkeit besteht, die vermieden werden sollte.
No lines matched.
In diesem Fall musst du nach dem Befehlstext /argtater
eine ganze Zahl eingeben. Zum Beispiel, wenn du /argtater 3
ausführst, erhaltest du die Rückmeldung Called /argtater with value = 3
. Wenn du /argtater
ohne Argumente eingibst, kann der Befehl nicht korrekt geparst werden.
Dann fügen wir ein optionales zweites Argument hinzu:
No lines matched.
Jetzt kannst du eine oder zwei ganze Zahlen eingeben. Wenn du eine ganze Zahl eingibst, wird ein Feedback-Text mit einem einzigen Wert ausgegeben. Wenn du zwei Ganzzahlen angibst, wird ein Feedback-Text mit zwei Werten ausgegeben.
Du kannst es unnötig finden, ähnliche Ausführungen zweimal anzugeben. Daher können wir eine Methode erstellen, die in beiden Ausführungen verwendet wird.
No lines matched.
Wenn Vanilla nicht den von dir benötigten Argumenttyp verfügt, kannst du deinen eigenen erstellen. Dazu musst du eine Klasse erstellen, die das Interface ArgumentType<T>
erbt, wobei T
der Typ des Arguments ist.
Du musst die Methode "parse" implementieren, die die Eingabezeichenfolge zu dem gewünschten Typ parst.
Du kannst zum Beispiel einen Argumenttyp erstellen, der eine BlockPos
aus einer Zeichenkette mit dem folgenden Format parst: {x, y, z}
No lines matched.
WARNING
Du musst den benutzerdefinierten Argumenttyp sowohl im Server als auch im Client registrieren, sonst wird der Befehl nicht funktionieren!
Du kannst deinen benutzerdefinierten Argumenttyp in der Methode onInitialize
deines Mod-Initialisierers mit der Klasse ArgumentTypeRegistry
registrieren:
No lines matched.
Wir können unseren benutzerdefinierten Argumenttyp in einem Befehl verwenden, indem wir eine Instanz davon an die Methode .argument
im Builder des Befehls übergeben.
No lines matched.
Durch das Ausführen des Befehls, können wir testen, ob der Argumenttyp funktioniert oder nicht: