MC Toolkit

Guias / Comandos e dados

Encantamentos personalizados sem mods: o formato de encantamento orientado a dados

Encantamentos agora são JSON de datapack, então um encantamento personalizado não precisa de mod. Aqui está a estrutura do arquivo, os componentes de efeito que realmente fazem algo e como torná-lo obtível.

Os encantamentos costumavam ser codificados. Agora são dados de datapack, o que significa que um encantamento genuinamente personalizado — novo nome, novo efeito, nova curva de custo — é um arquivo JSON.

Onde ele vive

data/<namespace>/enchantment/lightning_strike.json

enchantment/ singular, como todas as outras categorias de datapack desde a renomeação.

O arquivo mínimo

{
  "description": { "translate": "enchantment.my_pack.lightning_strike" },
  "supported_items": "#minecraft:enchantable/sword",
  "weight": 2,
  "max_level": 3,
  "min_cost": { "base": 10, "per_level_above_first": 10 },
  "max_cost": { "base": 50, "per_level_above_first": 10 },
  "anvil_cost": 4,
  "slots": ["mainhand"]
}

Isso já cria um encantamento real que aparece na Mesa de Encantamentos e no item. Ele ainda não faz nada — o comportamento é separado.

  • weight é a raridade na Mesa de Encantamentos. O jogo base usa 10 para comum e 1 para muito raro. É relativo, não uma porcentagem.
  • slots decide onde o encantamento está ativo: mainhand, offhand, armor, head, e assim por diante. Omita-o e o encantamento nunca será aplicado.
  • supported_items aceita uma tag de item ou uma lista. As tags #minecraft:enchantable/* já existem para os grupos sensatos.

Fazendo-o funcionar

effects anexa o comportamento:

"effects": {
  "minecraft:post_attack": [{
    "effect": { "type": "minecraft:run_function", "function": "my_pack:strike" },
    "requirements": { "condition": "minecraft:random_chance", "chance": 0.25 }
  }]
}

run_function é a saída de emergência — tudo o que uma função pode fazer, o encantamento pode fazer. Os tipos de efeito integrados cobrem dano, Repulsão, durabilidade, drops de itens e atributos sem precisar de uma função, e são mais baratos.

requirements aceita qualquer predicado, então condicionar o tipo do alvo, o clima ou uma chance aleatória exige apenas um bloco de JSON.

Nomeando-o

description é um componente de texto, então um nome codificado funciona:

"description": { "text": "Lightning Strike", "color": "gold" }

mas uma chave translate mais um arquivo de idioma em um pacote de recursos é o que faz com que ele seja lido corretamente para jogadores em outros idiomas — a mesma razão pela qual este site usa termos de jogo das próprias traduções da Mojang.

Tornando-o obtível

Três rotas, e geralmente você vai querer mais de uma:

  • Mesa de Encantamentos — automático uma vez que weight e a curva de custo são definidos.
  • Tabelas de saqueenchant_randomly com seu encantamento listado, ou enchant_with_levels se ele deve competir em custo.
  • Aldeão troca — um Livro Encantado com seu encantamento no item da troca.

Adicioná-lo a #minecraft:in_enchanting_table é o que faz a Mesa de Encantamentos oferecê-lo; a tag é fácil de esquecer e produz um encantamento que existe, mas nunca aparece.

Construa o JSON do encantamento e sua contraparte de enfeite de Armadura, com as tags e slots definidos, no Construtor de Encantamentos e Enfeites Personalizados.

Construtor de encantamentos e enfeites →

Mais guias

Ver todos →

Procurando mais ferramentas de Minecraft?

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