Files
2026-03-09 16:20:07 -04:00

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);
}