PlayerPayouts/README.md
EpicKnarvik97 db922f7351 Updates README, renames paymentDelay
Renames paymentDelay to payoutDelay for consistency
Adds permission information to the README
Adds information about player time tracking to the README
2024-01-09 11:58:12 +01:00

4.8 KiB

Player Payouts

This Spigot plugin gives players customizable payouts based on their played in-game time. A unique feature of this plugin is a configurable bonus once players reach a specified total play-time on the server. The plugin is highly configurable. You can alter the base payout per-group or per-player, you can adjust how often players are paid, how big a percentage is paid to AFK players and whether players are alerted upon receiving a payout.

The logic for which payout is used is as follows:

  • If a payout is set for a player, that payout will be used.
  • If a payout is set for one or more of a player's group, the highest value will be used.
  • If none of the above apply, the base pay is used.

Once a second, any players that have played longer than the specified payout delay are paid, and their internally tracked playtime is reset. This is an improvement over plugins that simply pay players on a set delay, as that just ends up being a game of chance. If you are lucky, you are paid immediately after joining, which doesn't seem fair.

Dependencies

Required

  • Vault (A vault-compatible economy plugin is required. A vault-compatible permission is necessary for per-group payments)

Optional

  • EssentialsX (Necessary for checking if a player is AFK)

Commands

Command Arguments Description
/timeismoney:reload Reloads the configuration file from disk
/setgrouppayout Sets the payout for a specific group
/setplayerpayout Sets the payout for a specific player

Note that for the set payout commands, you can use "null", "clear" or "none" to remove a payout you previously set.

/setgrouppayout

This command is used to override the payout for a specific group.

/setgrouppayout <group> <payout>

Argument Usage
group The name of the group to specify the payout for
payout The decimal number denoting how much of the currency players in the group should be paid, or "clear" to unset a previous value.

/setplayerpayout

/setplayerpayout <player> <payout>

Argument Usage
player The name or UUID of the player to specify the payout for
payout The decimal number denoting how much of the currency the player should be paid, or "clear" to unset a previous value.

Configuration options

Option Type Description
defaultPayout decimal number The amount of currency to pay by default
payoutDelay number The amount of minutes to wait between each payout
displayPaymentMessage true / false Whether to display a message to the player each time a player receives a payout
hoursUntilBonus number / -1 The amount of hours a player must play until they start receiving a payout bonus, or -1 to disable the feature
bonusMultiplier decimal number A multiplier used to increase or decrease the time bonus ((hours played / hours until bonus) * bonusMultiplier) + payout
afkPercentage percentage (0-100) The percentage of their normal payout to pay AFK players

Permissions

Permission Description
timeismoney.* Grants all permissions
timeismoney.reload Allows usage of the reload command
timeismoney.admin Allows usage of configuration commands