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.

Every announcement in PumpkinAnnouncer can deliver its message through up to five simultaneous channels. You can enable any combination of them within a single announcement entry — for example, a chat message paired with a sound and a depleting BossBar makes for a memorable server-wide alert. Each channel is configured as its own block within the announcement definition.

The five delivery channels

1. Chat lines

The lines array defines a multi-line chat message sent to every targeted player. Each string in the list becomes one line in chat. Use an empty string ("") to insert a blank line for spacing. Add the [center] prefix to any line to have PumpkinAnnouncer calculate the exact pixel width of the text (ignoring all color codes) and pad it with spaces so it appears centred in the default Minecraft chat window.
lines:
  - "[center]<gold><bold>⚔ SERVER EVENT ⚔</bold></gold>"
  - ""
  - "[center]<white>A PvP tournament starts in <yellow>10 minutes</yellow>!"
  - "[center]<click:open_url:'https://yourserver.com'><hover:show_text:'<green>Click to learn more!'><underlined><aqua>yourserver.com</aqua></underlined></hover></click>"
MiniMessage <click> and <hover> tags work in chat lines, letting you create clickable URLs and tooltip messages.

2. ActionBar

The ActionBar channel displays a single line of text just above the player’s hotbar. Because the client only holds the ActionBar for about one second, PumpkinAnnouncer re-sends the message every tick for the full duration-seconds you specify, keeping it visible for the entire period.
actionbar:
  enabled: true
  text: "<gradient:gold:yellow><bold>🔥 SALE — 50% OFF THIS WEEKEND! 🔥</bold></gradient>"
  duration-seconds: 10
OptionTypeDescription
enabledbooleanWhether to show the ActionBar for this announcement
textstringThe ActionBar content; supports all color formats
duration-secondsintegerHow many seconds to keep the text visible

3. BossBar

The BossBar appears as a coloured progress bar at the top of the screen. You can configure its colour, style (solid or segmented), duration, and whether the bar depletes smoothly to empty over the display period. The BossBar also supports animated gradient text, cycling through a list of hex colours in real time.
bossbar:
  enabled: true
  text: "<bold>WEEKEND SALE IS LIVE!</bold>"
  color: "RED"
  style: "SEGMENTED_10"
  duration-seconds: 15
  deplete: true
  animated:
    enabled: true
    gradient-colors: ["#FF6B6B", "#FFD93D", "#FF6B6B"]
    frame-interval-ticks: 3
Colour options: PINK, BLUE, RED, GREEN, YELLOW, PURPLE, WHITE Style options:
StyleAppearance
PROGRESSSolid bar (no segments)
SEGMENTED_6Bar divided into 6 notches
SEGMENTED_10Bar divided into 10 notches
SEGMENTED_12Bar divided into 12 notches
SEGMENTED_20Bar divided into 20 notches
Setting deplete: true causes the bar to drain from full to empty across the entire duration-seconds. Setting it to false keeps the bar at full the whole time.
The animated block inside bossbar only affects the text label on the BossBar, not the bar’s colour itself. To animate the text, set animated.enabled: true and provide at least two hex values in gradient-colors.

4. Title / Subtitle

The Title channel displays large on-screen text in the centre of the player’s view, with an optional smaller subtitle line beneath it. You control the fade-in, display, and fade-out durations in ticks (20 ticks = 1 second). The title text also supports animated gradients.
title:
  enabled: true
  title: "DISCORD"
  subtitle: "<gray>Join the community!</gray>"
  fade-in-ticks: 10
  stay-ticks: 60
  fade-out-ticks: 10
  animated:
    enabled: true
    gradient-colors: ["#A0C4FF", "#BDB2FF", "#FFDAC1", "#A0C4FF"]
    frame-interval-ticks: 3
OptionDescription
fade-in-ticksTicks to fade from invisible to fully visible
stay-ticksTicks to hold the title at full opacity
fade-out-ticksTicks to fade from fully visible to invisible
The animated block inside title animates only the main title text. The subtitle is rendered as a static MiniMessage string.

5. Sound

Set the sound key to any value from the Bukkit Sound enum to play a sound for every targeted player when the announcement fires. Leave the value empty ("") to play no sound.
sound: "ENTITY_EXPERIENCE_ORB_PICKUP"
PumpkinAnnouncer automatically normalises the key format — underscores are converted to dots and the minecraft: namespace is prepended if absent, so both ENTITY_PLAYER_LEVELUP and minecraft:entity.player.levelup are accepted.

Complete announcement using all five channels

The following example combines every channel into one announcement:
announcements:
  grand_opening:
    servers: ["global"]
    worlds: ["global"]
    sound: "ENTITY_PLAYER_LEVELUP"

    lines:
      - "[center]<gradient:gold:yellow><bold>🎉 GRAND OPENING 🎉</bold></gradient>"
      - ""
      - "[center]<white>The server is officially <green><bold>OPEN</bold></green>!"
      - "[center]<click:open_url:'https://yourserver.com'><hover:show_text:'<green>Visit the website'><underlined><aqua>yourserver.com</aqua></underlined></hover></click>"

    actionbar:
      enabled: true
      text: "<gradient:green:aqua><bold>Welcome to the Grand Opening!</bold></gradient>"
      duration-seconds: 8

    bossbar:
      enabled: true
      text: "GRAND OPENING"
      color: "GREEN"
      style: "PROGRESS"
      duration-seconds: 15
      deplete: true
      animated:
        enabled: true
        gradient-colors: ["#A8FF78", "#78FFD6", "#A8FF78"]
        frame-interval-ticks: 3

    title:
      enabled: true
      title: "GRAND OPENING"
      subtitle: "<gray>Welcome, adventurer!</gray>"
      fade-in-ticks: 10
      stay-ticks: 80
      fade-out-ticks: 20
      animated:
        enabled: true
        gradient-colors: ["#FFD700", "#FFA500", "#FFD700"]
        frame-interval-ticks: 4