Easy AnnouncementsСкачатьСкачать
ВЕРСИИ (2)
release
Easy Announcements 2.0.0
2.0.09 сент. 2026 г.241Minecraft: 26.2bukkit, paper, purpur, spigot
Что нового
<center>

</center>
---
<center>






</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.016 февр. 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>

</center>
---
<center>





</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.
---