// Path: api/src/main/java/net/techcable/npclib/Animation.java
// @RequiredArgsConstructor
// public enum Animation {
//     /**
//      * Makes the npc act hurt
//      * <p/>
//      * Only applicable to living entities
//      */
//     HURT,
//     /**
//      * Makes the npc lie on the ground
//      * <p/>
//      * Only applicable to living entities
//      */
//     DEAD,
// 
//     // Human Animations
// 
//     /**
//      * Makes the npc swing its arm
//      * <p/>
//      * Only applicable to human entities
//      */
//     ARM_SWING(HumanNPC.class),
//     /**
//      * Makes the npc eat the item it is holding
//      * <p/>
//      * Only applicable to human entities
//      */
//     EAT(HumanNPC.class),
//     /**
//      * A critical hit animation
//      * <p/>
//      * Only applicable to human entities
//      */
//     CRITICAL(HumanNPC.class),
//     /**
//      * A 'magic' critical hit animation
//      * <p/>
//      * Only applicable to human entities
//      */
//     MAGIC_CRITICAL(HumanNPC.class);
// 
// 
//     private final Class<? extends NPC> appliesTo;
// 
//     /**
//      * Get the type of npc this animation can be applied to
//      *
//      * @return the type of npc this animation can be applied to
//      */
//     public Class<? extends NPC> getAppliesTo() {
//         return appliesTo;
//     }
// 
//     private Animation() {
//         this(LivingNPC.class);
//     }
// }
// 
// Path: api/src/main/java/net/techcable/npclib/PathNotFoundException.java
// public class PathNotFoundException extends Exception {
//     public PathNotFoundException(Location to, Location from) {
//         super(String.format("Could not find a path to %s, %s, %s from %s, %s, %s", to.getX(), to.getY(), to.getZ(), from.getX(), from.getY(), from.getZ()));
//     }
// }


import net.techcable.npclib.Animation;
import net.techcable.npclib.PathNotFoundException;
import org.bukkit.Location;
import org.bukkit.entity.LivingEntity;

package net.techcable.npclib.nms;



public interface ILivingNPCHook extends INPCHook {

    public LivingEntity getEntity();

    public void look(float pitch, float yaw);

    public void onTick();

    public void setName(String s);


// Path: api/src/main/java/net/techcable/npclib/Animation.java
// @RequiredArgsConstructor
// public enum Animation {
//     /**
//      * Makes the npc act hurt
//      * <p/>
//      * Only applicable to living entities
//      */
//     HURT,
//     /**
//      * Makes the npc lie on the ground
//      * <p/>
//      * Only applicable to living entities
//      */
//     DEAD,
// 
//     // Human Animations
// 
//     /**
//      * Makes the npc swing its arm
//      * <p/>
//      * Only applicable to human entities
//      */
//     ARM_SWING(HumanNPC.class),
//     /**
//      * Makes the npc eat the item it is holding
//      * <p/>
//      * Only applicable to human entities
//      */
//     EAT(HumanNPC.class),
//     /**
//      * A critical hit animation
//      * <p/>
//      * Only applicable to human entities
//      */
//     CRITICAL(HumanNPC.class),
//     /**
//      * A 'magic' critical hit animation
//      * <p/>
//      * Only applicable to human entities
//      */
//     MAGIC_CRITICAL(HumanNPC.class);
// 
// 
//     private final Class<? extends NPC> appliesTo;
// 
//     /**
//      * Get the type of npc this animation can be applied to
//      *
//      * @return the type of npc this animation can be applied to
//      */
//     public Class<? extends NPC> getAppliesTo() {
//         return appliesTo;
//     }
// 
//     private Animation() {
//         this(LivingNPC.class);
//     }
// }
// 
// Path: api/src/main/java/net/techcable/npclib/PathNotFoundException.java
// public class PathNotFoundException extends Exception {
//     public PathNotFoundException(Location to, Location from) {
//         super(String.format("Could not find a path to %s, %s, %s from %s, %s, %s", to.getX(), to.getY(), to.getZ(), from.getX(), from.getY(), from.getZ()));
//     }
// }


// Path: api/src/main/java/net/techcable/npclib/nms/ILivingNPCHook.java
import net.techcable.npclib.Animation;
import net.techcable.npclib.PathNotFoundException;
import org.bukkit.Location;
import org.bukkit.entity.LivingEntity;

package net.techcable.npclib.nms;



public interface ILivingNPCHook extends INPCHook {

    public LivingEntity getEntity();

    public void look(float pitch, float yaw);

    public void onTick();

    public void setName(String s);


    public void navigateTo(Location l) throws PathNotFoundException;
