Перейти к содержимому
Mineforgian

Playtime Rewards

Earn Rewards, Track your playtime, Unlock ranks, and climb the Leaderboard just by being active!

Загрузки
511
Подписчики
6
Обновлён
4 августа 2026 г.
Лицензия
MIT

Опубликован 7 февраля 2026 г.

Playtime Rewards

Playtime Rewards is a configurable, server-side Fabric mod that turns player activity into automatic progression.

It tracks every player’s online time, imports existing vanilla playtime, awards ranks, synchronizes LuckPerms groups, delivers item rewards, and provides a complete set of progression GUIs.

The mod is designed for long-term SMPs, survival communities, whitelisted servers, and progression-focused Fabric servers.

No client-side mod is required.


Features

  • Tracks every second a player is online
  • Imports existing vanilla playtime
  • Saves progress by UUID
  • Supports unlimited configurable ranks
  • Automatically detects rank milestones
  • Broadcasts rank-ups
  • Integrates with LuckPerms
  • Creates configured LuckPerms groups
  • Assigns and removes managed playtime groups
  • Preserves unrelated staff and donor groups
  • Supports configurable prefixes and priorities
  • Gives physical item rewards
  • Supports vanilla and modded item IDs
  • Prevents duplicate rewards
  • Retries missing or failed rewards
  • Drops inventory overflow safely
  • Includes manual reward recovery
  • Includes a personal profile GUI
  • Includes a rank and reward browser
  • Includes individual reward-detail screens
  • Includes a paginated leaderboard GUI
  • Includes multiple leaderboard sorting modes
  • Includes configurable rank icons
  • Includes configurable GUI icons and text
  • Supports classic colors and hex gradients
  • Includes administrative playtime commands
  • Remains completely server-side

Playtime Tracking

Playtime Rewards records every second a player remains online.

When a player joins for the first time after installation, the mod checks their vanilla Minecraft playtime statistic and imports it automatically.

Players do not lose previous progress when the mod is installed on an established server.

Player records are saved by UUID, so username changes do not reset:

  • Total playtime
  • Current rank
  • LuckPerms synchronization
  • Claimed rewards
  • Leaderboard position

Rank Progression

Ranks are configured using required playtime in seconds.

When a player reaches a milestone, the mod can automatically:

  1. Update their current rank
  2. Create the configured LuckPerms group
  3. Remove older managed playtime groups
  4. Assign the new group
  5. Preserve unrelated groups
  6. Apply the configured prefix
  7. Deliver item rewards
  8. Broadcast the rank-up
  9. Save the player’s progress

There is no hard limit on the number of ranks.


Default Ranks

Nomad

Required playtime:

1 hour

Default display item:

minecraft:leather_boots

Default rewards:

  • 16 Bread
  • Iron Pickaxe
  • Iron Axe
  • Shield
  • 16 Torches

Default LuckPerms group:

nomad

Noble

Required playtime:

6 hours

Default display item:

minecraft:golden_helmet

Default rewards:

  • 4 Diamonds
  • Golden Apple
  • 16 Experience Bottles
  • Name Tag
  • Saddle

Default LuckPerms group:

noble

Veteran

Required playtime:

24 hours

Default display item:

minecraft:diamond_sword

Default rewards:

  • Totem of Undying
  • Enchanted Golden Apple
  • 32 Experience Bottles
  • Netherite Upgrade Smithing Template
  • 8 Diamonds

Default LuckPerms group:

veteran

Legend

Required playtime:

25 days

Default display item:

minecraft:nether_star

Default rewards:

  • Withered Claim Anchor
  • Elytra
  • Nether Star
  • Shulker Box
  • 64 Experience Bottles

Default LuckPerms group:

legend

The default Withered Claim Anchor reward uses:

goml:withered_claim_anchor

This item requires Get Off My Lawn to be installed.

It can be replaced with any registered vanilla or modded item.


Personal Profile GUI

Running:

/playtime

or:

/playtime me

opens a personal progression profile.

