Usage
Let's look at how SkinEngine works
If you have not installed the plugin yet, start with Installation.
The main idea
SkinEngine lets you give players custom item and armor looks without changing how the item actually behaves in gameplay.
Put simply:
- the item still behaves like the normal Minecraft item
- SkinEngine changes how it looks
- that look is backed by a resource pack
So when we talk about "skins" in SkinEngine, we usually mean custom visuals, not custom item stats or gameplay changes.
Packs
SkinEngine is built around packs. A pack is a collection of skins and related resources, like custom images and decorative items, grouped together in one place.
Packs make content easier to:
- organize
- update
- enable later
- expand over time
If you plan to keep adding cosmetics to your server, packs are one of the main reasons SkinEngine stays manageable. More importantly, they make it easier to treat cosmetics like actual content, not random loose files.
That helps if you want to:
- release themed cosmetic collections
- keep your store fresh over time
- rotate seasonal content
- work with artists or external creators
- give your server a more polished identity
You can browse SkinEngine packs here: SkinEngine Packs
Pack delivery is configured here:
Skins
A skin is a visual variant for an item category.
Depending on the setup, that can mean:
| Item Types | Supported Materials | Supported Models |
|---|---|---|
| Swords | ALL - Wooden, Stone, Copper, Iron, Diamond, Netherite | Generate from 2D textures, or Custom models |
| Maces | ALL (Single-material item) | Generate from 2D textures, or Custom models |
| Tridents | ALL (Single-material item) | Custom models |
| Axes | ALL - Wooden, Stone, Copper, Iron, Diamond, Netherite | Generate from 2D textures, or Custom models |
| Pickaxes | ALL - Wooden, Stone, Copper, Iron, Diamond, Netherite | Generate from 2D textures, or Custom models |
| Shovels | ALL - Wooden, Stone, Copper, Iron, Diamond, Netherite | Generate from 2D textures, or Custom models |
| Hoes | ALL - Wooden, Stone, Copper, Iron, Diamond, Netherite | Generate from 2D textures, or Custom models |
| Spears | ALL - Wooden, Stone, Copper, Iron, Diamond, Netherite | Generate from 2D textures, or Custom models |
| Bows | ALL (Single-material item) | Generate from 2D textures, or Custom models |
| Crossbows | ALL (Single-material item) | Generate from 2D textures, or Custom models |
| Fishing Rods | ALL (Single-material item) | Generate from 2D textures, or Custom models |
| Shields | ALL (Single-material item) | Custom models |
| Elytras | ALL (Single-material item) | Generate from 2D textures |
| Armor Types | Supported Materials | Supported Models | Notes |
|---|---|---|---|
| Helmets | ALL - Leather, Chainmail, Copper, Iron, Diamond, Netherite | Generate from 2D textures, or Custom models | Custom-modelled helmets supported! |
| Chestplates | ALL - Leather, Chainmail, Copper, Iron, Diamond, Netherite | Generate from 2D textures | Minecraft doesn't support 3D armor |
| Leggings | ALL - Leather, Chainmail, Copper, Iron, Diamond, Netherite | Generate from 2D textures | Minecraft doesn't support 3D armor |
| Boots | ALL - Leather, Chainmail, Copper, Iron, Diamond, Netherite | Generate from 2D textures | Minecraft doesn't support 3D armor |
[!NOTE]
Coppermaterials require Minecraft 1.21.9+,Spearsrequire Minecraft 1.21.11+
[!TIP] The important part is that SkinEngine treats skins as content you can organize, permission-lock, preview, and sell, not just one-off texture swaps.
If you are creating them yourself:
Resource pack flow
SkinEngine does not stop at defining skins. It also handles the resource pack side of the workflow.
That usually means:
- SkinEngine reads your packs and configs
- It automatically builds the resource pack
- It either hosts the pack itself or merges into another plugin's resource pack setup
- Players receive the pack and can see the skins in-game in seconds
[!TIP] This is one of the bigger differences between SkinEngine and more limited alternatives. SkinEngine is a resource pack engine, not just any cosmetics-adding plugin.
Useful config sections:
resource-pack.host.self-hostresource-pack.merge.pathsresource-pack.display.prompt/se zip- Pack Structure
The GUI
For most servers, the GUI is the main part players interact with.
Players can:
- open the menu
- insert an item
- browse available packs
- preview skins
- filter the list by all, unlocked, or locked skins
- apply a skin
Admins can customize how that GUI looks through guis.yml. Start with:
Permissions
SkinEngine uses permissions in two main ways.
Plugin access
These decide who can use commands like:
/se/se reload/se zip
Main reference: Permissions
Skin access
Individual skins also use their own permission nodes. That lets you use skins for:
- donor perks
- rank rewards
- crate rewards
- shop content
... or integrate them with any other plugin. There is a lot you can do with that.
[!TIP] One of the best parts about skins is that they're 100% EULA compliant. That means you can sell skins while following Mojang's rules and keeping your server non-P2W. It's a win-win for both your players and yourself!
Economy support
If skins should cost something, SkinEngine can connect to:
So you can use SkinEngine on a simple free server, or later tie it into a shop, points system, or progression setup.
Main config:
Messages and languages
SkinEngine keeps visible text separate from the rest of the plugin logic. That gives you control over:
- player-facing messages
- GUI text
- sounds
- language files
- per-player language switching
[!TIP] All player-facing messages, item names and lores, GUI titles, and other visible text can be translated. You can also build a multi-language setup where the language is chosen manually or automatically for your players.
[!TIP] SkinEngine is set up so everything you and your players can see (and hear) is configurable. There are no hardcoded values. You can change just about everything in the plugin if you want to. In short: we provide the framework, and you shape the rest around your server.
Main pages:
Most useful sections:
Third-party plugin compatibility
SkinEngine can work on its own, but it also works well alongside other plugins.
Two common examples:
- resource pack plugins through merge paths, including setups like ItemsAdder, Nexo, or Oraxen
- custom item plugins whose items should be protected from SkinEngine skins
SkinEngine can detect custom items from ItemsAdder, Oraxen, Nexo, and CraftEngine through settings.prevent-skins.integrations. Use settings.prevent-skins.blocked-nbt for other plugins or your own item markers.
Item detection and resource pack merging are separate. resource-pack.merge.paths only controls where the generated pack is delivered.
What to understand first
If you are new to SkinEngine, these are the 4 most useful ideas to keep in mind early on:
- Skins are visuals, not gameplay changes.
- Packs are how content is organized.
- The resource pack is required for players to see skins properly.
- Permissions and economy are optional layers, not the core of the plugin.