package com.github.tuserver.api.entity.AI; import com.github.tuserver.api.entity.Entity; public interface INavigate { public void setAvoidsWater(boolean flag); public boolean getAvoidsWater(); public void setBreakDoors(boolean flag); /** * Sets if the entity can enter open doors */ public void setEnterDoors(boolean flag); public boolean getCanBreakDoors(); /** * Sets if the path should avoid sunlight */ public void setAvoidSun(boolean flag); /** * Sets the speed */ public void setSpeed(double speed); /** * Sets if the entity can swim */ public void setCanSwim(boolean flag); /** * Gets the maximum distance that the path finding will search in. */ public float getPathSearchRange(); /** * Returns the path to the given coordinates */ public IPathEntity getPathToXYZ(double x, double y, double z); /** * Try to find and set a path to XYZ. Returns true if successful. */ public boolean tryMoveToXYZ(double x, double y, double z, double p_75492_7_); /** * Returns the path to the given EntityLiving */ public IPathEntity getPathToEntityLiving(Entity entity); /** * Try to find and set a path to EntityLiving. Returns true if successful. */ public boolean tryMoveToEntityLiving(Entity entity, double d0); /** * sets the active path data if path is 100% unique compared to old path, * checks to adjust path for sun avoiding ents and stores end coords */ public boolean setPath(IPathEntity path, double flag); /** * gets the actively used PathEntity */ public IPathEntity getPath(); public void onUpdateNavigation(); /** * If null path or reached the end */ public boolean noPath(); /** * sets active PathEntity to null */ public void clearPathEntity(); }