aether-legacy/src/main/java/com/legacy/aether/entities/projectile/EntityLightningKnife.java
2020-07-18 21:45:56 -07:00

48 lines
1.2 KiB
Java

package com.legacy.aether.entities.projectile;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.effect.EntityLightningBolt;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World;
public class EntityLightningKnife extends EntityProjectileBase {
public EntityLightningKnife(World world) {
super(world);
}
public EntityLightningKnife(World world, EntityLivingBase thrower) {
super(world, thrower);
}
@Override
protected void onImpact(MovingObjectPosition object) {
if (!this.worldObj.isRemote)
{
if (object.typeOfHit == MovingObjectPosition.MovingObjectType.ENTITY)
{
summonLightning();
}
else if (object.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK)
{
if (this.worldObj.getBlock(object.blockX, object.blockY, object.blockZ).getCollisionBoundingBoxFromPool(this.worldObj, object.blockX, object.blockY, object.blockZ) != null)
{
summonLightning();
}
}
}
}
private void summonLightning()
{
this.worldObj.addWeatherEffect(new EntityLightningBolt(this.worldObj, this.posX, this.posY, this.posZ));
this.setDead();
}
@Override
public void onCollideWithPlayer(EntityPlayer entityplayer) {
}
}