📚Information
Highly optimized, feature-packed, and unique Playtime plugin.
The ultimate Playtime plugin boosts player engagement with features like AFK Tracking, Playtime Rewards, and Playtime Credits. Enjoy Category-Based Playtime Shops with customizable rotation, cross-server support for unified rewards and leaderboards, and periodic gifts for exciting random rewards.
Highlights:
AFK Tracking: Monitor and manage player activity with advanced AFK tracking.
Playtime Rewards: Reward players based on their total playtime with valuable incentives.
Playtime Credits: Earn credits for in-game purchases and benefits.
Category-Based Playtime Shops: Access both rotational and static shops with customizable open dates.
Cross-Server Support: Unified rewards and leaderboards across multiple servers.
Periodic Gifts: Receive exciting random rewards at set playtime milestones.
Short Showcase Video
Commands
Arguments wrapped in diamonds <arg>
are required for the command to run properly. Arguments wrapped in square braces[arg]
are treated as optional
Admin Commands (Permission: tideplaytime.admin
)
/playtime
Opens the playtime menu
/playtime reload
Reloads the playtime plugin
/playtime givecredits <player> <amount>
Gives a player playtime credits
/playtime takecredits <player> <amount>
Takes an amount of playtime credits from the specified player
/playtime setcredits <player> <amount>
Sets the player's playtime credits to the specified amount
/playtime givereward <player> <type>
Gives a playtime reward to the player
Player Commands (Permission: None unless specified
)
/playtime
Opens the playtime menu
/playtime shop
Opens the playtime shop directly through the command
/playtime help
Sends the help message to the player
Default Configuration Files
TidePlaytime/tideplaytimegifts/config.yml
storage:
type: "JSON" # JSON | SQL
host: 0.0.0.0
username: "username"
password: "password"
database: "database"
port: 3306
command:
base-command-name: "gifts"
aliases:
- "tidegifts"
- "tideplaytimegifts"
- "tidegift"
- "gift"
- "playtimegifts"
- "playtimegift"
- "tideplaytimegift"
sub-commands:
"help":
base-alias: "help"
aliases: []
"reset":
base-alias: "reset"
aliases: []
settings:
reset-time: 43200 #Seconds
menus:
"gift-menu":
title: "&8&lGIFTS"
rows: 3
borders:
"gray":
material: "GRAY_STAINED_GLASS_PANE"
name: " "
lore: [ ]
slots:
- "0-26"
temp-items:
"gift-locked":
duration: 40 #ticks
material: "BARRIER"
name: "&c&lGIFT LOCKED!"
lore:
- "&7&oYou cannot claim this gift for &f&o%time%&7&o."
items:
"clock":
slot: 4
material: "CLOCK"
name: "&6&l[&e&l!&6&l] &eGifts &7(Read)"
lore:
- " "
- "&eInformation"
- "&e- &7Time until reset: &f%time%"
- " "
- "&eDescription"
- "&7As you play you will unlock gifts, these gifts give many random"
- "&7rewards. After claiming all your gifts they will reset again"
- "&7in &f12 hours&7."
- " "
- "&7&o(( You can claim your &f&ogifts&7&o below! ))"
gifts:
"one":
slot: 10
settings:
time: 60 #seconds
min: 1
max: 2
rewards:
"diamond":
chance: 50
commands:
- "give %player% diamond 1"
unlocked:
material: "PLAYER_HEAD"
skull: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjhkYzNjODQ0OTFjNGZmMTAzZGU2ZWEwMTg4MGUyZDgzNDMyY2Q0ODc4Yjg0ZDZiNDMyNTNjYzUxZmQ5NzhlNyJ9fX0="
name: "&2&l[&a&l!&2&l] &aGift #1 &7(Click to claim)"
lore:
- " "
- "&aInformation"
- "&a- &7Status: &fUnlocked"
- "&a- &7Tier: &fCommon"
- " "
- "&7&o(( Click me to claim your gift! ))"
claimed:
material: "PLAYER_HEAD"
skull: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTcyNmQ5ZDA2MzJlNDBiZGE1YmNmNjU4MzliYTJjYzk4YTg3YmQ2MTljNTNhZGYwMDMxMGQ2ZmM3MWYwNDJiNSJ9fX0="
name: "&2&l[&a&l!&2&l] &aGift #1 &7(Claimed)"
lore:
- " "
- "&aInformation"
- "&a- &7Status: &fClaimed"
- "&a- &7Tier: &fCommon"
- " "
- "&7&o(( This gift has already been claimed! ))"
locked:
material: "PLAYER_HEAD"
skull: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTcyNmQ5ZDA2MzJlNDBiZGE1YmNmNjU4MzliYTJjYzk4YTg3YmQ2MTljNTNhZGYwMDMxMGQ2ZmM3MWYwNDJiNSJ9fX0="
name: "&4&l[&c&l!&4&l] &cGift #1 &7(Locked)"
lore:
- " "
- "&cInformation"
- "&c- &7Time: &f%time%"
- "&c- &7Tier: &fCommon"
- " "
- "&7&o(( This gift is locked for another &f&o%time%&7&o! ))"
TidePlaytime/tideplaytimegifts/lang.yml
messages:
"no-permission":
sound:
enabled: true
value: "FIZZ"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&c&lTech&4&lTide &8&l→ &7You do not have &4permission&c for this!"
"invalid-player":
sound:
enabled: true
value: "FIZZ"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&c&lTech&4&lTide &8&l→ &7The player &4%player%&7 does not exist."
"reset-player":
sound:
enabled: true
value: "ORB_PICKUP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&b&lTech&3&lTide &f&l→ &7You have reset &b%player%'s&7 gift data."
"gift-reached":
sound:
enabled: true
value: "ORB_PICKUP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&b&lTech&3&lTide &f&l→ &7You have reached the &b%name%&7 Gift by playing for &b%time%&7."
"gift-claimed":
sound:
enabled: true
value: "ORB_PICKUP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&b&lTech&3&lTide &f&l→ &7You have claimed the &b%name%&7 Gift."
"gift-locked":
sound:
enabled: true
value: "FIZZ"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&c&lTech&4&lTide &8&l→ &7You cannot claim this gift for another &4%time%&7."
"admin-help":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&f&m-------------------------------------"
- " "
- "&b&lPlaytime Gifts &3&lAddon &7— &bAdmin Help"
- " "
- "&3&lCOMMANDS:"
- "&3&l→ &b/gifts"
- "&3&l→ &b/gifts reset <player>"
- " "
- "&f&m-------------------------------------"
"player-help":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&f&m-------------------------------------"
- " "
- "&b&lPlaytime Gifts &3&lAddon &7— &bPlayer Help"
- " "
- "&3&lCOMMANDS:"
- "&3&l→ &b/gifts"
- " "
- "&f&m-------------------------------------"
TidePlaytime/shops.yml
shops:
"static":
title: "&8&lSTATIC"
rows: 3
borders:
"gray":
material: "GRAY_STAINED_GLASS_PANE"
name: " "
lore: [ ]
slots:
- "0-26"
open-time: "1/28/2022 17:30:00"
rotating: false
items:
"diamond":
slot: 13
price: 10
material: "DIAMOND"
name: "&bDiamond &7(10 credits)"
lore: []
commands:
- "give %player% diamond 1"
"rotating":
title: "&8&lROTATING"
rows: 3
borders:
"gray":
material: "GRAY_STAINED_GLASS_PANE"
name: " "
lore: [ ]
slots:
- "0-26"
"light_gray":
material: "LIGHT_GRAY_STAINED_GLASS_PANE"
name: " "
lore: [ ]
slots:
- "10-16"
open-time: "1/28/2022 17:30:00"
rotating: true
rotating-time: 30 #In Seconds
item-slots: [10,11,12,13,14,15,16]
items:
"diamond":
price: 10
material: "DIAMOND"
name: "&bDiamond &7(10 credits)"
lore: []
commands:
- "give %player% diamond 1"
"emerald":
price: 10
material: "EMERALD"
name: "&aEmerald &7(10 credits)"
lore: []
commands:
- "give %player% emerald 1"
rotating-item:
slot: 18
material: "CLOCK"
name: "&eRotating in &f%time%&e."
lore: []
TidePlaytime/settings.yml
command:
base-command-name: "playtime"
aliases:
- "tideplaytime"
- "tideplay"
- "pt"
- "playtimes"
- "ptime"
sub-commands:
"shop":
base-alias: "shop"
aliases: []
"help":
base-alias: "help"
aliases: []
"reload":
base-alias: "reload"
aliases: []
"givereward":
base-alias: "givereward"
aliases: []
"givecredits":
base-alias: "givecredits"
aliases: []
"takecredits":
base-alias: "takecredits"
aliases: []
"setcredits":
base-alias: "setcredits"
aliases: []
settings:
time-until-afk: 10 #in seconds
top-update-interval: 60 #in seconds
afk-commands:
- "say %player% has gone AFK."
no-longer-afk-commands:
- "say %player% is no longer AFK."
TidePlaytime/rewards.yml
credit-settings:
give-every: 60 # Seconds
amount: 1
rewards:
"default":
seconds-needed: 20
commands:
- "eco give %player% 1000"
claim-message:
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&b&lTech&3&lTide &f&l→ &7You have claimed your &bDefault&a reward."
"default-2":
seconds-needed: 30
commands:
- "eco give %player% 10000"
claim-message:
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&b&lTech&3&lTide &f&l→ &7You have claimed your &bDefault 2&a reward."
TidePlaytime/menus.yml
menus:
"playtime-menu":
title: "&8&lPLAYTIME MENU"
rows: 3
borders:
"gray":
material: "GRAY_STAINED_GLASS_PANE"
name: " "
lore: [ ]
slots:
- "0-26"
shop:
slot: 15 # Set slot to -1 to disable
material: "EMERALD"
name: "&6&l[&e&l!&6&l] &ePlaytime Shops"
lore:
- " "
- "&eInformation"
- "&e&l▎ &7Action: &fOpen Playtime Shops"
- "&e&l▎ &7Usage: &fLeft-Click"
- " "
- "&7&o(( Click me to view available playtime shops! ))"
info:
material: "WATCH"
name: "&6&l[&e&l!&6&l] &e%player%'s Statistics"
lore:
- " "
- "&eInformation"
- "&e&l▎ &7Name: &f%player%"
- "&e&l▎ &7Playtime Credits: &f%credits%x"
- "&e&l▎ &7Time Played: &f%time-played%"
- "&e&l▎ &7Unclaimed Rewards: &f%unclaimed%"
- " "
- "&7&o(( You are viewing your &f&oplaytime&7&o stats! ))"
slot: 11 # Set slot to -1 to disable
top:
material: "PLAYER_HEAD"
skull: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODQ3N2RhZmM4YzllYTA3OTk2MzMzODE3OTM4NjZkMTQ2YzlhMzlmYWQ0YzY2ODRlNzExN2Q5N2U5YjZjMyJ9fX0="
name: "&6&l[&e&l!&6&l] &ePlaytime Top &7(Click)"
lore:
- " "
- "&eInformation"
- "&e&l▎ &7Action: &fOpen Playtime Top"
- "&e&l▎ &7Usage: &fLeft-Click"
- " "
- "&7&o(( Click me to open &f&oplaytime&7&o top! ))"
slot: 22 # Set slot to -1 to disable
claim:
"unavailable":
material: "ENDER_CHEST"
name: "&4&l[&c&l!&4&l] &cNone Available"
lore:
- " "
- "&cInformation"
- "&c&l▎ &7Unclaimed Rewards: &f%unclaimed%"
- "&c&l▎ &7Usage: &fLeft-Click"
- " "
- "&7&o(( You have no &f&oavailable&7&o rewards! ))"
"available":
material: "CHEST"
name: "&2&l[&a&l!&2&l] &aClaim Rewards &7(Click)"
lore:
- " "
- "&aInformation"
- "&a&l▎ &7Unclaimed Rewards: &f%unclaimed%"
- "&a&l▎ &7Usage: &fLeft-Click"
- " "
- "&7&o(( You have &f&o%unclaimed%&7&o available rewards! ))"
slot: 13 # Set slot to -1 to disable
"top-menu":
title: "&8&lPLAYTIME TOP"
rows: 3
top-slots: [ 10,11,12,13,14,15,16 ]
top-update-interval: 60 #seconds
borders:
"gray":
material: "GRAY_STAINED_GLASS_PANE"
name: " "
lore: [ ]
slots:
- "0-26"
invalid-item:
material: "PLAYER_HEAD"
skull: "MHF_Question"
name: "&c???"
lore: [ ]
valid-item:
material: "PLAYER_HEAD"
skull: "%player%"
name: "&3&l[&b&l!&3&l] &b%player% &7(#%rank%)"
lore:
- "&7&o(( &f&o%player%&7&o has played for &f&o%amount%&7&o. ))"
stats-item:
slot: 26
material: "PLAYER_HEAD"
skull: "%player%"
name: "&3&l[&b&l!&3&l] &b%player% &7(#%rank%)"
lore:
- "&7&o(( You have played for &f&o%amount%&7&o. ))"
"main-shop-menu":
title: "&8&lCATEGORIES"
rows: 3
borders:
"gray":
material: "GRAY_STAINED_GLASS_PANE"
name: " "
lore: [ ]
slots:
- "0-26"
categories:
"static":
slot: 12
open:
material: "LIME_DYE"
name: "&aStatic Shop &7(Open)"
lore: [ ]
closed:
material: "RED_DYE"
name: "&cStatic Shop &7(Closed)"
lore: [ ]
"rotating":
slot: 14
open:
material: "LIME_DYE"
name: "&aRotating Shop &7(Open)"
lore: [ ]
closed:
material: "RED_DYE"
name: "&cRotating Shop &7(Closed)"
lore: [ ]
TidePlaytime/storage.yml
storage:
type: "JSON" # JSON | SQL
host: 0.0.0.0
username: "username"
password: "password"
database: "database"
port: 3306
TidePlaytime/messages.yml
messages:
"reloaded":
sound:
enabled: true
value: "BLOCK_NOTE_PLING"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&b&lTech&3&lTide &f&l→ &7You have successfully reloaded &bTidePlaytime&7, and &bTidePlaytimeGifts&7 in &b%time%ms&7."
"no-permission":
sound:
enabled: true
value: "FIZZ"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&c&lTech&4&lTide &8&l→ &7You do not have &4permission&7 for this!"
"you-are-afk":
sound:
enabled: true
value: "FIZZ"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&c&lTech&4&lTide &8&l→ &7You have now been marked as &4afk&7."
"invalid-arguments":
sound:
enabled: true
value: "FIZZ"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&c&lTech&4&lTide &8&l→ &7Invalid arguments!"
"no-longer-afk":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&b&lTech&3&lTide &f&l→ &7You have &bmoved&7 and have now been taken out of &bafk mode&7."
"reward-available":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&b&lTech&3&lTide &f&l→ &7You have earned the &b%type%&7 reward! &7(/playtime)"
"simulated-claim":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&b&lTech&3&lTide &f&l→ &7You have simulated a reward claim for &b%player%&7."
"no-available-rewards":
sound:
enabled: true
value: "FIZZ"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&c&lTech&4&lTide &8&l→ &7You do not have any &4available&c rewards."
"top-update-starting":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&6&l[!] &ePlaytime top is now starting to update! &7(/playtime)"
"top-update-done":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&6&l[!] &ePlaytime top has finished updating! &7(/playtime)"
"admin-help":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&f&m-------------------------------------"
- " "
- "&b&lTide&3&lPlaytime &7— &bAdmin Help"
- "&7&oCrafted with excellence by &f&oTechTide&7&o."
- " "
- "&b&lCommands:"
- "&b&l→ &7/playtime"
- "&b&l→ &7/playtime shop"
- "&b&l→ &7/playtime help"
- "&b&l→ &7/playtime reload"
- "&b&l→ &7/playtime givereward <player> <type>"
- "&b&l→ &7/playtime givecredits <player> <amount>"
- "&b&l→ &7/playtime takecredits <player> <amount>"
- "&b&l→ &7/playtime setcredits <player> <amount>"
- " "
- "&f&m-------------------------------------"
"player-help":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&f&m-------------------------------------"
- " "
- "&b&lTide&3&lPlaytime &7— &bPlayer Help"
- "&7&oCrafted with excellence by &f&oTechTide&7&o."
- " "
- "&b&lCommands:"
- "&b&l→ &7/playtime"
- "&b&l→ &7/playtime shop"
- "&b&l→ &7/playtime help"
- " "
- "&f&m-------------------------------------"
"saved":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&b&lTech&3&lTide &f&l→ &7You have &bsaved&7 all playtime data."
"not-enough":
sound:
enabled: true
value: "FIZZ"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&c&lTech&4&lTide &8&l→ &7You don't have enough &4playtime credits&c to buy this!"
"purchased":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&3&l[!] &bYou have purchased &3%item%&b for &3%price%&b."
"rotated":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&3&l[!] &bThe &3%shop%&b shop has &3rotated&b."
"credits-gained":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&3&l[!] &bYou have just gained &3%amount%x&b playtime credits for playing!"
"given-credits":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&3&l[!] &bYou have given &3%player% %amount%x&b playtime credits."
"received-credits":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&3&l[!] &bYou have received &3%amount%x&b playtime credits."
"taken-credits":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&3&l[!] &bYou have taken &3%amount%x&b playtime credits from &3%player%&b."
"credits-took":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&3&l[!] &bYou have had &3%amount%x&b playtime credits taken."
"set-credits":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&3&l[!] &bYou have set &3%player%'s&b playtime credits to &3%amount%x&b."
"credits-set":
sound:
enabled: true
value: "LEVEL_UP"
volume: 1
pitch: 1
message:
enabled: true
value:
- "&3&l[!] &bYour playtime credits have been set to &3%amount%x&b."
Last updated