# Skulls

### Features

* Customizable
* Search for heads by their name or tags
* GUI Based meaning that 90% of the things you do will be done in game.
* Favourite system, if you like a head you can simply favourite it later.
* Custom categories, need to organize heads better? Just make a new category and add the head.
* …and so much more.

### Developer API / Methods

* Skulls.getAPI()

```java
public interface SkullsAPI {

	/**
	 * Gets the skull with the given id.
	 *
	 * @param id The id of the skull.
	 * @return A skull object.
	 */
	Skull getSkull(final int id);

	/**
	 * It returns a skull item with the specified id
	 *
	 * @param id The id of the skull.
	 * @return An ItemStack
	 */
	ItemStack getSkullItem(final int id);

	/**
	 * Get all the skulls in the given category.
	 *
	 * @param category The category to get the skulls from.
	 * @return A list of Skulls.
	 */
	List<Skull> getSkulls(@NonNull final BaseCategory category);

	/**
	 * Get a list of skulls from the specified category.
	 *
	 * @param category The category of the skull you want to get.
	 * @return A list of Skulls.
	 */
	List<Skull> getSkulls(@NonNull final String category);

	/**
	 * This returns a list of skulls that match the given search phrase.
	 *
	 * @param phrase The phrase to search for.
	 * @return A list of Skulls that match the search phrase.
	 */
	List<Skull> getSkullsBySearch(@NonNull final String phrase);

	/**
	 * This returns a list of skulls, given a list of IDs.
	 *
	 * @param ids The list of ids to get the skulls for.
	 * @return A list of Skulls.
	 */
	List<Skull> getSkulls(@NonNull final List<Integer> ids);

	/**
	 * It returns the number of skulls in the given category.
	 *
	 * @param category The category of the skull.
	 * @return The number of skulls in the category.
	 */
	long getSkullCount(@NonNull final String category);

	/**
	 * Finds a SkullUser object for the given player.
	 *
	 * @param player The player to find the skull of.
	 * @return A SkullUser object.
	 */
	SkullUser findPlayer(@NonNull final Player player);

	/**
	 * Finds a player by their UUID
	 *
	 * @param uuid The UUID of the player you want to find.
	 * @return A SkullUser object.
	 */
	SkullUser findPlayer(@NonNull final UUID uuid);

	/**
	 * Find a category by its ID.
	 *
	 * @param id The id of the category to find.
	 * @return A Category object
	 */
	Category findCategory(@NonNull final String id);

	/**
	 * Get a list of all the custom categories.
	 *
	 * @return A list of categories.
	 */
	List<Category> getCustomCategories();
}

```

### Source Code

To view the source code for this plugin click this link: <https://www.github.com/tweetzy/skulls>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tweetzy.ca/official-plugins/skulls.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
