package joshie.harvest.api.npc;
import joshie.harvest.api.npc.task.TaskElement;
import joshie.harvest.api.town.Town;
import net.minecraft.entity.EntityAgeable;
import net.minecraft.util.math.BlockPos;
/** Implemented on my npc entities **/
public interface NPCEntity {
/** Returns the npc this entity represents **/
NPC getNPC();
/** Returns this as an entity **/
EntityAgeable getAsEntity();
/** Returns a BlockPos representing this entities location **/
BlockPos getPos();
/** Returns the Town this npc belongs to **/
Town getTown();
/** Set the pathing for the entity
* @param tasks an ordered array of tasks for this npc to complete**/
void setPath(TaskElement... tasks);
}