mirror of
https://github.com/KAMKEEL/CustomNPC-Plus-API.git
synced 2026-11-14 10:54:44 +00:00
63 lines
1.6 KiB
Java
63 lines
1.6 KiB
Java
package noppes.npcs.api.handler;
|
|
|
|
import noppes.npcs.api.entity.IPlayer;
|
|
import noppes.npcs.api.handler.data.IProfile;
|
|
|
|
/**
|
|
* Manages player profiles, which allow players to have multiple save slots
|
|
* for their CNPC+ data.
|
|
*/
|
|
public interface IProfileHandler {
|
|
|
|
/**
|
|
* Returns the profile for the given player.
|
|
*
|
|
* @param player the player.
|
|
* @return the player's profile.
|
|
*/
|
|
IProfile getProfile(IPlayer player);
|
|
|
|
/**
|
|
* Switches the player to a different profile slot.
|
|
*
|
|
* @param player the player.
|
|
* @param slotID the slot ID to switch to.
|
|
* @return true if the switch was successful.
|
|
*/
|
|
boolean changeSlot(IPlayer player, int slotID);
|
|
|
|
/**
|
|
* Checks whether a profile slot exists for the player.
|
|
*
|
|
* @param player the player.
|
|
* @param slotID the slot ID.
|
|
* @return true if the slot exists.
|
|
*/
|
|
boolean hasSlot(IPlayer player, int slotID);
|
|
|
|
/**
|
|
* Removes a profile slot from the player.
|
|
*
|
|
* @param player the player.
|
|
* @param slotID the slot ID to remove.
|
|
* @return true if the slot was removed.
|
|
*/
|
|
boolean removeSlot(IPlayer player, int slotID);
|
|
|
|
/**
|
|
* Returns the player data for a specific profile slot without switching to it.
|
|
*
|
|
* @param player the player.
|
|
* @param slotID the slot ID.
|
|
* @return the player data for the slot.
|
|
*/
|
|
IPlayerData getSlotPlayerData(IPlayer player, int slotID);
|
|
|
|
/**
|
|
* Saves the current slot data for the player.
|
|
*
|
|
* @param player the player.
|
|
*/
|
|
void saveSlotData(IPlayer player);
|
|
}
|