New permissions have been added for bonuses. These are disabled by default. If you were previously using these features, please ensure you grant these permissions to your players or default groups to maintain the expected functionality.
The group calculation logic has been completely updated and now includes specific calculation modes for online and offline paydays separately.
New configuration options have been added. Existing configurations will be automatically migrated to the new format upon startup — no manual file recreation is required. (To see the new comments with instructions for existing keys, use the #load_info feature from PuzzleLib).
Main changes:
Added multi-group support with 5 calculation modes: HIGHEST, LOWEST, SUM, HIGHEST_PAYMENT, LOWEST_PAYMENT. You can now choose exactly how players with multiple ranks receive their salaries.
Added IgnoreSum setting for groups. This allows you to exclude specific groups from the SUM calculation mode while still allowing them to function as standalone ranks.
Expanded the message system:
Added [group_list]: A new tag that automatically duplicates your message line for every group a player receives.
Added [group_only_<n>]: Target specific group indices in your messages.
Added new placeholders for multi-group setups:
Now you can access specific group data using indices (e.g., %puzzlepayday_group_name_1%, %puzzlepayday_group_amount_1%).
Added %puzzlepayday_group_count% to display the number of active groups.
Added next_ prefixed placeholders (e.g., %puzzlepayday_next_group_name%) to see live group calculations before the actual payday arrives.
Added _highest and _lowest suffixes to group placeholders to always pull data from the most/least prioritized group, regardless of your chosen calculation mode.
New permissions have been added:
puzzlepayday.bonus.streak — grants the ability to receive Streak bonuses.
puzzlepayday.bonus.weekend — grants the ability to receive Weekend salary multipliers.
puzzlepayday.bonus.lucky — grants the ability to trigger the Lucky chance bonus.
puzzlepayday.receive.offline.noreduce — allows players to receive their full offline salary without the reduction percentage applied.