Pack Creation
Pack Creation
SkinEngine pack creation is easiest to understand if you split it into four separate systems:
pack.ymldefines the pack entry shown in the GUIconfigs/skins/*.ymldefines actual cosmetic contentconfigs/decorative_items.ymldefines helper item-models, usually for GUI visualsconfigs/images.ymldefines font-backed images and bitmap slices for titles and text graphics
That split is intentional. The plugin loads those systems separately, validates them separately, and uses them in different places at runtime.
What a full pack can contain
A full custom pack can contain:
pack.ymlconfigs/skins/*.ymlconfigs/images.ymlconfigs/decorative_items.ymlresourcepack/skins/...resourcepack/images/...resourcepack/decorative_items/...
The minimum working pack is smaller:
pack.yml- one skin file
- one matching folder inside
resourcepack/skins/
Everything else is optional and can be layered in later.
Read this section in order
If you are building a pack from scratch, this is the easiest reading order:
- Pack Workflow
- Pack Structure
- Pack Metadata
- Skin Files
- Skin Categories
- Skin Particles
- Decorative Items
- Images and Font Assets
- Example Custom Pack
Supported skin categories
SkinEngine currently supports these item keys in skin files:
swordmacetridentaxepickaxeshovelhoespearbowcrossbowfishing_rodshieldelytrahelmetchestplateleggingsboots
The plugin maps those from real Bukkit materials. The exact matching rules and state-specific resources are documented here:
What creators usually get wrong
Most pack problems come from mixing up the responsibilities of the three resource folders:
resourcepack/skins/is for real skin resourcesresourcepack/decorative_items/is for GUI item-model assetsresourcepack/images/is for font images and title graphics
If a pack feels messy, it usually means content from one of those systems ended up in the wrong place.
Recommended approach
Build packs in layers:
- get one skin working
- add more categories
- add particles if the skin needs them
- add decorative GUI assets
- add title images and polish
That flow matches how the plugin itself is structured, and it makes troubleshooting much easier when something goes wrong.