The profile can display:

  • Player name
  • Total playtime
  • Current rank
  • Current rank icon
  • Next rank
  • Progress percentage
  • Time remaining
  • Leaderboard position
  • Rank and reward browser button
  • Claim rewards button
  • Leaderboard button

The original text-based output remains available through:

/playtime text

Ranks and Rewards GUI

Running:

/playtime ranks

opens the rank browser.

Each configured rank appears as its own clickable item.

The rank list displays:

  • Rank name
  • Required playtime
  • Locked or unlocked status
  • Configurable rank icon
  • A prompt to open the reward page

Clicking a rank opens its dedicated reward-detail screen.


Reward Detail Screens

Every rank has its own reward page.

The screen displays:

  • The rank’s configurable display item
  • Every configured reward
  • The real reward item icon
  • Configured item quantity
  • Claimed or unclaimed status
  • A button to return to the rank list

Both vanilla and modded rewards are supported.

If a rank has no item rewards, a configurable empty-state item and message are displayed.


Configurable Rank Icons

Each rank can define its own visual item:

{
  "name": "Veteran",
  "seconds": 86400,
  "displayItem": "minecraft:diamond_sword",
  "luckPermsGroup": "veteran",
  "luckPermsPrefix": "&4[Veteran]&r ",
  "luckPermsPrefixPriority": 300,
  "rewards": []
}

The display item is used in:

  • The rank browser
  • The personal profile
  • The reward-detail header

It is visual only and is not given as a reward.

Any registered item can be used:

"displayItem": "minecraft:dragon_egg"

or:

"displayItem": "goml:withered_claim_anchor"

A global fallback is also available:

"rankDefaultDisplayItem": "minecraft:book"

Invalid item IDs fall back safely and generate a console warning.


Leaderboard GUI

Running:

/playtime top

opens the graphical leaderboard.

The leaderboard displays:

  • Overall position
  • Player name
  • Total playtime
  • Current rank
  • Special podium icons
  • The viewer’s own position
  • Page controls
  • Sorting controls
  • A button to return to the profile

Offline players remain visible because entries are generated from saved player records.

The classic text leaderboard remains available through:

/playtime top text

Leaderboard Sorting

The leaderboard can be sorted by:

  • Total playtime
  • Rank
  • Online players first
  • Alphabetical order

Clicking the sorting control cycles between available sorting modes.

The leaderboard supports multiple pages with up to 45 player entries per page.


Safe Read-Only GUIs

All Playtime Rewards interfaces use protected display slots.

Players cannot:

  • Remove GUI display items
  • Place inventory items into GUI slots
  • Shift-click items into a menu
  • Drag items across display slots
  • Use item-transfer actions on GUI items
  • Lose cursor items by clicking menu slots

All profile, rank, reward, and leaderboard interfaces remain server-side.


Configurable GUI Text

The GUI title, descriptions, buttons, icons, and status messages can be customized in config.json.

Examples:

"leaderboardGuiTitle": "&6&lPlaytime Leaderboard",
"leaderboardEntryText": "&6#{position} &f{player} &7| &e{playtime} &7| &b{rank}",
"leaderboardYourPositionText": "&eYour position: &6#{position} &7| &e{playtime}",
"rewardDetailGuiTitle": "&b&l{rank} Rewards",
"rewardDetailClaimedText": "&aClaimed",
"rewardDetailUnclaimedText": "&eUnclaimed"

Available placeholders include:

{player}
{position}
{playtime}
{seconds}
{rank}
{nextRank}
{remaining}
{progress}
{required}
{status}
{rewards}
{claimed}
{totalRewards}
{count}
{item}
{page}
{pages}
{sort}

Color Formatting

Classic Minecraft color codes are supported:

&6 Gold
&7 Gray
&a Green
&b Aqua
&c Red
&d Light Purple
&e Yellow
&f White

Formatting codes:

&l Bold
&o Italic
&n Underline
&m Strikethrough
&r Reset

Hex colors are supported:

&#fbbf24Playtime

Per-character hex colors can be used to create gradients:

