Guides / Commands & Data

Un predicado con una sola condición no tiene envoltura, y eso es un cambio de forma real

Una condición es el objeto en sí. Dos o más se envuelven en all_of o any_of. Además de los ocho tipos de condición, y por qué la inversión es una envoltura en lugar de una bandera.

Un predicado de paquete de datos (datapack predicate) es un archivo JSON que describe una condición, y su estructura cambia dependiendo de cuántas condiciones tengas. Esa es la parte que confunde a las personas que copian un ejemplo y lo extienden.

Uno no es una lista de uno

condicionesforma de salida
0{}
1el objeto de la condición en sí
2+{ "condition": "minecraft:all_of", "terms": [ … ] }

No hay envoltura alrededor de una sola condición. Si añades una segunda, todo el archivo cambia de forma: la condición original se convierte en el primer elemento de un array terms bajo una nueva raíz. Cualquier cosa que lea o genere estos tiene que manejar ambas formas, y un ejemplo construido a partir de una condición no muestra la forma que necesitarás en el momento en que añadas otra.

any_of es el combinador alternativo: todos los términos deben pasar, o cualquiera de ellos.

La inversión también es una envoltura, no una bandera

No hay campo "invert": true. Una condición negada se envuelve:

{ "condition": "minecraft:inverted", "term": { …the original condition… } }

Observa term, en singular — inverted toma exactamente uno, mientras que all_of y any_of toman un array terms. Dos claves de aspecto similar con formas diferentes, y la inversión se aplica por condición, por lo que un predicado puede mezclar términos invertidos y simples libremente dentro de un all_of.

Los ocho tipos de condición

entity_properties            random_chance
value_check                  random_chance_with_looting
weather_check                time_check
location_check               match_tool

random_chance_with_looting es el que merece una pausa: toma una probabilidad base y un looting_multiplier, por lo que la probabilidad escala con el nivel de Botín (Looting) del asesino. Eso lo hace significativo solo donde existe un asesino en contexto; es una condición de tasa de caída, no una puerta aleatoria de propósito general. El random_chance simple es el que se debe usar en cualquier otro lugar.

value_check compara un número con una de tres fuentes: nivel de encantamiento, suerte (luck), o una expresión personalizada que editas manualmente en el JSON después de copiar.

Los selectores son exactamente los conjuntos de vainilla

Vale la pena saberlo cuando compruebas si un ID de bioma o estructura es real: los desplegables del constructor no son una muestra seleccionada.

  • 66 biomas — cada bioma del juego, sin que falte nada y sin nada inventado
  • 34 estructuras — de igual manera
  • 18 etiquetas de bloque y 15 objetos, que son un subconjunto funcional

Esto se verificó con los propios datos de registro del juego en lugar de asumirse, por lo que si un ID está ausente de la lista de biomas o estructuras, el ID no existe. Para las etiquetas de bloque y los objetos es lo contrario: la ausencia solo significa que el selector no lo lista, y escribir el ID tú mismo está bien.

Constructor de predicados y condiciones →

More guides

Browse all →

¿Buscas más herramientas de Minecraft?

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