2.2

AuraSkills 2.2 Release Notes

AuraSkills 2.2 adds the anti-AFK system for detecting and stopping AFK XP gain and macros. Also added is the entity loot type for catching entities while fishing. Additionally, a breaking API change was made.

New features

  • Add anti-AFK system for preventing AFK XP gain

    • 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

Last updated