&#fbbf24P&#fabc22l&#fab81fa&#f9b51dy

Example configured title:

"leaderboardGuiTitle": "&#fbbf24&nP&#fabc22&nl&#fab81f&na&#f9b51d&ny&#f9b21a&nt&#f8af18&ni&#f7ab15&nm&#f7a813&ne&r"

Adding &r resets active formatting.


LuckPerms Integration

LuckPerms integration is optional.

When installed, Playtime Rewards can:

  • Create configured playtime groups
  • Assign the correct group
  • Remove older managed playtime groups
  • Preserve unrelated groups
  • Apply configured prefixes
  • Apply configurable prefix priorities
  • Resynchronize players on join
  • Resynchronize players on rank-up
  • Resynchronize through refresh commands

The mod only manages groups that appear in its own rank configuration.

Staff, donor, builder, booster, and unrelated groups remain untouched.

LuckPerms prefixes require a compatible chat, tab-list, or nametag formatter to appear visually.


Item Rewards

Each rank can define an unlimited number of item rewards.

Example:

"rewards": [
  {
    "item": "minecraft:diamond",
    "count": 8
  },
  {
    "item": "minecraft:experience_bottle",
    "count": 32
  }
]

The mod supports any item registered on the server.

Vanilla example:

minecraft:elytra

Modded example:

goml:withered_claim_anchor

When a reward is granted, the mod:

  1. Looks up the item registry ID
  2. Creates the item stack
  3. Inserts it into the player’s inventory
  4. Drops overflow at the player’s position
  5. Marks the individual reward as claimed
  6. Saves player data

A reward is only marked as claimed after successful delivery.


Duplicate Protection

Each reward is tracked independently.

If one item succeeds and another fails:

  • The successful reward remains claimed
  • The successful reward cannot duplicate
  • The failed reward remains unclaimed
  • The failed reward can be retried later

Restarting, reconnecting, refreshing, or repeatedly claiming does not duplicate successfully delivered items.


Reward Recovery

Players can check for missing rewards with:

/playtime claim

Operators can check another online player with:

/playtime claim <player>

This is useful when:

  • Rewards were added after a player passed a rank
  • A modded item was temporarily unavailable
  • A previous delivery failed
  • A server restart interrupted delivery
  • A player believes they missed a reward

Player Commands

/playtime

Opens the personal profile.

/playtime me

Opens the personal profile.

/playtime text

Displays the classic text summary.

/playtime ranks

Opens the rank and reward browser.

/playtime top

Opens the leaderboard GUI.

/playtime top text

Displays the classic text leaderboard.

/playtime refresh

Refreshes playtime, rank, LuckPerms synchronization, and saved progression.

/playtime claim

Claims earned but unclaimed rewards.


Administrative Commands

/playtime admin set <player> <time>

Sets a player’s tracked playtime.

/playtime admin add <player> <time>

Adds tracked playtime.

/playtime admin remove <player> <time>

Removes tracked playtime.

/playtime admin reset <player>

Resets progression and claimed reward history.

/playtime admin reload

Reloads the configuration.

Supported time formats include:

3600
6h
30m
2d12h
1d6h30m

Configuration

The configuration is stored inside the active world folder:

<world>/config/playtime-rewards/config.json

Player data is stored in:

<world>/config/playtime-rewards/players.tsv

After changing the configuration, fully restart the server unless using the administrative reload command for supported settings.

Always back up configuration and player data before major updates.


Saving and Persistence

Player data is saved:

  • On a configurable interval
  • When a player disconnects
  • When a player ranks up
  • When a reward is delivered
  • When a refresh is performed
  • When a claim succeeds
  • When the server shuts down

Stored information includes:

  • UUID
  • Last known username
  • Total playtime
  • Current rank
  • Rank history
  • Claimed rewards

Requirements

Required:

Minecraft 26.2
Fabric Loader 0.19.3 or newer
Fabric API 0.156.0+26.2 or newer
Java 25

Optional:

LuckPerms
Get Off My Lawn
A compatible chat, tab-list, or nametag formatter

