Skip to main content

Documentation Index

Fetch the complete documentation index at: https://pumpkings.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

PumpkinAnnouncer stores all its settings in a single YAML file per platform — paper-config.yml for Paper and velocity-config.yml for Velocity. Both files share the same structure with one small difference: Paper uses the worlds key for per-world filtering, while Velocity uses the servers key for per-backend-server filtering. The file is generated automatically on first startup with two example announcements you can edit or replace.

Top-level structure

The config has three top-level sections:
SectionPurpose
settingsGlobal timer and behaviour options
messagesAll player-facing command responses (fully translatable)
announcementsYour announcement definitions, keyed by a unique ID

Full annotated example

settings:
  cooldown-seconds: 60          # Seconds between each announcement broadcast

messages:
  help: "<gradient:gold:yellow><bold>PumpkinAnnouncer</bold></gradient>\n<gray>» <yellow>/pa reload <dark_gray>- <white>Reload config\n<gray>» <yellow>/pa list <dark_gray>- <white>View all IDs\n<gray>» <yellow>/pa test <id> <dark_gray>- <white>Preview an announcement"
  reload-success: "<green>Reload complete! Everything is working correctly."
  list-header: "<gold><bold>Loaded announcements:</bold></gold>"
  id-not-found: "<red>That announcement ID does not exist. Check your config."

announcements:
  welcome_message:
    servers: ["global"]         # Velocity: "global" or a list of backend server names
    worlds: ["global"]          # Paper:    "global" or a list of world names
    sound: "ENTITY_EXPERIENCE_ORB_PICKUP"

    lines:
      - "[center]<gold><bold>Welcome!</bold></gold>"
      - ""
      - "<gray>Visit our store at example.com</gray>"

    actionbar:
      enabled: false
      text: ""
      duration-seconds: 5

    bossbar:
      enabled: false
      text: ""
      color: "BLUE"             # PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE
      style: "PROGRESS"         # PROGRESS, SEGMENTED_6, SEGMENTED_10, SEGMENTED_12, SEGMENTED_20
      duration-seconds: 10
      deplete: true             # Bar drains to empty over the duration
      animated:
        enabled: false
        gradient-colors: ["#A0C4FF", "#BDB2FF"]
        frame-interval-ticks: 3

    title:
      enabled: false
      title: ""
      subtitle: ""
      fade-in-ticks: 10
      stay-ticks: 60
      fade-out-ticks: 10
      animated:
        enabled: false
        gradient-colors: ["#A0C4FF", "#BDB2FF"]
        frame-interval-ticks: 3

The shuffled queue

PumpkinAnnouncer never broadcasts announcements in a fixed order. On startup (and after each /pa reload), it builds a list of every announcement ID and shuffles it randomly. The plugin works through the list from top to bottom, firing one announcement per cooldown tick. When the last announcement in the list has played, it reshuffles the entire list and starts again from the beginning. This means your players see every announcement before any repeats, and the order feels fresh each cycle.

Server and world filtering

Use the worlds key to restrict an announcement to specific worlds. Players in worlds not on the list will not see the announcement.
announcements:
  nether_warning:
    worlds: ["world_nether"]   # Only players in the Nether see this
    sound: "ENTITY_GHAST_WARN"
    lines:
      - "[center]<red><bold>⚠ You are in the Nether!</bold></red>"
    actionbar:
      enabled: false
    bossbar:
      enabled: false
    title:
      enabled: false
Set worlds: ["global"] to broadcast to all worlds.

Applying changes

After editing your config, run /pa reload from in-game or the console. The command reloads the YAML file, rebuilds the announcement queue, and restarts the broadcast timer — no server restart required.
All text fields in messages and announcements support MiniMessage tags, legacy & codes, and hex colours. See the Colors & Formatting page for the full reference.