package net.minecraft.entity.boss;
import net.minecraft.entity.Entity;
import net.minecraft.entity.IEntityMultiPart;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
public class EntityDragonPart extends Entity
{
/** The dragon entity this dragon part belongs to */
public final IEntityMultiPart entityDragonObj;
/** The name of the Dragon Part */
public final String name;
public EntityDragonPart(IEntityMultiPart par1, String par2, float par3, float par4)
{
super(par1.func_82194_d());
this.setSize(par3, par4);
this.entityDragonObj = par1;
this.name = par2;
}
protected void entityInit() {}
/**
* (abstract) Protected helper method to read subclass entity data from NBT.
*/
protected void readEntityFromNBT(NBTTagCompound par1NBTTagCompound) {}
/**
* (abstract) Protected helper method to write subclass entity data to NBT.
*/
protected void writeEntityToNBT(NBTTagCompound par1NBTTagCompound) {}
/**
* Returns true if other Entities should be prevented from moving through this Entity.
*/
public boolean canBeCollidedWith()
{
return true;
}
/**
* Called when the entity is attacked.
*/
public boolean attackEntityFrom(DamageSource par1DamageSource, int par2)
{
return this.isEntityInvulnerable() ? false : this.entityDragonObj.attackEntityFromPart(this, par1DamageSource, par2);
}
/**
* Returns true if Entity argument is equal to this Entity
*/
public boolean isEntityEqual(Entity par1Entity)
{
return this == par1Entity || this.entityDragonObj == par1Entity;
}
}