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

55 lines
1.2 KiB
Java

package noppes.npcs.api.handler;
import noppes.npcs.api.ISkinOverlay;
/**
* Manages skin overlays applied to an entity or player.
* Overlays are indexed by ID and rendered on top of the base skin.
*/
public interface IOverlayHandler {
/**
* Adds or replaces an overlay at the given ID.
*
* @param id the overlay ID.
* @param overlay the skin overlay to add.
*/
void add(int id, ISkinOverlay overlay);
/**
* Returns the overlay at the given ID.
*
* @param id the overlay ID.
* @return the skin overlay, or null if not found.
*/
ISkinOverlay get(int id);
/**
* Checks whether an overlay exists at the given ID.
*
* @param id the overlay ID.
* @return true if an overlay exists; false otherwise.
*/
boolean has(int id);
/**
* Removes the overlay at the given ID.
*
* @param id the overlay ID.
* @return true if an overlay was removed; false otherwise.
*/
boolean remove(int id);
/**
* Returns the number of active overlays.
*
* @return the overlay count.
*/
int size();
/**
* Removes all overlays.
*/
void clear();
}