Home Discord Store Get ClothesPlus Login
Esc

Creator Configuration

Complete configuration reference for the cursor-based character creation system (creator/ folder).

Overview

The character creator configuration has been split from a single cursor_creator.yml into a creator/ folder with multiple files for better organization. If you're upgrading from an older version, the plugin auto-migrates the monolithic file into the new structure.

Auto-Migration: If a legacy cursor_creator.yml file exists, the plugin automatically splits it into the creator/ folder on startup and creates a backup at cursor_creator.yml.backup.


File Structure

  • creator
    • settings.yml
    • sections.yml
    • ui.yml
    • races.yml
    • classes.yml
    • panels.yml
FilePurpose
settings.ymlCore toggles, first-join, HUD, camera, NPC preview, transitions, blackout
sections.ymlMain menu layout, per-category sections (eyes, hairs, shirts, etc.), messages
ui.ymlCursor settings, UI backgrounds, navigation arrows, sounds, button style
races.ymlRace configuration data (display names, stats, allowed classes)
classes.ymlClass configuration data (display names, powers, allowed races)
panels.ymlPanel layout definitions

settings.yml

Core toggles and system configuration:

yaml
enabled: true
debug: false
creatorscannerdebug: false

# Button timer — delay between prev/next cycling (adjust to your MineSkin speed)
buttontimer: 3s

# Race & Class System toggles
# WARNING: Both must be true or both false. Mixed state causes issues.
race-system-enabled: true
class-system-enabled: true

# Height/Scale system (requires Minecraft 1.20.5+)
scale-system-enabled: true

First-Join Settings

yaml
first-join:
  enabled: false
  delay-ticks: 40  # 20 ticks = 1 second

  # Cinematic intro before character creation
  cinematic:
    enabled: true
    scenes:
      - first-join
      - city-overhaul
      - creation-area
    transition-ticks: 25
    skip-on-sneak: true

  # Commands to execute when starting character creation
  commands: clothes wear skin-colours/cursor/male/Fare_Skin

  camera:
    enabled: true
    world: world
    position:
      x: 0.0
      y: 100.0
      z: 0.0
    rotation:
      yaw: 0.0
      pitch: 0.0

Set the first-join camera position easily with /clothes cursor setjoincamera while standing at the desired location.

HUD Settings

yaml
hud:
  hide-exp-bar: true
  hide-hotbar: true
  hide-boss-bars: true
  hide-chat: true

Camera & NPC Preview

yaml
camera:
  world: world
  position:
    x: 0.0
    y: 100.0
    z: 0.0
  rotation:
    yaw: 0.0
    pitch: 0.0
  distance: 3.5

npc-preview:
  enabled: true
  distance: 4.0
  height-offset: -0.6
  auto-spin: true
  spin-speed: 2.0
  zoom-mode: fixed          # "fixed" or "multiplier"
  zoom-multiplier: 0.6
  zoom-position:
    x: -0.3
    y: -0.8
    z: 2.5
  position:
    x: -0.5
    y: 0.0
    z: 0.0
  drag-to-spin:
    enabled: true
    sensitivity: 1.8
    min-drag-threshold: 0.2
    max-updates-per-second: 10
    hitbox-width: 1.2
    hitbox-height: 1.9
    zoomed-hitbox-width: 0.5
    zoomed-hitbox-height: 1.5

Blackout Screen Effect

yaml
blackout:
  enabled: true
  itemsadder-font-image: clothesplus:blackout
  nexo-glyph: <glyph:blackout>
  fallback-color: §0
  scene-transition:
    fade-in: 10
    stay: 25
    fade-out: 10

ui.yml

Cursor appearance, UI layout, navigation, and sound effects:

yaml
cursor:
  material: PAPER
  custom-model-data: 10007
  custom-item-id: ''        # Nexo/ItemsAdder/Oraxen: ':item:', ':nexo:item:', etc.
  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:
    enabled: true
    custom-model-data: 10008
    duration-ticks: 3
SettingDescription
materialItem used as the cursor
custom-model-dataModel ID from the plugin's resource pack
custom-item-idCustom item from Nexo/ItemsAdder/Oraxen
scaleVisual size of the cursor
sensitivityMouse movement speed (X/Y)
max-boundsMaximum cursor travel distance
click-effectVisual feedback on click
yaml
navigation-arrows:
  prev:
    text: <black>« <black>Previous
    hover-text: <gold>« <yellow>Previous
    position: { x: -0.45, y: 0.5, z: 0.0 }
    scale: 0.55
  next:
    text: <black>Next <black>»
    hover-text: <yellow>Next <gold>»
    position: { x: 0.4, y: 0.5, z: 0.0 }
    scale: 0.55
  undo:
    text: <gray>✗ <black>Undo
    hover-text: <red>✗ <dark_red>Remove
    position: { x: 0.0, y: 0.65, z: 0.0 }
    scale: 0.55
  back:
    text: <red>↩ <black>Back
    hover-text: <dark_red>↩ <red>Back
    position: { x: 0.0, y: 0.8, z: 0.0 }
    scale: 0.55

