
JetsAntiAFKPro | 1.8-.1.16 3.2.5
An advanced AFK detection plugin with configurable actions! Also configure actions for playtime!

AntiAFKPro provides an incredibly efficient, yet powerful and advanced anti-afk and player-time plugin. Configure actions that are executed when players are AFK or reach play-time milestones!
This plugin allows you to configure 'actions' that are executed when a player is AFK or has played for a certain amount of time.
Come and join our official Discord Server!

- Detects ALL AFK players effectively and efficiently
- Cannot be bypassed using Minecraft mechanics (Money refunded if you find a way
)
- Will detect Auto-Clicking and other macros that simply move the player character, water pools, anything with TNT, etc
- Save and reward Player Time
- Send players to other servers when they reach playtime / are afk
- Configurable actions (Including the ability to execute Commands, Sounds, Titles and Messages or based of player permission) when a player is AFK or has played for a set amount of time
- Repeat actions when users play for set amounts of time (I.E give them a reward every 10 minutes of playtime!)
- Create a completely configurable GUI to show player time (see pictures below)
- Store Player Time data via MySQL (Allowing you to sync player-time data across a Bungeecord) or SQLite
- Plugin offloads tasks to other threads and does not listen on CPU heavy events (It will run like a feather on your machine)
- Placeholder support
- EXTREMELY lightweight, it works asyncly and does not listen on any CPU heavy events!

[dropdown=IMAGES]



[/dropdown]

General Permissions:
/jetsantiafkpro (alias /playtime) - Shows player time (as a menu or in chat) -
jetsantiafkpro.menu
/afk - Toggle whether you are AFK or not - jetsantiafkpro.player.afk
/jetsantiafkpro about - Shows information about the plugin
Admin Permissions:
/jetsantiafkpro reload - Reloads the Action Nodes and Messages - jetsantiafkpro.admin.reload
/jetsantiafkpro playtime - Shows that players playtime - jetsantiafkpro.admin.playtimeother
/jetsantiafkpro set - sets a user their playtime - jetsantiafkpro.admin.setplaytime
/playtime and /antiafkpro are alias's for these commands
If you want actions to only be executed for certain players with a permission, then you can do this! Simply use the Permission action in conjunction with others that you want to use!

Drop into your /plugins/ directory and configure!
PlaceholderAPI (Can be used in other plugins)
[dropdown=placeholders]
[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]Valid Placeholders:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_timeplayed_years% //Returns years the player has played[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_timeplayed_months% //Returns months the player has played[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_timeplayed_days% //Returns days the player has played[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_timeplayed_hours% //Returns the hours the player has played, minus days[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_timeplayed_minutes% //Returns minutes the player has played, minus hours/days[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_timeplayed_seconds% //returns seconds the player has played, minus minutes/hours/days[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_session_timeplayed_days% //Returns session days the player has played[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_session_timeplayed_hours% //Returns the session hours the player has played, minus days[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_session_timeplayed_minutes% //Returns session minutes the player has played, minus hours/days[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_session_timeplayed_seconds% //returns session seconds the player has played, minus minutes/hours/days[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_timeplayed_seconds_unformatted% //returns total seconds played[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_timeplayed_minutes_unformatted% //returns total minutes played[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_timeplayed_hours_unformatted% //returns total hours played[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_afk_seconds% //Returns the time the player has been AFK for[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_isafk% //Returns a placeholder configured in config.yml if the user is afk[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]You can also do %jetsantiafkpro_top__% to get top players[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]and[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]%jetsantiafkpro_top__player_name% to get the player name of that position[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]

