Vollversion | |||||||||
---|---|---|---|---|---|---|---|---|---|
1.7 (13w37a) | |||||||||
1.8 |
|
||||||||
1.9 (15w31a) |
|
||||||||
1.12 (17w16a) |
|
||||||||
1.13 |
|
||||||||
1.14 |
|
||||||||
1.15 |
|
||||||||
1.16 (20w17a) |
|
||||||||
1.17 (21w15a) |
|
||||||||
1.19.1 |
|
||||||||
1.19.4 (23w03a) |
|
||||||||
1.21.2 (24w33a) |
|
JSON-Text
Ein JSON-Text ist ein Text im JSON-Format. Von Minecraft wird dieses Format verwendet, um Schrift zu formatieren oder ihr besondere Eigenschaften zu geben, z.B. eine Aktion auszuführen, wenn auf die Schrift geklickt wird.
Verwendung[Bearbeiten | Quelltext bearbeiten]
Im Spiel gibt es mehrere Möglichkeiten für die Verwendung solcher Texte:
- Befehl
/tellraw
- Befehl
/title
- Befehl
/scoreboard
- Befehl
/team
- Befehl
/bossbar
- Schild
- Beschriebenes Buch
- Zielauswahl-Eigenschaft name
text
-Eigenschaft von Textdarstellern.CustomName
-Eigenschaft in Objektdaten, Kreaturdaten und Blockobjektdatenminecraft:custom_name
- undminecraft:lore
-Eigenschaft in Gegenstandsdatenstorage
-Datenspeicher vom Befehl/data ... storage
Eigenschaften[Bearbeiten | Quelltext bearbeiten]
Ein JSON-Text kann folgende Eigenschaften haben:
- Formatierungen: einzelne Textteile können unterschiedliche Farben und Schriftformatierungen haben wie z.B. Fettschrift.
- Maus-Sensitivität: einzelne Textteile können einen Tooltip-Text anzeigen, wenn man mit der Maus darüber fährt (mit hoverEvent).
- Maus-Klick-Sensitivität: einzelne Textteile können angeklickt werden (mit clickEvent) und...
- ... einen Befehl vorschlagen, indem er in die Chat-Konsole des Empfängers gestellt wird,
- ... einen Befehl ausführen in der Chat-Konsole des Empfängers,
- ... eine Web-Adresse aufrufen (mit Rückfrage, wenn in den Einstellungen aktiviert),
- ... eine Buchseite aufrufen.
- Shift-Maus-Klick-Sensitivität: einzelne Textteile können mit ⇧ Umschalttaste angeklickt werden und schreiben dann einen Text in den Chat (mit insertion).
- Systemtexte: aus der Sprachendatei können beliebige Texte übernommen werden (mit translate).
- Spieler und Kreaturen: in den Text können beliebige Zielauswahlen integriert werden (mit selector).
- NBT-Daten: in den Text können NBT-Daten integriert werden (mit nbt).
- Anzeigetafel: in den Text können Punktestände der Anzeigetafel integriert werden (mit score).
Wenn der Text einen Befehl enthält, wird dieser immer in die Chat-Konsole des Empfängers eingetragen und dort ausgeführt. Das führt zu folgenden Effekten:
- Wenn der Empfänger keine Berechtigung zur Ausführung des Befehls hat, erhält er die entsprechende Fehlermeldung. Der Befehl
/trigger
, für dessen Ausführung jeder Spieler berechtigt ist, ist speziell für die Anwendung in JSON-Texten gedacht, um Punkte für Punkte-Ziele zu erhöhen. - Wenn der Befehl länger als die Chat-Konsole ist (256 Zeichen), wird er abgeschnitten, was meist zu einer Fehlermeldung führt.
- Wenn der Befehl die Zielauswahl
@p
enthält, wird dort immer der Empfänger des JSON-Textes eingesetzt, denn er ist selbst die Befehlsquelle und gleichzeitig der Befehlsquelle am nächsten. - Der Befehl ist nach der Ausführung - ob mit oder ohne Fehlermeldung - in der Chat-Historie des Empfängers zu sehen.
Der Text kann Unicode 7-Zeichen enthalten im Format \u1234
. Beispiel: /tellraw @p {"text":"\u00A9 Copyright"}
ergibt "© Copyright". Unter Windows erhält man den Unicode eines Zeichens, indem man bei "Start" das Wort "Zeichentabelle" eingibt und auswählt. Klickt man in dieser Tabelle ein Zeichen an, steht unten links der Unicode, z.B. "U+00A9 Copyright-Zeichen".
Escaping[Bearbeiten | Quelltext bearbeiten]
Bei verschachtelten Parametern mit einem Text innerhalb eines Textes, ergibt sich ein Anführungszeichenproblem: Der Beginn des inneren Textes wird fälschlich als das Ende des äußeren Textes interpretiert. Um diesem Problem zu entkommen (engl. escape), markiert man die inneren Anführungszeichen mit einem besonderen Zeichen, dem Rückwärtsschrägstrich \
(Backslash). Ganz allgemein wird vor jedes Zeichen, das der Interpretation durch das Programm entkommen soll, ein Backslash geschrieben. Das wird Escaping genannt. Das Escaping wird notwendig, wenn man geschachtelte JSON-Texte konstruiert, z.B. bei einem Schild, das auf dem Befehlsblock stehen soll, der es erzeugt. Zuerst der normale JSON-Schildtext:
/setblock ~ ~1 ~ minecraft:oak_sign{front_text:{messages:["{\"text\":\"Zeile 1\"}","\"\"","\"\"","\"\""]},is_waxed:true} replace
Jetzt ein JSON-Schildtext als Liste mit verschiedenen Formatierungen:
/setblock ~ ~1 ~ minecraft:oak_sign{front_text:{messages:["[{\"text\":\"Blau \",\"color\":\"blue\"},{\"text\":\" Rot\",\"color\":\"red\"}]","\"\"","\"\"","\"\""]},is_waxed:true} replace
Benötigt man eine weitere Verschachtelung, muss man sowohl das Anführungszeichen als auch den davorstehenden Backslash escapen. Aus den zwei Zeichen \"
werden dann vier: \\\"
.
/setblock ~ ~1 ~ minecraft:oak_sign{ front_text: {messages:[ "{ \"text\":\"Hier klicken\", \"clickEvent\": { \"action\":\"run_command\", \"value\":\"/tellraw @p { \\\"text\\\":\\\"Du hast mich angeklickt!\\\" }\" } }","\"\"","\"\"","\"\""] }, is_waxed:true } replace
In der nächsten Verschachtelungstiefe muss man wieder vor jedes Zeichen einen Backslash schreiben. Aus den vier Zeichen \\\"
werden dann acht: \\\\\\\"
. Hier erzeugt das Schild beim Anklicken ein zweites Schild mit rotem Text genau da, wo der Spieler steht.
/setblock ~ ~1 ~ minecraft:oak_sign{ front_text: {messages:[ "{ \"text\":\"Hier klicken\", \"clickEvent\": { \"action\":\"run_command\", \"value\":\"/execute at @p run setblock ~ ~ ~ minecraft:oak_sign{ front_text: {messages:[ \\\"{ \\\\\\\"text\\\\\\\":\\\\\\\"Roter Text\\\\\\\", \\\\\\\"color\\\\\\\":\\\\\\\"red\\\\\\\" }\\\",\\\"\\\\\\\"\\\\\\\"\\\",\\\"\\\\\\\"\\\\\\\"\\\",\\\"\\\\\\\"\\\\\\\"\\\"] }, is_waxed:true } replace\" } }","\"\"","\"\"","\"\""] }, is_waxed:true } replace
Elemente eines formatierten JSON-Textes[Bearbeiten | Quelltext bearbeiten]
- : Ein Text kann aus mehreren Textteile bestehen, die in einer Liste zusammengefasst werden. Jeder Textteil kann individuell formatiert werden. Wenn die Formatierung für den gesamten Text gleich ist, ist nur ein einziger Textteil nötig. Dann können die Listenklammern weggelassen werden. Falls man eine Liste verwendet, vererbt der erste Textteil seine Formatierung an die weiteren. Wenn man das vermeiden möchte, nimmt man als ersten Textteil einen Leertext. Ein einfacher Freitext kann auch einfach als JSON-Zeichenkette angegeben werden, zum Beispiel
"Test"
oder ein Leertext als""
.- : Ein Textteil.
- text: Der Textteil ist ein Freitext. Eine Zielauswahl in diesem Text hat keine Wirkung und wird wie ein Text behandelt. Es werden jedoch bestimmte Zeichenfolgen interpretiert:
\n
erzeugt einen Zeilenumbruch und die Verwendung von Formatierungscodes ist möglich, indem das Paragrafenzeichen als Unicode-Zeichen\u00a7
eingegeben wird. - selector: Der Textteil ist eine Zielauswahl. Als Text werden die im Augenblick der Texterzeugung durch die Zielauswahl bestimmten Spielernamen angezeigt. Sollte es keinen passenden Spieler geben, wird dieser Eintrag zu einem Leertext. Ein "selector"-Textteil ermöglicht die Integration von Spielernamen im Text, bestimmt aber nicht, wer den Text erhält. Das wird außerhalb des Textes festgelegt.
- keybind: Der Textteil ist eine Variable, die für eine Aktion steht. Die für diese Aktion im Steuerungsmenü eingestellte Taste wird in den Text eingefügt. Beispielsweise wird für den Wert
key.inventory
standardmäßig E eingefügt. Die einzelnen Variablen sind in der Datei options.txt zu finden. Dabei ist das Präfixkey_
der Aktionsnamen wegzulassen (zum Beispielkey.use
).
Es können auch die Tastennamen wiekey.mouse.right
verwendet werden, dann wird aber immer die gleiche Taste angezeigt, unabhängig davon, was im Steuerungsmenü eingestellt ist. - translate: Der Textteil ist eine Variable aus einer Minecraft-Sprachdatei. Die Standard-Sprachdateien stehen im Ordner .minecraft/assets. Die Variablen sind in allen Sprachdateien identisch. Bei der Verwendung von "translate" wird der in der aktuell eingestellten Sprache hinter der Variable stehende Text zum Textteil. "translate" wird von Minecraft selbst z.B. im Zusammenhang mit dem "hoverEvent" "show_item" verwendet, d.h. wenn man mit der Maus über einen Gegenstand im Inventar fährt, wird der Name in der aktuell eingestellten Sprache angezeigt. Man kann auch einen Freitext verwenden, der, wenn er nicht in den Sprachdateien vorhanden ist, als Freitext dargestellt wird. Das könnte man genauso mit der "text"-Eigenschaft lösen, aber bei "translate" kann man zusätzlich die "with"-Einfügungen verwenden, die man auch formatieren kann.
- with (nur in Verbindung mit "translate"): Liste von Ersetzungstexten. Einige "translate"-Texte enthalten (immer in allen Sprachen) den Platzhalter %s. Beispiel: der Text zum Parameter "multiplayer.player.joined" lautet in Deutsch: "%s hat das Spiel betreten". Der Platzhalter wird in diesem Fall normalerweise durch den Spielernamen ersetzt.
In einem Text kann man alle Platzhalter beliebig ersetzen. Die Anzahl der Ersetzungen in der "with"-Liste muss jedoch immer mit der Anzahl der %s-Platzhalter im Text übereinstimmen. Interessanterweise ist "with" keine Unter-Eigenschaft von "translate", sondern parallel zu dieser einzutragen. Die Einträge in "with" sind auch im JSON-Format, wodurch z.B."with":[{"selector":"@p","color":"green"}]
den nächsten Spieler in grüner Schrift einfügen würde.
Statt dem Platzhalter %s kann in den Sprachdateien auch %n$s verwendet werden, um den n-ten Ersetzungstext einzufügen. Dies ist nützlich, wenn die Ersetzungstexte in verschiedenen Sprachen in unterschiedlicher Reihenfolge stehen. - fallback: (nur in Verbindung mit "translate"): Das Feld ist ein String, der anstelle der Übersetzung verwendet wird, wenn es fehlt. Beispiel:
{"translate":"diese.textid.ist.falsch","fallback": "Konnte Text-ID nicht finden"}
- nbt: NBT-Pfad zu NBT-Daten: Zusätzlich zum NBT-Pfad muss genau einer der Parameter block, entity oder storage angegeben werden, um festzulegen, wo die anzuzeigenden NBT-Daten herkommen.
- block (nur in Verbindung mit "nbt"): Die Koordinaten eines Blocks, dessen NBT-Daten angezeigt werden sollen, im Format
x y z
. - entity (nur in Verbindung mit "nbt"): Zielauswahl für ein Objekt, dessen NBT-Daten angezeigt werden sollen.
- storage (nur in Verbindung mit "nbt"): Datenspeicher, dessen NBT-Daten angezeigt werden sollen.
- interpret (nur in Verbindung mit "nbt"): Bei
true
werden die NBT-Daten als Textteil interpretiert und können somit wiederum JSON-Text-Formatierungen enthalten. - separator (in Verbindung mit "selector" oder "nbt"): Ersetzt das Komma in Auflistungen durch den hier angegebenen Text. Beispiele:
{"selector":"@e[type=chicken]","separator":"_"}
und{"nbt":"CustomName","entity":"@e[type=chicken]","interpret":true,"separator":{"text":"*","color":"red"}}
. - score: Der Textteil ist ein Anzeigetafel-Punktestand. Dabei wird im Augenblick der Texterzeugung der momentane Punktestand im Text gespeichert. Dieser Wert wird dann auch weiterhin angezeigt, wenn sich der Punktestand ändert. "score" funktioniert nicht in "hoverEvents".
- objective: der Name eines Anzeigetafel-Ziels. Der Name wird nicht angezeigt, sondern dient ebenfalls zur Identifizierung des richtigen Punktestandes.
- name: der Name eines Spielers, eines Anzeigetafel-Zählers (das ist ein Spielername, der mit # beginnt) oder einer Zielauswahl. Der Name wird nicht angezeigt, sondern dient zur Identifizierung des richtigen Punktestandes. Wenn der Spieler (oder Zähler) mit dem Namen noch keinen Punktestand hat (auch nicht 0 Punkte), wird der Textteil zu einem Leertext. Daher empfiehlt es sich, allen infrage kommenden Spielern initial 0 Punkte zu geben, damit zumindest dies angezeigt wird. Wenn eine Zielauswahl verwendet wird, die nicht genau ein Ergebnis liefert (also keins oder mehr als eines z.B. bei "@a"), wird der tellraw-Befehl nicht erfolgreich durchgeführt. Die Fehlermeldung lautet dann: "Dieses Objekt kann nicht gefunden werden".
- value (optional): speichert den anzuzeigenden Wert: Nach der Ausführung des Befehls ermittelt Minecraft den Punktestand des Spielers bzw. Objektes anhand der "name"- und "objective"-Eigenschaften und fügt eine "value"-Eigenschaft hinzu, die den Punktestand angibt.
Sollte diese Eigenschaft bereits vorhanden sein, wird sie nicht ersetzt, wodurch der Punktestand immer auf dem einmal ermittelten Stand bleibt, auch wenn man den JSON-Text mehrfach zu unterschiedlichen Zeitpunkten liest. Gibt man diese Eigenschaft jedoch beim Ausführen eines Befehls mit an, ignoriert Minecraft sie und fügt den tatsächlichen Punktestand ein.
- font: der interne Name der für den Textteil zu verwendenden Schriftart: Standardmäßig wird
minecraft:default
verwendet. Die Schriftartminecraft:uniform
ist die kleinere, für die Option "Unicode erzwingen" (im Sprachmenü) verwendete Schriftart. Ist diese Option eingeschaltet, ist das gleichbedeutend mitminecraft:default
. Außerdem kann die Schriftartminecraft:alt
für Beschriftungen im Standard Galactic Alphabet verwendet werden, dabei werden jedoch nur Buchstaben (und Leerzeichen) unterstützt, andere Zeichen erscheinen als Rechteck. - color: einer der folgenden 16 Farbnamen zum Einfärben des Textteils: "white", "black", "yellow", "gold", "aqua", "dark_aqua", "blue", "dark_blue", "light_purple", "dark_purple", "red", "dark_red", "green", "dark_green", "gray", "dark_gray".
Man kann als Farbe auch einige Textformatierungen wie "bold" angeben, die auch zu fett gedruckter, weißer Schrift führt. Interessanterweise funktioniert dies beiunderlined
nicht. Wegen der Übersichtlichkeit ist es jedoch ratsam, stets die dafür vorgesehene "bold"-Eigenschaft zu verwenden. - bold: Bei
true
wird der Textteil fett formatiert. - italic: Bei
true
wird der Textteil kursiv formatiert. - underlined: Bei
true
wird der Textteil unterstrichen formatiert. - strikethrough: Bei
true
wird der Textteil durchgestrichen formatiert. - obfuscated: Bei
true
wird der Textteil verschleiert formatiert, d.h. er wird unlesbar, weil sich die Buchstaben ständig ändern. - hoverEvent: zusätzlicher Text, der beim Darüberfahren mit der Maus über diesen Textteil anzeigt wird: Für Schilder und den Befehl
/title
ist das Darüberfahren nicht möglich und bleibt dort funktionslos.- action: eine der Aktionen "show_text", "show_item" oder "show_entity":
•"show_text"
zeigt einen JSON-Text an. - contents: der anzuzeigende JSON-Text
•"show_item"
zeigt die Beschreibung eines Gegenstands an (wie wenn man im Inventar mit der Maus über den Gegenstand fährt). - contents: ID-Name des anzuzeigenden Gegenstands
- contents: alternativ Gegenstandsdaten des anzuzeigenden Gegenstands, dabei sind die einzelnen Einträge SNBT-Zeichenketten
•"show_entity"
zeigt die Beschreibung eines Objektes an, wenn die erweiterten Schnellinfos mit F3 + H aktiviert wurden (sonst wird nichts angezeigt). - contents
- action: eine der Aktionen "show_text", "show_item" oder "show_entity":
- clickEvent: Lässt den Textteil auf das Anklicken mit der Maus reagieren. Für den Befehl
/title
ist Anklicken nicht möglich und bleibt dort funktionslos. Das Objekt hat folgende Eigenschaften:- action: eine der Aktionen "run_command", "suggest_command", "open_url", "change_page" und "copy_to_clipboard":
• Bei "suggest_command" wird der Freitext (vorzugsweise ein beliebiger Minecraft-Befehl, aber es muss kein Befehl sein) beim Anklicken des JSON-Textes ins Chat-Fenster des Empfängers gestellt und nicht ausgeführt. Der Empfänger kann dann entscheiden, ob er den Befehl (wenn es einer ist) ausführt. "suggest_command" funktioniert nur für den Befehl/tellraw
, nicht für Bücher oder Schilder.
• Bei "run_command" wird der Freitext als Befehl (auch /tellraw) im Chat-Fenster des Empfängers ausgeführt. Der Schrägstrich muss eingegeben und die 256-Zeichen-Grenze beachtet werden. Außerdem muss der Spieler das Recht haben, den Befehl auszuführen.
• Bei "open_url" wird der Freitext als Webadresse interpretiert. Beim Anklicken öffnet sich ein Rückfrage-Fenster, das die Webadresse anzeigt und ermöglicht, sie automatisch im Standard-Browser zu öffnen oder sie in die Zwischenablage des Betriebssystems zu kopieren. "open_url" funktioniert nur für den Befehl/tellraw
und für Bücher, nicht für Schilder.
• Bei "change_page" wird der Freitext als Seitenzahl interpretiert. Diese Aktion ist für Bücher gedacht und funktioniert nur bei ihnen. Beim Anklicken des so markierten Textes wird auf die angegebene Seite gewechselt. So lässt sich ein Inhaltsverzeichnis realisieren. - value: der Freitext für die Aktion (Befehl, URL oder Seitenzahl)
- action: eine der Aktionen "run_command", "suggest_command", "open_url", "change_page" und "copy_to_clipboard":
- insertion: ein Freitext, der in der Chatzeile angehängt wird (soweit Platz ist, maximal 256 Zeichen), wenn man mit ⇧ Umschalttaste auf den Textteil klickt. "insertion" wird im Spiel verwendet, wenn man sich z.B. mit dem Befehl
/say @e
alle Objekte anzeigen lässt und dann mit ⇧ Umschalttaste auf eines in der Liste klickt. Dann wird die Objekt-UUID in der Chatzeile angehängt. "insertion" funktioniert nur beim Befehl/tellraw
. - extra: eine Liste mit weiteren JSON-Textteilen, die die Formatierungen des zugehörigen Textteils erben.
- text: Der Textteil ist ein Freitext. Eine Zielauswahl in diesem Text hat keine Wirkung und wird wie ein Text behandelt. Es werden jedoch bestimmte Zeichenfolgen interpretiert:
- : Ein Textteil.
Beispiele[Bearbeiten | Quelltext bearbeiten]
Verschachtelte JSON-Texte können schnell unübersichtlich werden und man übersieht fehlende Klammern und Kommata. Daher ist es sinnvoll, ab einer gewissen Komplexität den JSON-Text strukturiert aufzubauen. Der JSON-Text kann auch in dieser strukturierten Form in einen Befehlsblock kopiert werden, es ist nicht notwendig, die Leerzeichen und Zeilenumbrüche zu entfernen.
Beispiele für einfache Formatierungen[Bearbeiten | Quelltext bearbeiten]
Kompletter Text gleichbleibend formatiert (grün):
/tellraw @p {"text":"Dieser Text ist grün", "color":"green"}
Einzelne Textteile unterschiedlich formatiert in einer Liste:
/tellraw @p
[
{"text":"Nur ein "},
{"text":"Wort", "color":"green"},
{"text":" ist grün"}
]
Das erste Listenelement vererbt seine Formatierung, die weiteren nicht:
/tellraw @p
[
{"text":"Fettgrün ", "color":"green", "bold":true},
{"text":"überall ", "italic":true},
{"text":"bis hier", "underlined":true}
]
Das erste Listenelement wird leer gelassen, wenn die Vererbung stört:
/tellraw @p
[
"",
{"text":"Fettgrün ", "color":"green", "bold":true},
{"text":"hier nicht ", "italic":true},
{"text":"hier auch nicht", "underlined":true}
]
Vererbung der gelben Farbe mit "extra"-Eigenschaft:
/tellraw @p
[
"",
{"text":"Grün ", "color":"green"},
{"text":"Gelbkursiv", "color":"yellow",
"extra":
[
{"text":" auch im"},
{"text":" extra", "italic":true},
{"text":"-Teil"}
]
},
{"text":" Standard-Weiß"}
]
Es gibt keine Schlüsselwörter, um Farbe oder Formatierung zurückzusetzen. Die Verwendung von Wörtern wie "reset", "null" oder "none" bewirken nichts.
Für Boolean-Werte (z.B. "bold" oder "underlined") ist der Standardwert false.
komplexere Beispiele[Bearbeiten | Quelltext bearbeiten]
/tellraw @p
[
{"text":""},
{"text":"Wir begrüßen ", "color":"yellow", "bold":true},
{"selector":"@a[distance=..10]", "color":"green", "underlined":true}
]
Die obige Nachricht hat drei Textteile: Der erste ist leer, damit keine Formatierung vererbt wird. Der zweite ist gelb und fett, der dritte ist grün und unterstrichen. Der selector-Textteil gibt alle Spielernamen im Umkreis von 10 Metern um die Befehlsquelle aus. Wenn das die Spieler oyo123 und yoyo sind, lautet die Nachricht: "Wir begrüßen oyo123 and yoyo". Das "and" wird automatisch generiert.
/tellraw @p
[
{ "text":"Hier gibt's "},
{
"text":">MC<, ",
"hoverEvent":
{
"action":"show_text",
"contents":"die Minecraft-Webseite"
},
"clickEvent":
{
"action":"open_url",
"value":"https://minecraft.net"
}
},
{ "text":"hier " },
{
"text":">Diamanten< ",
"hoverEvent":
{
"action":"show_text",
"contents":
[
"",
{
"translate":"advancements.story.mine_diamond.title",
"color":"green"
},
{ "text":"\n" },
{ "translate":"advancements.story.mine_diamond.description" }
]
},
"clickEvent":
{
"action":"suggest_command",
"value":"/teleport @p 100 15 -50"
}
},
{ "text":"und das ist unglaublich: " },
{
"translate":"chat.type.advancement.goal",
"with":
[
"Ein >Schneegolem<",
"Diamantenkönig"
],
"hoverEvent":
{
"action":"show_entity",
"contents":{"name":"Eisverkäufer", "type":"minecraft:snowball", "id":"00000000-0000-0000-0000-000000000000"}
}
},
{ "text":" und betrachtete seinen neuen Fortschritt durch das Drücken der Taste \"" },
{
"keybind":"key.advancements",
"bold":true
},
{ "text":"\". Dabei verlor er einen " },
{
"text":">???<",
"hoverEvent":
{
"action":"show_item",
"contents":{"id":"minecraft:pumpkin", "count":1}
},
"clickEvent":
{
"action":"run_command",
"value":"/give @p minecraft:pumpkin 1"
}
},
{
"text":" und sagte (hier Shift-Klick)",
"insertion":"Alles prima!"
}
]
Die obige Nachricht lautet:Hier gibt's >MC<, hier >Diamanten< und das ist unglaublich: Ein >Schneegolem< hat das Ziel Diamantenkönig erreicht und betrachtete seinen neuen Fortschritt durch das Drücken der Taste "L". Dabei verlor er einen >???< und sagte (hier Shift-Klick)
. Die Nachricht hat neun Textteile:
- Der 1., 3., 5., 7. und 9. Textteil ist unformatiert und reagiert nicht auf die Maus. Nur der 8. Textteil ist formatiert, die anderen Texteile sind ebenfalls unformatiert, reagieren aber auf die Maus:
- Wenn man mit der Maus über >MC< fährt, wird der Tooltip-Text: "die Minecraft-Webseite" angezeigt. Wenn man >MC< anklickt, wird das Rückfrage-Fenster zum Öffnen der Webseite "http://minecraft.net" angezeigt.
- Wenn man mit der Maus über >Diamanten< fährt, wird der Tooltip-Text: "Diamanten! Beschaffe Diamanten" angezeigt. Wenn man >Diamanten< anklickt, wird der Befehl
/teleport @p 100 15 -50
zur Teleportation in die Chat-Konsole kopiert, aber nicht ausgeführt. - Der 6. Textteil übersetzt eine Sprachvariable. Wenn die Sprache "Deutsch" eingestellt ist, lautet der Textteil: "%s hat den Erfolg %s erzielt". Durch die with-Eigenschaft werden die beiden %s-Platzhalter durch "ein >Schneegolem<" und "Diamantenkönig" ersetzt. Wenn man F3 + H gedrückt hat und mit der Maus über den Text fährt, erscheinen in einem blauen Rahmen die drei Zeilen: "Eisverkäufer", "Type: snowball" und "Personalausweis zu Hause vergessen". Es müssen Anführungszeichen mit Escaping verwendet werden, weil sie innerhalb der Anführungszeichen des "value"-Textes stehen.
- Als Taste ist die zum Öffnen des Fortschrittsfensters festgelegte Taste in Fettschrift angegeben. Standardmäßig ist dies die Taste L.
- Wenn man mit der Maus über >???< fährt, wird der Tooltip-Text: "Kürbis" angezeigt. Wenn man >???< anklickt, wird der Befehl
/give @p minecraft:pumpkin
in die Chat-Konsole kopiert und ausgeführt. Man erhält dann einen Kürbis in sein Inventar.
/tellraw @p
[
{ "text":"Ergebnis: Es wurden " },
{ "score":
{
"name":"#Gesamt",
"objective":"SpinneKill"
}
},
{ "text":" Spinnen getötet" }
]
Wenn in der Anzeigetafel ein Punkte-Ziel "SpinneKill" definiert (/scoreboard objectives add SpinneKill dummy
) wurde und der Punktehalter "#Gesamt" bei diesem Ziel einen Punktestand von 35 hat (/scoreboard players set #Gesamt SpinneKill 35
), lautet die Nachricht: Ergebnis: Es wurden 35 Spinnen getötet
.
Benutzung der "nbt"-Eigenschaft:
/tellraw @p
[
{ "text":"Name des nächsten Rüstungsständers: " },
{
"nbt":"CustomName",
"entity":"@e[type=minecraft:armor_stand,sort=random,limit=1]"
},
{ "text":"\n\nAnzahl der Gegenstände im ersten Inventarplatz des Blocks an den Koordinaten 0, 62, 0: " },
{
"nbt":"Items[{Slot:0b}].count",
"block":"0 62 0"
}
]
Wenn zum Beispiel eine Truhe an den Koordinaten 0,62,0 steht (oder mit dem Befehl /setblock 0 62 0 minecraft:chest{Items:[{id:"minecraft:emerald",count:42}]}
erzeugt wurde), wird im Chat die Anzahl ausgegeben.
Hoverevent mit formatiertem Text:
/tellraw @p
{
"text":"Hover mich",
"hoverEvent":
{
"action":"show_text",
"contents":
[
{"text":"weiß ","color":"white"},
{"text":"gold ","color":"gold"},
"weiß\nneue Zeile"
]
}
}
Hoverevent mit einfachem Gegenstand:
/tellraw @p
{
"text":"Hover mich",
"hoverEvent":
{
"action":"show_item",
"contents":"minecraft:pumpkin"
}
}
Hoverevent mit einem Gegenstand mit mehr Eigenschaften:
/tellraw @p
{
"text":"Hover mich",
"hoverEvent":
{
"action":"show_item",
"contents":
{
"id": "minecraft:iron_pickaxe",
"components": {"minecraft:enchantments":{"minecraft:sharpness":1}, "minecraft:lore":["\"Zauberaxt\""] }
}
}
}
Hoverevent mit einem Objekt (wobei mit dem Befehl /summon minecraft:chicken ~ ~ ~ {UUID:[I;0,0,0,0]}
sichergestellt wird, dass 00000000-0000-0000-0000-000000000000
die UUID eines Huhns ist):
/tellraw @p
{
"text":"Hover mich",
"hoverEvent":
{
"action":"show_entity",
"contents":
{
"id": "00000000-0000-0000-0000-000000000000",
"type":"minecraft:chicken",
"name": "DAS Huhn"
}
}
}
Tipp: Wird ein Objekt mit dem Befehl /summon
erschaffen, so kann die UUID des Objekts durch Umschalt-Klick auf den Objekt-Namen in der Ausgabe des Befehls in die Chat-Eingabe eingefügt werden, während man den Befehl eintippt. Das funktioniert auch mit der Ausgabe einiger anderer Befehle, zum Beispiel /say @e[distance=..10,type=minecraft:cow]
.
Geschichte[Bearbeiten | Quelltext bearbeiten]
Versionsgeschichte der Java Edition |
---|
Standard-Ressourcen |
| ||||
---|---|---|---|---|---|
Standard-Weltdaten |
| ||||
Spielwelt | |||||
Software | |||||
Speicherformate | |||||
Einstellungen | |||||
Mehrspieler | |||||
Historisch |