Only the server needs Playtime Rewards.

Players do not need to install the mod.


Installation

  1. Install Fabric Loader for Minecraft 26.2.
  2. Install Fabric API.
  3. Place Playtime Rewards in the server’s mods folder.
  4. Optionally install LuckPerms.
  5. Optionally install Get Off My Lawn.
  6. Start the server.
  7. Review the generated configuration.
  8. Restart after editing configuration values.

Built for Long-Term Servers

Playtime Rewards gives active players meaningful progression without introducing paid advantages.

It is well suited for:

  • Survival multiplayer servers
  • Community SMPs
  • Whitelisted servers
  • Semi-vanilla servers
  • Long-term worlds
  • Modded Fabric servers
  • Progression-focused communities

Reward loyalty.

Recognize dedicated players.

Give every hour a purpose.

Ченджлог

1.7.3Релиз26.2 · 4 августа 2026 г.

Playtime Rewards 1.7.3

Changes Since 1.6.0

Version 1.7.3 expands Playtime Rewards from a leaderboard-focused mod into a complete graphical progression system.


Added Personal Profile GUI

/playtime and /playtime me now open a personal player profile.

The profile displays:

  • Player name
  • Total playtime
  • Current rank
  • Current rank icon
  • Next rank
  • Progress percentage
  • Remaining time
  • Leaderboard position
  • Rank browser button
  • Claim rewards button
  • Leaderboard button

The original text display remains available through:

/playtime text

Added Rank and Reward Browser

/playtime ranks now opens a graphical rank browser.

Each rank entry displays:

  • Rank name
  • Required playtime
  • Locked or unlocked status
  • Configurable display icon
  • A prompt to view its rewards

Rank entries are clickable.


Added Individual Reward Detail Screens

Clicking a rank opens a dedicated reward screen.

The new screen displays:

  • The rank name
  • The rank display item
  • Every configured reward
  • Real reward item icons
  • Configured reward quantities
  • Claimed or unclaimed status
  • A button to return to the rank list

Ranks without rewards display a configurable empty-state message and item.


Shortened Rank Hover Text

The rank list no longer displays every reward in one large tooltip.

Rank hover text now focuses on:

  • Rank
  • Requirement
  • Status
  • Click instruction

The full reward list is moved into the dedicated reward page.


Added Configurable Rank Display Items

Every rank can now define a unique display item.

Example:

{
  "name": "Veteran",
  "seconds": 86400,
  "displayItem": "minecraft:diamond_sword",
  "luckPermsGroup": "veteran",
  "luckPermsPrefix": "&4[Veteran]&r ",
  "luckPermsPrefixPriority": 300,
  "rewards": []
}

The configured item is used in:

  • The rank browser
  • The personal profile
  • The reward-detail header

Display items are visual only and are not granted as rewards.


Added Default Rank Icons

Default rank icons are now:

Nomad   → minecraft:leather_boots
Noble   → minecraft:golden_helmet
Veteran → minecraft:diamond_sword
Legend  → minecraft:nether_star

Server owners can replace them with any registered vanilla or modded item.


Added Global Rank Icon Fallback

A new global fallback option is available:

"rankDefaultDisplayItem": "minecraft:book"

This is used when:

  • A rank has no display item
  • An older config is being migrated
  • A configured item ID is invalid
  • A configured modded item is unavailable

Invalid item IDs generate a console warning.


Expanded Leaderboard Pagination

The leaderboard now supports multiple pages.

Each page can display up to 45 players.

New controls allow players to:

  • Move to the previous page
  • Move to the next page
  • Return to their profile

Added Leaderboard Sorting

The leaderboard can now be sorted by:

  • Total playtime
  • Rank
  • Online players first
  • Alphabetical order

Clicking the sort control cycles through the available modes.


Added Profile Navigation

The progression interfaces are now connected.

Players can navigate between:

  • Personal profile
  • Rank browser
  • Reward detail screen
  • Leaderboard
  • Reward claiming

This creates a unified progression menu rather than a collection of separate commands.


