mirror of
https://github.com/KAMKEEL/CustomNPC-Plus-API.git
synced 2026-11-14 22:34:44 +00:00
40 lines
1.2 KiB
Java
40 lines
1.2 KiB
Java
package noppes.npcs.api.roles;
|
|
|
|
import net.minecraft.entity.player.EntityPlayerMP;
|
|
import noppes.npcs.api.entity.IPlayer;
|
|
import noppes.npcs.api.handler.data.ITransportLocation;
|
|
|
|
/**
|
|
* Represents the transporter role for an NPC, allowing players to teleport
|
|
* between unlocked transport locations.
|
|
*/
|
|
public interface IRoleTransporter extends IRole {
|
|
|
|
/** @return the display name of this transporter NPC. */
|
|
String getName();
|
|
|
|
/** @return the transport location ID assigned to this NPC. */
|
|
int getTransportId();
|
|
|
|
/**
|
|
* Unlocks the given transport location for the player.
|
|
*
|
|
* @param player the player.
|
|
* @param location the transport location to unlock.
|
|
*/
|
|
void unlock(IPlayer<EntityPlayerMP> player, ITransportLocation location);
|
|
|
|
/** @return the transport location assigned to this NPC, or null if none. */
|
|
ITransportLocation getTransport();
|
|
|
|
/** @return true if this NPC has a transport location assigned. */
|
|
boolean hasTransport();
|
|
|
|
/**
|
|
* Assigns a transport location to this NPC.
|
|
*
|
|
* @param location the transport location.
|
|
*/
|
|
void setTransport(ITransportLocation location);
|
|
}
|