1234567891011121314151617181920212223242526272829303132333435363738 |
- package me.km.effects.active;
- import java.util.Collection;
- import me.km.api.Utils;
- import me.km.effects.ActiveEffectBase;
- import me.km.effects.EffectUtils;
- import net.minecraft.entity.EntityLivingBase;
- import net.minecraft.entity.player.EntityPlayerMP;
- import net.minecraft.init.SoundEvents;
- import net.minecraft.util.EnumParticleTypes;
- import net.minecraft.util.math.BlockPos;
- import net.minecraft.util.math.Vec3d;
- public class Elevation extends ActiveEffectBase
- {
- @Override
- protected boolean executeEffect(EntityPlayerMP p, int power)
- {
- BlockPos target = EffectUtils.getPlayerTarget(p, power);
- Vec3d v = new Vec3d(target.getX(), target.getY(), target.getZ());
- EffectUtils.playSound(p, SoundEvents.ENTITY_FIREWORK_TWINKLE_FAR);
- EffectUtils.playSpell(p, power);
- Collection<EntityLivingBase> list = EffectUtils.getEntsOfNotGuild(p, p.world, v, 3);
- EffectUtils.playEffectCircle(p.getServerWorld(), v, EnumParticleTypes.SPELL, 3, 30);
- double shootPower = 1 + power / 20d;
- list.stream().forEach((en) ->
- {
- Utils.setVelocity(en, 0, shootPower, 0);
- });
- return true;
- }
- @Override
- protected int getManaCost(int manaFactor)
- {
- return 5 * manaFactor;
- }
- }
|