sections.yml

Defines the main menu layout and all category sections (auto-generated by /clothes cursor regenerate):

yaml
main:
  title: <white><bold>⚚</bold><white>
  title-scale: 0.17
  cycle-enabled: false
  show-navigation: false
  buttons:
    select_gender:
      text: <light_purple>⚥ <black>Gender
      hover-text: <gradient:#FF69B4:#4169E1><bold>⚥ Select Gender</bold></gradient>
      position: { x: 0.5, y: 1.9, z: 0.0 }
      scale: 0.65
      action:
        type: OPEN_SECTION
        value: gender
    eyes:
      text: <aqua>👁 <black>Eyes
      action: { type: OPEN_SECTION, value: eyes }
    hairs:
      text: <light_purple>💇 <black>Hairstyles
      action: { type: OPEN_SECTION, value: hairs }
    eyebrows:
      text: <gold>🖌 <black>Eyebrows
      action: { type: OPEN_SECTION, value: eyebrows }
    shirts:
      text: <yellow>👕 <black>Shirts
      action: { type: OPEN_SECTION, value: shirts }
    pants:
      text: <aqua>👖 Pants
      action: { type: OPEN_SECTION, value: pants }
    shoes:
      text: <aqua>👟 Shoes
      action: { type: OPEN_SECTION, value: shoes }
    skin-colours:
      text: <gold>🎨 <black>Skin Tones
      action: { type: OPEN_SECTION, value: skin-colours }
    scale:
      text: <green>📏 <black>Height
      action: { type: OPEN_SECTION, value: scale }
    exit:
      text: <red>✕ <red>Exit
      action: { type: EXIT, value: '' }

Category Sections

Each overlay category becomes a section with cycle options. These are auto-generated by /clothes cursor regenerate:

yaml
sections:
  gender:
    title: <gradient:#FF69B4:#4169E1>━━ ⚥ Gender & Body Type ━━</gradient>
    cycle-enabled: true
    show-navigation: true
    cycle-options:
      - id: gender_female_alex
        display: <light_purple>♀ <black>Female <gray>(Alex)
        gender: female
        model-type: alex
        command: 'clothes reset; delay:5; clothes wear eyes/...,hairs/...'
      - id: gender_male_steve
        display: <blue>♂ <black>Male <gray>(Steve)
        gender: male
        model-type: steve
        command: 'clothes reset; delay:5; clothes wear eyes/...,hairs/...'
    buttons:
      confirm:
        text: <green>✓ Confirm Selection
        action: { type: SET_GENDER_AND_MODEL_TYPE, value: '' }

  eyes:
    title: <gradient:#87CEEB:#00CED1>━━ 👁 Eyes ━━</gradient>
    cycle-enabled: true
    show-navigation: true
    cycle-options:
      - id: eyes_female_brown
        display: <gold>● <white>Brown
        command: clothes wear eyes/cursor/female/brown
        gender: female

  scale:
    title: <gradient:#32CD32:#228B22>━━ 📏 Height ━━</gradient>
    cycle-enabled: true
    show-navigation: true
    cycle-options:
      - id: scale_tiny
        display: <gray>Tiny
        scale-value: 0.83
      - id: scale_normal
        display: <green>Normal
        scale-value: 1.0
      - id: scale_tall
        display: <aqua>Tall
        scale-value: 1.1

Run /clothes cursor regenerate to auto-detect overlays from your folder structure and generate the appropriate sections. The plugin scans subfolders and creates cycle options automatically.


Multi-Command Syntax

Cycle options support multiple commands separated by semicolons, with optional delays:

yaml
cycle-options:
  - id: gender_female
    display: <light_purple>♀ Female
    command: 'clothes reset; delay:5; clothes wear eyes/creator/female/brown,hairs/creator/female/blonde/Long'
SyntaxDescription
;Separate multiple commands
delay:XXWait XX ticks before next command (20 ticks = 1 second)
%player%Replaced with the target player's name

Admin Commands

CommandDescription
/clothes cursor reloadReload all creator configuration files
/clothes cursor regenerateRegenerate config from overlay folder structure
/clothes cursor resetplayer Reset a player's creator data (triggers first-join again)
/clothes cursor resetallReset all players' creator data
/clothes cursor triggerjoin [player]Manually trigger the first-join UI for a player
/clothes cursor cinematic record start Start recording a cinematic camera path
/clothes cursor cinematic record stopStop recording