> ## Documentation Index
> Fetch the complete documentation index at: https://www.kitemc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Season Configuration

<span id="season-configuration" />

The season system manages periodic pass resets and special events.

<h2 id="season-concepts">
  Season Concepts
</h2>

* Each season has independent start and end times
* Player progress can optionally reset at season end
* Different seasons can have different quests and rewards
* Supports permanent seasons (runs indefinitely)

<h2 id="season-management">
  Season Management
</h2>

<h3 id="starting-a-season">
  Starting a Season
</h3>

**Command:**

```
/arcpass admin season start <season_name>
```

**GUI:**

1. Run `/arcpass admin`
2. Click "Start Season"
3. Enter season name in chat
4. Confirm to start

<h3 id="ending-a-season">
  Ending a Season
</h3>

```
/arcpass admin season end
```

<h3 id="view-season-info">
  View Season Info
</h3>

```
/arcpass admin season info
```

<h2 id="season-configuration-1">
  Season Configuration
</h2>

Configure season behavior in `config.yml`:

```yaml theme={null}
seasons:
  on-end:
    reset-level: true
    reset-experience: true
    reset-quests: true
    keep-purchased-tiers: true
    keep-claimed-rewards: false

  auto:
    enabled: false
    duration-days: 90
    notify-before-end: [7, 3, 1]
```

<h2 id="seasonal-quests">
  Seasonal Quests
</h2>

Create season-exclusive quests in `quests/seasonal/`:

```yaml theme={null}
chapter_1:
  type: seasonal
  display-name: "&6Chapter 1: New Beginnings"
  description:
    - "&7Complete the tutorial quests"
  icon: BOOK
  experience-reward: 100
  objectives:
    - type: block_break
      block: OAK_LOG
      amount: 10

chapter_2:
  type: seasonal
  display-name: "&6Chapter 2: Underground"
  requires:
    - chapter_1
  icon: IRON_PICKAXE
  experience-reward: 150
  objectives:
    - type: block_break
      block: IRON_ORE
      amount: 30
```

<h2 id="season-rewards">
  Season Rewards
</h2>

<h3 id="end-of-season-rewards">
  End-of-Season Rewards
</h3>

```yaml theme={null}
seasons:
  end-rewards:
    10:
      - reward_season_badge_bronze
    50:
      - reward_season_badge_silver
    100:
      - reward_season_badge_gold
      - reward_season_title
```

<h3 id="leaderboard-rewards">
  Leaderboard Rewards
</h3>

```yaml theme={null}
seasons:
  leaderboard-rewards:
    1:
      - reward_champion_title
      - reward_exclusive_item
    2-3:
      - reward_top3_title
    4-10:
      - reward_top10_badge
```

<h2 id="season-data">
  Season Data
</h2>

<h3 id="data-storage">
  Data Storage
</h3>

Season data stored in database:

* Current season info
* Historical season records
* Player season progress

<h3 id="data-migration">
  Data Migration
</h3>

```yaml theme={null}
seasons:
  data:
    archive-history: true
    max-history: 10
```

<h2 id="season-notifications">
  Season Notifications
</h2>

<h3 id="start-notification">
  Start Notification
</h3>

```yaml theme={null}
seasons:
  notifications:
    start:
      broadcast: true
      title:
        enabled: true
        title: "&6New Season Started!"
        subtitle: "&e%season_name%"
```

<h3 id="end-notification">
  End Notification
</h3>

```yaml theme={null}
seasons:
  notifications:
    end:
      broadcast: true
      title:
        enabled: true
        title: "&cSeason Ended"
        subtitle: "&7Thanks for participating"
      warnings:
        - days: 7
          message: "&eSeason ends in 7 days!"
        - days: 1
          message: "&cSeason ends tomorrow!"
```

<h2 id="permanent-season">
  Permanent Season
</h2>

For no season resets:

```yaml theme={null}
seasons:
  permanent:
    enabled: true
```

<h2 id="api-integration">
  API Integration
</h2>

<h3 id="season-events">
  Season Events
</h3>

```java theme={null}
@EventHandler
public void onSeasonStart(SeasonStartEvent event) {
    Season season = event.getSeason();
    // Handle season start
}

@EventHandler
public void onSeasonEnd(SeasonEndEvent event) {
    Season season = event.getSeason();
    // Handle season end
}
```

<h2 id="example-90-day-season">
  Example: 90-Day Season
</h2>

```yaml theme={null}
seasons:
  auto:
    enabled: true
    duration-days: 90
    notify-before-end: [30, 14, 7, 3, 1]

  on-end:
    reset-level: true
    reset-experience: true
    reset-quests: true
    keep-purchased-tiers: true

  end-rewards:
    25:
      - reward_bronze_badge
    50:
      - reward_silver_badge
    75:
      - reward_gold_badge
    100:
      - reward_platinum_badge
      - reward_season_exclusive
```

<h2 id="next-steps">
  Next Steps
</h2>

<Columns cols={2}>
  <Card title="Configure GUI" icon="palette" href="/en/arcpass/config/gui">
    Set up interface layout
  </Card>

  <Card title="View Commands" icon="terminal" href="/en/arcpass/commands">
    Commands and permissions
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.