Added Administrative Commands

New operator commands:

/playtime admin set <player> <time>
/playtime admin add <player> <time>
/playtime admin remove <player> <time>
/playtime admin reset <player>
/playtime admin reload

Supported time formats include:

3600
6h
30m
2d12h
1d6h30m

Added Playtime Set Command

/playtime admin set <player> <time>

Sets a player’s total tracked playtime to an exact value.

The player’s rank and progression are recalculated afterward.


Added Playtime Add Command

/playtime admin add <player> <time>

Adds time to a player’s tracked playtime.


Added Playtime Remove Command

/playtime admin remove <player> <time>

Removes tracked playtime without allowing the value to fall below zero.


Added Player Reset Command

/playtime admin reset <player>

Resets:

  • Tracked playtime
  • Current rank
  • Progression
  • Claimed reward history

This allows the player to restart the progression system completely.


Added Configuration Reload Command

/playtime admin reload

Reloads supported configuration settings without requiring a complete server restart.


Added New GUI Placeholders

New configurable placeholders include:

{player}
{position}
{playtime}
{seconds}
{rank}
{nextRank}
{remaining}
{progress}
{required}
{status}
{rewards}
{claimed}
{totalRewards}
{count}
{item}
{page}
{pages}
{sort}

These placeholders can be used throughout the profile, rank, reward, and leaderboard interfaces.


Added Reward Detail Configuration

New settings include:

"rewardDetailGuiTitle": "&b&l{rank} Rewards",
"rewardDetailItemText": "&e{count}x &f{item} &7| {status}",
"rewardDetailClaimedText": "&aClaimed",
"rewardDetailUnclaimedText": "&eUnclaimed",
"rewardDetailEmptyItem": "minecraft:barrier",
"rewardDetailEmptyText": "&7This rank has no item rewards.",
"rewardDetailBackText": "&eBack to Ranks"

Improved GUI Safety

The new profile, rank, reward, and leaderboard menus all use protected display slots.

Players cannot:

  • Remove menu items
  • Insert their own items
  • Shift-click items into menus
  • Drag items across menu slots
  • Lose cursor items through GUI interaction

Improved Server-Side Compatibility

All new interfaces remain completely server-side.

Players do not need:

  • A client mod
  • A resource pack
  • A custom launcher

The menus use vanilla inventory interfaces.


Configuration Migration

Older configurations are automatically updated with new GUI and rank-display fields.

Existing values are preserved whenever possible.

New fields receive safe defaults.


Upgrade Notes

When upgrading from 1.6.0:

  1. Stop the server.
  2. Back up config.json.
  3. Back up players.tsv.
  4. Replace the previous JAR.
  5. Start the server.
  6. Review the newly generated GUI settings.
  7. Review every rank’s new displayItem value.
  8. Restart after making configuration changes.

Existing player playtime, ranks, LuckPerms data, and claimed rewards remain compatible.

1.6.0Релиз26.2 · 4 августа 2026 г.

Playtime Rewards 1.6.0

GUI Changes Since 1.3.2

This changelog covers only the leaderboard GUI and GUI-configuration features added after version 1.3.2.


Added Leaderboard GUI

/playtime top now opens an in-game chest-style leaderboard instead of only displaying leaderboard entries in chat.

The GUI displays:

  • Leaderboard position
  • Player name
  • Total playtime
  • Current rank
  • Special podium icons for first, second, and third place
  • The viewing player’s own overall position

The leaderboard uses saved player data, allowing offline players to remain visible.

No client-side mod is required.


Added Text Leaderboard Fallback

The original chat-based leaderboard remains available through:

/playtime top text

This gives server owners and players access to both the visual GUI and the classic text output.


Added Podium Display Items

The top three leaderboard positions use special display items.

Original defaults:

#1 Gold Ingot
#2 Iron Ingot
#3 Copper Ingot

All remaining players use the configured default player item.

The viewer’s own position is displayed using a separate configurable item.


Added Configurable GUI Items

Leaderboard display items can now be changed through config.json without rebuilding the mod.

