- 202
- 14
- 36
Всем привет, как сделать эффект кровотечения или как изменить наносимый урон от эффекта отравления ?
Последнее редактирование:
Регистрация зелья - (github.com) MyMod.java#L69Типа создаешь зелье
(github.com) MyMod.java#L74свой DamageSource
(github.com) PotionBleeding.java#L18 и чтобы оно ещё и заработало, то в переопределяешь метод isReady с возращением true (github.com) PotionBleeding.java#L13Ну не обязательно в update игрока, можно в своём Potion переопределить метод performEffect и там делать, что надо.
@SubscribeEvent
public void onPlayerTickEvent(TickEvent.PlayerTickEvent event) {
switch(event.phase) {
case END:
PotionEffect pe = event.player.getActivePotionEffect(MyMod.potion_bleeding);
if (pe != null && pe.getAmplifier() % 10 == 0) {//то что он есть и каждые полСекунды
event.player.attackEntityFrom(MyMod.damage_bleeding, 1F);
}
break;
default:break;
}
}
Регистрация зелья - (github.com) MyMod.java#L69Типа создаешь зелье
(github.com) MyMod.java#L74свой DamageSource
(github.com) PotionBleeding.java#L18 и чтобы оно ещё и заработало, то в переопределяешь метод isReady с возращением true (github.com) PotionBleeding.java#L13Ну не обязательно в update игрока, можно в своём Potion переопределить метод performEffect и там делать, что надо.
Регистрация зелья - (github.com) MyMod.java#L69
Само зелье - (github.com) PotionBleeding.java
--
(github.com) MyMod.java#L74
-
(github.com) PotionBleeding.java#L18 и чтобы оно ещё и заработало, то в переопределяешь метод isReady с возращением true (github.com) PotionBleeding.java#L13
-
Нужно как-то дать эффект для проверки - (github.com) EventsForge.java#L65
И снять эффект - (github.com) ItemMedicine.java#L18
if (amplifier % 10 == 0) {
10 % 10 = 0amplifier % 10 == 0
Каждые пол секунды. "10" на "20", каждую секунду, "10" на "5", четверть секунды.
if (amplifier % 10 == 0) {
//или
if (amplifier % 20 == 0) {
//или
if (amplifier % 5 == 0) {
damage_bleeding = new DamageSource("bleeding");
на damage_bleeding = new DamageSource("bleeding").setDamageBypassesArmor();
.(github.com) EventsForge.java#L63Нужно как-то дать эффект для проверки - (github.com) EventsForge.java#L65
И снять эффект - (github.com) ItemMedicine.java#L18