PrettyTime now gets reloaded when the locale changes in the config
Added proper tab completion to commands including permission check-based completions
Added a /afkplus reload command to force a config reload (
NOTE: to use this, you need to add a "CanReload: 1" to the permission group you wish to allow to reload the configs)
Added more details to the "/afkplus player name" output
Added a separation between messages sent to players when they go AFK and the message sent to everyone else
Fixed the handling of afk start and stop commands when a player leaves the server or the server is shutdown
Added the ability to disable the tracking of total time AFK statistics. This also means you can delete the statistics.yml file if you have disabled statistics in the config.
Updated how aggressive AFK detection works also added a better description in the config
New API methods added thanks to srnyx on GitHub
Fixed remapping for API plugins
Fixed mildly aggressive AFK machine detection without AggressiveAFKDetection enabled
Added an option to enable Essentials AFK Hook, which was previously enabled by default with no way to disable it
Improved efficiency of bump protections
Updated to LapisCore 1.12.0
Also, 50 updates!!! Whooooo!
Fixed MobSpawning protection
Added MobTargeting protection (Thanks to KaspianDev on GitHub)
Both these settings default to off
API Updates
Added afkstate LuckPerms context
Improved shutdown task handling
Fixed null pointer on shutdown on systems that do not support the file watcher
This version doesn't need to be installed as simply the way it's built has been changed.
You are encouraged to install it if you are using add ons
This version will fix some issues with addons.
If you are using any addons, please lookout for an update in the next few minutes before installing this update.
You don't need this update unless you are also updating AFKPlusPAPI
Added move thresholds for look and position
Better repeating task management via LapisCore
Updated to the latest APIs
Fixed Issue #39 with exiting AFK with other plugin aliases
HOTFIX
fixed permissions being totalled by the config updater
The comments get funky when I do it like this, but it works
AFK Players can now be ignored when the server calculates if enough players are sleeping
Update to 1.9.0 LapisCore means that the new config updater is now in place (This will add the setting for ignoring AFK players for sleep, and it won't require renaming the config files)
Updated to latest PrettyTime
Fixed a null pointer with Essentials Hook
Update to latest LapisCore
Fixed player number for action requirement
Added fake AFK system based on a suggestion from GitHub
Improvements to bump protection (namely including other players)
Build system changed from maven to Gradle
Fixed EssentialsAFKHook for when Essentials isn't installed
Better mob bump protection
Added essentials hook to keep the essentials plugin updated on the players AFK state
Added defaults for permissions meaning that they don't all need to be listed
Updated to latest LapisCore, which includes hex colour codes in messages (use #6464ff format)
This should be the last "beta" update since the new features seem to be stable
Moved updating to a separate thread to fix lockups during boot
Fixed config.yml to have the hurt by mobs setting
Added temporary bump protection to players after they are protected from mob attacks
Fixed AFKStop message not being changed by event API
Changed AFKStop {TIME} variable to have no tense
Added option to edit start and stop messages from the event API
Cleaned up console broadcasts
Added PAPI to softdepend
Fixed class cast exception
Fixed AFKMachineDetectionEvent errors
p.s. be warned that there will be more frequent bug fix updates until this new version is considered stable enough to be pushed to 4.0.0
This is the same as the last version but with a better fix for the null pointer error
Thank you very much for the timely reporting of the error
Fixed a null pointer exception when disabling the plugin
Added {TIME} variable for AFK stop message
Fixed null pointer with XSound if the warning sound was incorrect
Implemented a fix for player objects being null during the start and stop AFK methods
Updated LapisCore to 1.7.8
Updated to Spigot 1.16.1
Fixed stopping running tasks
Changed broadcasts to not run if the message is blank (requested by AverageJoe)
Updated to LapisCore
Updated to Spigot 1.14.2
Fixed bug where a player could be marked as AFK when they join a server
Added option to control the aggressive nature of AFK Machine Detection
Added proper shutdown of Async Threads on plugin disable
Removed spamming debug messages
Turns out this wasn't too difficult to implement
If a player isn't moving in both rotation and movement they will be marked as inactive, being inactive means they can do anything and still be marked as AFK when the timer reaches TimeToAFK. If they do move in both location and rotation this won't affect them, this should mean little to no false positives. Location and rotation are checked every 5 & 7 seconds and the two measurements are compared.
This method should detect most AFK machines and mark the player as AFK as if the machine wasn't doing anything. It is up to your permissions to deal with the player but the use of an AFK machine shouldn't stop them from being marked as AFK by AFKPlus
Updated to LapisCore 1.3.1
This fixes the AFK activation bug that was present since the permissions rewrite
I believe the last update had problems with the uploaded file so this is just to update it
Collision control is now a part of AFKPlusPrefix as it required scoreboards and that addon already utilised scoreboards.
Fixed a small bug with config versions and messages during updating
Updated to LapisCore 1.3.0
Players are now marked as no longer AFK when they disconnect
Added support for AFKPlusPrefix
Added AFKActionEvent ready for future add-ons
Added DisableCollision setting
This version will regenerate config.yml
Changed the behaviour of Start and Stop events
Fixed message of a player no longer being AFK when they join
Updated to LapisCore 1.1.1
Extended the API to allow access to the main class and to get the UUID of players from AFKPlusPlayer objects
The added code was implemented to support the new addon AFKPlusBungee
Normalised messages to use {PLAYER}
This update will reset the messages.yml
The entire plugin has been rewritten from the ground up
This means it coded with modern coding practices making it easier for me to work on.
I have also added a brand new API so expect to see some extensions in the future
The plugin is also using LapisCore so it will get new features and updates at the same time as my other plugins when issues arise.
Fixed non-detection time after a player toggles AFK meaning they can be teleported etc.
also extended the time from 2 ticks to a whole second
Added the option to disable player collision while AFK this means you can teleport multiple AFK players into the same spot and they wont hit each other
Fixed a null pointer exception in the /afkplus (player) command
Updated for 1.13 with major code rework
Configs will regenerate for this update
Added start and stop commands that are run when the player is added or removed from AFK
A heap of other minor fixes and code updates
All players are given afkplus.check by default, remove it to stop them being checked
a warning sound will be played when enabled in the config
AFK+ will now register attacking mobs as a world interaction(can be disabled)
AFK+ will also protect players who are AFK+ from being injured(can also be disabled)
/afkplus reload will now reload the config(it will also try to give you AFK stats for a player named reload just in case you do have a player named reload)
Added the option to enable disable actions on players with afkplus.admin (defaults to false)
Added warning message + sound with custom time
Fixed updater not being run
Fixed a few smaller things I found
This version is not rigorously tested. I am expecting a few edge cases with bugs
Fixed HashMap error
added a better way to enable and disable commands
added command help to /afkplus
you can now disable listeners for your liking
and there are now 2 permissions to stop everyone afking everyone else