package me.km.effects.active; import me.km.effects.ActiveEffectBase; import me.km.effects.EffectUtils; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.MobEffects; import net.minecraft.init.SoundEvents; import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.math.Vec3d; import net.minecraft.world.WorldServer; public class ElvishHorn extends ActiveEffectBase { @Override protected boolean executeEffect(EntityPlayerMP p, int power) { int time = 600 * power; EffectUtils.playSound(p, SoundEvents.ENTITY_GHAST_SCREAM); WorldServer w = p.getServerWorld(); Vec3d v = p.getPositionVector(); for(int i = 1; i <= power + 2; i++) { EffectUtils.playEffectCircle(w, v, EnumParticleTypes.NOTE, i, 6 * i); } EffectUtils.getPlayersOfGuild(p, power + 2).forEach(pl -> { EffectUtils.addPotionTo(p, MobEffects.SPEED, time, 1); }); return true; } @Override protected int getManaCost(int manaFactor) { return 5 * manaFactor; } }