Guides / Commands & Data

Um predicado com uma condição não tem um invólucro, e isso é uma verdadeira mudança de forma

Uma condição é o próprio objeto. Duas ou mais são envolvidas em all_of ou any_of. Além dos oito tipos de condição e por que a inversão é um invólucro em vez de um sinalizador.

Um predicado de datapack é um arquivo JSON que descreve uma condição, e sua estrutura muda dependendo de quantas condições você tem. Essa é a parte que confunde as pessoas que copiam um exemplo e o estendem.

Um não é uma lista de um

condiçõesforma de saída
0{}
1o próprio objeto da condição
2+{ "condition": "minecraft:all_of", "terms": [ … ] }

Não há invólucro em torno de uma única condição. Adicione uma segunda e o arquivo inteiro muda de forma — a condição original se torna o primeiro elemento de um array terms sob uma nova raiz. Qualquer coisa que leia ou gere isso precisa lidar com ambas as formas, e um exemplo construído a partir de uma condição não mostra a forma que você precisará no momento em que adicionar outra.

any_of é o combinador alternativo: todos os termos devem passar, ou qualquer um deles.

Inverter também é um invólucro, não um sinalizador

Não há campo "invert": true. Uma condição negada é envolvida:

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

Observe term, singular — inverted aceita exatamente um, onde all_of e any_of aceitam um array terms. Duas chaves de aparência semelhante com formas diferentes, e a inversão se aplica por condição, então um predicado pode misturar termos invertidos e simples livremente dentro de um all_of.

Os oito tipos de condição

entity_properties            random_chance
value_check                  random_chance_with_looting
weather_check                time_check
location_check               match_tool

random_chance_with_looting é o que vale a pena pausar: ele aceita uma chance base e um looting_multiplier, então a probabilidade escala com o nível de Saque (Looting) do assassino. Isso o torna significativo apenas onde um assassino existe no contexto — é uma condição de taxa de queda, não um portão aleatório de propósito geral. O random_chance simples é o que deve ser usado em todos os outros lugares.

value_check compara um número com uma de três fontes: nível de encantamento, Sorte (Luck) ou uma expressão personalizada que você edita no JSON manualmente após copiar.

Os seletores são exatamente os conjuntos vanilla

É bom saber quando você está verificando se um ID de bioma ou estrutura é real: os menus suspensos do construtor não são uma amostra selecionada.

  • 66 biomas — todos os biomas do jogo, sem faltar nada e sem nada inventado
  • 34 estruturas — da mesma forma
  • 18 tags de bloco e 15 itens, que são um subconjunto funcional

Isso foi verificado em relação aos próprios dados de registro do jogo, em vez de assumido, então se um ID estiver ausente da lista de biomas ou estruturas, o ID não existe. Para as tags de bloco e itens é o oposto: a ausência significa apenas que o seletor não o lista, e digitar o ID você mesmo está tudo bem.

Construtor de predicados e condições →

More guides

Browse all →

Procurando mais ferramentas de Minecraft?

Um conjunto de geradores, visualizadores e conversores que rodam no navegador — tudo grátis.