Formato de texto JSON sin procesar

Quien soy
Judit Llordes
@juditllordes
Autor y referencias

Texto JSON sin procesar es el formato que usa Minecraft para enviar y mostrar texto enriquecido a los jugadores. También pueden enviarlo los propios jugadores mediante comandos y paquetes de datos. El texto JSON sin formato está escrito en JSON, un formato de datos legible por humanos.

Contenido

  • 1 edición Java
    • 1.1 Tipos de contenido
      • 1.1.1 Texto sin formato
      • 1.1.2 Texto traducido
      • 1.1.3 Valor del cuadro de indicadores
      • 1.1.4 Nombres de entidades
      • 1.1.5 Vinculación de teclas
      • 1.1.6 Valores NBT
    • 1.2 Resolución de componentes
  • 2 Edición Bedrock
    • 2.1 Agregar
    • 2.2 Rompiendo líneas
    • 2.3 Traducir
    • 2.4 Con
    • 2.5 %% s
    • 2.6 Varios% s
    • 2.7 Hacer pedidos con %% #
    • 2.8 Formateo
  • Historia de 3
  • 4
  • 5
  • 6

Edición Java

El texto JSON sin formato se compone de componentes de texto. Hay un único componente raíz, que puede tener componentes secundarios, que pueden tener sus propios secundarios, etc. A los componentes también se les puede agregar formato e interactividad, que es heredada por sus hijos.



