Guides / Commands & Data

/attribute: valor base vs. modificadores, y por qué el tuyo sigue reiniciándose

Establecer un valor base es permanente y establecer un modificador no lo es, a menos que elijas la operación incorrecta. Las tres operaciones, el orden de apilamiento y la trampa de las ranuras.

/attribute parece un solo comando con tres subcomandos. En realidad, son dos sistemas diferentes que comparten un nombre, y confundirlos es la razón por la que los valores siguen volviendo a su estado original.

Base vs. modificador

/attribute @s minecraft:max_health base set 40
/attribute @s minecraft:max_health modifier add my_buff 20 add_value
  • base set reescribe el valor propio de la entidad. Persiste a través de las recargas y no es eliminado por nada excepto por otro base set.
  • modifier add aplica un ajuste temporal encima. Tiene un ID y puede eliminarse con ese ID.

Si tu cambio desaparece al volver a iniciar sesión, usaste un modificador y algo lo eliminó. Si tu cambio no desaparece, usaste base set y necesitas base reset.

Las tres operaciones y el orden en que se aplican

OperaciónHaceAplicado
add_valuevalor + nprimero
add_multiplied_basevalor + (base × n)segundo
add_multiplied_totaltotal acumulado × (1 + n)último

El orden es fijo e importa. Partiendo de una base de 20, luego add_value 10 y add_multiplied_total 0.5:

20 → 30 → 45          not  20 → 30 → 30 + 10 = 40

add_multiplied_base siempre multiplica la base original, no el total acumulado, por eso dos de ellos se suman aditivamente en lugar de multiplicarse.

Los ID de modificador ahora tienen un espacio de nombres

Las versiones anteriores usaban un UUID. Las versiones modernas usan un ID con espacio de nombres:

/attribute @s minecraft:attack_damage modifier add my_pack:rage 5 add_value

Agregar un segundo modificador con el mismo ID reemplaza al primero en lugar de apilarse. Esa es la forma prevista de actualizar un beneficio: no es necesario eliminarlo primero.

Los modificadores de equipo residen en el objeto, no en la entidad

La bonificación de daño de una espada encantada es un componente de objeto attribute_modifiers, y solo se aplica mientras el objeto está en la ranura correcta:

/give @s diamond_sword[attribute_modifiers=[{type:"attack_damage",amount:5,
  operation:"add_value",slot:"mainhand",id:"my:bonus"}]]

slot es obligatorio y es el error habitual. Omítelo y el modificador se aplica en cada ranura, por lo que una espada en tu inventario te beneficia mientras está allí.

Ranuras válidas: mainhand, offhand, head, chest, legs, feet, armor, body, any.

Leer un valor

/attribute @s minecraft:max_health get

devuelve la base, no el total efectivo. Para obtener el total, incluidos los modificadores, usa execute store result en un marcador y léelo.

Crea cualquiera de estos, incluida la forma de componente de objeto con la ranura configurada, en el Entity & Combat Command Builder.

Constructor de comandos de entidad y combate →

More guides

Browse all →

¿Buscas más herramientas de Minecraft?

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