Modificador de itens

De Minecraft Wiki
Ir para navegação Ir para pesquisar
Esse recurso é exclusivo para a Edição Java.
 

Os modificadores de itens usados para aplicar modificações em itens, como ajustar a quantidade de itens ou adicionar encantamentos. Eles podem ser definidos em pacotes de dados como arquivos JSON ou usados em tabelas de itens. E o comando /item aceita modificadores de item no formato SNBT.

Uma única modificação nos modificadores de itens é chamada de função de item ou função de saque.

Um modificador de itens é uma função de saque única ou uma matriz de funções de saque para aplicar ao item. O elemento raiz de um modificador de itens pode ser um  objeto JSON ou uma marcação NBT composta, seguindo a estrutura de uma função de saque abaixo, ou uma  matriz JSON ou uma lista NBT, contendo várias funções de saque.

Os modificadores de itens são definidos usando o formato JSON em pacote de dados, ou o formato SNBT no comando /item.

Os modificadores de itens são definidos em pacotes de dados na seguinte estrutura de diretório, destacada abaixo:

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

Há duas variações deste comando: /item modify invoca um modificador sozinho no espaço de destino, /item replace substitui o item no espaço 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>]

Tabelas de itens

[editar | editar código-fonte]

Em tabela de itens, modificadores de itens podem ser definidos sem a necessidade de um arquivo separado; no entanto, arquivos separados também podem ser referenciados explicitamente usando a função reference.

O formato de uma única função de saque é:

  • A raiz da função de saque.
    •  function: A localização de recurso do tipo de função de saque a ser aplicada. Os tipos de função válidos são descritos abaixo.
    •  conditions: Uma lista de predicados, dos quais todos devem passar, para que esta função seja aplicada.
      • Um predicado. A estrutura é descrita na página Predicados.
    • Outros parâmetros da função, descritos abaixo.

Várias funções de saque podem ser inseridas em um modificador de itens colocando-as em uma matriz JSON ou em uma lista NBT:

  • A raiz do matriz de funções de saque.
    • Uma função de saque.

Tipos de função

[editar | editar código-fonte]

