Configuration
Custom Skin uses a YAML configuration file located at plugins/CustomSkin/config.yml.
Full Configuration
# API Connection Settings
api:
# Base URL of the Custom Skin API
url: https://ccapi.thomas.md
# Request timeout in seconds
timeout_seconds: 30
# Your server's API key for authentication
plugin_api_key: ""
# Unique server identifier (shows in dashboard)
server_id: default
# Skin Behavior
skin:
# Automatically send dashboard link when players join
send_link_on_join: true
# Messages (supports MiniMessage format)
messages:
prefix: "<gray>[<gold>Custom Skin</gold>]</gray> "
cape_applied: "<green>Cape applied successfully!"
cape_cleared: "<green>Cape removed."
cape_not_found: "<red>Cape type not found: <white>%cape%"
error: "<red>Failed to apply skin: <white>%error%"
no_permission: "<red>You don't have permission to do that."
player_only: "<red>This command can only be used by players."
usage: "<yellow>Usage: <white>/skin <link|refresh|status|reload>"
applying: "<yellow>Applying changes, please wait..."API Settings
api.url
The base URL of your Custom Skin API instance.
- Default:
https://ccapi.thomas.md - For self-hosted: Use your own domain
api.plugin_api_key
Authentication key for your server. Required for:
- Generating dashboard tokens
- WebSocket connection
- Receiving real-time updates
api.server_id
A unique identifier for your server. This is displayed in the dashboard so players know which server they’re configuring for.
api.timeout_seconds
HTTP request timeout. Increase this if you have slow network connectivity.
Skin Settings
skin.send_link_on_join
When enabled, players automatically receive a clickable dashboard link when they join.
Set to false if you prefer players to manually run /skin link.
Message Customization
All messages support MiniMessage formatting:
messages:
prefix: "<gradient:gold:yellow>[Custom Skin]</gradient> "
cape_applied: "<green>✓</green> <white>Your cape has been applied!"Placeholders
Some messages support placeholders:
| Placeholder | Description |
|---|---|
%cape% | Cape type name |
%error% | Error message |
%player% | Player name |
Reload Configuration
To reload configuration without restarting:
/skin reloadRequires customskin.reload permission.
Last updated on