12345678910111213141516171819202122232425262728293031 |
- package me.km.effects.active;
- import me.km.api.Utils;
- import me.km.effects.ActiveEffectBase;
- import net.minecraft.entity.player.EntityPlayerMP;
- import net.minecraft.util.math.Vec3d;
- public class Jump extends ActiveEffectBase
- {
- @Override
- protected boolean executeEffect(EntityPlayerMP p, int power)
- {
- if(!p.onGround)
- {
- return false;
- }
- Vec3d v = p.getLookVec();
- double groundLength = Math.sqrt(v.xCoord * v.xCoord + v.zCoord * v.zCoord);
- Vec3d goal = new Vec3d(v.xCoord, groundLength * 1.732050807568877, v.zCoord); // 60° shot
- goal = goal.normalize();
- goal = goal.scale(Math.sqrt((power + 0.85d) / 0.26) / 4);
- Utils.setVelocity(p, goal.xCoord, goal.yCoord, goal.zCoord);
- return true;
- }
- @Override
- protected int getManaCost(int manaFactor)
- {
- return 2 * manaFactor;
- }
- }
|