Modificador de itens
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.
Definição
[editar | editar código-fonte]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:
/
<nome do pacote de dados>
pack.mcmeta
data
<espaço de nomes>
item_modifier
<nome>.json
- Mais diretórios…
Uso
[editar | editar código-fonte]Comandos
[editar | editar código-fonte]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.
Formato
[editar | editar código-fonte]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_countpara uma distribuição binomial (comn=level + extra,p=probability),uniform_bonus_countpara distribuição uniforme (de0alevel * bonusMultiplier) ouore_dropspara 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
- source: Tipo de fonte para extrair. Especifica uma entidade ou um bloco-entidade por contexto de saque. O único valor permitido é
- 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_datado item.- source: Forma abreviada de source abaixo com type definido como
context. Especifica uma entidade ou um bloco-entidade por contexto de saque. Pode serblock_entity,this,killer,direct_killeroukiller_player. - source: Informações do bloco-entidade, entidade ou armazenamento para copiar o NBT.
- type: Defina como
contextpara usar um bloco-entidade ou uma entidade como fonte, oustoragepara usar um armazenamento de comando como fonte. - target: Incluído somente se
typeestiver definido comocontext. Especifica uma entidade ou um bloco-entidade por contexto de saque para copiar o NBT. Pode serblock_entity,this,killer,direct_killeroukiller_player. - source: Incluído somente se
typeestiver definido comostorage. Uma localização de recurso especificando o ID de armazenamento do qual copiar o NBT.
- type: Defina como
- 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
tagdo item. - op: Defina como
replacepara substituir qualquer conteúdo existente do caminho NBT de destino,appendpara anexar a uma lista ou matriz, oumergepara mesclar em uma marcação composta.
- Uma operação NBT.
- source: Forma abreviada de source abaixo com type definido como
- copy_name—Copia o nome de uma entidade ou de um bloco-entidade para a marcação
display.Namedo 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,killeroukiller_player(não pode serdirect_killer).
- source - O alvo cujo nome deve ser copiado. Especifica uma entidade ou um bloco-entidade de contexto de saque. Pode ser
- copy_state—Copia as propriedades de estado de bloco fornecidas por contexto de saque para a marcação
BlockStateTagdo 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 emsupported_items). Livros são sempre considerados compatíveis.
- options: Opcional. Um(a) ou mais encantamento(s) (um ID, ou uma marcação com
- enchant_with_levels—Encanta o item, com o nível de encantamento especificado (aproximadamente equivalente a usar uma mesa de encantamentos naquele nível). Um livro é convertido em um livro encantado.
- levels: Provedor de número. Especifica o nível de encantamento a ser usado.
- 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.
- 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
mansionoumonumentfor 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.
- destination: Uma marcação de estrutura para localizar. O padrão é
- 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_killeroukiller_player.
- entity: Especifica um jogador a ser usado para a cabeça de jogador. Especifica uma entidade por contexto de saque. Pode ser
- 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.
- Marcações comuns a todos os itens Veja Template:Nbt inherit/conditions/item/template
- modifier: Funções a serem aplicadas a itens correspondentes
- : Uma função de saque.
- item_filter: Um mapa de ID de componentes para valor de componente.
- 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.
- min: Opcional. Um provedor de número. Limite mínimo a ser usado.
- max: Opcional. Um provedor de número. Limite máximo a ser usado.
- enchanted_count_increase—Ajusta a quantidade de itens com base no nível do encantamento especificado na entidade
killerfornecida 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.
- component: Um componente de destino. Os valores permitidos são
- 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.
- functions: Localização da função a ser chamada.
- 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_baseouadd_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.
- : Um modificador de atributo para adicionar.
- replace: Opcional. Defina como
truepara substituir os atributos existentes do item pelos atributos em modifiers. Sefalse, as linhas são anexadas à lista de atributos existentes. O padrão étrue.
- modifiers:
- 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
0a3. Se omitido, a geração original é mantida (ou0é 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.
- components: Um mapa de ID de componentes para valor de componente. Componentes com um prefixo
- set_contents - Define o conteúdo de um item de bloco de contêiner para uma lista de entradas.
- entries: Uma lista de produtor de entrada de tabela de itens para fornecer itens.
- type: o tipo de bloco-entidade a ser escrito em
BlockEntityTag.id.
- 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_datado 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\.
- tag: Os dados a serem mesclados no componente
- set_custom_model_data—Define o componente
minecraft:custom_model_data.- value: Um provedor de número. Especifica o valor custom model data.
- 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.
- enchantments: Encantamentos a serem modificados.
- 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_balloularge_balloustaroucreeperouburst. - 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).
- shape: O formato da explosão. Pode ser
- 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.
- values: Lista de dados da explosão de fogos de artifício.
- flight_duration: Opcional, os valores permitidos são
0a255. 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 como0se o componente não existia antes).
- explosions: Opcional. Especifica as explosões de fogos de artifício.
- set_firework_explosion—Define o componente
minecraft:firework_explosion.- shape: O formato da explosão. Pode ser
small_ball,large_ball,star,creeperouburst. - 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).
- shape: O formato da explosão. Pode ser
- 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.
- options: A localização de recurso começa com
- 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.
- Uma linha da dica de ferramenta do item, seguindo o Formato de texto JSON bruto. Os componentes que exigem resolução são resolvidos somente se
entityatingir uma entidade com sucesso.
- Uma linha da dica de ferramenta do item, seguindo o Formato de texto JSON bruto. Os componentes que exigem resolução são resolvidos somente se
- entity: Especifica a entidade para atuar como
@squando referenciada no componente de texto JSON. Especifica uma entidade por contexto de saque. Pode serthis,killer,direct_killeroukiller_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.
- lore: Lista de linhas para anexar ou substituir na dica de ferramenta do item.
- 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
entityatingir uma entidade com sucesso. - entity: Especifica a entidade para atuar como
@squando referenciada no componente de texto JSON. Especifica uma entidade por contexto de saque. Pode serthis,killer,direct_killeroukiller_player. - target: Opcional. Os valores permitidos são
custom_nameouitem_name, correspondendo ao componente a ser definido. O padrão écustom_name.
- name: Um componente de texto JSON, substituindo o nome personalizado anterior no item. Os componentes que exigem resolução são resolvidos somente se
- set_potion—Define a marcação
Potionde um item.- id: O ID da poção. Defina como
emptypara remover a marcaçãoPotion.
- id: O ID da poção. Defina como
- 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.
- Um efeito.
- type: O ID do efeito.
- duration: Um provedor de número. A duração do efeito.
- Um efeito.
- 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 para0 - size: Usado somente se mode estiver definido como
"replace_section". Especifica o campo a ser substituído. Se omitido, o campo pages é usado.
- pages: Uma lista de páginas como componentes texto JSON bruto.
- 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 para0 - size: Usado somente se mode estiver definido como
"replace_section". Especifica o campo a ser substituído. Se omitido, o campo pages é usado.
- pages: Uma lista de páginas como componentes texto JSON bruto.
- 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.
- toggles: Um mapa de componentes de itens suportados para modificar. Todos os campos são opcionais.
Histórico
[editar | editar código-fonte]| Edição Java | |||||||
|---|---|---|---|---|---|---|---|
| 1.9 | 15w43a | As funções de saque como parte das tabelas de itens foram adicionadas. | |||||
| 1.17 | 20w46a | A 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.18 | 21w39a | A função set_potion foi adicionada. | |||||
| 1.19 | 22w18a | A função set_instrument foi adicionada. | |||||
| 1.20 | 23w14a | A função reference foi adicionada. | |||||
| 1.20.2 | 23w32a | A função sequence foi adicionada. | |||||
| 1.20.5 | 24w09a | A 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:
| |||||||
| 24w11a | A 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. | |||||||
| 24w12a | A função toggle_tooltips foi adicionada. | ||||||
O campo replace de set_lore foi substituído pelos campos mode e offset. | |||||||
| 24w13a | O 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. | |||||||
| 24w14a | O campo replace foi adicionado à função set_attributes. | ||||||
| Pre-Release 1 | A 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 2 | A função set_fireworks foi atualizada:
| ||||||
| 1.21 | 24w21a | Os modificadores de itens foram movidos de | |||||
Links externos
[editar | editar código-fonte]Navegação
[editar | editar código-fonte]Atribuído a: MeiaQuatru (discussão)