Guides / Commands & Data

Encantamientos personalizados sin mods: el formato de encantamiento basado en datos

Los encantamientos se convirtieron en JSON de datapack, por lo que uno personalizado no necesita ningún mod. Aquí se muestra la estructura del archivo, los componentes de efecto que realmente hacen algo y cómo hacerlo obtenible.

Los encantamientos solían estar codificados de forma rígida. Ahora son datos de datapack, lo que significa que un encantamiento genuinamente personalizado —con un nuevo nombre, un nuevo efecto y una nueva curva de costo— es un archivo JSON.

Dónde se encuentra

data/<namespace>/enchantment/lightning_strike.json

Singular enchantment/, como cualquier otra categoría de datapack desde el cambio de nombre.

El archivo 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"]
}

Eso es suficiente para un encantamiento real que aparece en la mesa y se muestra en el objeto. Todavía no hace nada; el comportamiento es independiente.

  • weight es la rareza en la Mesa de encantamientos. El juego base usa 10 para común y 1 para muy raro. Es relativo, no un porcentaje.
  • slots decide dónde está activo el encantamiento: mainhand, offhand, armor, head, y así sucesivamente. Si se omite, el encantamiento nunca se aplica.
  • supported_items toma una etiqueta de objeto o una lista. Las etiquetas #minecraft:enchantable/* ya existen para los grupos lógicos.

Haciéndolo hacer algo

effects adjunta el comportamiento:

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

run_function es la vía de escape: cualquier cosa que una función pueda hacer, el encantamiento puede hacerla. Los tipos de efecto incorporados cubren daño, Empuje, durabilidad, caídas de objetos y atributos sin necesidad de ninguna función, y son más económicos.

requirements toma cualquier predicado, por lo que condicionar el tipo de la Diana, el clima o una probabilidad aleatoria es un bloque de JSON.

Nombrándolo

description es un componente de texto, por lo que un nombre codificado funciona:

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

pero una clave translate más un archivo de idioma en un paquete de recursos es lo que hace que se lea correctamente para los jugadores en otros idiomas, la misma razón por la que este sitio toma los términos del juego de las propias traducciones de Mojang.

Haciéndolo obtenible

Tres rutas, y normalmente querrás más de una:

  • Mesa de encantamientos — automática una vez que se establecen weight y la curva de costo.
  • Tablas de botínenchant_randomly con tu encantamiento listado, o enchant_with_levels si debe competir en costo.
  • Aldeano comercia — un Libro encantado con tu encantamiento en el objeto del comercio.

Agregarlo a #minecraft:in_enchanting_table es lo que hace que la mesa lo ofrezca; la etiqueta es fácil de olvidar y produce un encantamiento que existe pero nunca aparece.

Crea el JSON del encantamiento y su contraparte de adorno de Armadura, con las etiquetas y ranuras configuradas, en el Custom Enchantment & Trim Builder.

Constructor de encantamientos y adornos →

More guides

Browse all →

¿Buscas más herramientas de Minecraft?

Un conjunto de generadores, visores y conversores que funcionan en el navegador — todos gratis.