Un componente de texto JSON sin formato puede ser cualquier tipo de datos JSON que no sea JSON nulo, incluida la cadena JSON, la matriz JSON, el objeto JSON, el booleano JSON y el número JSON. El juego trata los valores booleanos y los números como cadenas. Las cadenas y las matrices son abreviaturas de estructuras de objetos más largas, como se describe a continuación.


  • Una cadena que contiene texto sin formato para mostrar directamente. Es lo mismo que un objeto que solo tiene una etiqueta de texto. Por ejemplo, "A" y {"text": "A"} son equivalentes.
  • Un booleano se convierte en una cadena ("verdadero" o "falso") para mostrarse directamente. Es lo mismo que un objeto que solo tiene una etiqueta de texto. Por ejemplo, verdadero, "verdadero" y {"texto": "verdadero"} son equivalentes.
  • Un número se convierte en una cadena para mostrarse directamente. Es lo mismo que un objeto que solo tiene una etiqueta de texto. Por ejemplo, 1.9E10, "1.9E10" y {"text": "1.9E10"} son equivalentes.
  • Una lista de componentes de texto JSON sin formato. Igual que tener todos los componentes después del primero anexados a la matriz adicional del primero. [Nota 1] Por ejemplo, ["A", "B", "C"] es equivalente a {"text": "A", "extra ": ["ANTES DE CRISTO"]}.
  • Un objeto de componente de texto. Todas las etiquetas sin contenido son opcionales.
    • Mi contenido
    • Para ser válido, un objeto debe contener las etiquetas de un tipo de contenido. Los diferentes tipos de contenido y sus etiquetas se describen a continuación. Se permite tener más de uno, pero solo se usa uno. [Nota 2]
    • Niños
    •  extra: una lista de componentes de texto JSON sin formato adicionales que se mostrarán después de este.
      • Un componente de texto secundario. Los componentes de texto secundarios heredan todo el formato y la interactividad del componente principal, a menos que los anulen explícitamente.
    • Maquetación
    •  color: Opcional. El color en el que se procesará el contenido. Los valores válidos son "negro", "azul oscuro", "verde oscuro", "verde oscuro", "rojo oscuro", "púrpura_ oscuro", "dorado", "gris", "gris oscuro", "azul" , "verde", "aguamarina", "rojo", "morado claro", "amarillo", "blanco" y "restablecer" (anula los efectos de los colores utilizados por los objetos principales).
      Ajustado a "# "para insertar cualquier color en el formato de color hexadecimal. Ejemplo: El uso de" # FF0000 "hace que el componente sea rojo. Debe ser un valor completo de 6 dígitos, no de 3 dígitos.
    •  fuente: Opcional. La ubicación del recurso de la fuente para este componente en el paquete de recursos dentro de assets / /fuente. El valor predeterminado es "Minecraft: predeterminado".
    •  negrita: opcional. Ya sea para representar el contenido en negrita.
    •  cursiva: opcional. Ya sea para representar el contenido en cursiva. Tenga en cuenta que el texto que está en cursiva de forma predeterminada, como los nombres de elementos personalizados, se puede unitalizar estableciendo esto en falso.
    •  subrayado: Opcional. Ya sea para subrayar el contenido.
    •  tachado: opcional. Ya sea para tachar el contenido.
    •  ofuscado: Opcional. Si se debe ofuscar el contenido.
    • Interactividad
    •  inserción: Opcional. Cuando un jugador hace clic en el texto, esta cadena se inserta en su entrada de chat. No sobrescribe ningún texto existente que el jugador estaba escribiendo. Esto solo funciona en mensajes de chat.
    •  clickEvent: opcional. Permite que ocurran eventos cuando el jugador hace clic en el texto. Solo trabaje en mensajes de chat y libros escritos, a menos que se especifique lo contrario.
      •  action: La acción que se debe realizar cuando se hace clic en él. Los valores válidos son:
        • "open_url": abre el valor como una URL en el navegador web predeterminado del usuario.
        • "open_file": abre el archivo por su valor en la computadora del usuario. Esto se usa en mensajes generados automáticamente por el juego (por ejemplo, al tomar una captura de pantalla) y los jugadores no pueden usarlo por razones de seguridad.
        • "run_command": funciona en letreros, pero solo en el componente de texto raíz, no en ningún elemento secundario. Activado mediante el signo. En el chat y los libros escritos, esto tiene valor ingresado en el chat como si el jugador lo hubiera escrito y presionado Enter. Esto se puede utilizar para ejecutar comandos, siempre que el reproductor tenga los permisos necesarios. Dado que se ejecutan desde el chat, los comandos deben tener el prefijo "/" habitual. En los letreros, el servidor ejecuta el comando en la ubicación del letrero, con el jugador que utilizó el letrero como @s. Dado que los ejecuta el servidor, los comandos de signo tienen el mismo nivel de permiso que un bloque de comandos en lugar de usar el nivel de permiso del jugador, no están restringidos por los límites de duración del chat y no necesitan tener el prefijo "/".
        • "Sugerir_comando": abre el chat y completa el valor. Si ya se estaba redactando un mensaje de chat, se sobrescribe. Esto no funciona en los libros. [1]
        • "change_page": solo se puede utilizar en libros escritos. Cambios en el valor de la página si esa página existe.
        • "copy_to_clipboard": copia el valor en el portapapeles.
      •  valor: la URL, la ruta del archivo, el chat, el comando o la página del libro utilizada por la acción especificada.
    •  hoverEvent: opcional. Permite que se muestre una información sobre herramientas cuando el jugador pasa el mouse sobre el texto.
      •  acción: el tipo de información sobre herramientas que se va a mostrar. Los valores válidos son:
        • "show_text": muestra un componente de texto JSON sin formato.
        • "show_item": muestra la información sobre herramientas de un elemento como si estuviera sobre él en un inventario.
        • "show_entity": muestra el nombre, el tipo y el UUID de una entidad. Utilizado por selector.
      •  valor: el formato y el tipo de esta etiqueta varía según la acción. En desuso, use contenidos en su lugar.
        • show_text: Otro componente de texto JSON sin formato. Puede ser cualquier tipo de componente de texto válido: cadena, matriz u objeto. Tenga en cuenta que clickEvent y hoverEvent no funcionan dentro de la información sobre herramientas.
        • show_item: una cadena que contiene el SNBT para una pila de elementos. Consulte el formato Player.dat # Estructura del elemento.
        • show_entity: una cadena que contiene SNBT. El SNBT no representa los datos completos de la entidad, solo almacena el nombre, el tipo y el UUID de la entidad.
          •  Nombre: (Opcional. Oculto si no está presente. Una cadena NBT que contiene algo de JSON que se analiza como un componente de texto y se muestra como el nombre de la entidad. Si la cadena NBT no se puede analizar como un componente de texto, toda la información sobre herramientas se reemplaza con el texto "¡Entidad no válida!"
          •  tipo: Opcional. Oculto si no está presente. Una cadena NBT que contiene texto sin formato que se muestra como el tipo de entidad. Puede ser cualquier texto.
          •  id: opcional. Se muestra como línea vacía si no está presente. Una cadena NBT que contiene texto sin formato que se muestra como UUID de la entidad. Puede ser cualquier texto.
      •  contenido: el formato de esta etiqueta varía según la acción.
        • show_text: Otro componente de texto JSON sin formato. Puede ser cualquier tipo de componente de texto válido: cadena, matriz u objeto. Tenga en cuenta que clickEvent y hoverEvent no funcionan dentro de la información sobre herramientas.
        • show_item: el elemento que se debe mostrar.
          •  id: el ID del elemento con espacio de nombre. Presentar minecraft: aire si no es válido.
          •  recuento: opcional. Tamaño de la pila de artículos.
          •  etiqueta: opcional. Una cadena que contiene el NBT serializado de la información adicional sobre el artículo, que se analiza más en las subsecciones de la página de formato del reproductor.
        • show_entity: la entidad que se debe mostrar.
          •  Nombre: (Opcional. Oculto si no está presente. Un texto JSON sin formato que se muestra como el nombre de la entidad.
          •  tipo: una cadena que contiene el tipo de entidad. Debe ser un ID de entidad con espacio de nombre. Presenta Minecraft: cerdo si no es válido.
          •  id: una cadena que contiene el UUID de la entidad en formato hexadecimal con guiones. Debe ser un UUID válido.

Debido a la etiqueta adicional, el formato anterior se puede anidar de forma recursiva para producir cadenas de texto complejas y funcionales. Sin embargo, un texto JSON sin formato no tiene por qué ser complicado en absoluto: prácticamente todas las propiedades son opcionales y pueden omitirse.



Los tipos de contenido

Los componentes de texto JSON sin procesar pueden mostrar varios tipos de contenido. Estas etiquetas deben incluirse directamente en el objeto del componente de texto.

Texto sin formato

Muestra texto sin formato.

  • El componente de texto.
    •  texto: una cadena que contiene texto sin formato para mostrar directamente. También puede ser un número o un booleano que se muestra directamente.

Texto traducido

Muestra un fragmento de texto traducido del idioma seleccionado actualmente. Esto usa el idioma seleccionado por el cliente, por lo que si los jugadores con sus juegos configurados en diferentes idiomas están conectados al mismo servidor, cada uno verá el componente en su propio idioma.

Las traducciones se definen en archivos de idioma en paquetes de recursos, incluido el paquete de recursos integrado.

Las traducciones pueden contener espacios para texto que no se conoce de antemano, como los nombres de los jugadores. Al mostrar el texto traducido, los espacios se llenarán a partir de una lista proporcionada de componentes de texto. Las ranuras se definen en el archivo de idioma y generalmente toman la forma% s (muestra el siguiente componente de la lista) o% 3 $ s (muestra el tercer componente de la lista; reemplace 3 con el índice que desee). [ nota 3] Por ejemplo, el archivo de idioma inglés integrado contiene la traducción "chat.type.advancement.task": "% s ha logrado el avance% s" ,.

  • El componente de texto.
    •  traducir: un identificador de traducción, correspondiente a los identificadores que se encuentran en los archivos de idioma cargados. Se muestra como el texto correspondiente en el idioma seleccionado por el jugador. Si no se puede encontrar la traducción correspondiente, el propio identificador se utiliza como texto traducido.
    •  con: Opcional. Una lista de componentes de texto JSON sin formato que se insertarán en los espacios del texto de traducción. Se ignora si la traducción no está presente.
      • Un componente de texto JSON sin formato. Si no se proporciona ningún componente para una ranura, la ranura se muestra sin texto.

Valor del cuadro de indicadores

Muestra una puntuación del marcador.



Requiere resolución de componente.
Este componente se resuelve en un componente de texto que contiene el valor del marcador.
  • El componente de texto.
    •  puntuación: muestra la puntuación actual de un titular de puntuación en un objetivo. No muestra nada si el marcador de puntuación dado o el objetivo dado no existen, o si el marcador de puntuación no se rastrea en el objetivo.
      •  name: El nombre del titular de la puntuación cuya puntuación debe mostrarse. Puede ser un selector como @p o un nombre explícito. Si el texto es un selector, se debe garantizar que el selector nunca seleccione más de una entidad, posiblemente agregando limit = 1. Si el texto es "*", muestra la propia puntuación del lector (por ejemplo, / tellraw @a {"score": {"name": "*", "aim": "obj"}} muestra a cada jugador online su puntuación propia en el objetivo "obj"). [nota 4]
      •  objetivo: el nombre interno del objetivo en el que se muestra la puntuación del jugador.
      •  valor: Opcional. Si está presente, este valor se muestra independientemente de cuál hubiera sido la puntuación.

Nombres de entidades

Muestra el nombre de una o más entidades encontradas por un selector.

Si se encuentra exactamente una entidad, el nombre de la entidad se muestra por sí mismo. Si se encuentran más, sus nombres se muestran en el formato "Nombre1, Nombre2, Nombre3", con comas grises. Si no se encuentra ninguno, el componente se muestra como sin texto.

Al pasar el cursor sobre un nombre, se muestra una información sobre herramientas con el nombre, el tipo y el UUID del objetivo. Al hacer clic en el nombre de un jugador, se sugiere un comando para susurrarle a ese jugador. Shift-clic en el nombre de un jugador inserta ese nombre en el chat. Shift-clic en el nombre de una entidad que no es un jugador inserta su UUID en el chat.


Requiere resolución de componente.
  • Si el selector encuentra una sola entidad,
    • Si la entidad es un jugador, el componente se resuelve en un componente de texto que contiene su nombre.
    • Si es una entidad con un nombre personalizado, se resuelve en el componente de texto JSON sin formato del nombre personalizado. En todos los escenarios de supervivencia de vainilla (etiqueta de nombre, yunque), este será un componente de texto.
    • Si es una entidad que no es un jugador y no tiene un nombre personalizado, se resuelve en un componente de traducción que contiene la clave de traducción para el nombre del tipo de entidad.
El componente resuelto también tiene una etiqueta de inserción, una etiqueta hoverEvent con la acción show_entity y una etiqueta clickEvent con la acción sugerencia_comando (si la entidad es un jugador) agregada para proporcionar la funcionalidad descrita anteriormente. Si alguna de estas etiquetas ya está presente en el componente original que se está resolviendo, se utilizará la etiqueta del componente original.
  • Si el selector encuentra más de una entidad, el componente se resuelve en un componente de texto vacío, con una lista adicional que contiene los componentes del nombre de la entidad individual (cada uno resuelto como en el caso de la entidad única) separados por copias del componente separador (o su valor predeterminado, si no está presente).
  • Si el selector no encuentra entidades, el componente se resuelve en un componente de texto vacío.
  • El componente de texto.
    •  selector: una cadena que contiene un selector.
    •  separador: opcional, el valor predeterminado es {"color": "gris", "texto": ","}. Un componente de texto JSON sin formato. Se utiliza como separador entre diferentes nombres, si el componente selecciona varias entidades.

Combinación de teclas

Muestra el nombre del botón que está vinculado actualmente a un determinado control configurable. Esto usa el propio esquema de control del cliente, por lo que si los jugadores con diferentes esquemas de control se registran en el mismo servidor, cada uno verá su propia combinación de teclas.

  • El componente de texto.
    •  combinación de teclas: un identificador de combinación de teclas, que se mostrará como el nombre del botón que está vinculado actualmente a esa acción. Por ejemplo, {"keybind": "key.inventory"} muestra "e" si el reproductor está usando el esquema de control predeterminado.

Valores NBT

Muestra valores NBT de entidades, entidades de bloque o almacenamiento de comandos.

Las cadenas NBT muestran su contenido. Otros valores NBT se muestran como SNBT, sin espaciado entre símbolos. Si interpret se establece en true, el juego intentará analizar y mostrar ese texto como su propio componente de texto JSON sin procesar. Eso generalmente solo funciona en cadenas, ya que JSON y SNBT no son compatibles. Si interpretar es verdadero y el análisis falla, el componente se muestra sin texto. Si se encuentra más de un valor NBT, ya sea seleccionando varias entidades o utilizando una ruta de varios valores, se muestran en el formato "Valor1, Valor2, Valor3, Valor4".

Requiere resolución de componente.
  • Si interpretar es falso, el componente se resuelve en un componente de texto que contiene el texto de visualización.
    • Si se seleccionan varios valores y el separador no está presente, todo el componente aún se resuelve en un solo componente de texto, con el texto "," entre el texto de visualización de cada valor.
    • Si se seleccionan varios valores y hay un separador, cada valor se resuelve en un componente de texto individual y todos los valores después del primero se agregarán a la lista adicional del primero, separados por copias del componente separador.
  • Si interpretar es verdadero, el componente se resuelve en el componente de texto analizado. Para cualquier etiqueta sin contenido que esté presente tanto en el componente de texto analizado como en el componente que se está resolviendo, se utilizará la etiqueta del componente que se está resolviendo.
    • Si se seleccionan varios valores, todos los valores después del primero se agregarán a la lista adicional del primero, separados por copias del componente separador (o su valor predeterminado, si no está presente). Esto significa que todos los valores posteriores al primero heredarán las etiquetas de formato del primer valor, si las hubiera.
  • El componente de texto.
    •  nbt: La ruta NBT utilizada para buscar valores NBT de una entidad, entidad de bloque o almacenamiento. Requiere uno de bloque, entidad o almacenamiento. Se permite tener más de uno, pero solo se usa uno. [Nota 5]
    •  interpretar: Opcional, el valor predeterminado es falso. Si es verdadero, el juego intenta analizar el texto de cada valor NBT como un componente de texto JSON sin formato. Se ignora si nbt no está presente.
    •  separador: opcional, el valor predeterminado es {"text": ","}. Un componente de texto JSON sin formato. Se utiliza como separador entre diferentes etiquetas, si el componente selecciona varias etiquetas.
    •  bloque: Una cadena que especifica las coordenadas de la entidad de bloque de la que se obtiene el valor NBT. Las coordenadas pueden ser absolutas, relativas o locales. Se ignora si nbt no está presente.
    •  entidad: una cadena que especifica el selector de destino para la entidad o entidades de las que se obtiene el valor NBT. Se ignora si nbt no está presente.
    •  almacenamiento: una cadena que especifica el ID de espacio de nombres del almacenamiento de comandos del que se obtiene el valor NBT. Se ignora si nbt no está presente.

Resolución de componentes

Ciertos tipos de contenido de texto (puntuación, selector y nbt) no funcionan en todos los contextos. Estos tipos de contenido deben resolverse, lo que implica recuperar los datos apropiados del mundo, convertirlos en componentes de texto "simples" y reemplazar el componente de texto "avanzado" con eso. Esta resolución se puede realizar mediante signos, mediante libros escritos cuando se abren por primera vez y mediante comandos como / tellraw y / title. También lo pueden hacer los modificadores de elementos. escoger un nombre y set_lore, pero solo si se establece su etiqueta de entidad. Los nombres de elementos personalizados y los nombres de entidades personalizados no pueden resolver estos componentes por sí mismos.

Además, la resolución fija un valor único en su lugar. Por lo tanto, estos tipos de contenido no son dinámicos y no se actualizan para reflejar cambios en su entorno, mientras que los componentes "simples" suelen hacerlo.

Edición Bedrock

  • La etiqueta raíz.
    •  rawtext: una lista contiene todos los objetos de texto.
      • Para ser válido, un objeto debe contener uno contenido etiqueta: texto, traducción, puntuación o selector. Se permite tener más de uno, pero solo se usa uno. [Nota 6]
        • Contenido: texto sin formato
        •  texto: una cadena que contiene texto sin formato para mostrar directamente.
        • Contenido: texto traducido
        •  traducir: un identificador de traducción, que se mostrará como el texto correspondiente en el idioma seleccionado por el jugador. Si no se puede encontrar la traducción correspondiente, el propio identificador se utiliza como texto de traducción. Este identificador es el mismo que los identificadores que se encuentran en los archivos lang de los activos o paquetes de recursos.
        •  con: Opcional. Una lista de argumentos de componentes de texto JSON sin procesar que se insertarán en los espacios del texto de traducción. Se ignora si la traducción no está presente.
          • Las traducciones pueden contener espacios para texto que no se conoce de antemano, como los nombres de los jugadores. Estos espacios se definen en el texto de traducción en sí, no en el componente de texto JSON, y generalmente toman la forma %% 1 (muestra el primer argumento; reemplace 1 con el índice que desee). Si no se proporciona ningún argumento para una ranura, la ranura no se muestra.
        • Contenido: valor del cuadro de indicadores (requiere resolución)
        •  puntuación: muestra la puntuación actual de un titular de puntuación en un objetivo. No muestra nada si el marcador de puntuación dado o el objetivo dado no existen, o si el marcador de puntuación no se rastrea en el objetivo.
          •  name: El nombre del titular de la puntuación cuya puntuación debe mostrarse. Puede ser un selector como @p o un nombre explícito. Si el texto es "*", muestra la propia puntuación del lector (por ejemplo, / tellraw @a {"rawtext": [{"score": {"nombre": "*", "objetivo": "obj"} }]} muestra a cada jugador en línea su propia puntuación en el objetivo "obj"). [nota 7]
          •  objetivo: el nombre interno del objetivo en el que se muestra la puntuación del jugador.
          •  valor: Opcional. Si está presente, este valor se utiliza independientemente de cuál hubiera sido la puntuación.
        • Contenido: Nombres de entidades (requiere resolución)
        •  selector: una cadena que contiene un selector. Se muestra como el nombre del jugador o entidad encontrados por el selector. Si el selector encuentra más de un jugador o entidad, sus nombres se muestran en el formato "Nombre1 y Nombre2" o en el formato "Nombre1, Nombre2, Nombre3 y Nombre4". Al pasar el cursor sobre un nombre, se muestra una información sobre herramientas con el nombre, el tipo y el UUID del objetivo. Al hacer clic en el nombre de un jugador, se sugiere un comando para susurrarle a ese jugador. Shift-clic en el nombre de un jugador inserta ese nombre en el chat. Shift-clic en el nombre de una entidad que no es un jugador inserta su UUID en el chat.
Ejemplo básico de texto sin formato / tellraw @a {"rawtext": [{"text": "Hola mundo"}]}

Esto envía un mensaje a todos los jugadores diciendo "Hola mundo" solo en inglés. Vea la acción Traducir para ver cómo enviar textos localizados.

Anexar

El texto sin formato incluye una variedad de objetos de texto. Cada objeto de la lista se agrega al objeto anterior. Por ejemplo, / tellraw @a {"rawtext": [{"text": "Hello"}, {"text": "World"}]} genera el mismo "Hello World" que el primer ejemplo. Agregar texto puede ser útil para combinar 2 textos localizados diferentes o aplicar colores diferentes a cada palabra, etc.

Rompiendo líneas

Puede bajar una línea usando n Por ejemplo,
tellraw @a {"rawtext": [{"text": "HellonNext line"}]}

Traducir

El objeto de traducción permite a los creadores proporcionar texto localizado a los usuarios. Si se especifica traducir junto con el texto, traducir anula el objeto de texto. La cadena que se debe proporcionar para traducir es el nombre de la cadena en los archivos de idioma. Por ejemplo, en Vanilla Minecraft, "commands.op.success" es la cadena que se muestra cuando / op se usa con éxito en un jugador.

/ tellraw @a {"rawtext": [{"translate": "commands.op.success"}]}

Esto genera "Opped% s" para todos los jugadores. Tenga en cuenta que debido a que el texto se ignora con la traducción especificada, el siguiente ejemplo genera el mismo texto:

/ tellraw @a {"rawtext": [{"text": "Hola mundo", "translate": "commands.op.success"}]}

Con

En el ejemplo de traducción anterior, genera "Opped% s". Para que aparezca un nombre u otro texto en lugar de% s, también debe especificarse "con". Tenga en cuenta que "con" solo funciona con "traducir" y también requiere una matriz en lugar de llaves {}.

/ tellraw @a {"rawtext": [{"translate": "commands.op.success", "with": ["Steve"]}]}

Si desea utilizar un texto traducido dentro del componente "con", en lugar de una matriz, debe ser otro componente de texto sin formato (que consiste en una matriz de textos JSON). El siguiente ejemplo genera "Opped Apple".

/ tellraw @a {"rawtext": [{"translate": "commands.op.success", "with": {"rawtext": [{"translate": "item.apple.name"}]}}] }

%%s

"translate" y "% s" se pueden usar sin necesidad de una cadena correspondiente en los archivos de localización. Por ejemplo:

/ tellraw @a {"rawtext": [{"translate": "Hola %% s", "con": ["Steve"]}]}

Esto genera "Hola Steve" para todos los jugadores.

Varios% s

%% s se puede utilizar varias veces. Se completan, en el orden especificado

/ tellraw @a {"rawtext": [{"translate": "Hola %% sy %% s", "with": ["Steve", "Alex"]}]}

Salidas: "Hola Steve y Alex"

Puede volver a utilizar un componente de texto sin formato para reemplazar la matriz de cadena simple, así

/ tellraw @a {"rawtext": [{"translate": "Hola %% sy %% s", "with": {"rawtext": [{"text": "Steve"}, {"translate" : "item.apple.name"}]}}]}

Salidas: "Hola Steve y Apple"

Ordenando con %% #

El orden para completar% s se puede cambiar especificándolo en su lugar con %% #, reemplazando # con un número real. Por ejemplo, para intercambiar la posición de Steve y Alex en el ejemplo anterior, ejecute lo siguiente:

/ tellraw @a {"rawtext": [{"translate": "Hola %% 2 y %% 1", "with": ["Steve", "Alex"]}]}

Resultados: "Hola Alex y Steve"

Maquetación

El formato de cadena aún es posible, pero no se utilizan las etiquetas JSON utilizadas en Java Edition. En su lugar, los códigos de formato se utilizan para cambiar el color y el estilo del texto.

Historia

Edición Java
1.7.213w37aSe agregó / tellraw, el texto JSON sin procesar utilizado para admitir este comando.
1.814w02aInserción de componente de texto agregado.
14w07aPuntaje de componente de texto agregado.
14w20aAgregado / título, que es compatible con texto JSON sin formato.
Selector de componente de texto agregado.
14w25aAhora apoya los letreros y los libros escritos.
1.1217w16aSe agregó combinación de teclas del componente de texto.
1.1318w01aAhora admite los nombres personalizados.
18w05aAgregado / bossbar, El argumento compatible con texto JSON sin formato.
1.1418w43aSe agregó el componente de texto nbt, block y entidad.
Ahora es compatible con la etiqueta de historia del artículo.
18w44aInterpretación de componente de texto agregado.
1.1519w39aAlmacenamiento de componentes de texto agregado.
19w41aSe agregó la acción copy_to_clipboard para el componente de texto clickEvent.
1.1620w17aFuente de componente de texto agregada.
Se agregó contenido de argumento para hoverEvent, reemplazando el valor, que ahora está en desuso pero aún es compatible.
El componente de color ahora puede contener un valor RGB hexadecimal con el prefijo # (Ejemplo: "color": "# ff0088").
Edición Bedrock
1.9.0beta 1.9.0.0Se agregó / tellraw, el texto JSON sin procesar utilizado para admitir este comando.
1.16.100beta 1.16.100.55Se agregó la puntuación y el selector de componentes de texto.

  • JSON
  • Comandos
  • Código de formato

  1. ↑ Tenga en cuenta que debido a que los últimos componentes son en realidad hijos del primero, cualquier formato aplicado al primer componente es heredado por los posteriores. Por ejemplo, [{"text": "A", "color": "red"}, "B", "C"] mostraría las tres letras con texto rojo.
  2. ↑ Las etiquetas de contenido se verifican en el orden text, translate, score, selector, keybind, nbt. Si hay varios presentes, se utiliza el que aparezca primero en esa lista.
  3. ↑ Al seleccionar el argumento "siguiente" se ignoran las ranuras que especifican un índice explícitamente. Entonces, si el texto de traducción "Hola% s,% 2 $ s y% s". se le dieron los componentes "John" y "Becky", mostraría "Hola John, Becky y Becky".
  4. ↑ Mostrar la propia puntuación del lector solo funciona en situaciones en las que un mensaje tiene un solo lector. Es decir, mensajes de chat, / títulos y libros escritos. No funciona para bloques como letreros.
  5. ↑ Las fuentes NBT se verifican en el bloque de orden, entidad, almacenamiento. Si hay varios presentes, se utiliza el que aparezca primero en esa lista.
  6. ↑ Las etiquetas de contenido se verifican en el orden de traducción, texto, selector y puntuación. Si hay varios presentes, se utiliza el que aparezca primero en esa lista.
  7. ↑ Mostrar la propia puntuación del lector solo funciona en situaciones en las que un mensaje tiene un solo lector. Es decir, mensajes de chat, / titleraws y libros escritos. [Verificar] No funciona para cosas como letreros que pueden tener más de un "lector". [Verificar]

  1. ↑ MC-70317
Edición Java
versiones
  • Demo
    • Localizaciones
  • Demostración de jugador de PC (Beta 1.3)
Desarrollo
Historial de versiones
  • Preclásico
  • Clásico
    • Creatividad clásica temprana
    • Prueba multijugador
    • Prueba de supervivencia
    • Creativo del Clásico Tardío
  • Indev
  • Infdev
  • Alpha
  • Beta
  • Versión completa
  • Versiones de desarrollo
  • Funciones eliminadas
    • Bloques
    • artículos
  • Funciones no utilizadas
  • Características exclusivas
  • Funciones mencionadas
    • Dimensión del cielo
  • Versiones planificadas
Apoyo técnico
  • Errores conocidos
    • Plataforma de Minecraft
  • Requisitos de hardware
  • al_version
  • Entidad de bloque
  • Comandos
    • Las funciones clave
  • Accidentes
  • Valores de datos
    • Clásico
    • Indev
    • Pre-aplanamiento
  • Versión de datos
  • Pantalla de depuración
  • Formatear códigos
  • Códigos clave
  • Plataforma de Minecraft
  • Versión del protocolo
  • Ubicación del recurso
  • Captura de pantalla
  • Semilla
  • Estadística
  • garrapata
  • Fragmento de desove
  • Coordenadas
.Minecraft
  • client.jar
  • client.json
  • launcher_profiles.json
  • options.txt
Recursos de desarrollo
  • Formato de archivo de yunque
  • Formato de fragmentos
  • Formato de almacenamiento de comandos
  • Formato de estructuras generadas
  • Formato de nivel
  • Tablas de botín
  • Formato de elemento de mapa
  • Modelo
  • Formato NBT
  • Mapa de ofuscación
  • Formato del reproductor
  • formato raids.dat
  • Formato de texto JSON sin procesar
  • Formato de archivo de región
  • Formato de archivo de bloque de estructura
    • Formato de archivo esquemático
  • Formato de marcador
  • Formato de lista de servidores
  • sonidos.json
  • Subtítulos
  • formato village.dat
Recursos de desarrollo heredados
  • Formato de nivel clásico
  • Protocolo de servidor clásico
  • Formato de nivel indev
  • Formato de nivel alfa
  • server_level.dat
Multijugador
  • Servidor
  • Minecraft Reinos
  • Lista de servidores
  • server.properties
  • Requisitos del servidor
Personalización del juego
  • Skins
  • Capes
  • Paquetes de recursos
  • Paquetes de datos
Edición Bedrock
Ediciones
fusionado
  • Edición de bolsillo
  • Edición de Windows 10
Puertos a consolas
  • Xbox One
  • Nintendo Switch
  • PlayStation 4
    • PS VR
Discontinuado
  • Edición de Apple TV
  • Edición Gear VR
  • Edición de TV de fuego
Desarrollo
Historial de versiones
  • Alpha
  • Versión completa
  • Versiones de desarrollo
  • Funciones eliminadas
  • Funciones no utilizadas
  • Características exclusivas
  • Funciones mencionadas
  • Versiones planificadas
Apoyo técnico
  • Errores conocidos
  • Valores de datos
  • Componentes de la entidad
  • Rendimiento del hardware
  • Formato de nivel
  • Añadir
  • Entidad de bloque
  • com.mojang
  • Comandos
    • Las funciones clave
  • Coordenadas
  • Versión del protocolo
  • RenderDragon
  • Semilla
  • Servidor
  • sound_definitions.json
  • garrapata
  • Zona de tictac
Multijugador
  • Servidor
  • Minecraft Realms Plus
  • Servidores destacados
  • Lista de servidores
Características exclusivas
  • Cómo jugar
  • Jugabilidad experimental
  • Creador de personajes
  • Servidores destacados
  • Mercado
  • Selector de semillas
  • Eventos de realidad virtual
Tipos de mundo
  • Viejo
Estructuras generadas
  • Tierras lejanas
    • Tierras de rayas
Bloques y artículos
  • Lecho de roca invisible
Efectos
  • Veneno fatal
No usado
  • info_update
  • reservado6
  • Núcleo del reactor abisal
  • Obsidiana resplandeciente
  • Viejo cantero
  • de cámaras
  • Agente
  • Viejo aldeano
  • Viejo aldeano zombi
  • Océano helado legado
Remoto
  • Reactor inferior
  • Elaboración de descripciones


Añade un comentario de Formato de texto JSON sin procesar
¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.