Available settings:

"leaderboardFirstPlaceItem": "minecraft:gold_ingot",
"leaderboardSecondPlaceItem": "minecraft:iron_ingot",
"leaderboardThirdPlaceItem": "minecraft:copper_ingot",
"leaderboardDefaultPlayerItem": "minecraft:player_head",
"leaderboardYourPositionItem": "minecraft:clock"

Example custom podium:

"leaderboardFirstPlaceItem": "minecraft:nether_star",
"leaderboardSecondPlaceItem": "minecraft:diamond",
"leaderboardThirdPlaceItem": "minecraft:emerald"

Any valid vanilla or modded item ID can be used.

Invalid item IDs fall back safely and generate a console warning.


Added Configurable GUI Text

All primary leaderboard text can now be edited through the configuration.

Available settings include:

"leaderboardGuiTitle": "&6&lPlaytime Leaderboard",
"leaderboardEntryText": "&6#{position} &f{player} &7| &e{playtime} &7| &b{rank}",
"leaderboardYourPositionText": "&eYour position: &6#{position} &7| &e{playtime} &7| &b{rank}",
"leaderboardUnrankedText": "&7Your position: Unranked"

Supported placeholders:

{position}
{player}
{playtime}
{rank}
{seconds}

This allows server owners to completely restyle the title and player-entry text.


Added Classic Color Formatting

GUI text supports standard Minecraft ampersand formatting codes:

&6 Gold
&7 Gray
&a Green
&b Aqua
&c Red
&d Light Purple
&e Yellow
&f White

Formatting codes are also supported:

&l Bold
&o Italic
&n Underline
&m Strikethrough
&r Reset

Example:

"leaderboardGuiTitle": "&6&lPlaytime Leaderboard"

Added Hex Color Support

GUI text can now use six-digit hex colors.

Example:

"leaderboardGuiTitle": "&#fbbf24&lPlaytime Leaderboard"

Hex colors can be mixed with classic formatting codes.


Added Per-Character Gradient Support

Custom gradients can be created using a different hex color for each character.

Example:

&#fbbf24P&#fabc22l&#fab81fa&#f9b51dy

A full formatted title can be placed directly into the configuration:

"leaderboardGuiTitle": "&#fbbf24&nP&#fabc22&nl&#fab81f&na&#f9b51d&ny&#f9b21a&nt&#f8af18&ni&#f7ab15&nm&#f7a813&ne&r"

The final &r resets the color and formatting state.

This format works well with external Minecraft gradient-text generators.


Improved GUI Safety

The leaderboard interface is now fully read-only.

Players can no longer:

  • Remove leaderboard display items
  • Place inventory items into leaderboard slots
  • Shift-click items into the GUI
  • Drag items across GUI slots
  • Use item-transfer actions on display slots
  • Lose cursor items by clicking the GUI

Earlier GUI builds could allow an item-transfer attempt to begin even though the backing inventory rejected the final write. This could make player items appear to disappear.

The GUI now uses non-interactive display slots, preventing the transfer from starting.


Improved Offline Player Display

Leaderboard entries are generated from stored player records rather than only the current online-player list.

Offline players therefore continue to display with:

  • Last known username
  • Saved playtime
  • Saved rank
  • Overall leaderboard position

Added Viewer Position Display

The bottom section of the leaderboard shows the requesting player’s overall position.

Example:

Your position: #14 | 4d 7h | Veteran

The text and display item are both configurable.

An alternate unranked message is shown when the viewer does not yet have a leaderboard position.


Server-Side Compatibility

The leaderboard continues to use a vanilla inventory interface.

This means:

  • No client-side companion mod is required
  • Vanilla clients can open the leaderboard
  • The feature remains compatible with the server-side design of Playtime Rewards

Command Summary

/playtime top

Opens the leaderboard GUI.

/playtime top text

Displays the classic chat leaderboard.


Upgrade Notes

After upgrading from 1.3.2:

  1. Stop the server.
  2. Back up the existing configuration and player data.
  3. Replace the old JAR.
  4. Start the server.
  5. Review the new leaderboard settings in config.json.
  6. Fully restart after editing the GUI configuration.

