1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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!");
- }
- }
- }
|