qAutoMessages
A minecraft plugin for automatic messages.
qAutoMessages
Send automatic messages to your players on a timer — chat announcements, action bar tips, boss bars, and screen titles. Each message type is fully configurable, everything lives in two YAML files, and you don't need to restart the server to apply changes.
---
Message types
Chat
Sends one or more lines to the chat. Each entry in the `text` list can be a separate message or combined into one, depending on the `split-lines` setting. Optional pixel-accurate centering is available with `centered: true`.
```yaml - type: CHAT text: - "<gradient:#f0c040:#ff8c00><bold> ★ Welcome to the server! ★ </bold></gradient>" - "<gray>Currently online: <green>{online}<gray>/<red>{max_online}" - "<dark_gray>Server TPS: {tps}" split-lines: true centered: false ```
Action bar
Displays text above the hotbar. `duration` is in ticks — the plugin automatically refreshes it every second so it doesn't disappear mid-display.
```yaml - type: ACTIONBAR text: "<gradient:#00c6ff:#0072ff>⏱ {server_time} | {online}/{max_online} online | TPS: {tps}</gradient>" duration: 60 ```
Boss bar
Shows a progress bar at the top of the screen. You can configure the color, bar style, fill amount, how long it stays, and how it animates.
```yaml - type: BOSSBAR text: "<red><bold>⚠ PvP is enabled in this area!</bold></red>" color: RED style: SEGMENTED_10 progress: 1.0 duration: 8 animation: PULSE ```
Colors — `PINK` `BLUE` `RED` `GREEN` `YELLOW` `PURPLE` `WHITE`
Styles — `SOLID` `SEGMENTED_6` `SEGMENTED_10` `SEGMENTED_12` `SEGMENTED_20`
Animations:
| | | |---|---| | `NONE` | appears and disappears instantly | | `FADE_IN` | progress bar fills in from 0 to the configured value | | `FADE_OUT` | progress bar drains to 0 before hiding | | `PULSE` | oscillates between 40% and 100% fill while visible |
Title & subtitle
Sends a large title and smaller subtitle to the center of the screen. Timing is in ticks (20 ticks = 1 second).
```yaml - type: TITLE title: "<gradient:#a18cd1:#fbc2eb><bold>{player}</bold></gradient>" subtitle: "<gray>Welcome back. There are <green>{online}</green> players online.</gray>" fade-in: 20 stay: 70 fade-out: 20 ```
---
Message groups
Messages are organized into groups. Each group runs its own independent scheduler, meaning they don't interfere with each other and you can have as many as you want.
```yaml message-groups: announcements: enabled: true interval: 120 # how often to send, in seconds random-order: false # cycle in order, or pick randomly worlds: [] # limit to specific worlds, empty = all permission-required: "" # only players with this permission receive it messages: - ... - ... ```
World filtering — list world names to restrict a group to those worlds only. Players in other worlds won't receive the message.
```yaml worlds: - world_nether - world_the_end ```
Permission filtering — set `permission-required` to a permission node. Only players who have that permission will receive the messages from that group. Useful for VIP announcements, staff notices, etc.
```yaml permission-required: "server.vip" ```
Players with `automessages.bypass` are excluded from all groups regardless of settings.
---
Formatting
Three formatting systems are supported and can be mixed freely in any message.
Legacy codes — `&a green` `&l bold` `&r reset` and so on.
Hex colors — `&#FF5500text`
MiniMessage — the full Adventure tag set, including interactive elements:
``` Colors and gradients: <#FF5500>text</#FF5500> <gradient:#f0c040:#ff4500>text</gradient> <rainbow>text</rainbow>
Decorations: <bold>, <italic>, <underlined>, <strikethrough>, <obfuscated>
Click events: <click:open_url:'https://discord.gg/example'>Join Discord</click> <click:suggest_command:'/vote'>Click to vote</click> <click:run_command:'/rules'>View rules</click> <click:copy_to_clipboard:'play.example.com'>Copy IP</click>
Hover tooltips: <hover:show_text:'<green>Opens the store!'>Store</hover> ```
Click and hover tags only work in chat messages — they have no effect in action bars, boss bars, or titles.
---
Placeholders
These are available without any additional plugins:
| Placeholder | Description | |---|---| | `{player}` | Player's username | | `{displayname}` | Player's display name | | `{online}` | Number of players currently online | | `{max_online}` | Server's max player limit | | `{world}` | Name of the player's current world | | `{server_time}` | Current server time in HH:mm | | `{date}` | Current server date in dd.MM.yyyy | | `{tps}` | Server TPS, color-coded green/yellow/red | | `{ping}` | Player's ping in milliseconds | | `{health}` / `{max_health}` | Player's current and max health | | `{level}` | Player's XP level | | `{x}` `{y}` `{z}` | Player's block coordinates |
If PlaceholderAPI is installed, all `%expansion_placeholder%` values work automatically — no extra configuration needed.
---
Commands
| Command | Description | |---|---| | `/am reload` | Reload `config.yml` and `messages.yml` without restarting | | `/am list` | Show all groups, their interval, message count, and current status | | `/am toggle <group>` | Enable or disable a group while the server is running | | `/am send <group>` | Send the next message from a group to all players immediately | | `/am send <group> <#>` | Send a specific message by index (1-based) | | `/am help` | Show command overview |
Aliases: `/am`, `/amsg`
---
Permissions
| Permission | Default | Description | |---|---|---| | `automessages.admin` | op | Full access to all commands | | `automessages.reload` | op | `/am reload` | | `automessages.list` | op | `/am list` | | `automessages.toggle` | op | `/am toggle` | | `automessages.send` | op | `/am send` | | `automessages.bypass` | false | Never receives any auto-messages |
---
Configuration files
Two files are generated on first run inside `plugins/AutoMessages/`:
`config.yml` — all message groups, intervals, and plugin-wide settings like prefix, world filters, and console logging.
`messages.yml` — every system message the plugin sends to players and admins (reload confirmation, toggle feedback, help text, etc.). Fully supports MiniMessage formatting.
---
Requirements
- PaperMC 1.18 – 1.21.x - Java 17+ - PlaceholderAPI — optional