Citizens2/src/main/java/net/citizensnpcs/trait/waypoint/WaypointProvider.java

44 lines
1.0 KiB
Java

package net.citizensnpcs.trait.waypoint;
import net.citizensnpcs.api.ai.Goal;
import net.citizensnpcs.api.npc.NPC;
import net.citizensnpcs.api.util.DataKey;
import net.citizensnpcs.editor.Editor;
import org.bukkit.entity.Player;
public interface WaypointProvider {
/**
* Creates an {@link Editor} with the given {@link Player}.
*
* @param player
* The player to link the editor with
* @return The editor
*/
public Editor createEditor(Player player);
/**
*
* @param npc
* The attached {@link NPC} the goal is for.
* @return The {@link Goal} to attach to the NPC.
*/
public Goal getGoal(NPC npc);
/**
* Loads from the specified {@link DataKey}.
*
* @param key
* The key to load from
*/
public void load(DataKey key);
/**
* Saves to the specified {@link DataKey}.
*
* @param key
* The key to save to
*/
public void save(DataKey key);
}