Creator Setup
In-game character creation with cursor-based UI
Overview
The Creator is an advanced character creation system that uses a mouse cursor-like interface for players to customize their character. It supports:
- First-join character creation (automatic for new players)
- Gender/race selection with customizable stages
- Interactive NPC preview with drag-to-spin
- Custom items from Nexo, ItemsAdder, or Oraxen for UI elements
- Camera positioning for cinematic experience
/clothes create, /clothes stage, /clothes exit) is deprecated and will be removed in a future update.
Preview
Quick Setup
- Create a dedicated area/world for character creation
- Stand where you want the camera to be and run
/clothes cursor setcamera - Add your overlay PNGs to the creator folders (see structure below)
- Run
/clothes cursor reloadto regenerate the config - Test with
/clothes cursor start
Overlay Folder Structure
The creator auto-detects overlays from these folders:
plugins/ClothesPlus/overlays/
├── hairs/
│ └── creator/
│ ├── female/ # Gender-specific folder
│ │ ├── Ponytail.png
│ │ └── Long_Hair.png
│ └── male/
│ ├── Buzz_Cut.png
│ └── Spiky.png
├── shirts/
│ └── creator/
│ ├── female/
│ │ └── Blouse.png
│ └── male/
│ └── Tshirt.png
├── skin-colours/
│ └── creator/
│ ├── steve-skin-1.png # Unisex (no gender folder)
│ ├── steve-skin-2.png
│ └── steve-skin-3.png
└── eyes/
└── creator/
├── female/
│ ├── 1.png # File name becomes option ID
│ └── 2.png
└── male/
├── 1.png
└── 2.png
Long_Hair.png → "Long Hair")
cursor_creator.yml Configuration
Basic Settings
# Enable/disable the cursor creator system
enabled: true
debug: false
First-Join Configuration
When enabled, new players see a "Create Character" button on first join:
# First-join character creation settings
first-join:
# Enable first-join character creation
enabled: true
# Delay in ticks before showing the UI after player joins (20 ticks = 1 second)
delay-ticks: 40
# Camera position for first-join UI
# Use /clothes cursor setjoincamera to set this to your current position
camera:
enabled: true
world: world
position:
x: 0.0
y: 100.0
z: 0.0
rotation:
yaw: 0.0
pitch: 0.0
# The "Create Character" button shown to new players
button:
text: '<green><bold>✦ Create Character ✦</bold></green>'
hover-text: '<dark_green><bold>✦ Create Character ✦</bold></dark_green>'
x: 0.0
y: 0.5
z: 0.5
scale: 1.0
# Commands to execute when player clicks "Create Character"
commands: []
Cursor Settings
Customize the cursor appearance and behavior:
# Cursor appearance and behavior
# Supports Nexo, ItemsAdder, or Oraxen custom items
cursor:
material: PAPER
custom-model-data: 10007
# Custom item from Nexo/ItemsAdder/Oraxen (optional)
# Formats: ':item_id:', ':nexo:item_id:', ':ia:item_id:', ':oraxen:item_id:'
custom-item-id: ''
scale: 0.2
sensitivity:
x: 0.5
y: 0.5
max-bounds:
x: 4.0
y: 5.5
glow: false
brightness:
enabled: true
block-light: 15
sky-light: 15
# Click effect - changes cursor appearance when clicking
click-effect:
enabled: true
custom-model-data: 10008
duration-ticks: 3
particle:
enabled: true
type: DUST_COLOR_TRANSITION
count: 2
color:
r: 255
g: 215
b: 0
Camera Settings
Set with /clothes cursor setcamera command:
# Main creator camera position
camera:
world: Novigrad
position:
x: 861.0556013815336
y: 83.0
z: 1115.5568421039548
rotation:
yaw: 119.73687
pitch: -0.8999923
distance: 3.5
NPC Preview Settings
# NPC Preview during character creation
npc-preview:
enabled: true
distance: 4.0
height-offset: -0.6
auto-spin: true
spin-speed: 2.0
# Zoom mode: "multiplier" or "fixed"
zoom-mode: fixed
zoom-multiplier: 0.6
zoom-position:
x: -0.3
y: -0.8
z: 2.5
# Drag-to-spin feature
drag-to-spin:
enabled: true
sensitivity: 1.8
min-drag-threshold: 0.2
hitbox-width: 1.2
hitbox-height: 1.9
# Drag cursor - shown while dragging to spin
drag-cursor:
material: PAPER
custom-model-data: 10009
scale: 0.2
glow: false
# Hover cursor - shown when hovering over NPC (indicates draggable)
hover-cursor:
enabled: true
material: PAPER
custom-model-data: 10010
scale: 0.2
glow: false
# Zoom hint text
zoom-hint:
text: '<black>Press <green>Q</green> to zoom in/out</black>'
position:
x: 2.35
y: 0.5
z: 0.0
scale: 0.4
- Hover Cursor: Cursor changes when hovering over the NPC to indicate it can be dragged to spin
- Race & Class System: Optional race and class selection with filtering
- Multi-Command Support: Commands can be chained with semicolons and include delays
Race and Class System
The optional Race and Class system allows for more advanced character creation. Races are detected from subfolders in non-clothing categories (eyes, skin-colours, hairs). Classes are detected from subfolders in clothing categories (shirts, outfits).
Selection Flow
Race → Class → Gender → Customization
Folder Structure for Races
overlays/
├── eyes/creator/
│ ├── male/
│ │ ├── human/Blue_Eyes.png ← Race "human"
│ │ └── elf/Glowing_Eyes.png ← Race "elf"
├── skin-colours/creator/
│ ├── male/
│ │ ├── human/Fair_Skin.png
│ │ └── elf/Pale_Skin.png
Folder Structure for Classes
Classes are detected from subfolders in clothing categories.
By default: shirts, outfits, clothes.
This is configurable!
# Customize which categories have CLASS subfolders
class-outfit-categories:
- shirts
- outfits
- clothes
- armor # Add your own!
overlays/
├── shirts/creator/ ← Listed in class-outfit-categories
│ ├── male/
│ │ ├── warrior/Plate_Armor.png ← Class "warrior"
│ │ ├── mage/Wizard_Robe.png ← Class "mage"
│ │ └── rogue/Leather_Vest.png ← Class "rogue"
├── eyes/creator/ ← NOT listed → subfolders = races
│ ├── male/
│ │ ├── human/Blue_Eyes.png ← Race "human"
│ │ └── elf/Glowing_Eyes.png ← Race "elf"
Race Configuration
# Restrict which classes each race can use
race-configurations:
human:
display-name: "Human"
allowed-classes:
- warrior
- mage
- rogue
elf:
display-name: "High Elf"
allowed-classes:
- mage
- ranger # Elves can be rangers
orc:
display-name: "Orc"
allowed-classes:
- warrior # Orcs can only be warriors
Class Configuration
# Restrict which races can use each class
class-configurations:
warrior:
display-name: "Warrior"
allowed-races:
- human
- orc
mage:
display-name: "Arcane Mage"
allowed-races:
- human
- elf
ranger:
display-name: "Forest Ranger"
allowed-races:
- elf # Only elves can be rangers
Running /clothes cursor regenerate will automatically detect races and classes from your folder structure and generate the appropriate sections.
Gender Section with Multi-Commands
Gender cycle options support multiple commands separated by semicolons. Use delay:XX to add a delay in ticks (20 ticks = 1 second).
Running /clothes cursor regenerate will auto-generate these commands based on your overlay folder structure.
# Gender section with auto-generated commands
gender:
title: <gradient:#FF69B4:#4169E1>━━ ⚥ Gender ━━</gradient>
cycle-enabled: true
show-navigation: true
cycle-options:
- id: gender_female
display: <light_purple>♀ Female
# Multi-command: reset skin, wait 1 second, apply first overlay from each category
command: 'clothes reset %player%; delay:20; clothes wear %player% eyes/creator/female/Black_Eyes,hairs/creator/female/Chestnut_Long,shirts/creator/female/White_Gown_Dress,skin-colours/creator/female/Dark_Skin'
- id: gender_male
display: <aqua>♂ Male
command: 'clothes reset %player%; delay:20; clothes wear %player% eyes/creator/male/Blue_Eyes,hairs/creator/male/Buzzcut_Black,shirts/creator/male/Black_Knight,skin-colours/creator/male/Dark_Skin'
buttons:
confirm:
text: <green>✓ Confirm
action:
type: SET_GENDER
Commands are separated by ; (semicolon). Use delay:XX to wait XX ticks before the next command.
Example: clothes reset %player%; delay:20; clothes wear %player% path1,path2
HUD Settings
# Hide HUD elements during creator for immersion
hud:
hide-exp-bar: true
hide-hotbar: true
hide-boss-bars: true
hide-chat: true
Custom Items Integration
The creator supports custom items from Nexo, ItemsAdder, and Oraxen for UI elements:
# Nexo custom item format
cursor:
custom-item-id: ':nexo:cursor_item:'
# or auto-detect: ':cursor_item:'
# ItemsAdder custom item format
cursor:
custom-item-id: ':ia:namespace:cursor_item:'
# or with default namespace: ':ia:cursor_item:'
# Oraxen custom item format
cursor:
custom-item-id: ':oraxen:cursor_item:'
:item_id: will try Nexo first, then ItemsAdder, then Oraxen.
Creator Commands
| Command | Description |
|---|---|
/clothes cursor start |
Start the creator for yourself |
/clothes cursor stop |
Stop your creator session |
/clothes cursor reload |
Reload cursor_creator.yml and regenerate from overlays |
/clothes cursor setcamera |
Set main camera to your current position |
/clothes cursor setjoincamera |
Set first-join camera to your current position |
/clothes cursor resetplayer <name> |
Reset a player's creator data (triggers first-join again) |
/clothes cursor resetall |
Reset all players' creator data |
/clothes cursor triggerjoin [player] |
Manually trigger the first-join UI for a player |
Tips & Best Practices
- Create a dedicated world or area for the character creator
- Use a clean, uncluttered background for the camera view
- Test the drag-to-spin feature with different sensitivity values
- Use slowness effect (
npcpreview.use_slowness_effect: true) to prevent players from walking away - Run
/clothes cursor reloadafter adding new overlays to the creator folders - Use custom model data or custom item plugins for branded UI elements
Troubleshooting
Cursor not appearing?
- Make sure
enabled: truein cursor_creator.yml - Check if the custom-model-data matches your resource pack
- If using custom items, verify the plugin is installed and item exists
Options not showing?
- Check folder structure - overlays must be in
category/creator/gender/ - Run
/clothes cursor reloadto regenerate config - Check console for any error messages
First-join not triggering?
- Player data is stored in
cursor_data.yml - Use
/clothes cursor resetplayer <name>to reset - Or use
/clothes cursor triggerjoin <name>to manually trigger
Skin resets to Mojang default on rejoin?
- ClothesPlus automatically reapplies your skin 1 second after joining, and again at 3 seconds as a backup
- If using SkinsRestorer or similar plugins, they may conflict - ensure ClothesPlus loads after them
- Check if overlays are stored in database (if MySQL is enabled) or in
data/overlays/folder - The skin cache system stores recently used combinations - try
/clothes cache clearif experiencing issues - Run
/overlaysto manually reapply your skin if needed