Existing player playtime, ranks, LuckPerms groups, and claimed rewards are unaffected by the GUI update.

1.3.2Релиз26.2 · 4 августа 2026 г.

Playtime Rewards 1.3.2

Changes Since 1.2.0

Version 1.3.2 expands Playtime Rewards beyond ranks and LuckPerms integration by introducing fully configurable physical item rewards, reward recovery commands, modded-item support, and reliable duplicate protection.

Added Item Rewards

Each playtime rank can now contain its own configurable item reward bundle.

Rewards support:

  • Vanilla Minecraft items
  • Items added by other mods
  • Custom item quantities
  • Unlimited items per rank
  • Automatic inventory delivery
  • Overflow item drops
  • Individual reward claim tracking

Example reward configuration:

"rewards": [
  {
    "item": "minecraft:diamond",
    "count": 8
  },
  {
    "item": "minecraft:experience_bottle",
    "count": 32
  }
]

Modded Item Support

Rewards can use any valid registered item ID available on the server.

Example:

{
  "item": "goml:withered_claim_anchor",
  "count": 1
}

The mod now looks up items directly through Minecraft’s item registry and creates real item stacks for the player.

If a configured item is unavailable, that specific reward remains unclaimed and can be retried later.

New Legend Rank

A new default rank has been added:

Legend — 25 Days

Twenty-five days of playtime equals:

2,160,000 seconds

Default Legend rewards:

  • 1 Withered Claim Anchor
  • 1 Elytra
  • 1 Nether Star
  • 1 Shulker Box
  • 64 Experience Bottles

Default LuckPerms configuration:

{
  "name": "Legend",
  "seconds": 2160000,
  "luckPermsGroup": "legend",
  "luckPermsPrefix": "&d&l[Legend]&r ",
  "luckPermsPrefixPriority": 400
}

The Withered Claim Anchor requires Get Off My Lawn and uses:

goml:withered_claim_anchor

Server owners can replace this item with any other valid item ID.

Default Rank Rewards

Nomad — 1 Hour

  • 16 Bread
  • 1 Iron Pickaxe
  • 1 Iron Axe
  • 1 Shield
  • 16 Torches

Noble — 6 Hours

  • 4 Diamonds
  • 1 Golden Apple
  • 16 Experience Bottles
  • 1 Name Tag
  • 1 Saddle

Veteran — 24 Hours

  • 1 Totem of Undying
  • 1 Enchanted Golden Apple
  • 32 Experience Bottles
  • 1 Netherite Upgrade Smithing Template
  • 8 Diamonds

Legend — 25 Days

  • 1 Withered Claim Anchor
  • 1 Elytra
  • 1 Nether Star
  • 1 Shulker Box
  • 64 Experience Bottles

New /playtime claim Command

Players can now use:

/playtime claim

This command checks every rank milestone the player has reached and grants any missing item rewards.

It is useful for:

  • Existing players who passed milestones before item rewards were introduced
  • Rewards that failed because a modded item was unavailable
  • Players who believe they missed a reward
  • Recovery after server or configuration changes

Successfully delivered rewards cannot be claimed again.

New Admin Recovery Command

Server operators can trigger reward recovery for another online player:

/playtime claim <player>

The command respects existing claim history and does not duplicate successfully delivered items.

Reliable Reward Delivery

Version 1.3.2 no longer relies on command execution to give items.

The mod now:

  1. Resolves the configured item from Minecraft’s registry
  2. Creates a real ItemStack
  3. Inserts the stack directly into the player’s inventory
  4. Drops remaining items at the player’s location when necessary
  5. Records the reward only after successful delivery

This fixes an issue in earlier 1.3.x builds where players could receive a success message without receiving the actual items.

Per-Item Claim Tracking

Rewards are tracked individually instead of marking an entire rank bundle as claimed at once.

