Skip to content

Add shared VoteStreaks progress groups#1520

Merged
BenCodez merged 1 commit into
BenCodez:masterfrom
semisolar:feature/votestreak-shared-progress-only
Jun 2, 2026
Merged

Add shared VoteStreaks progress groups#1520
BenCodez merged 1 commit into
BenCodez:masterfrom
semisolar:feature/votestreak-shared-progress-only

Conversation

@semisolar
Copy link
Copy Markdown
Contributor

Adds optional progress groups for new VoteStreaks.

This lets multiple milestones share the same streak progress state, while each milestone still has its own amount, recurring setting, and rewards.

Progress groups can also be reset by their group id with ResetVoteStreaks. This builds on the reset command added in #1519.

In the example below, DailyStreak3 and DailyStreak7 are both part of the MyProgressGroupOne progress group. This lets those milestones share the same missed period settings, and more importantly, the same stored progress value. That means the whole progress group can be reset or restored at once, instead of needing to reset or edit every milestone separately.

Example grouped setup:

VoteStreaks:
  ProgressGroups:
    MyProgressGroupOne:
      Type: DAILY
      VotesRequired: 1
      AllowMissedAmount: 1
      AllowMissedPeriod: 7
      Milestones:
        DailyStreak3:
          Enabled: true
          Amount: 3
          Recurring: false
          Rewards:
            Messages:
              Player: "&aYou reached a 3 day streak"

        DailyStreak7:
          Enabled: true
          Amount: 7
          Recurring: false
          Rewards:
            Messages:
              Player: "&aYou reached a 7 day streak"

Existing ungrouped setup still works the same:

VoteStreaks:
  DailyStreak14:
    Type: DAILY
    Enabled: true
    Requirements:
      Amount: 14
      VotesRequired: 1
    AllowMissedAmount: 1
    AllowMissedPeriod: 7
    Recurring: false
    Rewards:
      Messages:
        Player: "&aYou reached a 14 day streak"

Existing flat VoteStreak configs should keep working the same unless ProgressGroups is used.

If accepted, this will need a wiki update with the new ProgressGroups config format.

@BenCodez BenCodez merged commit 02b8d01 into BenCodez:master Jun 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants