BloodMagic/1.7.2/java/WayofTime/alchemicalWizardry/common/entity/mob/EntityDemon.java
2014-02-14 15:20:20 -05:00

95 lines
2.3 KiB
Java

package WayofTime.alchemicalWizardry.common.entity.mob;
import net.minecraft.entity.EntityAgeable;
import net.minecraft.entity.passive.EntityTameable;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentText;
import net.minecraft.world.World;
import WayofTime.alchemicalWizardry.ModItems;
import WayofTime.alchemicalWizardry.common.IDemon;
import WayofTime.alchemicalWizardry.common.items.DemonPlacer;
public class EntityDemon extends EntityTameable implements IDemon
{
private boolean isAggro;
private int demonID;
public EntityDemon(World par1World, int demonID)
{
super(par1World);
this.demonID = demonID;
}
@Override
public void setSummonedConditions()
{
this.setAggro(true);
}
@Override
public boolean isAggro()
{
return this.isAggro;
}
@Override
public void setAggro(boolean aggro)
{
this.isAggro = aggro;
}
@Override
public EntityAgeable createChild(EntityAgeable entityageable)
{
// TODO Auto-generated method stub
return null;
}
protected void dropFewItems(boolean par1, int par2)
{
ItemStack drop = new ItemStack(ModItems.demonPlacer, 1, this.getDemonID());
DemonPlacer.setOwnerName(drop, this.getOwnerName());
if (this.hasCustomNameTag())
{
drop.setStackDisplayName(this.getCustomNameTag());
}
this.entityDropItem(drop, 0.0f);
}
public void onLivingUpdate()
{
super.onLivingUpdate();
if (!this.isAggro() && worldObj.getWorldTime() % 100 == 0)
{
this.heal(1);
}
}
public void sendSittingMessageToPlayer(EntityPlayer owner, boolean isSitting)
{
if (owner != null && owner.worldObj.isRemote)
{
ChatComponentText chatmessagecomponent;
if (isSitting)
{
chatmessagecomponent = new ChatComponentText("I will stay here for now, Master.");
} else
{
chatmessagecomponent = new ChatComponentText("I shall follow and protect you!");
}
owner.addChatComponentMessage(chatmessagecomponent);
}
}
public int getDemonID()
{
return this.demonID;
}
}