Skip to main content

SkyGens Modern — Design System

Visual identity for every player-facing text in the plugin (chat messages, GUI titles, item names, lores). All strings live in src/main/resources/locale/en.yml and use MiniMessage formatting.

Core principles​

  1. One system everywhere — every module uses the same line formats; only the accent colors change.
  2. RGB first — hex colors and gradients, no flat legacy colors on values (structural grays excepted).
  3. Icons carry the color, labels stay gray — a stat line is identified by its tinted icon, not by coloring the whole line.
  4. Bold is reserved for item names, section headers and button titles. Never on body text.
  5. Locale keys are contracts — they are hardcoded in Java (localeService.getNIComponent(...)). Never rename a key without updating the Java side. Placeholders {0}, {1}… are positional; avoid apostrophes in parameterized strings.

Palette​

Module accents (chat prefixes, section headers)​

ModuleGradient
GENS (generators, levels)#75fc03 → #cafc8e
BANK (money)#0aa42b → #87fc57
TOKENS#f6971b → #ffde64
TOOL (omnitool)#4fd9ff → #bcf0ff
BAZAAR / EVENT / PRESTIGE#ffb700 → #ffd261
BOOSTER#5500ff → #9d6cff
ISLAND#85FFBD → #c8ffe0
COLLECTION#85FFBD → #FFFB7D
ADMIN#d20000 → #fc1743
LOOT / combat (arena, dungeon, bestiary)#fc1743 → #ff7a93

Value colors​

Value typeFormat
Money<#0aa42b>$<#87fc57>{amount} — always this exact pair
Tokens<#ffde64>{n} <#f6971b>Tokens
Exp<#85FFBD>{n} <#FFFB7D>XP
Damage<#ee3e3e> (dark pair #ac3131)
Generic bonus %<#cafc8e>+{n}%
Tier / gold-ish values<#ffd261>
Neutral numbers / names<white>
Errors<#ff5a5a>
Structure (labels, separators, hints)<gray> / <dark_gray>

Brand​

Gens-branded items (armor, omnitool, backpacks): <b><gradient:#d20000:#fc1743>Name</gradient>.

Line formats​

Chat message​

<b><gradient:MODULE>NAME</gradient></b> <dark_gray>» <gray>Body with <colored>values<gray>.
  • Success/info body: <gray> with colored values.
  • Error body: <#ff5a5a> with colored values, ends with !.

Example:

<b><gradient:#75fc03:#cafc8e>GENS</gradient></b> <dark_gray>» <gray>Generator upgraded to <#ffd261>Tier V<gray>.

Lore stat line​

<#ICON_HEX>✦ <gray>Label <dark_gray>» <VALUE>
  • ✦ is tinted with the color of the value type (money line = green ✦, tokens = yellow ✦…). Neutral stats use the module accent.
  • Special icons: ❤ health (#ff5a5a), ⚡ interval/speed (#4fd9ff).
  • Ranges: <white>{0}<dark_gray>/<white>{1}.

Action line (always last lore lines)​

<#ffd261>▸ Left-Click <gray>to upgrade
<#ffd261>▸ Right-Click <gray>to collect
  • Destructive action: <#ff5a5a>▸ Right-Click <gray>to cancel.
  • Single-button items just use ▸ Click.

States​

<#87fc57>✔ Currently selected <#87fc57>✔ Unlocked <gray>Status <dark_gray>» <#87fc57>✔ Enabled
<#ff5a5a>✖ Locked <gray>Status <dark_gray>» <#ff5a5a>✖ Disabled

Locked requirements: <gray>Reach <#ff5a5a>level {n} <gray>to unlock it.

Section headers (in lores)​

<b><gradient:MODULE>Information</gradient>
<b><gradient:MODULE>Bonuses</gradient>

Stat lines under a header are indented with one leading space.

GUI titles​

<dark_gray>Module » Sub

Examples: Bazaar » Orders, Omnitool » Select Type, Generator Shop ({page}). No underline, no bold.

Buttons (GUI item titles)​

<b><#hex>Title — single hex, bold. Green #87fc57 = positive (buy, confirm, condense), gold #ffd261 = sell/neutral, red #ff5a5a = invalid/error states, #4fd9ff = info/toggles.

Loot rarities​

<b><#bdbdbd>COMMON <b><#87fc57>UNCOMMON <b><#4fd9ff>RARE <b><#c77dff>EPIC <b><gradient:#ffb700:#ffd261>LEGENDARY</gradient>

Enchant names​

Theme gradient, no "Enchant" suffix. Examples: Token Fortune #ffb700→#ffd261, Fortune #75fc03→#cafc8e, Exp Finder #85FFBD→#FFFB7D, Pyro Bloom #ff7a00→#ffb26b, dupes #f72585→#ff8fab, condensed #c77dff→#e0aaff, Momentum #9d6cff→#c9b3ff.

Full item example​

<b><gradient:#87fc57:#0aa42b>Wheat Generator</gradient></b>

<dark_gray>Generator Tier 4

<#ffd261>✦ <gray>Tier <dark_gray>» <#ffd261>IV
<#75fc03>✦ <gray>Production <dark_gray>» <#cafc8e>12<gray>/min
<#75fc03>✦ <gray>Stock <dark_gray>» <white>142<dark_gray>/<white>500
<#87fc57>✦ <gray>Drop price <dark_gray>» <#0aa42b>$<#87fc57>1,250

<#ffd261>▸ Left-Click <gray>to upgrade
<#ffd261>▸ Right-Click <gray>to collect

Do / Don't​

  • ✅ New message? Copy an existing line of the same kind and swap label/value/accent.
  • ✅ Keep ''-free strings: You do not have instead of You don't have.
  • ❌ No legacy § codes, no <yellow>/<green> on values (use the hex palette).
  • ❌ No small-caps unicode, no CLICK HERE blocks, no bold body text.
  • ❌ Never change placeholder indices or counts in an existing key.