**Set any skin. On any player. At any time.**
NovaSkin gives server administrators and players full control over
Minecraft skins and capes — no restarts, no delays, instant results.
---
## ✨ Features
### Skin Management
- Set skins by **Minecraft username**, direct **image URL**, or **Base64 upload**
- Apply skins to **online and offline players** alike
- **Reset** any player to their real Mojang skin instantly
- **Copy** a skin from one player to another in one command
- Per-player **skin history** (last 20 changes with timestamps)
- **Force re-fetch** to refresh a skin from Mojang on demand
### Cape Support
- Capes are **automatically detected and attached** when fetching a
Mojang skin (if that account owns a cape, it comes with it)
- Attach a cape from **any Mojang username** or a **direct URL**
- **Remove a cape** independently without touching the skin
- Skin and cape are always preserved separately — no accidental overwrites
### Storage & Performance
- **SQLite** out of the box — zero setup required
- **MySQL** support with HikariCP connection pooling for larger networks
- **In-memory TTL cache** (configurable, default 6 hours) — skips API
calls entirely on repeated requests
- All API calls, database queries, and skin fetches are **fully async**
— the main thread is never blocked
### ️ Skin Aliases
- Save frequently-used skins as named aliases (`/skin alias set ninja Notch`)
- Apply aliases to any player with one command
- Manage your alias library with list, remove, and apply
### Integrations
- **PlaceholderAPI** — expose skin name, source, cape status, and more
to scoreboards, tab lists, and chat plugins
- **Mineskin API** — generate signed textures from image URLs with
optional API key for higher rate limits
- **Mojang Session API** — fetches full signed profiles including capes
### ️ Admin Controls
- Full **permission node tree** — granular control per group
- **Cooldown system** with bypass permission
- **Audit trail** — every skin change logs who set it and when
- `/skin reload` to hot-reload config and messages without restart
---
## Commands
| Command | Description |
|---|---|
| `/skin set [player] <name>` | Set skin from a Minecraft username |
| `/skin set [player] url:<url>` | Set skin from image URL |
| `/skin reset [player]` | Restore real Mojang skin |
| `/skin copy <from> <to>` | Copy skin between players |
| `/skin cape set <name\|url:URL> [player]` | Attach a cape |
| `/skin cape remove [player]` | Remove cape, keep skin |
| `/skin info [player]` | View skin source, cape, set-by |
| `/skin history [player]` | Last 10 skin changes |
| `/skin alias set/remove/list/apply` | Manage skin aliases |
| `/skin update [player]` | Force re-fetch from Mojang |
| `/skin upload <player>` | Apply skin via Base64 paste |
| `/skin reload` | Reload config & messages |