PlaytimeEconomy

Reward your players with money just for playing.

32

Quick challenge

How far can you run before the mobs catch you?

PlaytimeEconomy

PlaytimeEconomy

Reward your players with money just for playing with smart boosts, AFK detection, and a gorgeous in-game GUI.

PlaytimeEconomy integrates seamlessly with EssentialsX and EssentialsX to give every player a steady income based on their rank, how long they've been online, and any boosts they've earned. Idle players are automatically skipped via EssentialsX AFK detection — rewarding genuine engagement.

---

Features

- Per-player data storage - Each LuckPerms group gets its own configurable base reward amount. - Per-player data storage - Higher ranks receive an additional reward multiplier on top of their base. - Per-player data storage - Set weekend or weekday multipliers to spike activity on specific days. - Per-player data storage - Grant players custom multipliers through simple permission nodes (great for donor perks or vote rewards). - Per-player data storage - The longer a player stays online without going AFK, the higher their multiplier climbs - rewarding loyalty and real engagement. - Per-player data storage - Integrates with EssentialsX to pause rewards while a player is AFK. Configurable bypass permission available. - Per-player data storage - A clean, premium-quality GUI lets players view their stats, active boosts, streak progress, and next reward - no commands needed. - Per-player data storage - Admins can reload the config, force a reward cycle, give money, and reset player data all from within the game. - Per-player data storage - Every message supports Per-player data storage formatting - gradients, hover events, and more. - Per-player data storage - Player statistics are saved locally and persist across restarts.

---

Requirements

| Dependency | Type | Notes | |--------------|----------|------------------------------------| | Paper | Required | 1.21 or later | | Vault | Required | Any Vault-compatible economy plugin (e.g. EssentialsX Economy, CMI) | | LuckPerms | Required | Group detection | | EssentialsX | Optional | AFK detection — disable in config if not installed |

---

Installation

1. Drop `PlaytimeEconomy.jar` into your `/plugins` folder. 2. Make sure EssentialsX, EssentialsX, and a Vault economy plugin are installed. 3. *(Optional)* Install EssentialsX if you want AFK detection. 4. Start the server - the default config is generated automatically. 5. Edit `plugins/PlaytimeEconomy/config.yml` and `messages.yml` to your liking. 6. Run `/pteadmin reload` to apply changes without a restart.

---

Commands

| Command | Permission | Description | |---|---|---| | `/pte gui` | `playtimeeconomy.use` | Open the main GUI | | `/pte stats` | `playtimeeconomy.use` | View your stats in chat | | `/pte boosts` | `playtimeeconomy.use` | View your active boosts | | `/pte help` | `playtimeeconomy.use` | Show the help menu | | `/pteadmin reload` | `playtimeeconomy.admin` | Reload config & messages | | `/pteadmin give <player> <amount>` | `playtimeeconomy.admin` | Give money to a player | | `/pteadmin reset <player>` | `playtimeeconomy.admin` | Reset a player's earnings data | | `/pteadmin forcereward` | `playtimeeconomy.admin` | Immediately trigger a reward cycle | | `/pteadmin gui` | `playtimeeconomy.admin` | Open the admin panel GUI |

---

Permissions

| Permission | Default | Description | |---|---|---| | `playtimeeconomy.use` | Everyone | Use the `/pte` command | | `playtimeeconomy.admin` | OP | Use the `/pteadmin` command | | `playtimeeconomy.bypass.afk` | Nobody | Receive rewards while AFK | | `playtimeeconomy.boost.small` | Nobody | Grant a ×1.25 permission boost | | `playtimeeconomy.boost.medium` | Nobody | Grant a ×1.50 permission boost | | `playtimeeconomy.boost.large` | Nobody | Grant a ×2.00 permission boost |

> You can add any custom permission to the `permission-boosts` section in `config.yml`.

---

Configuration Overview

```yaml settings: reward-interval: 300 # Seconds between each reward payout afk-check: true # Skip AFK players (requires EssentialsX) min-online-seconds: 60 # Seconds online before first reward this session currency-symbol: "$" # Display symbol in messages and GUI broadcast-reward: false # Announce rewards in global chat

groups: default: display-name: "Default" base-reward: 10.0 vip: display-name: "VIP" base-reward: 25.0

Add as many groups as you need...

rank-boosts: enabled: true groups: vip: 1.10 # VIP players earn an extra 10% on top of their base

day-boosts: enabled: true days: SATURDAY: 2.00 # Double rewards on Saturday SUNDAY: 1.75

permission-boosts: enabled: true boosts: playtimeeconomy.boost.small: 1.25 playtimeeconomy.boost.large: 2.00 my.custom.permission: 1.60 # Any permission works here

streak-boosts: enabled: true milestones: 30: 1.10 # 30 minutes online → +10% 60: 1.25 120: 1.50 240: 2.00 # 4 hours online → double multiplier ```

How Multipliers Stack

All active boosts are combined using an additive bonus system:

``` Total = 1.0 + (rank_bonus) + (day_bonus) + (perm_bonus) + (streak_bonus) ```

Total: ×2.35 A VIP player on Saturday with a streak of 90 minutes: - Rank boost: ×1.10 -> +0.10 - Day boost: ×2.00 -> +1.00 - Streak boost (60m tier): ×1.25 -> +0.25 - Total: ×2.35

---

ADS