Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details

Easy Announcements is a fully configurable announcement plugin for Paper 26.2 (Java 25) built for survival servers, SMP networks, minigames, factions, roleplay communities and anything in between.
One command, every screen:
- Titles and subtitles
- Formatted chat messages
- Action bar text
- Animated boss bars
- Custom sounds (vanilla or resource pack)
- Discord embeds through DiscordSRV
Everything is driven by presets, so /ea -p restart Restarting in 5 minutes looks completely different from /ea -p event Drop party at spawn! without touching the config in between.
What's new in 2.0
- Updated to Minecraft 26.2 / Paper 26.2 / Java 25
- Presets:
default,alert,restart,tip,eventincluded, add as many as you like - Scheduled announcements that rotate through a message list
- Update notices: ops get a clickable message on join when a newer release for your Minecraft version is on Modrinth
- LuckPerms:
@g <group>targeting, prefix and group placeholders, per-group cooldowns, limits and default presets through meta - PlaceholderAPI: every placeholder parsed per receiving player, plus a full
%easyannouncements_*%expansion - DiscordSRV: multiple channels, embed / text / webhook modes, role pings, per-preset colors, and Discord permissions tied to linked Minecraft accounts
- Developer API with events, custom displays, custom target selectors and custom placeholders
/ea togglefor players,/ea preview,/ea history,/ea last- MiniMessage support everywhere (gradients, hover, click) alongside classic
&codes messages.ymlso every plugin message is editable- Automatic migration of 1.x configs (your old files are backed up)
Dependencies & Compatibility
| Plugin | Required | Purpose | Link |
|---|---|---|---|
| Paper 26.2 | Yes | Purpur and other Paper forks work as well. Spigot is not supported (no Adventure API). | https://papermc.io |
| LuckPerms | Optional | Group targeting, prefix placeholders, per-group cooldowns, Discord account permissions | https://modrinth.com/plugin/luckperms |
| PlaceholderAPI | Optional | Dynamic placeholders (%player_name%, TPS, economy, etc.) and the plugin's own expansion | https://modrinth.com/plugin/placeholderapi |
| DiscordSRV | Optional | Post to Discord and announce from Discord | https://modrinth.com/plugin/discordsrv |
Core Features
Presets
A preset is a complete look: title, chat layout, action bar, boss bar, sound and Discord embed settings. Any key you leave out falls back to the default preset, so a new preset can be three lines long.
- Pick one per announcement with
-p <name> - Lock presets behind
easyannouncements.preset.<name> - Give a LuckPerms group its own default preset with meta
- Register presets from other plugins at runtime
Multiple Display Methods
-
Title and subtitle with decimal fade timings
-
Chat layouts with any number of lines
-
Action bar text that stays on screen for a configurable time
-
Animated boss bars
- FILL (progress animation)
- DRAIN (countdown animation)
- PULSE (attention animation)
- STATIC
-
Any sound key, including resource pack sounds
Turn any display off per preset, or per announcement with --only title,chat and --no bossbar.
Flexible Targeting
@aall players<player>one player@w <world>one world@g <group>a LuckPerms group (inherited groups count)@p <permission>players holding a permission@syourself- Optional default-to-all mode
- Players can opt out with
/ea toggle,--forcereaches them anyway
Other plugins can add their own selectors (@team, @radius, ...).
Scheduled Announcements
- Any number of schedules, each with its own interval, preset, target and message list
- Sequential or random order
- Minimum player count before a schedule runs
- Optional Discord posting
/ea schedulesshows the next run,/ea schedules run <id>fires one now
Update Notifications
- Checks Modrinth on startup and on a configurable interval
- Only reports releases that list your Minecraft version
- Console notice plus a clickable in-game message for anyone with
easyannouncements.updatewhen they join /ea updateto check on demand
LuckPerms Integration
-
@g <group>targets online members of a group -
%sender_prefix%,%sender_suffix%,%sender_group%,%player_prefix%,%player_group%placeholders without PlaceholderAPI -
Meta keys per group or user:
easyannouncements.cooldownseconds between announcementseasyannouncements.max-lengthmessage length limiteasyannouncements.presetpreset used when none is given
-
Offline permission checks for Discord linked accounts
-
Fine grained nodes:
easyannouncements.announce,.target.<selector>,.preset.<name>,.format,.bypass.cooldown,.discord,.toggle,.admin -
Old
esa.*nodes still work
PlaceholderAPI Integration
- Every placeholder in every text is parsed for the receiving player
- Relational placeholders (
%rel_...%) between sender and receiver - Built in expansion:
%easyannouncements_last_message%,_last_sender%,_last_preset%,_last_time%,_total%,_muted%,_cooldown%,_update_available%,_latest_version%,_schedule_next_<id>%and more
Discord Integration (DiscordSRV)
- Post to one or many channels, by channel ID or DiscordSRV channel name
embed,textorwebhookmode- Role, user, @everyone and @here mentions in the message content
- HEX colors, thumbnail, large image, author with player head, footer, custom fields
- Per-preset embed color, title and channel override
- Slash command
/announce message [target] [preset] - Prefix command
!announce target:world:name preset:alert Your message - Permissions by role ID, user ID, Discord administrator, or a linked Minecraft account with
easyannouncements.discord(LuckPerms handles it, even when the player is offline) - Linked users show their Minecraft name as the sender
- Restrict commands to specific channels, optional auto delete of the command message
Developer API
Add the jar as a compileOnly dependency and softdepend: [EasyAnnouncements].
EasyAnnouncementsAPI api = EasyAnnouncementsProvider.get();
api.broadcast(Announcement.builder("Boss spawns in <yellow>2 minutes</yellow>")
.source(AnnouncementSource.api("MyBossPlugin"))
.preset("event")
.disableDisplay("bossbar")
.build());
AnnouncementDisplay: add your own delivery channel (holograms, scoreboards, Bedrock forms)TargetResolver: add your own selectorsPlaceholderProvider: add%your_placeholder%values- Events:
AnnouncementPreSendEvent(cancellable, editable),AnnouncementSentEvent,UpdateAvailableEvent - Helpers:
render(),resolveTargets(),history(),setMuted() - Also exposed through Bukkit's
ServicesManager
Commands
Aliases: /ea, /announce, /announcement, /esa, /easyannouncements
| Command | Description |
|---|---|
/ea <message> |
Announce to everyone |
/ea @w <world> <message> |
One world |
/ea @g <group> <message> |
A LuckPerms group |
/ea @p <permission> <message> |
Players with a permission |
/ea <player> <message> |
One player |
/ea preview [-p preset] <message> |
Show it only to yourself |
/ea presets |
List presets |
/ea history [count] |
Recent announcements |
/ea last |
Repeat the last announcement |
/ea toggle |
Hide or show announcements for yourself |
/ea schedules [run <id>] |
List or run schedules |
/ea update |
Check for a newer version |
/ea reload |
Reload all config files |
Options: -p <preset>, --silent, --no-discord, --force, --only <displays>, --no <displays>
Feature Comparison
| Feature | Easy Announcements | Typical Announcement Plugins |
|---|---|---|
| Minecraft 26.2 / Java 25 | Yes | Often outdated |
| Presets | Yes, unlimited | Rare |
| Animated Boss Bars | Yes (FILL, DRAIN, PULSE, STATIC) | Rare |
| Action Bar | Yes | Sometimes |
| Scheduled Announcements | Yes, per schedule preset and target | Basic |
| Group / Permission Targeting | Yes (LuckPerms) | No |
| Per-World Targeting | Yes | Limited |
| Player Opt-Out | Yes | Rare |
| Update Notices for Your Version | Yes | No |
| DiscordSRV Integration | Embeds, text, webhooks, commands | Usually none |
| Discord Permissions via LuckPerms | Yes (linked accounts) | No |
| PlaceholderAPI | Parsing plus own expansion | Sometimes |
| MiniMessage | Yes, mixed with & codes | Rare |
| Developer API | Events, displays, selectors | Rare |
| Config Migration | Automatic from 1.x | Manual |
Use Cases
- Server restart countdowns with a draining boss bar
- SMP and event announcements with their own look
- Rotating tips and vote reminders on a schedule
- Staff-only notices with
@g staff - Discord-to-Minecraft announcements from your moderators
- Faction raid alerts and minigame start notifications
- Boss fights, drop parties and custom plugins announcing through the API
Support
- Issues: https://github.com/Eciipse-Studios/Easy-Announcements/issues
- Discord: https://discord.gg/DS7vxQSdCg
- Support the developer: https://ko-fi.com/sk3tch
Plugin by Sketch494. Eciipse Studios.


