Modifying Skills
This is a step tutorial to configure AuraSkills Correctly.
AuraSkills — Setup, Config, Messages, and Menus
This document is written against the current AuraSkills wiki and fixes the common mistakes people make when copying outdated or half-correct setups.
It covers:
understanding the real file structure
configuring
config.ymlchanging languages and messages the right way
customizing menus the right way
2. Real file structure
A correct high-level structure looks like this:
plugins/AuraSkills/
├── config.yml
├── skills.yml
├── stats.yml
├── xp_requirements.yml
├── xp_multipliers.yml
├── messages/
├── menus/
├── rewards/
├── loot/Important notes:
config.ymlis the main config file for general plugin behaviorskills.ymlhandles skill setupstats.ymlexists separately; stat options are not all insideconfig.ymlmessages are not a single
messages.ymlfile by default — AuraSkills uses amessages/folder with language filesmenus are configured in
menus/
3. Main configuration (config.yml)
config.yml)3.1 What config.yml is actually for
config.yml is actually forThe main config handles general and miscellaneous options such as:
SQL / storage
language behavior
plugin hooks
action bar
boss bar
blocked worlds and regions
anti-AFK
jobs / income
death behavior
leaderboards
It is not the place for all skill-specific and stat-specific behavior.
3.2 SQL setup
AuraSkills uses an sql: section in config.yml.
Typical structure:
What matters
enabled: turns SQL storage on or offtype: currentlymysqlhost,port,database,username,password: database connection valuesload_delay: useful for networks syncing across servers
When to use SQL
Use MySQL when:
you run multiple servers sharing one player database
you need central storage
you want more robust persistence than local-only storage
If you are on one server only and do not need cross-server syncing, keeping SQL disabled is simpler.
3.3 Languages
AuraSkills language behavior is controlled in config.yml, while the actual text lives in the messages/ folder.
Relevant options:
Meaning
default_language: the language used by default, matching a file likemessages_en.ymltry_detect_client_language: iftrue, the plugin tries to use the player client's language when possiblelanguages: list of allowed language codes players can switch to using/skills lang <language>
Important rule
If you add a custom language code here, there must be a matching language file inside the messages/ folder.
3.4 Hooks
Hooks are under hooks:.
Example structure:
Why this matters
Vaultis needed for economy integrations and some reward/income systemsLuckPermsis useful when rewards or permissions are part of progressionWorldGuardcan block XP gain in selected regions
Do not invent generic one-line hook keys if your file already has named plugin subsections.
3.5 Action bar
The action bar config is more detailed than just enabled: true.
Example:
What each important option does
enabled: master switch for all AuraSkills action barsidle: shows the idle action bar, including things like health/mana at the bottomability: sends ability notifications through the action bar; if disabled, those messages go to chat insteadxp: shows XP gain action bar updates while levelingmaxed: controls action bar behavior when XP is gained in a maxed skillupdate_period: update rate in ticksuse_suffix: formats values like1.2k,3.5m
Practical recommendation
For most servers:
leave
enabled,ability, andxpondisable
idleif you dislike constant HUD clutterincrease
update_periodif you suspect lag from frequent updates
3.6 Boss bar
Boss bars are configured separately from the action bar.
Example:
Key options
enabled: enable boss bar XP displaymode:singleormultistay_time: how long the bar stays after XP gain stopsupdate_every: update intervalanimate_progress: enables progress animation
When to use it
Use the boss bar only if you want large, obvious feedback. For cleaner UI, many servers keep it off and rely on the action bar instead.
3.7 Jobs and income
AuraSkills includes a jobs system in config.yml.
Important structure:
What this is for
lets players earn money from XP gain
optionally forces players to select which skills count as active jobs
can batch Vault payments to reduce performance cost
If you are not building a jobs/economy system, leave this disabled.
3.8 World and gameplay restrictions
Important global controls include:
What these do
start_level: starting skill level; default is usually0enable_skill_commands: enables commands like/farmingand/miningblocked_worlds: blocks natural XP gain in listed worldsdisabled_worlds: disables most gameplay features in listed worldsdisable_in_creative_mode: blocks XP gain in creative modecheck_block_replace.enabled: prevents player-placed blocks from giving XP when broken
Strong recommendation
Keep block-replace checks enabled unless you have a specific compatibility problem. Turning this off makes XP farming exploits much easier.
3.9 Anti-AFK
AuraSkills has built-in anti-AFK controls.
Relevant structure:
The exact checks can vary, but the system is there to block repetitive stationary XP farming.
4. Messages system
4.1 Where messages actually are
AuraSkills uses a messages/ folder, not just one messages.yml file.
Typical language file pattern:
If your server language is English and default_language: en, that file is the main one you edit.
4.2 What messages files control
The messages files control translatable text for:
chat messages
command messages
menu text content
other plugin text output
Important distinction:
messages files change the text itself
menus files control GUI structure and most menu styling
That distinction matters because many broken guides mix them together.
4.3 Formatting rules for messages
AuraSkills uses MiniMessage formatting by default.
Examples:
Legacy Bukkit codes like &a still work, but MiniMessage is preferred.
Important warning
Do not alter placeholders in {placeholder} format unless you know exactly what they are for. Those are replaced by the plugin with runtime values or linked message content.
4.4 Language switching
Server-wide default language comes from config.yml, but players can also use:
That only works for languages listed in the languages: array and backed by actual message files.
4.5 Editing messages safely
When changing a message file:
keep the YAML indentation intact
do not rename keys unless you know the plugin expects a different key
do not remove placeholders inside
{}unless you want to break the outputonly edit menu text here if you want different wording, not different menu styling
5. Menus system
5.1 What menus are
Menus are inventory GUIs used by commands like /skills, /stats, and the skill-specific progression views.
The wiki lists these built-in menu types:
skillsstatslevel_progressionsourcesabilitiesleaderboard
Each has its own file in the menus/ folder.
5.2 Where menu files are
Menu config files are stored in:
Each menu has its own file.
5.3 Top-level sections in a menu file
The main top-level sections you can see in a menu file are:
titlesizefillitemstemplatescomponentsformatsoptions
Not every menu uses all of them, but these are the important sections documented by the wiki.
5.4 title
titletitle is the inventory title shown at the top.
Example:
This supports MiniMessage formatting.
5.5 size
sizesize is the number of rows, not the raw slot count.
Example:
That means 6 rows, with 9 slots per row.
A lot of generic GUI guides incorrectly describe this as 54 directly. AuraSkills menu docs describe size as row count from 1 to 6.
5.6 fill
fillThe fill section controls the background item used in empty slots.
Example:
Required keys:
enabledmaterial
The fill item's display name is automatically made invisible.
5.7 items
itemsitems are for single fixed items in a menu.
Example:
The exact keys inside an item can include material, display name, lore, and click actions.
AuraSkills menus are built on the Slate library, so menu item configuration follows that style.
5.8 templates
templatestemplates are used for repeating items generated multiple times from a shared layout.
Typical use cases:
level track items
source lists
repeated entries in a progression or sources menu
If you want to redesign repeating generated content cleanly, this section matters more than items.
5.9 components
componentscomponents define reusable lore snippets.
This helps avoid repeating the same lore block inside multiple templates or items.
5.10 formats
formatsformats are reusable key-value text formats often used by placeholders that generate arrays or repeated lore entries.
This is especially useful in complex templates.
5.11 options
optionsSome menu files include an options section with menu-specific settings.
Examples documented by the wiki include:
skills menu options
bar_lengthpercent_formatcurrent_xp_format
level_progression options
use_level_as_amountover_max_stack_amountitems_per_pagestart_leveltrack
sources options
source_startsource_enditems_per_pageuse_tracktrackxp_format
These control generated layout and formatting, not just cosmetics.
5.12 Menu formatting rules
AuraSkills menu files use MiniMessage by default.
Examples:
Legacy & color codes still work, but MiniMessage is the preferred format.
5.13 Menu placeholders
AuraSkills menus support three important placeholder styles.
1. Single curly braces
These are plugin context placeholders for dynamic data.
2. Double curly braces
The wiki describes these as message placeholders looked up from the messages file under:
menus.[menu_name].[placeholder]fallback:
menus.common.[placeholder]
This is what allows one menu config to work across languages while pulling text from message files.
3. PlaceholderAPI placeholders
These require PlaceholderAPI and any needed expansions.
5.14 Custom menus
AuraSkills supports custom menu files created manually in the menus/ folder.
Example file path:
Custom menus can be opened with:
Custom menus support:
normal item config
PlaceholderAPI placeholders
click actions
But according to the docs, custom menus do not support the same advanced templates, components, formats, and options behavior as the built-in menu system.
6. Proper setup workflow
6.1 First startup
install plugin
start server once
stop server
6.2 Decide language behavior
set
default_languagechoose whether to use
try_detect_client_languageensure the correct language files exist
6.3 Configure core behavior in config.yml
config.ymlAt minimum review:
sqlhooksaction_barboss_barjobsblocked_worldsdisabled_worldsdisable_in_creative_modecheck_block_replaceenable_skill_commands
6.4 Edit message text in messages/messages_<lang>.yml
messages/messages_<lang>.ymlUse this for:
wording
translated text
menu labels only when you want different text
Do not use it to redesign GUI layout.
6.5 Edit menu appearance in menus/*.yml
menus/*.ymlUse this for:
inventory titles
fill background
item materials
lore layout
click actions
menu navigation
repeated templates and progression tracks
6.6 Reload carefully
If the plugin supports reload cleanly for your changes, use:
If menu/message behavior looks wrong after editing, do a full server restart instead.
Last updated