JetsAntiAFKPro | 1.8-.1.16 icon

JetsAntiAFKPro | 1.8-.1.16 3.2.5

An advanced AFK detection plugin with configurable actions! Also configure actions for playtime!

3X0BJNO.png
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.

d61Bsmq.png
Come and join our official Discord Server!

qCu7Mvw.png
  • Detects ALL AFK players effectively and efficiently
  • Cannot be bypassed using Minecraft mechanics (Money refunded if you find a wayclear.png)
  • 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!
MZDAGfW.png
[dropdown=IMAGES]
c7a405a789b499919a987e9a836b38bb.gif
d902210b3adb92792bc48d362dbd3287.gif

5aIxaun.png
[/dropdown]

mXXhL99.png

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!

oNdnvPE.png
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]

2BTyYdL.png
[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]

v1dcf3k.png
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]

z2HNRTd.png
Any problems, questions or suggestions join our discord!

BWDjaWz.png
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
Thanks!