package me.km.effects.passive; import me.km.KajetansMod; import me.km.api.Module; import me.km.api.ModuleListener; import me.km.api.Utils; import me.km.effects.Effect; import me.km.effects.EffectUtils; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.MobEffects; import net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; public class TargetEntity extends ModuleListener { public TargetEntity(Module m) { super(m); } @SubscribeEvent(receiveCanceled = false) public void avoidTargetting(LivingSetAttackTargetEvent e) { EntityLivingBase ent = e.getTarget(); if(!(ent instanceof EntityPlayer) || !KajetansMod.worldManager.getWorldPreferences(ent.world).skills) { return; } EntityPlayer p = (EntityPlayer) ent; if(EffectUtils.getEffectLevel(p, Effect.SNEAKING) >= 1 && p.isPotionActive(MobEffects.INVISIBILITY)) { e.setCanceled(true); } else if(EffectUtils.getEffectLevel(p, Effect.SCENT) >= 1 && e.getEntity() instanceof EntityMob) { this.getModule().send(p, "Ein " + Utils.formatString(e.getEntity().getName()) + " hat dich bemerkt!"); } } }