Hello there... again. Welcome (back... again) to PlaytimeRewards!
This Plugin is a re-write of my "older" PlaytimeRewards.
I coded this Plugin completely new from scratch, removing unnecessary Features from the old Plugin and made it overall easier to read & maintain (at least in my opinion).
And to be honest - i lost the sourcecode of the previous Version, as I didn't upload that one to github... oops.
What does this Plugin?
- This Plugin counts the Playtime for every of your Players and Rewards them when and how you configure it.
How does it Rewards the Players?
- You can choose! You can customize the Rewards as you want, from just rewarding a Player at fixed times, you may also reward them once every 24 Hours or
What can the Players obtain?
- Again, you can choose it. For now it supports Console Commands upon receiving the Reward. It also supporst some comsetic stuff like Particles and Sounds.
Later - out of the Beta it´ll also support Items and maybe other stuff you guys suggest me (altough nothing you couldn´t do with Console Commands).
Supports PlaceholderAPI!
(Shown here using Animated Scoreboard)
Spoiler: Placeholders
Code (Text):
- %ptr_playtime% -> Returns the Playtime for the Player, the message format is defined as 'EXT_PAPI_TIME_FORMAT'
- %ptr_sessiontime% -> Returns the Sessiontime for the Player, the message format is defined as 'EXT_PAPI_TIME_FORMAT'
- %ptr_playtime_days%: Returns the Total Playtime in Days
- %ptr_playtime_hours%: Returns the Total Playtime in Hours
- %ptr_playtime_minutes%: Returns the Total Playtime in Minutes
- %ptr_playtime_seconds%: Returns the Total Playtime in Seconds
- %ptr_sessiontime_days%: Returns the Total Sessiontime in Days
- %ptr_sessiontime_hours%: Returns the Total Sessiontime in Days
- %ptr_sessiontime_minutes%: Returns the Total Sessiontime in Days
- %ptr_sessiontime_seconds%: Returns the Total Sessiontime in Days
- %ptr_playtime_days_trimmed%: Returns the Days-Amount from the Total Playtime
- %ptr_playtime_hours_trimmed%: Returns the Hours-Amount from the Total Playtime
- %ptr_playtime_minutes_trimmed%: Returns the Minutes-Amount from the Total Playtime
- %ptr_playtime_seconds_trimmed%: Returns the Seconds-Amount from the Total Playtime
- %ptr_sessiontime_days_trimmed%: Returns the Days-Amount from the Total Sessiontime
- %ptr_sessiontime_hours_trimmed%: Returns the Hours-Amount from the Total Sessiontime
- %ptr_sessiontime_minutes_trimmed%: Returns the Minutes-Amount from the Total Sessiontime
- %ptr_sessiontime_seconds_trimmed%: Returns the Seconds-Amount from the Total Sessiontime
- %ptr_sessiontime% -> Returns the Sessiontime for the Player, the message format is defined as 'EXT_PAPI_TIME_FORMAT'
- %ptr_playtime_days%: Returns the Total Playtime in Days
- %ptr_playtime_hours%: Returns the Total Playtime in Hours
- %ptr_playtime_minutes%: Returns the Total Playtime in Minutes
- %ptr_playtime_seconds%: Returns the Total Playtime in Seconds
- %ptr_sessiontime_days%: Returns the Total Sessiontime in Days
- %ptr_sessiontime_hours%: Returns the Total Sessiontime in Days
- %ptr_sessiontime_minutes%: Returns the Total Sessiontime in Days
- %ptr_sessiontime_seconds%: Returns the Total Sessiontime in Days
- %ptr_playtime_days_trimmed%: Returns the Days-Amount from the Total Playtime
- %ptr_playtime_hours_trimmed%: Returns the Hours-Amount from the Total Playtime
- %ptr_playtime_minutes_trimmed%: Returns the Minutes-Amount from the Total Playtime
- %ptr_playtime_seconds_trimmed%: Returns the Seconds-Amount from the Total Playtime
- %ptr_sessiontime_days_trimmed%: Returns the Days-Amount from the Total Sessiontime
- %ptr_sessiontime_hours_trimmed%: Returns the Hours-Amount from the Total Sessiontime
- %ptr_sessiontime_minutes_trimmed%: Returns the Minutes-Amount from the Total Sessiontime
- %ptr_sessiontime_seconds_trimmed%: Returns the Seconds-Amount from the Total Sessiontime
Spoiler: Trimmed Explanation:
If
%PTR_PLAYTIME% would return
12d3h50m23s for Player x (or something similiar, format defined in lang.yml),
%PTR_PLAYTIME_HOURS% would return 291h for Player x.
But %PTR_PLAYTIME_HOURS_TRIMMED% would just return 3h for Player x, as its only the "Hours-Part" of the Total Playtime
%PTR_PLAYTIME_HOURS% would return 291h for Player x.
But %PTR_PLAYTIME_HOURS_TRIMMED% would just return 3h for Player x, as its only the "Hours-Part" of the Total Playtime
Spoiler: F.A.Q & Future Plans
Q: I am using one of your older PlaytimeRewards. Is there way to transport Data inbetween these to Plugins?
A: No, there isn´t. This Plugin is a completely different Software, the only Thing they have in common is their Name.
Q: Does this Plugin work with Version older than 1.17.1?
A: Theoretically yes, but this Plugin got compiled with Java17 to use some newer Features so it wo't run on older servers that don't use Java 17.(You may also take this as a No - for now).
If many People are interested in older Version support, i may add a compatible Version.
Q: How does this Plugin save its data?
A: A playerData.yml File will get created when the Plugin tries to save userdata. It will try to take as little space up as possible. Data get's also saved uising Players UUIDs rather than their Name, to keep up with Namechanges.
Q: Does this Plugin work with /reload?
A: This is a.. topic... Theoretically it was designed with the ability to support server reloads, but i didn´t test it that much during development as it later wasn't that big of a priority anymore.
Future Plans:
If you´ve got any ideas feel free to suggest them in the Discussions or via pn!
A: No, there isn´t. This Plugin is a completely different Software, the only Thing they have in common is their Name.
Q: Does this Plugin work with Version older than 1.17.1?
A: Theoretically yes, but this Plugin got compiled with Java17 to use some newer Features so it wo't run on older servers that don't use Java 17.(You may also take this as a No - for now).
If many People are interested in older Version support, i may add a compatible Version.
Q: How does this Plugin save its data?
A: A playerData.yml File will get created when the Plugin tries to save userdata. It will try to take as little space up as possible. Data get's also saved uising Players UUIDs rather than their Name, to keep up with Namechanges.
Q: Does this Plugin work with /reload?
A: This is a.. topic... Theoretically it was designed with the ability to support server reloads, but i didn´t test it that much during development as it later wasn't that big of a priority anymore.
Future Plans:
Code (Text):
- Support Custom Advancements
- An ingame Reward-Editor using Inventory GUIs
- Add OfflineTime - Use Time between Logout and Login
- Add AFK-Time
- An ingame Reward-Editor using Inventory GUIs
- Add OfflineTime - Use Time between Logout and Login
- Add AFK-Time
Check out the Documentations Tab for more Info!
Thanks to ViscousHurricane for creating the awesome Artwork!
This Plugin collects data using bStats!
Don't report Errors or leave Suggestions in the Review Section, instead leave them in the Discussions Section. I'll be happy to talk to you there!
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.17, 1.18, 1.19
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
[1.17+] PlaytimeRewards is a free Minecraft Java mod. Compatible with Minecraft 1.17, 1.18, 1.19. Downloaded 6,767 times (via Spigot). Download it and open it directly in the game.