Minecraft Wiki
Advertisement
Information icon
Esse recurso é exclusivo para Edição Java. 

Modificadores de itens são arquivos técnicos JSON que podem ser criados dentro de pacotes de dados e são usados para adicionar funções de saque em itens existentes usando o comando /item.

Esta página descreve como os modificadores de itens são definidos e invocados. Ela também mostra a estrutura JSON de uma função de saque, a estrutura JSON primária dentro de um modificador de item.

Definição[]

Um modificador de item é uma função de item ou um array de funções de item para aplicar ao item. Eles são definidos usando o formato JSON.

Os modificadores de itens pertencem à seguinte pasta da estrutura de um pacote de dados, destacada abaixo:

  • (data pack name)
    • pack.mcmeta
    • pack.png
    • data
      • (namespace)
        • advancements
          • (advancement).json
        • functions
          • (function).mcfunction
        • item_modifiers
          • (modifier).json
        • loot_tables
          • (loot table).json
        • predicates
          • (predicate).json
        • Outras pastas

O elemento raiz de um modificador de item pode ser um  object, seguindo a estrutura de uma função de item abaixo, ou um  array, contendo várias funções de item.

Invocação[]

Os modificadores de item só podem ser invocados com o comando /item. Ao fazer isso, é necessário especificar um slot de destino para invocar o modificador, seja um item dentro do conteúdo de um bloco de contêiner ou dentro do inventário de uma entidade.

Existem duas variações deste comando: /item modify invoca um modificador sozinho no slot de destino, /item replace substitui o item no slot de destino por outro e subsequentemente invoca um modificador sobre ele.

item modify (block <pos> | entity <targets>) <slot> <modifier>
item replace (block <pos> | entity <targets>) <slot> from (block <pos> | entity <targets>) [<modifier>]

Embora os modificadores de itens só possam ser invocados usando comandos, as funções de itens (a estrutura subjacente) podem ser inseridas em outros arquivos, como tabelas de saque.

Formato JSON da função do item[]

Esta seção descreve o formato JSON de uma única função de item. Várias funções de item podem ser inseridas em um modificador de item, colocando-as em uma matriz JSON.

  • A tag raiz da função do item.
    •  function: Localização do recurso da função a ser aplicada. As funções válidas são descritas abaixo.
    •  conditions: Uma lista de predicados, dos quais todos devem passar, para que esta função seja aplicada.
      • Um predicado. A estrutura JSON desta tag é definida na página predicado.
    • Outros parâmetros da função, descritos abaixo.

