HomeJavaModsSeasonFlow
SeasonFlow
ModsJava

SeasonFlow

Scheduled content unlocks and server-wide community goals: grow the world border in stages, lock the Nether and End until their time comes, and let the…

⬇ Download on Modrinth

SeasonFlow

Scheduled content unlocks and server-wide community goals for Paper servers.

Players rush Netherite and the dragon in a week, get bored, and leave — so owners reset the map over and over. SeasonFlow fixes that by pacing your server: define a season, and as it progresses the world border grows in stages, the Nether and the End unlock on a schedule, and everyone contributes to shared goals ("mine 5,000 diamond ore together") that trigger new unlocks when completed.

✨ Features

🕹️ Commands

Command Description Permission
/season Season summary: current stage, day counter, locked dimensions seasonflow.use (default: everyone)
/season goals Active community goals with progress bars and percentages seasonflow.use
/season timeline Upcoming stages and the unlock schedule seasonflow.use
/season reload Reload config.yml without breaking the running season seasonflow.admin (default: op)
/season start Start the season now (manual/testing) seasonflow.admin
/season stop End the active season seasonflow.admin
/season advance <stageId> Force-activate a stage (testing) seasonflow.admin
/season setprogress <goalId> <n> Set a goal counter manually (testing/corrections) seasonflow.admin

Aliases: /sf, /seasonflow.

⚙️ Configuration

A fully commented config.yml is generated on first start. Example:

season:
  name: "Season 1: A New Beginning"
  auto-start: true
  start-date: "2026-08-01 00:00"   # leave empty to start with /season start
  duration-days: 60

world:
  name: "world"
  border:
    initial-size: 2000

stages:
  - id: "nether-open"
    trigger:
      type: "day"          # day | date | goal
      value: 7
    unlocks:
      dimension: "NETHER"
      border-size: 4000
      broadcast: "&cThe Nether is now open!"
  - id: "end-open"
    trigger:
      type: "goal"
      value: "diamonds-goal"
    unlocks:
      dimension: "THE_END"
      broadcast: "&5The End has opened! The dragon awaits."

goals:
  - id: "diamonds-goal"
    display: "Community Diamond Mining"
    type: "BLOCK_BREAK"    # BLOCK_BREAK | ENTITY_KILL | ITEM_CRAFT
    target-material: "DIAMOND_ORE"   # single value or a list
    amount: 5000
    on-complete-broadcast: "&bCommunity goal complete: Diamonds!"

locked-dimensions:
  - "NETHER"
  - "THE_END"

🚀 Installation

  1. Drop the jar into your server's plugins/ folder.
  2. Start the server once to generate plugins/SeasonFlow/config.yml.
  3. Edit the config (season dates, stages, goals) and run /season reload — or restart.

Requirements: Paper or Purpur 1.20.x – 1.21.x, Java 21. The SQLite JDBC driver is declared in plugin.yml's libraries section and is downloaded automatically by the server — no manual dependency setup.

💾 Data & resetting

All progress (season state, goal counters, unlocked dimensions, stage history) lives in plugins/SeasonFlow/seasonflow.db. To start a completely fresh season, stop the server and delete that file. Stage and goal definitions live only in config.yml, so editing them never corrupts stored progress.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more