Guides / Commands & Data

/tellraw JSON-Text: clickEvent, hoverEvent und warum deine Nachricht nichts anzeigt

Eine einzige falsche Klammer lässt tellraw stillschweigend fehlschlagen. Hier ist die Komponentenform, die Klick- und Hover-Aktionen, die im Chat tatsächlich funktionieren, und die Escaping-Regel, die oft übersehen wird.

/tellraw erwartet eine JSON-Textkomponente, und der Fehlerfall ist wenig hilfreich: Eine fehlerhafte Komponente erzeugt keine Nachricht und keinen Fehler. Alles Folgende dreht sich darum, die Form auf Anhieb richtig hinzubekommen.

Die drei gültigen Formen

"plain string"
{"text":"one component"}
["joined ",{"text":"list","color":"gold"}]

Die Listenform ist diejenige, die man für alles Interessante verwenden sollte, da jedes Element seine eigene Formatierung tragen kann. Die Formatierung des ersten Elements wird vom Rest geerbt, es sei denn, sie überschreiben sie – deshalb bekommen Leute eine ganze Nachricht unerwartet goldfarben. Beginne eine Liste mit einem leeren String, um das zu vermeiden:

/tellraw @a ["",{"text":"Warning: ","color":"red"},{"text":"low health"}]

Klick-Aktionen

clickEvent erwartet eine Aktion und einen Wert:

AktionWertHinweis
run_command/spawnWird als der Spieler ausgeführt, auf dessen Berechtigungsstufe
suggest_command/msg Steve Füllt das Chatfenster, sendet aber nicht
open_urlhttps://…Fragt vor dem Öffnen nach
copy_to_clipboardbeliebiger TextDie freundlichste Option zum Teilen von Koordinaten
change_pageSeitenzahlNur für Bücher

run_command ist diejenige mit einer Falle: Sie wird mit den Berechtigungen des klickenden Spielers ausgeführt, nicht mit denen des Befehlsblocks. Ein Menü, das /gamemode creative aufruft, tut für einen normalen Spieler nichts.

Hover-Aktionen

"hoverEvent":{"action":"show_text","contents":["Click to teleport"]}

show_text, show_item und show_entity. Beachte contents – ältere Anleitungen verwenden value, was ersetzt wurde und jetzt stillschweigend fehlschlägt. Diese einzelne Umbenennung ist für viele tote Hover-Tooltips verantwortlich, die aus Tutorials kopiert wurden.

Escaping ist der Knackpunkt

Die gesamte Komponente ist ein Befehlsargument, daher müssen Anführungszeichen im Inneren den Befehls-Parser überleben. In einem Befehlsblock gibst du sie direkt ein. In einer Funktionsdatei ist keine Backslash-Maskierung erforderlich. In einem /give Beschriebenen Buch ist das JSON ein String innerhalb eines Strings und benötigt Maskierung – das ist der Fall, der unleserliche Wände von \" erzeugt.

Faustregel: Wenn du Textkomponenten in eine Item-Komponente verschachtelst, erstelle sie mit einem Tool statt von Hand.

Selektoren innerhalb von Text

{"selector":"@p","separator":{"text":", "}}

wird zur Sendezeit in Spielernamen aufgelöst. {"score":{"name":"@s","objective":"Kills"}} ruft einen Scoreboard-Wert ab. Beides ist besser, als selbst Werte zu verketten.

Übersetzungs-Keys reisen über Sprachen hinweg

{"translate":"block.minecraft.crafting_table"}

wird in der jeweiligen Sprache jedes Spielers gerendert – 제작대 für einen koreanischen Client, 作業台 für einen japanischen. Für einen mehrsprachigen Server ist dies streng besser als das Hardcodieren von Englisch.

Erstelle die Komponente visuell, mit den Klick- und Hover-Aktionen in ihrer aktuellen Form, im Text & Display Command Builder.

Text- und Anzeigebefehl-Baukasten →

More guides

Browse all →

Suchst du weitere Minecraft-Werkzeuge?

Eine Sammlung von Generatoren, Betrachtern und Konvertern direkt im Browser — alle kostenlos.