For example, if a Legend player successfully receives an Elytra but the Withered Claim Anchor is temporarily unavailable:

  • The Elytra remains permanently claimed
  • The Elytra will not be duplicated
  • The Withered Claim Anchor remains available to retry
  • /playtime claim can deliver the missing anchor later

This provides safer recovery for modded servers.

Automatic Reward Delivery

Eligible rewards are checked automatically when:

  • A player reaches a new rank
  • A player joins the server
  • A player uses /playtime claim
  • An operator uses /playtime claim <player>

Existing players can receive rewards for milestones they reached before upgrading.

Inventory Overflow Handling

The mod attempts to insert rewards directly into the player’s inventory.

When the inventory cannot hold the entire reward stack, the remaining items are dropped at the player’s current location.

Rewards are only recorded after the inventory insertion or item drop succeeds.

LuckPerms Improvements

The LuckPerms integration continues to support:

  • Automatic group creation
  • Automatic player group assignment
  • Removal of previous managed playtime groups
  • Preservation of unrelated groups
  • Configurable prefixes
  • Configurable prefix priorities
  • Login synchronization
  • Rank-up synchronization
  • /playtime refresh synchronization

Default managed groups:

nomad
noble
veteran
legend

Groups such as staff, administrator, moderator, donor, booster, and builder remain untouched.

Configurable Prefixes

Each rank can define its own LuckPerms prefix:

{
  "luckPermsPrefix": "&d&l[Legend]&r ",
  "luckPermsPrefixPriority": 400
}

The mod applies prefixes to both newly created and existing managed groups.

A compatible chat, tab-list, or nametag formatting mod is still required to display LuckPerms prefixes in-game.

Configuration Migration

Older command-based configurations using the following format:

"thresholds": [
  {
    "seconds": 3600,
    "group": "nomad"
  }
]

can be migrated to the newer per-rank configuration format:

"ranks": [
  {
    "name": "Nomad",
    "seconds": 3600,
    "luckPermsGroup": "nomad",
    "luckPermsPrefix": "&7[Nomad]&r ",
    "luckPermsPrefixPriority": 100,
    "rewards": []
  }
]

The newer format allows every rank to control its group, prefix, priority, and item rewards independently.

Data Compatibility

Existing player playtime data remains compatible.

Player storage now also records individual claimed reward identifiers to prevent duplicated rewards.

Existing players retain:

  • UUID
  • Player name
  • Total playtime
  • Current rank
  • Previously awarded groups
  • Existing progression

Fixes

  • Fixed items being reported as delivered when no item was actually received
  • Fixed reward delivery using unreliable server commands
  • Fixed Minecraft 26.2 command execution compatibility
  • Fixed Minecraft 26.2 operator permission checks
  • Fixed configuration migration regex escaping
  • Fixed older configurations not receiving new prefix fields
  • Fixed only the current LuckPerms group being created
  • Fixed some LuckPerms updates not being saved reliably
  • Fixed LuckPerms startup-order synchronization
  • Fixed duplicate item rewards during retries
  • Fixed failed custom items incorrectly blocking successful rewards
  • Fixed overflow items not being delivered reliably

Upgrade Instructions

  1. Stop the server.
  2. Back up:
world/config/playtime-rewards/config.json
world/config/playtime-rewards/players.tsv
  1. Remove the previous Playtime Rewards JAR.
  2. Install Playtime Rewards 1.3.2.
  3. Start the server.
  4. Review the updated configuration.
  5. Have existing players run:
/playtime claim

Players can also use:

/playtime refresh

to refresh their playtime rank and LuckPerms group.

Summary

Playtime Rewards 1.3.2 adds a complete configurable item-reward system while preserving the rank, leaderboard, LuckPerms, prefix, and playtime-tracking features introduced in 1.2.0.

The update adds meaningful milestone rewards, support for modded items, reliable delivery, missed-reward recovery, and strong duplicate protection for long-term Minecraft servers.

1.2.2Релиз26.2 · 4 августа 2026 г.

Updated for Minecraft 26.2! Config folder is found in World > Config > PlaytimeRewards.

Комментарии

Загружаем…