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

Используя мод-дополнение <mark style="color:blue;">**ArmorSetEffect**</mark>, вы можете добавить экипировке специальные эффекты.

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

```java
import mods.seteffect.ArmorSetEffect;
```

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

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

* `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))` – накладывает эффект на атакующее существо.

где\
\&#xNAN;*<mark style="color:blue;">**slot**</mark>* – слот,\
\&#xNAN;*<mark style="color:blue;">**item**</mark>* – предмет экипировки,\
\&#xNAN;*<mark style="color:blue;">**effect**</mark>* – эффект,\
\&#xNAN;*<mark style="color:blue;">**time**</mark>* – длительность эффекта в тиках (1 секунда = 20 тиков)\
\&#xNAN;*<mark style="color:blue;">**level**</mark>* – уровень эффекта,\
\&#xNAN;*<mark style="color:blue;">**particles**</mark>* – вид частиц,\
\&#xNAN;*<mark style="color:blue;">**particle\_options**</mark>* – настройки частиц.

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

* Устанавливает эффект скорости без частиц
* Добавляет иммунитет от слепоты
* Накладывает эффект отравления на атакующих врагов
* Добавляет частицы злых жителей при надетой брони

<pre class="language-java"><code class="lang-java">import mods.seteffect.ArmorSetEffect;

<strong>val iron_set = new ArmorSetEffect("iron_set")
</strong>    .inSlot(&#x3C;equipmentslottype:head>, &#x3C;item:minecraft:iron_helmet>)
    .inSlot(&#x3C;equipmentslottype:chest>, &#x3C;item:minecraft:iron_chestplate>)
    .inSlot(&#x3C;equipmentslottype:legs>, &#x3C;item:minecraft:iron_leggings>)
    .inSlot(&#x3C;equipmentslottype:feet>, &#x3C;item:minecraft:iron_boots>)
    .setIgnoreNBT()
    .addEffect(&#x3C;effect:minecraft:speed>.newInstance(100, 5).hideParticles())
    .addImmunity(&#x3C;effect:minecraft:blindness>)
    .addAttackerEffect(&#x3C;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();
</code></pre>
