
AuraSkills
The ultra-versatile RPG skills plugin. Formerly known as Aurelium Skills.
179.0K
359
New Features
- Add support for Paper 26.1.1 version and world format
Bug Fixes
- Fix resethealth command not working in 26.1+
- Fix FancyHolograms damage holograms not being removed
New Features
- Add 26.1 support
- Add {skill_name} placeholder to rewards for skill display name
Changes
- Job selection now works without an economy plugin
- Update Czech, Polish, and Chinese Simplified messages
Bug Fixes
- Fix Life Steal ability healing players that are dead
New Features
- Add 1.21.11 support
- Add nautilus, zombie nautilus, parched, camel, and camel husk to Fighting and Archery sources
Bug Fixes
- Fix CustomRegenEvent may only be triggered synchronously
- Fix error when changing some alchemy source menu_item material
New Features
- Add
allow_bone_mealoption to block sources- If false, crops that have been fertilized with bone meal will not give skill XP (true by default)
- Only applies to block sources with
interacttrigger like sweet_berry_bush - This reverts default behavior to before 2.3.8
- Support FancyHolograms for damage holograms
- Must be enabled in config with
hooks.FancyHolograms.enabled
- Must be enabled in config with
- Add menu item and template variants
- Variants are a more powerful version of contexts that can show different items for a single template/item based on properties and context filters
- Variants are defined with a
variantslist of mappings on an item or template - Each variant can have the following filtering keys that match an item to a variant:
- A single
contextor list ofcontextsto filter for templates (if a list, any context can be matched) - A
propertiesmapping with a set of key-value properties to filter for (if multiple, all properties must be matched)
- A single
- A variant can have the following keys that define the actual item appearance for a given variant:
- Any keys that define a base item, such as
material,key, and meta keys likeenchantments - A
posorgroupandorder - A
display_nameandlore
- Any keys that define a base item, such as
- Allow duplicate of the same template context items using
poslist
Changes
- Make backup loading and saving async
- Backups load much faster by loading users in parallel
- Remove delayed attribute updates for non-Folia servers introduced in 2.3.8 to fix issues
- Fishing command loot now overrides vanilla item loot, instead of both being given
Bug Fixes
- Fix SQL migration error on older MySQL versions
- Fix SQL key too long using prefix index for modifiers table
- Fix NPE with Nexo when breaking custom blocks
- Fix damage_reduction trait not disabling correctly
- Fix error removing Fleeting on server shutdown
- Fix loot tables giving XP without skill permission
- Fix level up title not working on newer versions
- Add
New Features
- Add 1.21.9 and 1.21.10 support
- Add Folia support
- Add
call_block_break_eventoption to Treecapitator - Add
collecttrigger for block sources- Triggers when specific blocks (beehive, beenest, cauldron) are harvested with an applicable tool (shears, bottles, or buckets)
Bug Fixes
- Fix PlaceholderAPI not being registered on startup sometimes
- Fix
spawner_multiplierfor drowned transformed from zombies
New Features
- Add average stat placeholders
- Add average_stat, average_stat_int, and average_stat_1 placeholders for the player's average stat level
- Add options for Treecapitator and Terraform to consume durability
- The
durability_multiplieroption determines how much durability should be decreased per block broken (1 = 1 durability per block). The default is 0 (disabled). - The
max_limit_durabilitydetermines if the number of blocks broken should always be equal or less than the item's durability. The default value of false makes the ability only use themax_blocksvalue to limit blocks broken.
- The
Bug Fixes
- Fix Valor, Stamina, and item modifiers not applying in off-hand
- Fix hide_tooltip not working on items
- Fix some menu items not showing with Nexo
- Add average stat placeholders
New Features
- Add loot requirements to tables, pools, and loot
- The
requirementsoption can be set on the loot table, a pool, or loot entry - Requirements accept the already available Block Requirements types
- The
- The following new requirement types have been added
world,biome,region,item, andenchantment- Each type has specific keys below that must be added to define type behavior. These keys are added in the same indent level as
type. - The
worldtype requires the player to be in the specified world. Keys:world- The name of the world the player is required to be in
- The
biometype requires the player to be in the specified biome. Keys:biome- The name of the biome the player is required to be in
- The
regiontype requires the player to be in the specified WorldGuard region. Keys:region- The name of the WorldGuard region the player is required to be in
- The
itemtype requires the player to hold a specific item. Keys:item- The material name of the item the player is required to hold
- The
enchantmenttype requires the player to have a specific enchantment on their held item. Keys:enchantment- The name of the enchantment to add a requirement forlevel- The required enchantment level, either singular or a min-max (optional)- Examples of valid levels are
1and1-3
- Add new options and tags to customize Treecapitator
- Add
trunkstag to the Foraging sources file to configure which sources can activate Treecapitator - Add
treecapitator_applicabletag to the Foraging sources file to configure which sources are broken by Treecapitator - Add
max_blocksoption to block sources to set the max number of blocks Treecapitator can break for this trunk type
- Add
- Add experimental config options
- Experimental options are not included in the config by default
- Each option you want to enable must be manually added in an
experimentalsection - Add experimental option
experimental.optimize_leaderboard_updating- Whether to enable optimized fetching of user data from the SQL database for leaderboard updates. When enabled, only users updated in the database since the last leaderboard update will be fetched after the initial load.
Bug Fixes
- Fix Nexo hook
API Changes
- Add SkillsUser#sendAbiltyMessage
- Add loot requirements to tables, pools, and loot
Bug Fixes
- Fix item loot not stacking with normal items
- Fix Fishing sources that specify loot_pool not working
- Fix item reward amount value not working
New Features
- Add 1.21.6/1.21.7 support
- Add chance-based enchantments to loot
- An element in an
enchantmentslist can also now be a mapping instead of a string - This mapping has the following keys:
name- The name of the enchantmentlevel- The level of the enchantment, supports rangeschance- The chance that this enchantment is added to the item, from 0-1 (defaults to 1)
- The existing string enchantment format of
unbreaking 3andunbreaking 1-3still works
- An element in an
- Add configurable damaged loot
- The
damageoption can be set on an item loot entry to set the ratio of total durability that should be removed from the given item- For example, an item with
damage: 0.4will have 40% less durability than max, or be at 60% of total durability
- For example, an item with
- A random amount of damage can be assigned using the
damage.minanddamage.maxoptions, which will select a random damage ratio between the values every time the loot is dropped
- The
- Add skill addlevel command to add to a player's skill level
- Syntax:
/skills skill addlevel <player> <skill> <level>
- Syntax:
- Add income placeholder to source template in sources menu
- Add option to subtract a percentage of skill XP on death
- Add support for start/end wildcards in source tags
Changes
- Include item multiplier value in multiplier command
- Change BlockBreakEvent event priority for requirements to lowest
- Improve WorldEdit wand exclusion from Treecapitator
Bug Fixes
- Fix stat rewards applying when skill permission is negated
- Fix mana not resetting when entering disabled world
- Fix Repairing ability not adding repair cost
- Fix NPE if StatModifier stat is null
- Fix NPE in ArmorModifierListener
- Fix No Debuff ability not working for some effects
- Fix tooltips not hidden on some menu fill items
- Fix requirements being applied in disabled worlds
Bug Fixes
- Fix languages with country codes not working
- Fix NoSuchFieldError when holding items in 1.20-1.20.3
- Fix NPE when applying modifiers
New Features
- Add auraskills.leaderboard.exclude permission to hide players from the leaderboard
- Setting this to online players requires a relog to take effect (leaderboard still takes time to update)
Bug Fixes
- Remove legacy item conversion to fix item stacking
- Fix stat info menu not opening with disabled traits
- Add auraskills.leaderboard.exclude permission to hide players from the leaderboard
New Features
- Add menus.stat_info.enabled option to disable stat_info menu in config.yml
Bug Fixes
- Fix item duplication when auto_convert_from_legacy is true
Breaking Changes
- The plugin now requires at least Java 21
- Support for Minecraft 1.17-1.19 has been dropped
New Features
- Add 1.21.5 support
- Add stat_info menu
- This allows players to see exactly how their stat and trait levels are calculated
- Accessed by clicking any of the stat items (glass panes) in the stats menu (/stats)
- The menu is tab-based and shows stat modifiers by default. Trait modifiers can be viewed by clicking on the tab buttons on the right.
- Each tab shows any base value, value from skill rewards, and custom modifiers
- Add percentage-based stat and trait modifiers
- Modifiers now have an operation value that defines how they are applied
- The
add_percentoperation multiplies the stat level by 1+value/100- For example, a modifier with value 50 multiplies the stat by 1.5
- The values for all
add_percentmodifiers for a stat are added together before multiplying the stat (additive multiplier)
- The
multiplyoperation directly multiplies the stat level by the value- For example, a modifier with value 2 doubles the stat level
- Each
multiplymodifier is applied separately (multiplicative modifier)
- All existing modifiers use the
addoperation, which is the basic addition to the stat level- All
addmodifiers are applied before anyadd_percentormultiplymodifiers
- All
- The following existing commands have been modified to add an operation argument:
/skills modifier add <player> <stat> <name> <value> [operation] [silent] [stack]/skills trait add <player> <trait> <name> <value> [operation] [silent] [stack]/skills item modifier add <player> <stat> <value> [operation] [lore]/skills item trait add <player> <trait> <value> [operation] [lore]/skills armor modifier add <player> <stat> <value> [operation] [lore]/skills armor trait add <player> <trait> <value> [operation] [lore]- The
operationargument is optional and defaults toadd
- Add temporary modifiers
- Temporary modifiers are automatically removed after certain amount of time
- Use the following commands to add temporary stat and trait modifiers:
/skills modifier addtemp <player> <stat> <name> <value> <duration> [pauseOffline] [operation] [silent] [stack]/skills trait addtemp <player> <trait> <name> <value> <duration> [pauseOffline] [operation] [silent] [stack]- The
durationargument is in the format[years]y[months]mo[days]d[hours]h[minutes]m[seconds]s- Examples of valid durations are
5s,10m, and4d2m1s
- Examples of valid durations are
- The
pauseOfflineargument defines whether the remaining duration should stop counting down when the player is offline (defaults to false)
- Add block requirements
- Block requirements are customizable restrictions on breaking, placing, or harvesting blocks
- Requirements are defined in requirement.blocks.list in config.yml
- Each element in the list can have the following keys:
material- The name of the block to add requirements for (required)allow_break- Whether to ignore requirements on block break (defaults to false)allow_place- Whether to ignore requirements on block place (defaults to false)allow_harvest- Whether to ignore requirements on block harvest (defaults to false)- When none of the above allow options are defined, the block cannot be broken, placed, or harvested when requirements are not met
requirements- A map list of the requirement nodes for this block. Each element in the list can have the following keys:type- The type of requirement, which can beskill_level,permission,excluded_world, orstatmessage- The error message to send to the player when the requirement is not met. Supports MiniMessage and PlaceholderAPI (optional).- Each type has specific keys below that must be added to define type behavior. These keys are added in the same indent level as
type. - The
skill_leveltype requires the player to be at least a specific level in a skill. Keys:skill- The name of the skill to add a level requirement forlevel- The minimum skill level the player must be
- The
permissiontype requires the player to have a specific permission node. Keys:permission- The permission node required
- The
excluded_worldtype defines a list of worlds that will make the requirement fail if the player is in one of them. Keys:worlds- The list of worlds to not allow the player to be in
- The
stattype requires the player to be at least a specific stat level. Keys:stat- The name of the stat to add a level requirement forvalue- The minimum stat value that the player must be
- General options related to the block requirement system are in requirement.blocks:
enabled- Whether block requirements are checked at allbypass_in_creative_mode- Whether to ignore block requirements for players in creative mode (defaults to true)bypass_if_op- Whether to ignore block requirements for players that are op (defaults to false)
- Add addition protections against removing items from menus
- Enable by setting
menus.removal_protectionin config.yml to true (false by default)
- Enable by setting
- Add
speed_reductionoption to Stun ability - Add translatable messages for command descriptions and update notification
- Add
item_modelsupport in menu and loot items - Add
percent_formatandcurrent_xp_formatoptions to skills menu - Add
xp_formatoption to sources menu - Add
formatoption to stat reward to configure decimals - Add Nexo support
Changes
- Update Polish, Chinese Simplified, and German messages
- Storing modifiers with SQL has been moved from the key_values table to a new modifiers table
- Existing modifiers will be migrated automatically
- A new schema_migrations table stores previously applied migrations
- Remove Oraxen support
Bug Fixes
- Fix default item options like glow being saved when updating files
- Fix errors when Anvil Discount is not loaded
Changes
- Update French, Russian, and Brazilian Portuguese messages
Bug Fixes
- Fix Jumper and Runner abilities applying to the wrong skill
- Fix error when parsing some damage source cause values
- Fix idle action bar message not updating on reload
- Fix skull profile missing error when opening leaderboard menu
- Update stats on join on the main thread to fix errors
API Changes
- Add api methods to load and save offline users
- Use UserManager#loadUser to load a user into memory
- Use SkillsUser#save to save the user to storage asynchronously
New Features
- Add 1.21.4 support
- Add pale garden blocks to Foraging sources
- Add support for external items anywhere that accepts an item key
Changes
- Change MythicDamageEvent priority from high to normal
- Support {color} placeholder in leveled_by component of stats menu
- Make anvil discount trait formula configurable in stats.yml
- Change update checker to use Modrinth with loader and version filters
Bug Fixes
- Fix slimes and groups of mobs attacking rapidly with no cooldown
- Fix hex colors not working in loot entry message
- Fix xp-gain and custom-loot WorldGuard flags with Fishing loot
- Fix offline player skins not working in leaderboard menu
- Fix double plus in lore when adding some trait modifiers
Bug Fixes
- Fix IncompatibleClassChangeError on 1.21.1 and below caused by 2.2.5 update
New Features
- Add 1.21.3 support
Changes
- The
{skill}and{skill_key}placeholders can now be used anywhere in the level progression menu
Bug Fixes
- Prevent errors from abnormal server version strings
New Features
- Add more permission nodes with child permissions
- auraskills.* contains permissions for all commands
- auraskills.command.user contains permissions users have by default
- auraskills.skill.* contains permissions to use all skills
- auraskills.command.item.* contains permissions related to item modifier creation
- auraskills.command.armor.* contains permissions related to armor modifier creation
- auraskills.command.admin contains permissions for all admin/op commands
Changes
- Respect cancelled drops when applying block luck
- Only show loaded skills in profile command
- Update Chinese Simplified, Chinese Traditional, and Indonesian messages
Bug Fixes
- Fix health value must be between error when changing worlds
- Fix boss bar progress must be between error when max skill level
- Fix NPE when updating leaderboards on MySQL
API Changes
- SkillsUser#setSkillLevel will now refresh stats, permissions, rewards, and item modifiers
- Add setSkillLevel method with boolean parameter to control whether to refresh stats
- Add CustomManaAbilityBuilder#infoFormats to set the list of menu format names to use in the menu description
- Add more permission nodes with child permissions
New Features
- Add new damage source options
- Add excluded_damager/excluded_damagers to prevent XP gain from specific entity types
- Add cooldown_ms to define a delay before XP can be gained again in milliseconds (200 by default)
- Add damagers option to define a list of valid damagers
- Add job selection cooldown option (jobs.selection.cooldown_sec)
Changes
- Update German, Polish, and Italian messages
- Make all region loading async
Bug Fixes
- Fix error loading menu on Spigot 1.21
- Fix typos in excavation loot file
- Implement error handling for global requirement material names
- Fix trait_experience_bonus placeholder not working
- Fix boss bar progress must be between error
- Add new damage source options
New Features
- Add 1.21.1 support
- Add use_permission_cache option to disable LuckPerms multiplier permission cache
Bug Fixes
- Fix anti-AFK being force enabled after reload
- Skip sending item give command message if empty
1
Совместимость
Авторы
Сведения
Лицензия:
Опубликован:3 года назад
Обновлён:2 месяца назад
ID проекта: