Easy Announcements
2.0.0Easy Announcements is a modern, lightweight plugin that lets you send professional-looking announcements.
2.0.0latestEasy Announcements 2.0.0Sep 9, 2026 <center>   * Runs on Paper, Purpur and other Paper forks * Updated PlaceholderAPI (2.12.3) and DiscordSRV (1.30.5) integrations * Added LuckPerms (API 5.5) integration ---Presets
A preset is a complete look: title, chat layout, action bar, boss bar, sound and Discord embed settings. * Five presets included:default,alert,restart,tip,event* Add unlimited presets, anything you leave out inherits fromdefault* Choose one per announcement with-p <preset>* Lock a preset behindeasyannouncements.preset.<name>* Give a LuckPerms group its own default preset with meta * Presets can be registered at runtime by other plugins ---New display: action bar
* Text above the hotbar with a configurable duration * Automatically re-sent so it does not fade after two seconds * Toggle per preset like every other display ---Text formatting
MiniMessage support everywhere*: gradients, hex colors, hover text, clickable links * Classic&codes and&#RRGGBBhex still work and can be mixed with MiniMessage in the same line * Chat announcements are now a plain list of lines, add or remove as many as you want * Message formatting by the sender is permission gated (easyannouncements.format) and can be forced on or off in the config * Newmessages.yml, every message the plugin sends is editable ---Targeting
*@aall players *<player>one player *@w <world>one world `@g <group>` a LuckPerms group, inherited groups included (new)* `@p <permission>` players holding a permission (new)* `@s` yourself (new)* `group:staff` and `world:nether` inline forms (new)* * Per-selector permissions:easyannouncements.target.<name>* Optionaltargets.receive-permissionso only certain players receive announcements * Smarter tab completion for selectors, worlds, groups, presets and flags ---Command options
New flags that go before the message: *-p <preset>pick a preset *--silentskip the sound *--no-discorddo not post to Discord *--forcereach players who muted announcements *--only title,chatuse only these displays *--no bossbarskip these displays ---New commands
*/ea preview [-p preset] <message>show an announcement only to yourself */ea presetslist the presets you may use, click to insert */ea history [count]recent announcements with time, sender and target */ea lastsend the last announcement again */ea toggleplayers can hide announcements for themselves */ea schedules [run <id>]list schedules or fire one now */ea updatecheck Modrinth on demand */ea versionversion, Minecraft version and active hooks * All commands share one root:/ea,/announce,/announcement,/esa,/easyannouncements*/esareloadkept as a legacy alias ---Scheduled announcements
* Any number of schedules, each with its own interval, preset, target and message list * Sequential or random rotation * Minimum online players before a schedule runs * Optional Discord posting per schedule *%easyannouncements_schedule_next_<id>%shows the countdown ---Update notifications
* Checks Modrinth on startup and on a configurable interval Only reports releases that list your* Minecraft version, so you never get told about an update you cannot run * Console notice plus a clickable in-game message for anyone witheasyannouncements.updatewhen they join * Configurable join delay, prerelease opt-in, and anUpdateAvailableEventfor developers ---LuckPerms integration
*@g <group>targeting, including inherited groups * Placeholders without PlaceholderAPI:%sender_prefix%,%sender_suffix%,%sender_group%,%player_prefix%,%player_group%* Meta keys per group or user: *easyannouncements.cooldownseconds between announcements *easyannouncements.max-lengthmessage length limit *easyannouncements.presetpreset used when none is given * Offline permission checks for Discord linked accounts * Reworked permission tree:easyannouncements.announce,.admin,.target.<selector>,.preset.<name>,.format,.bypass.cooldown,.update,.discord,.toggle,.receiveLegacy `esa.` nodes are mapped onto the new ones ---PlaceholderAPI integration
* Placeholders are parsed for the receiving player in every display * Relational placeholders (%rel_...%) between sender and receiver New `%easyannouncements_%` expansion: *_last_message%_last_sender%_last_preset%_last_target%_last_count%_last_time%*_total%_presets%_preset_count%*_muted%_cooldown%*_update_available%_latest_version%_version%_hooks%*_schedule_next_<id>%---Discord integration (DiscordSRV)
Multiple channels*, by channel ID or DiscordSRV channel name Three modes*:embed,textandwebhook* Message content above the embed, with role, user,@everyoneand@herementions * Per-preset embed color, title and channel override * Slash command withmessage,targetandpresetoptions, presets offered as choices * Prefix command withtarget:andpreset:tokens, optional command message deletion * Restrict commands to specific channels Permissions by role ID, user ID, Discord administrator, or a linked Minecraft account* holdingeasyannouncements.discord, checked through LuckPerms even when the player is offline * Linked users announce under their Minecraft name * Sender avatars now use UUIDs, so name changes no longer break the head image * Embed fields moved to a clean list, placeholders work in field names and values * Announcements sent from Discord no longer echo back to Discord by default ---Developer API
*EasyAnnouncementsAPI api = EasyAnnouncementsProvider.get(); api.broadcast(Announcement.builder("Boss spawns in <yellow>2 minutes</yellow>") .source(AnnouncementSource.api("MyBossPlugin")) .preset("event") .placeholder("boss", "Ender Dragon") .disableDisplay("bossbar") .build());Announcementbuilder with preset, source, placeholders, metadata, display toggles and force delivery *AnnouncementResultwith recipients, displays used and Discord status *AnnouncementDisplayregister your own delivery channel (holograms, scoreboards, Bedrock forms), presets can carry your own keys throughPreset#custom*TargetResolverregister your own selectors such as@teamor@radius*PlaceholderProviderregister%your_placeholder%values with no PlaceholderAPI needed *registerPresetcreate presets at runtime * Events: `Announcem1.0.0Easy AnnouncementsFeb 16, 2026 <center>   * Prefix command support (!announce) * Role ID and User ID permission restrictions * World targeting from Discord * Confirmation messages and timestamps ---PlaceholderAPI Support
* Per-player placeholder parsing * Economy placeholders * Server performance placeholders * Player statistics placeholders ---Boss Bar System
* Configurable color and style * Segmented and solid styles * Configurable animation duration * Adjustable update intervals ---Sound System
* Any Minecraft sound supported * Custom volume and pitch control * Fully toggleable ---Configuration System
* Separateconfig.ymlanddiscord.yml* Fully modular structure * Per-world configuration support * Independent feature toggles ---Permissions
`esa.` — full access *esa.announcement*esa.announce*esa.reloadFully compatible with LuckPerms. ---
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
99.3MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.8MSueta
Chunky
Pre-generates chunks, quickly and efficiently
18.4MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta