Ефекти моба
Ефекти моба, також відомі як ефекти статусу або просто ефекти, є станом, який може вплинути на сутність. Вони можуть бути позитивні, негативні або нейтральні. Базова гра застосовує ці ефекти різними способами, такими як їжа, зілля тощо.
Команда /effect може бути використана для застосування ефектів до сутності.
Власні ефекти моба
Тут ми додамо новий спеціальний ефект під назвою Tater, який дає вам одне очко досвіду за кожен ігровий такт.
Розширення MobEffect
Створімо спеціальний клас ефекту, розширивши MobEffect, який є базовим класом для всіх ефектів.
java
No lines matched.1
Реєстрація вашого власного ефекту
Подібно до реєстрації блоків і предметів, ми використовуємо Registry.register для реєстрації нашого власного ефекту в реєстрі MOB_EFFECT. Це можна зробити в нашому ініціалізаторі.
java
No lines matched.1
Текстура
Значок ефекту моба — це PNG розміром 18x18, який з’явиться на екрані інвентарю гравця. Розмістіть ваш значок у:
text
resources/assets/example-mod/textures/mob_effect/tater.pngПереклади
Як і будь-який інший переклад, ви можете додати запис із форматом ID "effect.example-mod.effect-identifier": "Value" до мовного файлу.
json
{
"effect.example-mod.tater": "Tater"
}1
2
3
2
3
Застосування ефекту
Варто поглянути на те, як ви зазвичай застосовуєте ефект до сутності.
TIP
Для швидкого тестування краще використати згадану раніше команду /effect:
mcfunction
effect give @p example-mod:tater1
Щоб застосувати внутрішній ефект, потрібно використати метод LivingEntity#addEffect, який приймає MobEffectInstance і повертає логічне значення, яке вказує, чи було успішно застосовано ефект.
java
No lines matched.1
| Аргумент | Тип | Опис |
|---|---|---|
effect | Holder<MobEffect> | Голдер, який представляє ефект. |
duration | int | Тривалість ефекту в тактах; не секунд |
amplifier | int | Підсилювач до рівня ефекту. Він не відповідає рівню ефекту, а додається зверху. Отже, amplifier 4 => рівень 5 |
ambient | boolean | Це складно. Це в основному вказує, що ефект був доданий середовищем (наприклад, маяк) і не має прямої причини. Якщо true, значок ефекту в HUD буде показане накладення водянистого кольору. |
particles | boolean | Чи слід показувати частинки. |
icon | boolean | Чи показувати значок ефекту в HUD. Ефект буде показано в інвентарі незалежно від цього прапорця. |
INFO
Щоб створити зілля, яке використовує цей ефект, перегляньте зілля.







