Chatartendefinition

Aus Minecraft Wiki
Zur Navigation springen Zur Suche springen
Dieser Inhalt ist nur für die Java Edition.

Mit der Chatartendefinition kann das Format von Chatnachrichten in Datenpaketen angepasst werden.

  • client.jar: Das originale Chatnachrichtenformat stehen in client.jar.
    • data: Die Standard-Weltdaten.
      • minecraft: Die Minecraft-Standard-Weltdaten.
        • chat_type: Die Chatnachrichtenformate.
          • <datei>.json: Chatarten werden als JSON-Dateien unter dem Pfad data/<namensraum>/chat_type/<name>.json gespeichert.
  • <Name des Datenpakets>
  • Die namenlose Wurzeleigenschaft.
    • chat: Konfiguration, wie die Nachricht im Chat angezeigt werden soll.
      • translation_key: Der zu verwendende Übersetzungsschlüssel für die Sprache. Kann auch einfacher Text mit %s-Einfügungen sein.
      • parameters: Die einzufügenden Parameter. Die Länge dieser Liste sollte der Anzahl der Einfügungen im Übersetzungswert entsprechen.
        • : Ein Parameter. Erlaubte Werte: sender, target, content.
      • style: (Optional) Textkomponentenstile, die auf die gesamte Chatnachricht angewendet werden sollen. Stile für einzelne Parameter sind nur mit älteren Formatierungscodes möglich.
    • narration: Konfiguration, wie die Nachricht vom Sprachausgabe gelesen werden soll.
      • Dasselbe Format wie in chat.

Liste der Chatarten

[Bearbeiten | Quelltext bearbeiten]
Chattyp Quelle Standard-Chatformat Standard-Erzählung
chat Eine von einem Spieler gesendete Nachricht. <%sender> %content %sender sagt %content
emote_command Eine mit dem Befehl /me gesendete Nachricht. * %sender %content
msg_command_incoming Eine mit dem Befehl /msg empfangene private Nachricht von einem Spieler. %sender flüstert Ihnen zu: %content %sender sagt %content
msg_command_outgoing Die private Nachricht mit dem Befehl /msg, die an einen anderen Spieler gesendet wurde. Sie flüstern %target zu: %content
say_command Die Nachricht von dem Befehl /say [%sender] %content
team_msg_command_incoming Eine durch den Befehl /teammsg empfangene Teamnachricht von einem Spieler. %target <%sender> %content
team_msg_command_outgoing Die Teamnachricht mit dem Befehl /teammsg, die an einen anderen Spieler gesendet wurde. -> %target <%sender> %content

Mit dem Chatnachrichtenformat lassen sich die angezeigten Chatnachrichten im Chat sowie der Text der Sprachausgabe anpassen. Dazu gibt man die Beschriftungsvariable einer Übersetzung sowie die Reihenfolge an, in der der Absender, die Nachricht und gegebenenfalls das Team in die Platzhalter der Übersetzung eingesetzt werden sollen. Aufgrund der Tatsache, dass für das angepasste Chatnachrichtenformat Übersetzungen verwendet werden, müssen die Clients ein passendes Ressourcenpaket mit der zugehörigen Übersetzung installiert haben, wenn man Chatnachrichten modifiziert, weil es in der Regel keinen Sinn macht, eine bestehende Übersetzung zu nehmen.

Wenn man das angepasste Chatnachrichtenformat während des Spiels verändert, müssen alle Clients das Spiel neu betreten, damit die Änderung bei ihnen Wirkung zeigt.

Die Original-Chatformatdaten gehören zu den Standard-Weltdaten und werden mit Datenpaketen geändert.

Die Chatformatdaten haben den Dateityp .json (JavaScript Object Notation), sind aber ganz normale Textdateien, die mit jedem Texteditor gelesen und verändert werden können.

Um ein Chatformat zu ändern, platziert man die entsprechende Datei mit dem richtigen Namen im richtigen Ordner. Das bedeutet, man muss nicht alle Chatformatdaten kopieren, sondern nur die, die man verändert hat. Im Minimalfall ist das nur eine einzige Datei. Beispiel:

.minecraft/saves/Name des Weltordners/datapacks/Name des Datenpakets/data/minecraft/chat_type/chat.json

Nach dem nächsten Spielstart werden die geänderten Chatformatdaten angewendet. Im Beispiel ändert sich das Format für normale Chatnachrichten.

Das Hinzufügen neuer Chatformatdaten ist nicht möglich, da im Spiel keine neuen Arten von Chatnachrichten hinzugefügt werde können, für die das neue Chatnachrichtenformat anwendbar wäre.

Die Datei chat.json für normale Chatnachrichten sieht so aus:

{
"chat": {
  "parameters": [
    "sender",
    "content"
  ],
  "translation_key": "chat.type.text"
},
"narration": {
  "parameters": [
    "sender",
    "content"
  ],
  "translation_key": "chat.type.text.narrate"
}

Für den angezeigten Chat lautet die Beschriftungsvariable für die Übersetzung "chat.type.text", die als Inhalt "<%s> %s" hat. "%s" sind dabei die Platzhalter. Da "parameters" als ersten Eintrag "sender" und als zweiten "content" hat, wird in den ersten Platzhalter der Absendername und in den zweiten der von ihm geschriebene Text eingesetzt. Schreibt oyo123 also "Hallo!" in den Chat, sieht das so aus: <oyo123> Hallo!
Für die Sprachausgabe lautet die Beschriftungsvariable "chat.type.text.narrate", die "%s sagt %s" als Inhalt hat. Auch hier wird als erster Platzhalter der Absender und als zweiter die Nachricht eingetragen, sodass die Sprachausgabe beim obigen Beispiel "oyo123 sagt Hallo!" sagt.

Versionen der Java Edition
Vollversion
1.19 (22w18a)
  • Chatartendefinition hinzugefügt.
1.19.1
22w24a
  • Das style-Feld ist optional.
1.19.1-pre2
  • Das Feld decoration wird abgeflacht, Felder werden direkt in chat und narration platziert.
  • Das Feld priority wird in narration entfernt.
  • Das Feld overlay wird entfernt. Chatarten können nicht mehr verwendet werden, um Text über der Schnellzugriffsleiste anzuzeigen.
  • Die integrierten Chatarten system, game_info und tellraw_command werden entfernt.
1.19.1-pre3
  • msg_command wird in msg_command_outgoing und msg_command_incoming aufgeteilt.
  • Der Parameter team_name wird in target umbenannt. Dies wird auch in msg_command_outgoing verwendet.
1.19.1-pre5
  • team_msg_command wird in team_msg_command_incoming und team_msg_command_outgoing aufgeteilt.