package org.bukkit.craftbukkit.entity;
import net.minecraft.entity.EntityCreature;
import net.minecraft.entity.EntityLivingBase;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Creature;
import org.bukkit.entity.LivingEntity;
import org.ultramine.mods.bukkit.interfaces.entity.IMixinEntity;
import org.ultramine.mods.bukkit.interfaces.entity.IMixinEntityCreature;
public class CraftCreature extends CraftLivingEntity implements Creature
{
public CraftCreature(CraftServer server, EntityCreature entity)
{
super(server, entity);
}
public void setTarget(LivingEntity target)
{
EntityCreature entity = getHandle();
IMixinEntityCreature entityMix = (IMixinEntityCreature) getHandle();
if(target == null)
{
entityMix.setEntityToAttack(null);
}
else if(target instanceof CraftLivingEntity)
{
entityMix.setEntityToAttack(((CraftLivingEntity) target).getHandle());
entityMix.setPathToEntity(entity.worldObj.getPathEntityToEntity(entity, entityMix.getEntityToAttack(), 16.0F, true, false, false, true));
}
}
public CraftLivingEntity getTarget()
{
IMixinEntityCreature entity = (IMixinEntityCreature) getHandle();
if(entity.getEntityToAttack() == null) return null;
if(!(entity.getEntityToAttack() instanceof EntityLivingBase)) return null;
return (CraftLivingEntity) ((IMixinEntity) entity.getEntityToAttack()).getBukkitEntity();
}
@Override
public EntityCreature getHandle()
{
return (EntityCreature) entity;
}
@Override
public String toString()
{
return this.entityName; // Cauldron
}
}