{"id":49470796,"url":"https://github.com/lukesky19/skyplaytime","last_synced_at":"2026-04-30T16:01:47.413Z","repository":{"id":352709328,"uuid":"1131244623","full_name":"lukesky19/SkyPlayTime","owner":"lukesky19","description":"SkyPlayTime tracks play time with options to not track play time for inactive (AFK) players.","archived":false,"fork":false,"pushed_at":"2026-04-20T19:05:17.000Z","size":232,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"dev","last_synced_at":"2026-04-20T21:07:01.183Z","etag":null,"topics":["minecraft","playtime","plugin","tracking"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lukesky19.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-09T17:35:30.000Z","updated_at":"2026-04-20T19:02:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/lukesky19/SkyPlayTime","commit_stats":null,"previous_names":["lukesky19/skyplaytime"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/lukesky19/SkyPlayTime","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukesky19%2FSkyPlayTime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukesky19%2FSkyPlayTime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukesky19%2FSkyPlayTime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukesky19%2FSkyPlayTime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukesky19","download_url":"https://codeload.github.com/lukesky19/SkyPlayTime/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukesky19%2FSkyPlayTime/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32469346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["minecraft","playtime","plugin","tracking"],"created_at":"2026-04-30T16:01:46.379Z","updated_at":"2026-04-30T16:01:47.401Z","avatar_url":"https://github.com/lukesky19.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SkyPlayTime\n## Description\n* SkyPlayTime tracks play time with options to not track play time for inactive (AFK) players.\n\n## Features\n* Tracks session, daily, weekly, monthly, yearly, and total play time.\n* Automatically resets play time as necessary.\n* Option to save a backup of the database on reset.\n* Option to save a leaderboard snapshot on reset.\n* Won't display AFK messages for vanished players.\n* Optional auto-AFK timer, AFK pool detection, AFK mining, and AFK fishing detection.\n* An API is available to interface with the plugin.\n* Supports PlaceholderAPI.\n\n## Dependencies\n* [SkyLib](https://github.com/lukesky19/SkyLib)\n\n## Soft Dependencies\n* [NewPlayerPerks](https://github.com/lukesky19/NewPlayerPerks)\n* PlaceholderAPI\n\n## Commands\n* /skyplaytime - The base command\n  * Alias: /playtime \n* /skyplaytime reload - Reloads the plugin.\n* /skyplaytime help - View the plugin's help message.\n* /skyplaytime time \\[player_name] \u003csession | daily | weekly | monthly | yearly | total\u003e - View the play time for yourself or a player.\n* /skyplaytime afk \\[player_name] - Mark yourself or another player as either AFK or no longer AFK.\n  * Alias: /afk \n* /skyplaytime list - List all online players and their AFK status. Excludes vanished players.\n  * Alias: /list  \n* /skypaytime leaderboard \u003csession | daily | weekly | monthly | yearly | total\u003e - View the play time leaderboard.\n* /skyplaytime add \u003csession | daily | weekly | monthly | yearly | total\u003e \u003cplayer_name\u003e \u003ctime\u003e - Add play time to a player.\n  * The time should be formatted like 1y3M2w1d12m32s \n* /skyplaytime remove \u003csession | daily | weekly | monthly | yearly | total\u003e \u003cplayer_name\u003e \u003ctime\u003e - Remove play time from a player.\n  * The time should be formatted like 1y3M2w1d12m32s\n* /skyplaytime set \u003csession | daily | weekly | monthly | yearly | total\u003e \u003cplayer_name\u003e \u003ctime\u003e - Set the play time for a player.\n  * The time should be formatted like 1y3M2w1d12m32s\n* /skyplaytime reset \u003csession | daily | weekly | monthly | yearly | total\u003e \\[player_name] - Reset the play time for all players or a specific player.\n* /skyplaytime backup - Backup the database.\n* /skyplaytime exempt \u003cplayer_name\u003e - Marks a player as exempt from leaderboard reporting.\n* /skyplaytime unexempt \u003cplayer_name\u003e - Marks a player as not exempt from leaderboard reporting.\n* /skyplaytime debug - The base command for debugging. You shouldn't need to use this.\n* /skyplaytime debug status \u003cplayer_name\u003e - View the player's AFK status.\n* /skyplaytime debug last-move - View the last time the player moved.\n* /skyplaytime debug last-action - View the last time the player completed an action.\n* /skyplaytime debug list - View a list that displays whether a player is online, offline, or unknown and whether their play time is being tracked.\n\n## Permissions\n* `skyplaytime.command.skyplaytime` - Base Command Permission\n* `skyplaytime.command.skyplaytime.afk` - Permission to toggle your AFK status.\n* `skyplaytime.command.skyplaytime.afk.others` - Permission to toggle other player's AFK status.\n* `skyplaytime.command.skyplaytime.time` - Permission to view your own play time.\n* `skyplaytime.command.skyplaytime.time.others` - Permission to view other player's play time.\n* `skyplaytime.command.skyplaytime.leaderboard` - Permission to view the play time leaderboards.\n* `skyplaytime.command.skyplaytime.add` - Permission to add play time to a player.\n* `skyplaytime.command.skyplaytime.remove` - Permission to remove play time from a player.\n* `skyplaytime.command.skyplaytime.set` - Permission to set play time for a player.\n* `skyplaytime.command.skyplaytime.reset` - Permission to reset play time for a player or all players.\n* `skyplaytime.command.skyplaytime.list` - Permission to list online players and their AFK status.\n* `skyplaytime.command.skyplaytime.reload` - Permission to reload the plugin.\n* `skyplaytime.command.skyplaytime.save` - Permission to save play time stored in memory to the database.\n* `skyplaytime.command.skyplaytime.backup` - Permission to backup the database.\n* `skyplaytime.command.skyplaytime.exempt` - Permission to mark a player exempt from the leaderboards.\n* `skyplaytime.command.skyplaytime.unexempt` - Permission to mark a player unexempt from the leaderboards.\n* `skyplaytime.command.skyplaytime.debug` - The base permission to access the debug command.\n* `skyplaytime.command.skyplaytime.debug.status` - Permission to view your own internal afk status.\n* `skyplaytime.command.skyplaytime.debug.status.others` - Permission to view the internal afk status of other players.\n* `skyplaytime.command.skyplaytime.debug.last-move` - Permission to check when a player last moved.\n* `skyplaytime.command.skyplaytime.debug.last-action` - Permission to check when a player last completed an action.\n* `skyplaytime.command.skyplaytime.debug.list` - Permission to view a list that displays whether a player is online, offline, or unknown and whether their play time is being tracked.\n\n## FAQ\nQ: What versions does this plugin support?\n\nA: 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11, 26.1, 26.1.1, and 26.1.2.\nNote: Java 25 is required even on versions older than 26.1.\n\nQ: I get the following error: \"SkyPlayTime has been compiled by a more recent version of the Java Runtime\n(class file version 69.0), this version of the Java Runtime only recognizes class file versions up to 65.0\"\n\nA: SkyPlayTime is compiled using Java 25 as part of it's support of 26.1 and beyond. SkyPlayTime still works on older version as long as Java 25 is used.\n\nQ: Are there any plans to support any other versions?\n\nA: I will always do my best to support the latest versions of the game. I will sometimes support other versions until I no longer use them.\n\nQ: Does this work on Spigot and Paper?\n\nA: Only Paper is supported. There are no plans to support any other server software (i.e., Spigot, Folia).\n\n## Issues, Bugs, or Suggestions\n* Please create a new [GitHub Issue](https://github.com/lukesky19/SkyPlayTime/issues) with your issue, bug, or suggestion.\n* If an issue or bug, please post any relevant logs containing errors related to SkyPlayTime and your configuration files.\n* I will attempt to solve any issues or implement features to the best of my ability.\n\n## For Server Admins/Owners\n* Download the plugin [SkyLib](https://github.com/lukesky19/SkyLib/releases).\n* Download the plugin from the releases tab and add it to your server.\n\n## Building\n* Go to [SkyLib](https://github.com/lukesky19/SkyLib) and follow the \"For Developers\" instructions.\n* * Go to [NewPlayerPerks](https://github.com/lukesky19/NewPlayerPerks) and follow the \"For Developers\" instructions.\n* Then run:\n  ```./gradlew build```\n\n## For Developers\n```./gradlew build```\n\n```koitlin\nrepositories {\n  mavenLocal()\n}\n```\n\n```koitlin\ndependencies {\n  compileOnly(\"com.github.lukesky19:SkyPlayTime:1.0.0.0\")\n}\n```\n\n## How To Access The API\nFollow the \"For Developers\" section above and then add this code to your plugin.\nThen follow the code example below:\n\n```java\nprivate SkyPlayTimeAPI api;\n\npublic SkyPlayTimeAPI getSkyPlayTimeAPI() {\n  return api;\n}\n\n@Override\npublic void onEnable() {\n  loadSkyPlayTimeAPI();\n  if(api == null) {\n      this.getServer().getPluginManager().disablePlugin(this);\n      return;\n  }\n  \n  // The rest of your plugin's onEnable code.\n}\n\nprivate void loadSkyPlayTimeAPI() {\n  @Nullable RegisteredServiceProvider\u003cSkyShopAPI\u003e rsp = this.getServer().getServicesManager().getRegistration(SkyPlayTimeAPI.class);\n  if(rsp != null) {\n    api = rsp.getProvider();\n  }\n}\n```\n\n## Why AGPL3?\nI wanted a license that will keep my code open source. I believe in open source software and in-case this project goes unmaintained by me, I want it to live on through the work of others. And I want that work to remain open source to prevent a time when a fork can never be continued (i.e., closed-sourced and abandoned).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukesky19%2Fskyplaytime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukesky19%2Fskyplaytime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukesky19%2Fskyplaytime/lists"}