Changed EntityTileDamage to extend entityLiving

This allow for entities to target this entity if it was an attack source
This commit is contained in:
Robert Seifert 2013-06-09 07:49:11 -04:00
parent 0c6b9153ca
commit e4327c7cc2
2 changed files with 22 additions and 25 deletions

View file

@ -4,6 +4,7 @@ import universalelectricity.core.vector.Vector3;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.potion.PotionEffect;
@ -27,7 +28,7 @@ import cpw.mods.fml.relauncher.SideOnly;
* @author DarkGuardsman
*
*/
public class EntityTileDamage extends Entity implements IEntityAdditionalSpawnData
public class EntityTileDamage extends EntityLiving implements IEntityAdditionalSpawnData
{
private TileEntity host;
@ -120,7 +121,7 @@ public class EntityTileDamage extends Entity implements IEntityAdditionalSpawnDa
}
@Override
protected void readEntityFromNBT(NBTTagCompound nbttagcompound)
public void readEntityFromNBT(NBTTagCompound nbttagcompound)
{
// TODO Auto-generated method stub
@ -132,7 +133,7 @@ public class EntityTileDamage extends Entity implements IEntityAdditionalSpawnDa
}
@Override
protected void writeEntityToNBT(NBTTagCompound nbttagcompound)
public void writeEntityToNBT(NBTTagCompound nbttagcompound)
{
// TODO Auto-generated method stub
@ -151,25 +152,12 @@ public class EntityTileDamage extends Entity implements IEntityAdditionalSpawnDa
}
@Override
protected void entityInit()
{
// TODO Auto-generated method stub
}
@Override
public boolean canBeCollidedWith()
{
return true;
}
@SideOnly(Side.CLIENT)
public boolean func_98034_c(EntityPlayer par1EntityPlayer)
{
return true;
}
@SideOnly(Side.CLIENT)
@Override
public boolean isInRangeToRenderVec3D(Vec3 par1Vec3)
@ -209,4 +197,10 @@ public class EntityTileDamage extends Entity implements IEntityAdditionalSpawnDa
}
return false;
}
@Override
public int getMaxHealth()
{
return this.host != null && host instanceof IHpTile ? ((IHpTile) host).getMaxHealth() : 100;
}
}

View file

@ -1,21 +1,14 @@
package dark.library.damage;
import universalelectricity.prefab.CustomDamageSource;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSourceIndirect;
import cpw.mods.fml.common.registry.LanguageRegistry;
import universalelectricity.prefab.CustomDamageSource;
public class TileDamageSource extends CustomDamageSource
{
protected Object damageSource;
public static final CustomDamageSource bullets = ((CustomDamageSource) new CustomDamageSource("Bullets").setProjectile()).setDeathMessage("%1$s was filled with holes!");
public static final CustomDamageSource laser = ((CustomDamageSource) new CustomDamageSource("Laser").setFireDamage()).setDeathMessage("%1$s was vaporized!");
public TileDamageSource(String damageName, Object attacker)
{
super(damageName);
@ -25,7 +18,7 @@ public class TileDamageSource extends CustomDamageSource
@Override
public Entity getEntity()
{
return damageSource instanceof Entity ? (Entity) damageSource : null;
return damageSource instanceof Entity ? ((Entity) damageSource) : null;
}
@Override
@ -33,4 +26,14 @@ public class TileDamageSource extends CustomDamageSource
{
return this.damageSource != null && this.damageSource instanceof EntityLiving && !(this.damageSource instanceof EntityPlayer);
}
public static TileDamageSource doBulletDamage(Object object)
{
return (TileDamageSource) ((CustomDamageSource) new TileDamageSource("Bullets", object).setProjectile()).setDeathMessage("%1$s was filled with holes!");
}
public static TileDamageSource doLaserDamage(Object object)
{
return (TileDamageSource) ((CustomDamageSource) new TileDamageSource("Laser", object).setProjectile()).setDeathMessage("%1$s was vaporized!");
}
}