As possíveis localizações de recursos (namespace minecraft: é omitido) para  function e conteúdos extras associados:

  • apply_bonus—Aplica uma fórmula de bônus predefinida à contagem da pilha de itens.
    •  enchantment: ID de um encantamento na ferramenta fornecida por contexto de saque usado para cálculo de nível.
    •  formula: A localização do recurso. Pode ser binomial_with_bonus_count para uma distribuição binomial (com n=level + extra, p=probability), uniform_bonus_count para distribuição uniforme (de 0 a nível * bonusMultiplier), ou ore_drops para uma função especial usada para drops de minério no jogo padrão (Count *= (max(1; randomInt(0(inclusive) .. (Level + 2)(exclusive))))) .
    •  parameters: Valores necessários para a fórmula.
      •  extra: Para a fórmula 'binomial_with_bonus_count', o valor extra.
      •  probability: Para a fórmula 'binomial_with_bonus_count', a probabilidade.
      •  bonusMultiplier: Para a fórmula 'uniform_bonus_count', o multiplicador de bônus.
  • copy_name—Copia a tag de nome de uma entidade ou de uma entidade de bloco na tag display.Name do item.
    •  source - O destino cujo nome será copiado. Especifica uma entidade ou entidade de bloco de contexto de saque. Pode ser block_entity, this, killer, ou killer_player (não pode ser direct_killer).
  • copy_nbt—Copia valores NBT de uma entidade ou entidade de bloco especificada, ou de armazenamento de comandos para a tag tag do item.
    •  source: Forma abreviada de  source abaixo com  type definido como context. Especifica uma entidade ou entidade de bloco de contexto de saque. Pode ser block_entity, this, killer, direct_killer, ou killer_player.
    •  source: Informações da entidade de bloco, entidade ou armazenamento de onde copiar o NBT.
      •  type: Defina como context para usar uma entidade de bloco ou uma entidade como fonte, ou storage para usar um armazenamento de comando como fonte.
      •  target: Incluído apenas se type estiver definido como context. Especifica uma entidade ou entidade de bloco de contexto de saque para copiar o NBT. Pode ser block_entity, this, killer, direct_killer, ou killer_player.
      •  source: Incluído apenas se type estiver definido como storage. Um local do recurso especificando o ID de armazenamento do qual copiar o NBT.
    •  ops: Uma lista de operações de cópia.
      • Uma operação NBT.
        •  source: O caminho NBT para copiar.
        •  target: O NBT path para onde copiar, começando pela tag tag do item.
        •  op: Defina como replace para substituir qualquer conteúdo existente do caminho NBT de destino, append para anexar a uma lista ou array ou merge para mesclar em uma tag composta.
  • copy_state—Copia as propriedades do estado do bloco fornecidas por contexto de saque para a tag BlockStateTag do item.
    •  block: Um ID do bloco. A função falha se o bloco não corresponder à lista  properties.
    •  properties: Uma lista de propriedades para copiar.
      • O nome de um estado de bloco a ser copiado.
  • enchant_randomly—Encanta o item com um encantamento selecionado aleatoriamente. O poder do encantamento, se aplicável, é aleatório. Um livro será convertido em um livro encantado quando encantado.
    •  enchantments: Opcional. Lista de IDs de encantamentos para escolher. Se omitido, todos os encantamentos detectáveis (atualmente apenas Velocidade das almas e Passos furtivos não podem ser descobertos) aplicáveis ao item são possíveis.
  • enchant_with_levels—Encanta o item, com o nível de encantamento especificado (aproximadamente equivalente a usar uma tabela de encantamentos nesse nível). Um livro será convertido em um livro encantado.
    •  treasure: Determina se encantamentos de tesouro são permitidos neste item. O padrão é falso.
    •  levels: Provedor de números. Especifica o nível de encantamento a ser usado.
  • exploration_map—Se a origem for fornecida por contexto de saque, converte um mapa vazio em um mapa do explorador levando a uma estrutura gerada próxima.
    •  destination: Uma tag de estrutura para localizar. O padrão é on_treasure_maps.
    •  decoration: O ícone usado para marcar o destino no mapa. Aceita qualquer um dos IDs de texto do ícone do mapa (sem distinção entre maiúsculas e minúsculas). Se mansion ou monument for usado, a cor das linhas na textura do item muda para corresponder ao mapa do explorador correspondente. O padrão é mansion.
    •  zoom: O nível de zoom do mapa resultante. O padrão é 2.
    •  search_radius: O tamanho, em pedaços, da área para procurar estruturas. A área marcada é quadrada, não circular. O raio 0 faz com que apenas o bloco atual seja pesquisado, o raio 1 faz com que o bloco atual e oito blocos adjacentes sejam pesquisados e assim por diante. O padrão é 50.
    •  skip_existing_chunks: Não procura em chunks que já foram gerados. O padrão é verdadeiro.
  • explosion_decay—Remove alguns itens de uma pilha, se o raio de explosão for fornecido por contexto de saque. Cada item na pilha de itens tem uma chance de 1/raio de explosão de ser perdido.
  • fill_player_head—Adiciona tags de item necessárias de uma cabeça de jogador.
    •  entity: Especifica um jogador a ser usado para a cabeça do jogador. Especifica uma entidade de contexto de saque. Pode ser this, killer, direct_killer, ou killer_player.
  • furnace_smelt—Funde o item como se estivesse em uma fornalha sem alterar sua contagem.
  • limit_count—Limita a contagem de cada pilha de itens.
    •  limit: Um número inteiro para especificar o limite exato a ser usado.
    •  limit: Limita a contagem entre um valor mínimo e máximo.
  • looting_enchant—Ajusta o tamanho da pilha com base no nível do encantamento Saque na entidade killer fornecida por contexto de saque.
    •  count: Um provedor de números. Especifica o número de itens adicionais por nível de saque. Observe que o número pode ser fracionário, arredondado após a multiplicação pelo nível de saque.
    •  limit: Especifica a quantidade máxima de itens na pilha após o cálculo do saque. Se o valor for 0, nenhum limite é aplicado. O padrão é 0.
  • set_attributes—Adiciona modificadores de atributo ao item.
    •  modifiers:
      • : Um modificador de atributo a ser adicionado.
        •  name: Nome do modificador.
        •  attribute: A localização do recurso do atributo sobre a qual este modificador deve agir.
        •  operation: A operação desse modificador de atributo. Um dos addition, multiply_base ou multiply_total.
        •  amount: Um provedor de números. Especifica a quantidade do modificador.
        •  id: Opcional. UUID para atribuir o modificador, no formato hexadecimal hifenizado. Se nenhum for especificado, um novo UUID aleatório será gerado.
        •  slot: Define os slots em que o item deve estar para que o modificador tenha efeito. Um de: mainhand, offhand, feet, legs, chest, head.
        •  slot: Para escolher aleatoriamente entre um conjunto de slots possíveis. A lista contém strings de uma das opções de slot acima, para escolher aleatoriamente. A seleção aleatória pode ser ponderada listando o mesmo slot várias vezes.
  • set_banner_pattern - Adiciona ou substitui padrões de estandarte de um estandarte. A função adiciona padrões com êxito à tag NBT, mesmo se invocada em um não-estandarte.
    •  patterns: Lista de padrões para adicionar ou substituir.
      • : Um padrão.
        •  pattern: O tipo padrão. Por exemplo, square_bottom_left.
        •  color: A cor para este padrão. Um de white, orange, magenta, light_blue, yellow, lime, pink, gray, light_gray, cyan, purple, blue, brown, green, red, black.
    •  append: Obrigatório. Se verdadeiro, os padrões serão aplicados sobre os padrões existentes do estandarte.
  • set_contents - Define o conteúdo de um item de bloco de contêiner para uma lista de entradas.
  • set_count - Define o tamanho da pilha.
    •  count: Um provedor de números. Especifica o tamanho da pilha a ser definido.
    •  add: Opcional. Se true, a alteração será relativa à contagem atual. O padrão é falso.
  • set_damage - Define o valor de dano do item (durabilidade).
    •  damage: Um provedor de números. Especifica a fração de dano a ser definida (1,0 é sem dano, 0,0 é zero de durabilidade restante).
    •  add: Opcional. Se true, a mudança será relativa ao dano atual. O padrão é falso.
  • set_enchantments - Modifica os encantamentos do item. Um livro será convertido em um livro encantado.
    •  enchantments: Encantamentos para modificar.
      •  Um encantamento: O nome da chave é o ID do encantamento. Value é um provedor de números especificando o poder de encantamento. Os poderes são limitados a um máximo de 255. Diminuir um poder de encantamento abaixo de 1 removerá o encantamento, por meio de uma adição negativa relativa ou por meio de uma atribuição direta de valor.
    •  add: Opcional. Se true, a mudança será relativa ao nível atual. Presume-se que um encantamento inexistente comece em 0. O padrão é falso.
  • set_instrument - Define as tags de item para itens de instrumento para um valor aleatório de uma tag.
    •  options: A localização do recurso começa com # de um instrumento tag, uma das listagens é selecionada aleatoriamente.
  • set_loot_table - Define a tabela de saque para um bloco de contêiner quando colocado e aberto.
    •  name: Especifica a localização do recurso da tabela de saque a ser usada.
    •  seed: Opcional. Especifica a semente da tabela de saque. Se ausente ou definido como 0, a semente não será colocada no NBT e uma semente aleatória será usada ao abrir o contêiner.
    •  type: o tipo de entidade do bloco a ser escrito BlockEntityTag.id.
  • set_lore - Adiciona ou altera a tradição do item.
    •  lore: Lista de linhas para acrescentar ou substituir na tradição do item.
      • Uma linha de tradição de itens, seguindo o formato de texto JSON bruto. Os componentes que requerem resolução são resolvidos apenas se entity atingir com sucesso uma entidade.
    •  entity: Especifica a entidade para atuar como @s quando referenciada no componente de texto JSON. Especifica uma entidade de contexto de saque. Pode ser this, killer, direct_killer, ou killer_player.
    •  replace: Opcional. Defina como true para substituir a tradição do item existente apenas com as linhas em  lore. Se false, as linhas são anexadas à lista de linhas de tradição existentes. O padrão é falso.
  • set_name—Adiciona ou altera o nome personalizado do item.
    •  name: Um componente de texto JSON, substituindo o nome personalizado anterior no item. Os componentes que exigem resolução são resolvidos apenas se entity tiver como destino uma entidade com sucesso.
    •  entity: Especifica a entidade para atuar como @s quando referenciada no componente de texto JSON. Especifica uma entidade no contexto de saque. Pode ser this, killer, direct_killer, ou killer_player.
  • set_nbt—Adiciona ou altera os dados NBT do item.
    •  tag: O NBT a ser mesclado na tag tag do item, dentro de uma string JSON. As chaves externas { } do NBT devem estar presentes nessa string JSON. Cuidado adicional é necessário quando o NBT contém aspas ", pois elas devem ser escapadas da sintaxe JSON com uma barra invertida \.
  • set_potion—Define a tag Potion de um item.
    •  id: O ID da poção. Defina como empty para remover a tag Potion.
  • set_stew_effect—Define os efeitos de status para ensopado suspeito. Falha se invocado em um item que não seja ensopado suspeito.
    •  effects: Os efeitos a aplicar.

Histórico[]

Edição Java
1.17 20w46a Adicionados modificadores de itens.
1.18 21w39a Adicionada a função set_potion.
??Adicionada a função set_instrument.

Problemas[]

Problemas relacionados com "Modificador de itens" são mantidos no rastreador de erros. Reporte problemas lá, em inglês.

Advertisement