COWMODSКаталог модов

Easy Announcements

Easy Announcements is a modern, lightweight plugin that lets you send professional-looking announcements.

Автор: ImpactGamin9223обновлён 9 сент. 2026 г.
Механики игрыОбщениеУтилиты

Описание

easy_announcements_title


Java 25 Paper 26.2 Minecraft 26.2 DiscordSRV Supported PlaceholderAPI Supported LuckPerms Supported Developer API


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, event included, 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 toggle for players, /ea preview, /ea history, /ea last
  • MiniMessage support everywhere (gradients, hover, click) alongside classic & codes
  • messages.yml so every plugin message is editable
  • Automatic migration of 1.x configs (your old files are backed up)

Dependencies & Compatibility

PluginRequiredPurposeLink
Paper 26.2YesPurpur and other Paper forks work as well. Spigot is not supported (no Adventure API).https://papermc.io
LuckPermsOptionalGroup targeting, prefix placeholders, per-group cooldowns, Discord account permissionshttps://modrinth.com/plugin/luckperms
PlaceholderAPIOptionalDynamic placeholders (%player_name%, TPS, economy, etc.) and the plugin's own expansionhttps://modrinth.com/plugin/placeholderapi
DiscordSRVOptionalPost to Discord and announce from Discordhttps://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

  • @a all players
  • <player> one player
  • @w <world> one world
  • @g <group> a LuckPerms group (inherited groups count)
  • @p <permission> players holding a permission
  • @s yourself
  • Optional default-to-all mode
  • Players can opt out with /ea toggle, --force reaches 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 schedules shows 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.update when they join
  • /ea update to 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.cooldown seconds between announcements
    • easyannouncements.max-length message length limit
    • easyannouncements.preset preset 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, text or webhook mode
  • 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 selectors
  • PlaceholderProvider: 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

CommandDescription
/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 presetsList presets
/ea history [count]Recent announcements
/ea lastRepeat the last announcement
/ea toggleHide or show announcements for yourself
/ea schedules [run <id>]List or run schedules
/ea updateCheck for a newer version
/ea reloadReload all config files

Options: -p <preset>, --silent, --no-discord, --force, --only <displays>, --no <displays>


Feature Comparison

FeatureEasy AnnouncementsTypical Announcement Plugins
Minecraft 26.2 / Java 25YesOften outdated
PresetsYes, unlimitedRare
Animated Boss BarsYes (FILL, DRAIN, PULSE, STATIC)Rare
Action BarYesSometimes
Scheduled AnnouncementsYes, per schedule preset and targetBasic
Group / Permission TargetingYes (LuckPerms)No
Per-World TargetingYesLimited
Player Opt-OutYesRare
Update Notices for Your VersionYesNo
DiscordSRV IntegrationEmbeds, text, webhooks, commandsUsually none
Discord Permissions via LuckPermsYes (linked accounts)No
PlaceholderAPIParsing plus own expansionSometimes
MiniMessageYes, mixed with & codesRare
Developer APIEvents, displays, selectorsRare
Config MigrationAutomatic from 1.xManual

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

Plugin by Sketch494. Eciipse Studios.



wepwawet

Последние версии

Все версии →
release

Easy Announcements 2.0.0

