Эффект эффекта

Итак, мне не ответили на мой вопрос, посему я создал новую тему.

Код:
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import net.minecraft.util.DamageSource;
import net.minecraftforge.event.entity.living.LivingEvent;

public class AlchemyEventHooks
{
    @SubscribeEvent
    public void onEntityUpdate(LivingEvent.LivingUpdateEvent event)
    {
        //entityLiving in fact refers to EntityLivingBase so to understand everything about this part go to EntityLivingBase instead
        if (event.entityLiving.isPotionActive(AlchemyBase.ObsessionEffect))
        {
            event.entityLiving.setAIMoveSpeed(event.entityLiving.getAIMoveSpeed() - (event.entityLiving.getAIMoveSpeed() / 3));

            if (event.entityLiving.worldObj.rand.nextInt(20) == 0)
            {
                event.entityLiving.attackEntityFrom(DamageSource.generic, event.entityLiving.getHealth() - (event.entityLiving.getHealth() / 3));
            }
        }
    }
}


Это пробный эффект одержимости, который должен сделать здоровье жертвы (тут с вероятностью 1 к 20, но мне нужно узнать, как сделать один раз и точно) меньше на треть. Не работает. Что такое?
 
Этот эвент зарегистрирован?
 
Можно поинтересоваться у профессионала... Что это значит? (да, я тупой)
 
Вот что я имел виду:
Код:
MinecraftForge.EVENT_BUS.register(new AlchemyEventHooks());
В init желательно регистрировать его.
 
Насчет эффекта. Как сделать разные действия при разных уровнях эффекта? Отравление 3 дамажит круче Отравления 1
[merge_posts_bbcode]Добавлено: 19.03.2016 22:54:49[/merge_posts_bbcode]

Код:
if (event.entityLiving.getActivePotionEffect(AlchemyBase.ObsessionEffect).getDuration() <= 0)
{
    
}
Это вызывает краш. Что не так? (я пробовал и <= и ==)
 
Назад
Сверху