[dropdown=config.yml]
[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#############################################[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# #[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# JetsAntiAFKPro[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] #[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# Created by Jet315 #[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# #[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#############################################[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#The prefix that is shown before the plugin[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]plugins_prefix: "&eAFK &7» "[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# -- Plugin Settings --[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#The check delay in seconds - These calculations are done ASync so I wouldn't suggest changing this (It's not going to effect performance)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#If you do change it, the actions below must be divisible by this number (I wouldn't suggest changing it, but you have the option too)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]check_delay: 1[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#Do you want to stop the player getting playtime, if the player is AFK? if so, how long should the player be AFK for before it stops counting playtime?[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#set to -1 to disable[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]afk_stop_counting_playtime: -1[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#If a player types/speaks, would you like this to reset the players AFK time to 0 (So speaking means players are not considered AFK)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]should_player_be_afk_if_speaks: false #false = If a player speaks, they will still be considered AFK if they do not move[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#Any world names listed here, if a player is in it, the AFK actions wont be executed against[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]afk_exempt_worlds:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - example_world[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#Any world names listed here, if a player is in it, the playtime actions wont be executed against[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]playtime_exempt_worlds:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - example_world[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#These actions are executed if the players time (in seconds) is equal to the number below[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#Action format:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# ACTION|Value[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#Possible Actions@[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# COMMAND Example: COMMAND|kick %PLAYER% don't afk... *Executes a command and replaces %PLAYER% with the players name[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# TITLE Example: TITLE|Title Text;SubTitle Text *Shows a title to the player and replaces %PLAYER% with the players name and ; to split title;subtitle - 1.8 MC Required TitleAPI[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# SOUND Example: SOUND|BLOCK_LADDER_HIT *NOTE YOU WILL NEED TO USE THE CORRECT SOUND NAME FOR YOUR MC VERSION[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# MESSAGE Example: MESSAGE|Hey, %PLAYER%, wake up! *Sends the message to a player, replace %PLAYER% with the players name[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# SERVER Example: SERVER|lobby *Players will be sent to a server called 'lobby'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# PERMISSION Example: PERMISSION|antiafkpro.default *Players will need the required permission, else the action will not continue[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# BYPASSPERMISSION Example: BYPASSPERMISSION|antiafkpro.default *Players with this permission will not be effected by the action[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# SLOTCOUNTGREATERTHAN Example: SLOTCOUNTGREATERTHAN|30 *The action will only be executed if there is > 30 players on[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# If you want to repeat an action, say every 10 minutes reward a player, simply add a % after the number (see playtime as an example[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#MVdWPlaceholders Supported :)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]actions:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#Actions that are executed when the player is AFK[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] afk:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 120: #120 seconds = 2 minutes[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "MESSAGE|&eAFK &7» &cYou have been AFK for two minutes, you will be kicked soon!"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "TITLE|&6You have been ; &6AFK for two minutes"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 295:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "TITLE|&6Anti AFK ; &bYou will be kicked in &c5 &bseconds"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 296:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "TITLE|&6Anti AFK ; &bYou will be kicked in &c4 &bseconds"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 297:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "TITLE|&6Anti AFK ; &bYou will be kicked in &c3 &bseconds"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 298:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "TITLE|&6Anti AFK ; &bYou will be kicked in &c2 &bseconds"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 299:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "TITLE|&6Anti AFK ; &bYou will be kicked in &c1 &bsecond"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 300: #300 seconds = 5 minutes[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "BYPASSPERMISSION|antiafkpro.admin" #If they have this permission, the action will not execute[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "COMMAND|kick %PLAYER% You have been kicked as you have been AFK for 5 minutes"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]## Actions that are executed when the player plays for a certain time (store_player_time needs to be enabled for this)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] playtime:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 300: #300 seconds = 5 minutes[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "MESSAGE|&ePlayTime &7» &cYou have played for 5 Minutes! &6You have been rewarded with $100!"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "COMMAND|eco give %PLAYER% 100"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 3600: #3600 seconds = 1 hour[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "MESSAGE|&ePlayTime &7» &cYou have played for 1 hour! &6You have been rewarded with $1000!"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "COMMAND|eco give %PLAYER% 1000"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 86400: #86400 seconds = 1 day[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "MESSAGE|&ePlayTime &7» &cYou have played for 1 day - Wow, you really like this server! &6You have been rewarded with $10000!"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "COMMAND|eco give %PLAYER% 10000"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] 600%: # -- PUTTING A % AFTER A NUMBER MEANS IT WILL BE REPEATED EVERY X SECONDS[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "MESSAGE|&eAFK &7» &cYou have been rewarded with $100 for playing! "[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - "COMMAND|eco give %PLAYER% 100"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]store_player_time: true #Will store players time[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]enable_player_time_gui: true #If this is false, doing /afk (or alias) will tell the player his/her time in chat[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]afk_ignore_opped_players: true #afk actions will not effect opped players[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# -- Database storage --[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#Either you may use SQLite or MySQL (Can use MySQL to enable a single cross-server database to store players time in)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#If you do not understand these settings, it's probably best not to change[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#There is currently no way to transfer data from one storage solution to another (I.E changing storage types after setting up the plugin will cause player data to start over)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]database:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] sqlite:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] use: true[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] db: "data"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] mysql:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] use: false[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] host: "localhost"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] user: "root"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] password: "pa55sw0rd"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] port: "3306"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] db: "antiafkpro"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] ssl: false[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]
[/dropdown]
[dropdown=playertimegui.yml]
#Items can be easily added!:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#Example:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# item_name: - Can be called anything[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# type: STAINED_GLASS_PANE - Any Material, MUST be valid for your Minecraft Version[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# data: 15 #Not used for Minecraft version 1.13 +[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# name: " " - Can be called anything (and can contain placeholders)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# slot: 2 - Can be in any slot[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# command_to_perform: "" - Can perform any command when clicked (%CLOSE% to close the menu) - forces user to execute the command[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# lore: - Can have any lore[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# Possible plugin placeholders:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# %TIME_PLAYED_DAYS% - Returns the number of days played by the player (integer)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# %TIME_PLAYED_HOURS% - Returns the number of hours played by the player (integer 0-24)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# %TIME_PLAYED_MINUTES% - Returns the number of minutes played by the player (integer 0-60)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# %TIME_PLAYED_SECONDS% - Returns the number of seconds played by the player (integer 0-60)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# %TIME_PLAYED_SECONDS_UNFORMATTED% - Returns the number of total seconds played by the user (integer)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#This is the GUI shown when a user does not have a house[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]playtime_gui:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] slots: 9 #Must be a multiple of 9[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] gui_name: "&bTime Played Menu"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] items:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] close_item:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] type: NETHER_STAR[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] data: 0[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] name: '&c&lCLOSE'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] slot: 0 #Slot start at 0[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] command_to_perform: "%CLOSE%" #%CLOSE% = close menu[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] lore:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - ' '[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - '&7Click to close'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - '&7this GUI'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - ' '[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - '&d&m-------------------'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] time_item:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] type: COMPASS[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] data: 0[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] name: '&a&lTime Played'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] slot: 8[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] command_to_perform: "%CLOSE%"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] lore:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - '&6You Have Played For:'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - ' '[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - '&eDays: &b%TIME_PLAYED_DAYS%'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - '&eHours: &b%TIME_PLAYED_HOURS%'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - '&eMinutes: &b%TIME_PLAYED_MINUTES%'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - '&eSeconds: &b%TIME_PLAYED_SECONDS%'[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - ' '[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif] - '&d&m-------------------'
[/dropdown]
[dropdown=messages.yml]
#Messages configuration value[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]no_permission: "&cYou do not have permission to this command!"[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]failed_to_load_stats: "&cAn issue has occured! Please try again later..."[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif][/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]#If you've disabled the GUI, then this message will be send went a player does /playtime (or alias)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# Possible plugin placeholders:[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# %TIME_PLAYED_DAYS% - Returns the number of days played by the player (integer)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# %TIME_PLAYED_HOURS% - Returns the number of hours played by the player (integer 0-24)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# %TIME_PLAYED_MINUTES% - Returns the number of minutes played by the player (integer 0-60)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# %TIME_PLAYED_SECONDS% - Returns the number of seconds played by the player (integer 0-60)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]# %TIME_PLAYED_SECONDS_UNFORMATTED% - Returns the number of total seconds played by the user (integer)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]playtime_message: "&aYou have played for &e%TIME_PLAYED_DAYS% &aDays, &e%TIME_PLAYED_HOURS% &aHours, &e%TIME_PLAYED_MINUTES% &aMinutes and &e%TIME_PLAYED_SECONDS%&a seconds"
[/dropdown]

I have implemented a basic API so you are able to get playertime / afk time if you wish. Code to implement:
[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]//I would suggest saving this to a field variable, so you don't have to keep keep calling the Bukkit API[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]((AntiAFKProAPI) Bukkit.getPluginManager().getPlugin("AntiAFKPro")).getAntiAFKProAPI();[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif](Just PM me if you want me to add something)[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]https://pastebin.com/Fmwm41BP[/font][/size][/color]
[color=#2c2c2c][size=2][font="droid sans", Arial, sans-serif]

Any problems, questions or suggestions join our discord!

By buying this plugin you agree to the following terms:
- You will not chargeback - If you have a legit issue that I cannot fix then I’ll happily refund you
- I cannot guarantee support indefinitely.
- You may not redistribute or resell this plugin (You are welcome to modify it for your servers needs though)
- I may refuse to give you support with or without any specific reason
- If you have an issue with this plugin, please contact me before leaving a 1 or low star rating
- I can update this terms of use at any time, without notification