Repository navigation
Localization
Every player-facing string in eGens is keyed and rendered through
MiniMessage. Locales live in plugins/eGens/lang/. Two are bundled:
-
id_ID.yml— Bahasa Indonesia (default). -
en_US.yml— English (fallback for any key missing from the active locale).
config.yml:
locale:
default: id_ID # the fallback when a player has no setting
available: [id_ID, en_US]A player can change their personal locale via /egens settings.
- Copy
en_US.ymlto<new-tag>.yml(e.g.fr_FR.yml). - Translate the values. Keys are stable across locales — never rename them.
- Add the tag to
locale.availableinconfig.yml. - Run
/egens reload.
Use BCP-47 / Bukkit-style locale tags (en_US, id_ID, fr_FR,
pt_BR, de_DE, …). Hyphens (en-US) are not accepted — use
underscores.
All values are MiniMessage. Quick reminders:
- Colors:
<red>,<#9be7a7>,<gradient:#33ffaa:#3399ff>. - Styles:
<bold>,<italic>,<underlined>,<strikethrough>,<obfuscated>. - Placeholders:
<key>wherekeyis the placeholder name listed in the source string. Example:command.give.success: "<prefix><#9be7a7>Gave</#9be7a7> <#ffd166><amount> <tier></#ffd166>"hasamountandtieras placeholders. - Custom tag
<sc:Text>converts the wrapped text to small-caps Unicode (ᴛᴇxᴛ) — used by the bundled style to mirror the GUI typography in chat. - Legacy color codes (
&a,&l,&#FF6600) are auto-translated on load.
When a key is missing from the active locale, eGens falls back to
en_US. If the key is also missing there, the literal key is
rendered (e.g. command.give.success) so the missing translation
is obvious without crashing anything.
The bundled defaults share a consistent palette so new keys feel native:
| Element | MiniMessage tag |
|---|---|
| Prefix | <gradient:#33ffaa:#3399ff><b>eGens</b></gradient> |
| Body | <#cfcfcf> |
| Success accent | <#9be7a7> |
| Warning accent | <#ffd166> |
| Error accent | <#ff8a8a> |
| Muted | <#7a7a7a> |
| Section dim | <#3a3a3a> |
Stick to these when adding new locales for a coherent look across chat + GUI + bossbars.
A handful of strings are intentionally English:
- Permission node strings (
egens.admin.give, …) — they're technical identifiers. - The
prefixline — its visual identity is part of the brand. - Material ids inside the lore (e.g.
IRON_INGOT) — they're resolved by the client based on its own locale.
Tip on Ko-fi keeps maintenance going.
eGens Docs
Getting started
Commands
Configuration
Generators
Integrations
Operations