2.0.0
9 сент. 2026 г.241Minecraft: 26.2bukkit, paper, purpur, spigot
Скачать
Что нового
<center> ![easy_announcements_title](https://cdn.modrinth.com/data/cached_images/094ac4397bee19805de843a199f54b52645248b5.png) </center> --- <center> ![Java 25](https://img.shields.io/badge/Java-25-blue?style=flat-square) ![Paper 26.2](https://img.shields.io/badge/Paper-26.2-brightgreen?style=flat-square) ![Minecraft 26.2](https://img.shields.io/badge/Minecraft-26.2-green?style=flat-square) ![DiscordSRV Supported](https://img.shields.io/badge/DiscordSRV-Supported-5865F2?style=flat-square) ![PlaceholderAPI Supported](https://img.shields.io/badge/PlaceholderAPI-Supported-orange?style=flat-square) ![LuckPerms Supported](https://img.shields.io/badge/LuckPerms-Supported-00C853?style=flat-square) </center> <center> # Easy Announcements 2.0.0 The rewrite update </center> --- ## Overview Easy Announcements 2.0.0 is a full rewrite for **Paper 26.2 on Java 25**. Announcements are now driven by **presets**, targeting understands **LuckPerms groups and permissions**, announcements can run **on a schedule**, and there is a proper **developer API** for other plugins to build on. Your 1.x configs are converted automatically on first start and the originals are kept as `config.v1-backup.yml` and `discord.v1-backup.yml`. Old `esa.*` permissions still work. --- ## Platform * Updated to Minecraft 26.2 and the Paper 26.2 API * Now requires Java 25 (Paper 26.2 requires it) * 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 from `default` * Choose one per announcement with `-p <preset>` * Lock a preset behind `easyannouncements.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 `&#RRGGBB` hex 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 * New `messages.yml`, every message the plugin sends is editable --- ## Targeting * `@a` all 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>` * Optional `targets.receive-permission` so 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 * `--silent` skip the sound * `--no-discord` do not post to Discord * `--force` reach players who muted announcements * `--only title,chat` use only these displays * `--no bossbar` skip these displays --- ## New commands * `/ea preview [-p preset] <message>` show an announcement only to yourself * `/ea presets` list the presets you may use, click to insert * `/ea history [count]` recent announcements with time, sender and target * `/ea last` send the last announcement again * `/ea toggle` players can hide announcements for themselves * `/ea schedules [run <id>]` list schedules or fire one now * `/ea update` check Modrinth on demand * `/ea version` version, Minecraft version and active hooks * All commands share one root: `/ea`, `/announce`, `/announcement`, `/esa`, `/easyannouncements` * `/esareload` kept 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 with `easyannouncements.update` when they join * Configurable join delay, prerelease opt-in, and an `UpdateAvailableEvent` for 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.cooldown` seconds between announcements * `easyannouncements.max-length` message length limit * `easyannouncements.preset` preset 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`, `.receive` * Legacy `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`, `text` and `webhook` * Message content above the embed, with role, user, `@everyone` and `@here` mentions * Per-preset embed color, title and channel override * Slash command with `message`, `target` and `preset` options, presets offered as choices * Prefix command with `target:` and `preset:` tokens, optional command message deletion * Restrict commands to specific channels * Permissions by role ID, user ID, Discord administrator, or a **linked Minecraft account** holding `easyannouncements.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 ```java 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()); ``` * `Announcement` builder with preset, source, placeholders, metadata, display toggles and force delivery * `AnnouncementResult` with recipients, displays used and Discord status * `AnnouncementDisplay` register your own delivery channel (holograms, scoreboards, Bedrock forms), presets can carry your own keys through `Preset#custom` * `TargetResolver` register your own selectors such as `@team` or `@radius` * `PlaceholderProvider` register `%your_placeholder%` values with no PlaceholderAPI needed * `registerPreset` create presets at runtime * Events: `AnnouncementPreSendEvent` (cancellable, can swap the announcement or edit recipients), `AnnouncementSentEvent`, `UpdateAvailableEvent` * Helpers: `render()`, `renderPlain()`, `resolveTargets()`, `history()`, `lastAnnouncement()`, `setMuted()`, `reload()` * Also published through Bukkit's `ServicesManager` --- ## Configuration * `config.yml` reorganised around `general`, `update-checker`, `targets`, `presets` and `schedules` * New `messages.yml` * `discord.yml` rebuilt for multi-channel, modes and linked account permissions * Missing keys are added on start with their comments, your edits are preserved * Automatic 1.x migration with backups * Every file reloads with `/ea reload`, including the Discord listener and schedules * Sounds accept modern keys (`minecraft:block.bell.use`), resource pack keys and the old enum names * Boss bar styles accept both `PROGRESS`/`NOTCHED_10` and the old `SOLID`/`SEGMENTED_10` names * Title fade timings accept decimals --- ## Fixes and internals * Boss bars are removed correctly when a player leaves or the plugin reloads, no more stuck bars * Boss bar and action bar tasks are cancelled per player instead of leaking * Invalid colors, styles, animations and sounds warn once instead of spamming the console * Player names are matched exactly first, so a partial name no longer hijacks a message * Announcement history is capped and configurable * Cooldowns per sender with a bypass permission * Console, Discord, schedules and API calls are all treated as first class senders * Discord and PlaceholderAPI classes are isolated so a missing plugin can never cause a class load error * Plugin now shuts down cleanly, unregistering the expansion, listeners and service --- ## Upgrading from 1.x 1. Stop the server and replace the jar 2. Start the server, your configs are converted and backed up automatically 3. Check `config.yml`, the old `title`, `chat`, `bossbar` and `sound` sections now live under `presets.default` 4. Set `discord.channels` in `discord.yml` if you used `channel-id` 5. Optional: switch your LuckPerms groups from `esa.*` to the `easyannouncements.*` nodes ---
release

Easy Announcements

1.0.0
16 февр. 2026 г.678Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11bukkit, paper, purpur, spigot
Скачать
Что нового
<center> ![easy\_announcements\_title](https://cdn.modrinth.com/data/cached_images/094ac4397bee19805de843a199f54b52645248b5.png) </center> --- <center> ![Java 21](https://img.shields.io/badge/Java-21-blue?style=flat-square) ![Paper 1.21+](https://img.shields.io/badge/Paper-1.21%2B-brightgreen?style=flat-square) ![Minecraft 1.21](https://img.shields.io/badge/Minecraft-1.21-green?style=flat-square) ![DiscordSRV Supported](https://img.shields.io/badge/DiscordSRV-Supported-5865F2?style=flat-square) ![PlaceholderAPI Supported](https://img.shields.io/badge/PlaceholderAPI-Supported-orange?style=flat-square) </center> <center> # Easy Announcements 1.0.0 Initial Release </center> --- ## Overview Easy Announcements 1.0.0 is the first public release of the plugin, built for Paper 1.21+ and Java 21. This version introduces a fully modular announcement system with deep Discord integration and animated display options. --- ## Core Features ### Multiple Display Methods * Title and subtitle announcements with configurable fade timings * Formatted chat announcements with customizable layout * Animated boss bar announcements * FILL animation * DRAIN animation * PULSE animation Each display type can be enabled or disabled independently. --- ### Flexible Targeting * `@a` — send to all players * Player name targeting * `@w <world>` — per-world targeting * Optional default-to-all mode --- ### DiscordSRV Integration * Full Discord embed customization * HEX color support * Thumbnail and image support * Author section with player head icons * Custom embed fields * Slash command support (`/announce`) * 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 * Separate `config.yml` and `discord.yml` * Fully modular structure * Per-world configuration support * Independent feature toggles --- ### Permissions * `esa.*` — full access * `esa.announcement` * `esa.announce` * `esa.reload` Fully compatible with LuckPerms. ---