# 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](#setgrouppayout) | | Sets the payout for a specific group | | [/setplayerpayout](#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 ` | 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 ` | 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 |