Jobs is an optional feature that allows players to select skills as jobs to earn money while gaining XP.
To use jobs, the jobs.enabled option must be set to true in config.yml
Income for all XP sources is configured under jobs.income
If use_xp is true, sources will give a multiple of the XP gained based on default.income_per_xp
If use_expression is true, sources will give XP based on the result of default.expression
The available variables include xp, base_xp (value without multipliers), level (skill level), power, and skill_average
If use_final_xp is set to false, the calculation for income_per_xp will exclude all XP multipliers
Job selection is configured under jobs.selection
Players select a skill as a job using a new item in the level progression menu of a skill (gold_ingot by default)
If require_selection is set to false, players will gain income for all skills and selection will be hidden
The default_job_limit is the maximum number of skills that can be selected as jobs at the same time
The limit can be changed per-player using the auraskills.jobs.limit.[number] permission node (ex: auraskills.jobs.limit.4)
The disable_unselected_xp option will block gaining XP in all skills that are not active jobs if set to true
Income can also be configured per-source inside the sources files
Keys can be added to both the default section or an individual source
The following keys can be added to a source:
income_per_xp - The income to give per XP gained, works the same as the value in config.yml
income - A fixed decimal value for the money to give
income_expression - An expression to calculate the income, works the same as the expression in config.yml
Menu files will automatically update to add the new items and components to show job selection
However, you must manually add a new line `- component: skill_job_active` to the lore of the skill template in menus/skills.yml under `- component: max_level`
Everything will still work if this line isn't manually added, players just won't see the "Active Job" displayed in the skills menu
New jobs commands:
`/skills jobs add <job> [user]` - Joins a specific job for yourself or a different player
`/skills jobs remove <job> [user]` - Quits a specific job for yourself or a different player
`/skills jobs removeall [user]` - Quits all jobs for yourself or a different player
When user is not specified, these commands use the auraskills.command.jobs permission (op by default)
To specify a different user, the sender must also have the auraskills.command.jobs.other permission (op by default)
New jobs PlaceholderAPI placeholders:
`%auraskills_jobs_list%` - Lists active jobs in a comma separated list of default skill names in all lowercase
`%auraskills_jobs_list_formatted%` - Lists active jobs in a comma separated list with the skill display name of the config default_language
`%auraskills_jobs_count%` - Gets the number of jobs the player currently has active
`%auraskills_jobs_limit%` - Gets the maximum number of jobs the player is allowed to have active at the same time
Add trait commands for adding trait modifiers directly to players
`/skills trait add <player> <trait> <name> <value> [silent] [stack]` - Adds a trait modifier to a player with the given name
`/skills trait remove <player> <name> [silent]` - Removes a trait modifier from a player with the given name
`/skills trait list [player] [trait]` - Lists trait modifiers of a player
`/skills trait removeall [player] [trait] [silent]` - Removes all trait modifiers from a player
The functionality of these commands is almost identical to the modifier commands for stat modifiers
These commands use the existing auraskills.command.modifier permission
Add item and armor trait commands for adding trait modifiers to items
`/skills item|armor trait add <trait> <value> [lore]` - Adds a trait modifier to the held item, with lore by default
`/skills item|armor trait remove <trait>` - Removes a trait modifier from the item held
`/skills item|armor trait list` - Lists all trait modifiers on the item held
`/skills item|armor trait removeall` - Removes all trait modifiers from the item held
Where item|armor is shown above, only item or armor should be specified, not both
These commands use the existing auraskills.command.item.modifier or auraskills.command.armor.modifier permissions
Like stat modifiers, trait modifiers use PDC and do not depend on lore to function
Add item ignore commands to ignore interactions on specific items
This allows you to disable mana abilities on custom items to allow separate right-click functionality
`/skills item ignore add` - Adds the tag that ignores the held item from mana ability interactions
`/skills item ignore remove` - Removes the tag that ignores the held item from mana ability interactions
Add format_title option to menus to allow disabling color and MiniMessage parsing of menu titles
To use, manually add it to the options section of a menu file (create it if it doesn't exist)
Add PlaceholderAPI support to level up chat message
Add `%auraskills_xp_bar_[skill]%` placeholder that gets the XP progress bar shown in the menus
Changes
Optimize menus to significantly improve performance for idle open menus
Change the default skills and level_progression menu files to fully use block style YAML syntax
The default contexts materials of the skill template in the level_progression menu now match the materials in the skills menu
Add symbol placeholder support to item modifier lore message
Automatic backups will now be skipped if the server has too many users (uses new max_users config option)
Add ensure_scaling_disabled option to hp trait in stats.yml to disable health scaling if the trait is disabled (true by default)
Update Japanese, Polish, and Chinese Simplified messages
Bug Fixes
Fix Bleed and Absorption particle errors on 1.20.5+
Fix mana add command always setting mana to max
Fix hex colors in ability messages not working
Fix added contexts sections breaking some level_progression templates
Fix hp action_bar_scaling not applying to menus and chat
Fix multiplier permissions set to false not being ignored
Fix Disenchanter not working when shift clicking to remove an item with a different item on the cursor
Fix hide_attributes flag not working in 1.20.5+
Fix Alchemist duration lore stacking on the same potion
API Changes
Add job methods to SkillsUser
Add Trait#getMenuDisplay to get the trait value formatted as shown in the stats menu
Fix MenuManager#buildMenu not working when called multiple times to extend the same menu