Эффекты экипировки

Используя мод-дополнение ArmorSetEffect, вы можете добавить экипировке специальные эффекты.

Сначала необходимо импортировать группы мода:

import mods.seteffect.ArmorSetEffect;

Затем создается новый эффект для экипировки (в примере iron_set). Потом перечисляются элементы брони с указанием слотов, в которых они должны находиться: .inSlot(slot, item)

После устанавливаются дополнительные параметры, по типу:

  • addParticle(particles, particle_options) – добавляет частицы при ношении брони.

  • .setIgnoreNBT() – для игнорирования NBT,

  • .requireGamestages("saudade") – для учета эры при наличии мода Game Stages,

  • .setPackmode("saudade_mode") – для учета режима при наличии мода PackMode.

  • .applyFlight(true/false) – для установки возможности летать при надетой броне.

И теперь самое главное – эффекты:

  • .addEffect(effect.newInstance(time, level).hideParticles()) – устанавливает эффект, накладываемый при ношении брони;

  • .addImmunity(effect) – дает иммунитет к эффекту при ношении брони;

  • .addAttackerEffect(effect:minecraft:poison.newInstance(time, level)) – накладывает эффект на атакующее существо.

где slot – слот, item – предмет экипировки, effect – эффект, time – длительность эффекта в тиках (1 секунда = 20 тиков) level – уровень эффекта, particles – вид частиц, particle_options – настройки частиц.

Пример для железной брони

  • Устанавливает эффект скорости без частиц

  • Добавляет иммунитет от слепоты

  • Накладывает эффект отравления на атакующих врагов

  • Добавляет частицы злых жителей при надетой брони

import mods.seteffect.ArmorSetEffect;

val iron_set = new ArmorSetEffect("iron_set")
    .inSlot(<equipmentslottype:head>, <item:minecraft:iron_helmet>)
    .inSlot(<equipmentslottype:chest>, <item:minecraft:iron_chestplate>)
    .inSlot(<equipmentslottype:legs>, <item:minecraft:iron_leggings>)
    .inSlot(<equipmentslottype:feet>, <item:minecraft:iron_boots>)
    .setIgnoreNBT()
    .addEffect(<effect:minecraft:speed>.newInstance(100, 5).hideParticles())
    .addImmunity(<effect:minecraft:blindness>)
    .addAttackerEffect(<effect:minecraft:poison>.newInstance(60, 1))
    .addParticle("minecraft:angry_villager", 1.0f, 1.0f, 1.0f, 10.0f, 10.0f, 10.0f, 10.0f, 10.0f, 10.0f, -5.0f, -5.0f, -5.0f, 2.0f, 0.3f, 2);
iron_set.register();

Last updated