BloodMagic/src/main/java/WayofTime/alchemicalWizardry/api/spell/MeleeSpellCenteredWorldEffect.java

34 lines
1 KiB
Java

package WayofTime.alchemicalWizardry.api.spell;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.Vec3;
import net.minecraft.world.World;
public abstract class MeleeSpellCenteredWorldEffect extends MeleeSpellWorldEffect
{
protected float range;
public MeleeSpellCenteredWorldEffect(int power, int potency, int cost)
{
super(power, potency, cost);
}
@Override
public void onWorldEffect(World world, EntityPlayer entityPlayer)
{
Vec3 lookVec = entityPlayer.getLook(range).normalize();
int x = (int) (entityPlayer.posX + lookVec.xCoord * range);
int y = (int) (entityPlayer.posY + entityPlayer.getEyeHeight() + lookVec.yCoord * range);
int z = (int) (entityPlayer.posZ + lookVec.zCoord * range);
this.onCenteredWorldEffect(entityPlayer, world, x, y, z);
}
public void setRange(float range)
{
this.range = range;
}
public abstract void onCenteredWorldEffect(EntityPlayer player, World world, int posX, int posY, int posZ);
}