BiomesOPlenty/src/minecraft/biomesoplenty/potions/PotionEventHandler.java

42 lines
1.1 KiB
Java
Raw Normal View History

package biomesoplenty.potions;
import net.minecraft.entity.monster.EntityCreeper;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.living.EnderTeleportEvent;
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
2013-05-25 09:33:37 +00:00
import biomesoplenty.api.Potions;
2013-05-31 10:34:02 +00:00
public class PotionEventHandler
{
@ForgeSubscribe
2013-05-31 10:34:02 +00:00
public void onEntityUpdate(LivingUpdateEvent event)
{
2013-05-31 10:34:02 +00:00
if (event.entityLiving.isPotionActive(Potions.paralysis.get()))
{
event.entityLiving.motionX = 0.0;
if (!event.entityLiving.isAirBorne) {
event.entityLiving.motionY = 0.0;
}
event.entityLiving.motionZ = 0.0;
if (event.entityLiving instanceof EntityCreeper) {
((EntityCreeper)event.entityLiving).setCreeperState(-1);
}
if (event.entityLiving.getActivePotionEffect(Potions.paralysis.get()).getDuration() == 0)
{
event.entityLiving.removePotionEffect(Potions.paralysis.get().id);
return;
}
}
}
2013-05-31 10:34:02 +00:00
@ForgeSubscribe
public void onEndermanTP(EnderTeleportEvent event)
{
2013-05-31 10:34:02 +00:00
if (event.entityLiving.isPotionActive(Potions.paralysis.get())) {
event.setCanceled(true);
}
}
}