As possíveis localizações de recurso (o espaço de nomes minecraft: é omitido) para o campo  function e conteúdos extras associados:

  • apply_bonus—Aplica uma fórmula de bônus predefinida à quantidade de itens.
    •  enchantment: O ID de um encantamento na ferramenta fornecida por um contexto de saque usada para cálculo de nível.
    •  formula: Uma localização de 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 level * bonusMultiplier) ou ore_drops para uma função especial usada para drops de minério no jogo (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_components—Copia componentes de uma fonte especificada para um item.
    •  source: Tipo de fonte para extrair. Especifica uma entidade ou um bloco-entidade por contexto de saque. O único valor permitido é block_entity[precisa de teste]
    •  include: Opcional. Uma lista de componentes para incluir. Se omitido, todos os componentes são copiados.
      • : Um componente
    •  exclude: Opcional. Uma lista de componentes para excluir.
      • : Um componente
  • copy_custom_data—Copia valores NBT de um bloco-entidade ou uma entidade especificada, ou de um armazenamento de comando para o componente minecraft:custom_data do item.
    •  source: Forma abreviada de  source abaixo com  type definido como context. Especifica uma entidade ou um bloco-entidade por contexto de saque. Pode ser block_entity, this, killer, direct_killer ou killer_player.
    •  source: Informações do bloco-entidade, entidade ou armazenamento para copiar o NBT.
      •  type: Defina como context para usar um bloco-entidade ou uma entidade como fonte, ou storage para usar um armazenamento de comando como fonte.
      •  target: Incluído somente se type estiver definido como context. Especifica uma entidade ou um bloco-entidade por contexto de saque para copiar o NBT. Pode ser block_entity, this, killer, direct_killer ou killer_player.
      •  source: Incluído somente se type estiver definido como storage. Uma localização de 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 do qual copiar.
        •  target: O caminho NBT para copiar, começando pela marcação 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 matriz, ou merge para mesclar em uma marcação composta.
  • copy_name—Copia o nome de uma entidade ou de um bloco-entidade para a marcação display.Name do item.
    •  source - O alvo cujo nome deve ser copiado. Especifica uma entidade ou um bloco-entidade de contexto de saque. Pode ser block_entity, this, killer ou killer_player (não pode ser direct_killer).
  • copy_state—Copia as propriedades de estado de bloco fornecidas por contexto de saque para a marcação BlockStateTag do item.
    •  block: Um ID de bloco. A função falha se o bloco não corresponder à lista  properties.
    •  properties: Uma lista de propriedades a serem copiadas.
      • O nome de um estado de bloco a ser copiado.
  • enchant_randomly—Encanta o item com um encantamento selecionado aleatoriamente. A força do encantamento, se aplicável, é aleatório. Um livro se converte em um livro encantado quando encantado.
    •  options: Opcional. Um(a) ou mais encantamento(s) (um ID, ou uma marcação com #, ou uma matriz contendo IDs). Lista de encantamentos para escolher. Se omitido, todos os encantamentos são possíveis.
    •  only_compatible: Opcional, o padrão é true. Se apenas encantamentos que são compatíveis com o item devem ser escolhidos (ou seja, o item tem que está listado em supported_items). Livros são sempre considerados compatíveis.
  • exploration_map—Se a origem for fornecida por contexto de saque, converte um mapa em branco em um mapa de exploração que leva a uma estrutura gerada próxima.
    •  destination: Uma marcação 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 ícone do mapa (sem distinção entre maiúsculas e minúsculas). Se mansion ou monument for usado, a cor das linhas na textura muda para corresponder ao mapa de exploração correspondente. O padrão é mansion.
    •  zoom: O nível de zoom do mapa resultante. O padrão é 2.
    •  search_radius: O tamanho, em chunks, da área para buscar estruturas. A área marcada é quadrada, não circular. O raio 0 faz com que apenas o chunk atual seja buscado, o raio 1 faz com que o chunk atual e oito chunks adjacentes sejam buscados, e assim por diante. O padrão é 50.
    •  skip_existing_chunks: Não busca em chunks que já foram gerados. O padrão é true.
  • 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 da explosão de ser perdido.
  • fill_player_head—Adiciona as marcações de item necessárias de uma cabeça de jogador.
    •  entity: Especifica um jogador a ser usado para a cabeça de jogador. Especifica uma entidade por contexto de saque. Pode ser this, killer, direct_killer ou killer_player.
  • filtered—Aplica outra função somente a itens que correspondem ao predicado do item.
    •  item_filter: Um mapa de ID de componentes para valor de componente.
    •  modifier: Funções a serem aplicadas a itens correspondentes
      • : Uma função de saque.
  • furnace_smelt—Funde o item como se estivesse em uma fornalha, sem alterar sua contagem.
  • limit_count—Limita a quantidade de itens.
    •  limit: Um inteiro para especificar o limite exato a ser usado.
    •  limit: Limita a quantidade entre um valor mínimo e máximo.
  • enchanted_count_increase—Ajusta a quantidade de itens com base no nível do encantamento especificado na entidade killer fornecida por contexto de saque.
    •  count: Um provedor de número. 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 após o cálculo de saque. Se o valor for 0, nenhum limite será aplicado. O padrão é 0.
    •  enchantment: enchantment (referenciado pelo ID). O encantamento cujos níveis devem ser usados para calcular a quantidade.
  • modify_contents—Aplica uma função a cada item dentro de um componente de inventário. Se o componente não existir, ele não será adicionado.
    •  component: Um componente de destino. Os valores permitidos são bundle_contents, charged_projectiles, container}}.
    •  modifier: Função ou lista de funções a serem aplicadas a cada item dentro do contêiner.
  • reference—Chamar subfunções
    •  name: Localização da função a ser chamada.
  • sequence—Aplica uma lista de funções
    •  functions: Localização da função a ser chamada.
      • Um modificador de item. A mesma estrutura JSON descrita nesta página.
  • set_attributes—Adiciona modificadores de atributo ao item.
    •  modifiers:
      • : Um modificador de atributo para adicionar.
        •  attribute: A localização de recurso do atributo sobre o qual este modificador deve atuar.
        •  operation: A operação deste modificador de atributo. Podendo ser add_value, add_multiplied_base ou add_multiplied_total.
        •  amount: Um provedor de número. Especifica a quantidade do modificador.
        •  id: A localização de recurso para atribuir o modificador.
        •  slot: Define os espaços em que o item deve estar para que o modificador tenha efeito. Podendo ser: mainhand, offhand, feet, legs, chest, head.
        •  slot: Para escolher aleatoriamente de um conjunto de espaços possíveis. A lista contém strings de uma das opções de espaço acima, para escolher aleatoriamente. A seleção aleatória pode ser ponderada listando o mesmo espaço várias vezes.
    •  replace: Opcional. Defina como true para substituir os atributos existentes do item pelos atributos em  modifiers. Se false, as linhas são anexadas à lista de atributos existentes. O padrão é true.
  • set_banner_pattern - Adiciona ou substitui figuras para estandarte de um estandarte. A função adiciona figuras com sucesso na marcação NBT mesmo se não invocada em um estandarte.
    •  patterns: Lista de figuras para adicionar ou substituir.
      • : Uma figura.
        •  pattern: O tipo de figura. Por exemplo, square_bottom_left.
        •  color: A cor para esta figura. Podendo ser white, orange, magenta, light_blue, yellow, lime, pink, gray, light_gray, cyan, purple, blue, brown, green, red, black.
    •  append: Obrigatório. Se verdadeiro, as figuras são aplicadas sobre as figuras existentes do estandarte.
  • set_book_cover—Define os detalhes da capa do componente minecraft:written_book_content. Se presente, todas as páginas do livro são deixadas intocadas.
    •  author: Opcional. Define o autor do livro. Se omitido, o autor original é mantido (ou uma string vazia é usada se não houver nenhum componente).
    •  generation: Opcional. Define o valor de geração do livro (original, cópia, etc.). Os valores permitidos são 0 a 3. Se omitido, a geração original é mantida (ou 0 é usado se não houver nenhum componente).
    •  title: Opcional. Define o título do livro como um componente de texto JSON bruto. Se omitido, o título original é mantido (ou uma string vazia é usada se não houver nenhum componente).
  • set_components—Define componentes de um item.
    •  components: Um mapa de ID de componentes para valor de componente. Componentes com um prefixo ! (por exemplo, "!minecraft:damage": {}) faz com que este componente seja removido.
  • set_contents - Define o conteúdo de um item de bloco de contêiner para uma lista de entradas.
  • set_count - Define a quantidade de itens.
    •  count: Um provedor de número. Especifica a quantidade a ser definida.
    •  add: Opcional. Se true, a alteração é relativa à quantidade atual. O padrão é false.
  • set_custom_data—Define o componente minecraft:custom_data.
    •  tag: Os dados a serem mesclados no componente minecraft:custom_data do item, dentro de uma string JSON. As chaves externas { } do componente devem estar presentes dentro desta string JSON. Cuidado adicional é necessário quando o NBT contém aspas ", pois elas devem ser espaçadas da sintaxe JSON com uma barra invertida \.
  • set_damage - Define o valor de dano do item (durabilidade).
    •  damage: Um provedor de número. Especifica a fração de dano a ser definida (1,0 é sem dano, 0,0 é durabilidade zero restante).
    •  add: Opcional. Se true, a alteração é relativa ao dano atual. O padrão é false.
  • set_enchantments - Modifica os encantamentos do item. Um livro é convertido em um livro encantado.
    •  enchantments: Encantamentos a serem modificados.
      •  Um encantamento: O nome da chave é o ID do encantamento. O valor é um provedor de número que especifica a força do encantamento. As forças são fixadas em um máximo de 255. Diminuir uma força de encantamento abaixo de 1 remove o encantamento, por meio de uma adição negativa relativa ou por meio de uma atribuição de valor direta.
    •  add: Opcional. Se true, a alteração é relativa ao nível atual. Um encantamento inexistente é presumido para começar em 0. O padrão é false.
  • set_fireworks—Define o componente minecraft:fireworks.
    •  explosions: Opcional. Especifica as explosões de fogos de artifício.
      •  values: Lista de dados da explosão de fogos de artifício.
        •  shape: O formato da explosão. Pode ser small_ball ou large_ball ou star ou creeper ou burst.
        •  colors: As cores das partículas iniciais da explosão, selecionadas aleatoriamente por ele.
        •  fade_colors: As cores das partículas que esmaecem da explosão, selecionadas aleatoriamente por ele.
        •  has_trail: Se a explosão tem ou não um efeito de rastro (diamante).
        •  has_twinkle: Se a explosão tem ou não um efeito cintilante (pó de pedra brilhante).
      •  mode: Determina como o componente de fogos de artifício existente deve ser modificado. Os valores permitidos são "append", "insert", "replace_all", "replace_section".
      •  offset: Usado somente se  mode estiver definido como "insert" ou "replace_section". Especifica o campo para inserir ou substituir explosões. O padrão é 0
      •  size: Usado somente se  mode estiver definido como "replace_section". Especifica o campo a ser substituído. Se omitido, o campo  explosions é usado.
    •  flight_duration: Opcional, os valores permitidos são 0 a 255. Determina a duração do voo medida no número de pólvoras. Se omitido, a duração do voo do item é deixada inalterada (ou definida como 0 se o componente não existia antes).
  • set_firework_explosion—Define o componente minecraft:firework_explosion.
    •  shape: O formato da explosão. Pode ser small_ball, large_ball, star, creeper ou burst.
    •  colors: As cores das partículas iniciais da explosão, selecionadas aleatoriamente por ele.
    •  fade_colors: As cores das partículas que esmaecem da explosão, selecionadas aleatoriamente por ele.
    •  has_trail: Se a explosão tem ou não um efeito de rastro (diamante).
    •  has_twinkle: Se a explosão tem ou não um efeito de cintilação (pó de pedra brilhante).
  • set_instrument - Define as marcações de item para itens de instrumento para um valor aleatório de uma marcação.
    •  options: A localização de recurso começa com # de uma marcação de instrumento, uma das listadas é selecionada aleatoriamente.
  • set_item—Substitui o tipo de item sem alterar a quantidade ou os componentes.
    •  item: Um ID de item.
  • set_loot_table - Define a tabela de itens para um bloco de contêiner quando colocado e aberto.
    •  name: Especifica a localização de recurso da tabela de itens a ser usada.
    •  seed: Opcional. Especifica a semente da tabela de itens. 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 bloco-entidade a ser escrito em BlockEntityTag.id.
  • set_lore - Adiciona ou altera a dica de ferramenta do item.
    •  lore: Lista de linhas para anexar ou substituir na dica de ferramenta do item.
    •  entity: Especifica a entidade para atuar como @s quando referenciada no componente de texto JSON. Especifica uma entidade por contexto de saque. Pode ser this, killer, direct_killer ou killer_player.
    •  mode: Obrigatório. Determina como o componente de descrição existente deve ser modificado. Os valores permitidos são "append", "insert", "replace_all", "replace_section".
    •  offset: Usado somente se  mode estiver definido como "insert" ou "replace_section". Especifica o campo para inserir ou substituir linhas da dica de ferramenta. O padrão é 0
    •  size: Usado somente se  mode estiver definido como "replace_section". Especifica o campo a ser substituído. Se omitido, o campo  lore será usado.
  • 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 somente se entity atingir uma entidade com sucesso.
    •  entity: Especifica a entidade para atuar como @s quando referenciada no componente de texto JSON. Especifica uma entidade por contexto de saque. Pode ser this, killer, direct_killer ou killer_player.
    •  target: Opcional. Os valores permitidos são custom_name ou item_name, correspondendo ao componente a ser definido. O padrão é custom_name.
  • set_potion—Define a marcação Potion de um item.
    •  id: O ID da poção. Defina como empty para remover a marcação Potion.
  • set_stew_effect—Define os efeitos para o ensopado suspeito. Falha se invocado em um item que não seja um ensopado suspeito.
    •  effects: Os efeitos a serem aplicados.
  • set_writable_book_pages—Manipula as páginas do componente minecraft:writable_book_content.
    •  pages: Uma lista de páginas como componentes texto JSON bruto.
      • : Um componente de texto JSON bruto.
    •  mode: Determina como as páginas existentes devem ser modificadas. Os valores permitidos são "append", "insert", "replace_all", "replace_section".
    •  offset: Usado somente se  mode estiver definido como "insert" ou "replace_section". Especifica o campo para inserir ou substituir páginas. Padrão para 0
    •  size: Usado somente se  mode estiver definido como "replace_section". Especifica o campo a ser substituído. Se omitido, o campo  pages é usado.
  • set_written_book_pages—Manipula as páginas do componente minecraft:writable_book_content.
    •  pages: Uma lista de páginas como componentes texto JSON bruto.
      • : Um componente de texto JSON bruto.
    •  mode: Determina como as páginas existentes devem ser modificadas. Os valores permitidos são "append", "insert", "replace_all", "replace_section".
    •  offset: Usado somente se  mode estiver definido como "insert" ou "replace_section". Especifica o campo para inserir ou substituir páginas. Padrão para 0
    •  size: Usado somente se  mode estiver definido como "replace_section". Especifica o campo a ser substituído. Se omitido, o campo  pages é usado.
  • toggle_tooltips—Alterna quais dicas de ferramentas são visíveis.
    •  toggles: Um mapa de componentes de itens suportados para modificar. Todos os campos são opcionais.
      •  attribute_modifiers: Altera a visibilidade da dica de ferramenta exibindo os modificadores de atributo do item.
      •  can_break: Altera a visibilidade da dica de ferramenta exibindo os blocos que o item pode quebrar no modo Aventura.
      •  can_place_on: Altera a visibilidade da dica de ferramenta exibindo os blocos nos quais o item pode ser colocado no modo Aventura.
      •  dyed_color: Altera a visibilidade da dica de ferramenta exibindo a cor da armadura tingida.
      •  enchantments: Altera a visibilidade da dica de ferramenta que exibe os encantamentos do item.
      •  stored_enchantments: Altera a visibilidade da dica de ferramenta que exibe os encantamentos armazenados do item (para livros encantados).
      •  trim: Altera a visibilidade da dica de ferramenta que exibe o enfeite da armadura do item.
      •  unbreakable: Altera a visibilidade da dica de ferramenta que exibe o status inquebrável do item. Definir isso para qualquer valor não altera se o item é inquebrável.
