This is an optional feature that detects and blocks repetitive AFK skill XP gain, encouraging active play
Must be manually enabled with the `anti_afk.enabled` option in the main config
There are 8 types of checks that can block AFK XP gain in the following skills: Farming, Foraging, Mining, Fishing, Excavation, Fighting, Archery, and Defense
The checks work in one of three ways: detecting identical player coordinates, facing direction (pitch/yaw), or the entity being involved
Checks are configured in the `anti_afk.checks` section
Specific checks can be toggled with the `enabled` option
The `min_count` option is the number of identical XP gain conditions in a row for the player to be blocked from gaining XP
The `max_distance` option for some checks is the threshold for which movement below that value is still considered identical
Logging for failing anti-AFK checks can be enabled with the `anti_afk.logging_enabled` option
The `log_threshold` is an expression determining the count of identical conditions required for logging an event. The min_count variable can be used in this expression to reference the min_count in the checks section for a check type.
Logs will be sent to any online player with the auraskills.antiafk.notify permission (op by default)
Logs are saved to storage can can be viewed for any player with the `/skills antiafk logs <player> [page] [perPage]` command (auraskills.command.antiafk.logs permission)
Important disclaimer: A player failing checks and being logged does not necessarily mean they are cheating or using a macro, as false positives can be common for legitmate players, especially if min_count is low. An example is a player using a mob farm manually can still trigger anti-AFK checks. Always check logged players manually before taking any action.
Add entity loot for fishing loot tables
The new entity loot type adds the ability to catch entity with fishing
Defined by a loot entry with `type: entity`
The `entity` key defines the type of entity caught
Vanilla entities/mobs are defined by name (e.g. `entity: zombie`)
MythicMobs can be used with the `mythicmobs:` prefix (e.g. `entity: mythicmobs:SkeletonKing`)
The `health` key overrides the entity max health attribute
The `damage` key overrides the entity attack damage attribute
The `level` key can be used to define the AuraMobs or MythicMobs level
The default vertical and horizontal velocities when caught can be overridden with `velocity.horizontal` and `velocity.vertical`
The keys `hand`, `off_hand`, `feet`, `legs`, `chest`, and `head` are used to define equipment on the spawned entity
The value is a mapping in the same item format as regular item loot (Using keys `material`, `enchantments`, etc.)
Add boss bar animation using delay when upgrading progress
This allows players to visually see the change in progress when a new boss bar is shown
Can be toggled with the `boss_bar.animate_progress` option in the main config
Add support for multiple commands on one loot entry
Use a `commands` list of strings on a command loot entry instead of `command`
Changes
Optimize leaderboard updating for SQL
Optimize SQL user loading and saving
A user is now loaded in a single statement with subqueries
Saving key_values will now utilize batched statements
Bug Fixes
Fix disabled abilities still showing in abilities menu
Fix level up title not working in 1.20.5+
Fix XP Convert giving extremely high experience values
Fix boss bar income showing for jobs enabled without economy
API Changes
Relocate and create Configurate API wrapper (breaking change)
ConfigurationNode has been replaced with the ConfigNode wrapper class in api and api-bukkit
Configurate is no longer included in the api module as a dependency
Any plugins working with ConfigurationNode in the API will break and must be updated (such as using LootParser, creating custom source types, or ItemManager#parseItem)
Updating is done by simply renaming ConfigurationNode mentions to ConfigNode, as most methods are copied over exactly
This change was made to fix critical loading errors with plugins like Nova
Add trait modifier methods to ItemManager
Deprecate addModifier, getModifiers, and removeModifier to be replaced by addStatModifier, getStatModifiers, and removeStatModifier
Add action bar methods to SkillsUser for sending and pausing action bars