Guides / Commands & Data

Pantallas de diálogo: creando menús reales sin mods

Los diálogos de los datapacks te ofrecen una ventana adecuada con entradas y botones. Aquí tienes la estructura JSON, cómo un botón ejecuta un comando y cómo se compara con el truco del menú de libro.

Los menús de los servidores solían ser libros escritos con páginas clicables, o una interfaz gráfica de usuario de Cofre simulada con marcos de objetos. Los diálogos reemplazaron ambos con una pantalla real.

Qué es un diálogo

Un archivo JSON en un datapack que describe una ventana:

data/<namespace>/dialog/welcome.json
{
  "type": "minecraft:notice",
  "title": { "text": "Welcome" },
  "body": [{ "type": "minecraft:plain_message",
             "contents": { "text": "Pick a class to begin." } }],
  "action": { "label": { "text": "Continue" } }
}

Luego /dialog show @p my_pack:welcome.

Los tipos

TipoForma
noticetexto más un botón de descartar
confirmationsí / no, cada uno con su propia acción
multi_actionuna cuadrícula de botones
server_linksla lista de enlaces incorporada
dialog_listun menú que abre otros diálogos

multi_action es el caballo de batalla: es el selector de clases, la tienda, la lista de teletransportes.

Los botones ejecutan comandos

{ "label": { "text": "Warp to spawn" },
  "action": { "type": "minecraft:run_command", "command": "/spawn" } }

Como clickEvent en el chat, esto se ejecuta como el Jugador que hace clic, con su nivel de permiso. Un botón que llama a un comando solo para operadores no hace nada para un Jugador normal. La solución estándar es un objetivo trigger: el botón ejecuta /trigger warp set 1 y una función de tiqueo hace la parte privilegiada.

Entradas

"inputs": [
  { "type": "minecraft:text", "key": "name", "label": { "text": "Your name" }, "max_length": 16 },
  { "type": "minecraft:boolean", "key": "pvp", "label": { "text": "Enable PvP" } },
  { "type": "minecraft:single_option", "key": "class", "options": [
      { "id": "mage", "display": { "text": "Mage" } },
      { "id": "rogue", "display": { "text": "Rogue" } } ] }
]

Los valores llegan como argumentos de macro a la función que llama el botón, por lo que la función receptora es una macro:

$say Welcome $(name), you chose $(class)

El prefijo $ en la línea y $(key) para la sustitución. Ese es todo el mecanismo de vinculación, y es lo que hace que los diálogos sean genuinamente útiles en lugar de decorativos.

Por qué esto supera el truco del libro

  • Es una pantalla, por lo que pausa la entrada en lugar de quedarse en el historial del chat.
  • Las entradas realmente existen. Un libro solo podía ofrecer enlaces.
  • No requiere ningún objeto. Nada que perder, soltar o duplicar.
  • Se cierra limpiamente y no se puede volver a desplazar.

Lo único que los libros todavía hacen mejor es la lectura de formato largo: el cuerpo de un diálogo no es un buen lugar para tres páginas de historia.

Estilos de puntos de ruta

La misma herramienta cubre los puntos de ruta de la barra de localización, que son un registro de datapack separado que controla el color del marcador y el sprite que se muestra para un Jugador o posición rastreada. Útil para marcadores de equipo donde una barra de jefe sería demasiado intrusiva.

Crea pantallas de diálogo con entradas y botones, y personaliza los estilos de puntos de ruta, en el Dialog Input & Waypoint Style Builder.

Constructor de diálogos y estilos de waypoint →

More guides

Browse all →

¿Buscas más herramientas de Minecraft?

Un conjunto de generadores, visores y conversores que funcionan en el navegador — todos gratis.