Edição Java
1.915w43aAs funções de saque como parte das tabelas de itens foram adicionadas.
1.1720w46aA capacidade de criar arquivos modificadores de itens dedicados em pacotes de dados usando a mesma sintaxe das funções de saque existentes foi adicionada.
1.1821w39aA função set_potion foi adicionada.
1.1922w18aA função set_instrument foi adicionada.
1.2023w14aA função reference foi adicionada.
1.20.223w32aA função sequence foi adicionada.
1.20.524w09aA função set_components foi adicionada.
A função copy_components foi adicionada.
As funções set_nbt e copy_nbt foram renomeadas para set_custom_data e copy_custom_data, respectivamente.
A função set_attributes foi atualizada:
  • O campo slot agora suporta os valores any, armor e hand.
  • Os valores operation foram renomeados:
    • addition -> add_value
    • multiply_base -> add_multiplied_base
    • multiply_total -> add_multiplied_total
24w11aA função set_fireworks foi adicionada.
A função set_firework_explosion foi adicionada.
A função set_book_cover foi adicionada.
A função set_writable_book_pages foi adicionada.
A função set_written_book_pages foi adicionada.
24w12aA função toggle_tooltips foi adicionada.
O campo replace de set_lore foi substituído pelos campos mode e offset.
24w13aO campo components foi removido da função copy_components e substituído por include e exclude. Somente componentes que são incluídos (explícita ou implicitamente), mas não excluídos, serão copiados.
O campo opcional target foi adicionado à função set_name para especificar se o componente custom_name ou item_name deve ser definido.
24w14aO campo replace foi adicionado à função set_attributes.
Pre-Release 1A função filtered foi adicionada.
A função modify_contents foi adicionada.
A função set_custom_model_data foi adicionada.
A função set_item foi adicionada.
Pre-Release 2A função set_fireworks foi atualizada:
  • A lista das explosões de fogos de artifício e o modo de substituição foram movidos para dentro do campo explosions.
    • { "explosions": <list>, "mode": <mode>, <mode-dependent fields>} se torna {"explosions": {"values": <list>, "mode": <mode>, <mode-dependent fields>}}
  • O campo explosions agora é opcional.
1.2124w21aOs modificadores de itens foram movidos de File directory.png: Imagem de sprite de "directory" no Minecraft item_modifiers para File directory.png: Imagem de sprite de "directory" no Minecraft item_modifier
[editar | editar código-fonte]
Esta página já foi uma tarefa pendente na wiki e foi completamente revisada pela última vez em outubro de 2024
Atribuído a: MeiaQuatru (discussão)