Configuration
The paper module loads four files on onEnable/loadConfiguration(): database.properties, config.yml, categories.yml, and messages.yml. All can be reloaded at runtime with /heads reload (see Commands). The master module (background catalog worker) loads its own separate database.properties and config.yml — see Catalog Import & Resolve Worker for those.
database.properties
A standard HikariCP JDBC properties file, copied out of the jar on first load — see the AstralCore database docs for the field reference. The shipped default:
This must point at the same heads schema the master module's worker writes into (see Catalog Import & Resolve Worker — data model); the paper module only reads/writes the heads table, never queued_heads.
config.yml
A single prices map, keyed by HeadEntity.Source (CATALOG or PLAYER), loaded into HeadsConfiguration. A Source missing from the map means heads of that source aren't for sale — the buy-head action sends not-for-sale instead of charging.
Key | Type | Description |
|---|---|---|
| double | Cost to buy a head of that source, charged via |
| String | The |
|
| Rendered currency name, exposed as |
categories.yml
A categories map of catalog browse categories, loaded into CategoriesConfiguration (Map<String, HeadCategory>), each entry keyed by its own id. Each HeadCategory is itself a category-namespaced placeholder (see Placeholders) — category.id is matched against HeadEntity#category() (a catalog head's category column) to group heads for browsing.
Key | Type | Description |
|---|---|---|
| String | The category id; should match the map key and the |
|
| The icon (material/name/lore) rendered for this category in a menu. |
The shipped default ships 10 categories: alphabet, animals, blocks, decoration, food-drinks, humanoid, humans, miscellaneous, monsters, plants.
messages.yml
Loaded via loadEnum("messages.yml", HeadsMessages.class). Every key is a MiniMessage string.
Key | Enum constant | Used by |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
| Any action/command whose async pipeline fails (economy service missing, database error, menu-open failure, no |
Menu & dialog blueprints
The paper module's MenuContainer/DialogContainer load whatever blueprints exist under this plugin's own menus/ and dialogs/ data folders (ConfigurationManager#loadFolder) — unlike categories.yml/config.yml, none are bundled as jar resources, so the heads-main and heads-list menu blueprints referenced by the commands and search-heads action must be authored on the server. See the AstralCore menu documentation for the blueprint format.