Custom Toast Advancement Messages for Your Server
✨ Features
Full Color Support
Legacy colors ( &a), gradients, and Hex colors ( &#RRGGBB) in all messages and GUI elements
Custom Sounds
Add custom sounds to announcements. Supports default Minecraft sounds and custom resource pack sounds
Custom Model Data (CMD)
Display items with custom model data. Supports integers, ItemsAdder, and Nexo
Advanced Player Toggles
Players can independently toggle announcements or just sounds with /aa toggle
In-Game GUI Editor
Manage everything from an easy-to-use interface ( /aa edit). No YAML editing needed!
Join Messages
Welcome players with unique announcements on join or first join with random selection
Automated Messages
Set up unlimited auto-broadcast messages on a timer with ORDERED or RANDOM mode
PlaceholderAPI Support
Use any PAPI placeholders in your messages for dynamic content
Multiple Presets
Create and manage unlimited message presets with different styles and settings
Update Checker
Automatic notifications for new versions available
Commands
Main Commands
- /aa edit: Opens the main configuration GUI (advancementannouncer.admin)
- /aa reload: Reloads the configuration file (advancementannouncer.admin)
- /aa toggle: Toggle announcements or sounds (advancementannouncer.toggle)
Code (plain (Unknown Language)):
/aa send preset <presetName> <target>
Code (plain (Unknown Language)):
/aa send <style> <icon> <target> <message/presetName>
Options:
- Style: GOAL, TASK, CHALLENGE
- Icon: Any valid Material name
- Target: Player name or all
Code (plain (Unknown Language)):
/aa toggle <announcements|sounds>
- announcements - Toggle visibility of announcements
- sounds - Toggle announcement sounds (silently notify)
Permissions
Code (YAML):
advancementannouncer.admin
├─ Full access to all commands and GUI
└─ Includes all sub-permissions
advancementannouncer.toggle
├─ advancementannouncer.toggle.announcements
│ └─ Toggle announcements visibility
└─ advancementannouncer.toggle.sounds
└─ Toggle announcement sounds
├─ Full access to all commands and GUI
└─ Includes all sub-permissions
advancementannouncer.toggle
├─ advancementannouncer.toggle.announcements
│ └─ Toggle announcements visibility
└─ advancementannouncer.toggle.sounds
└─ Toggle announcement sounds
The in-game GUI makes configuration effortless! Access it with /aa edit
Features:
- ✅ Add, edit, and delete presets without YAML
- ✅ Configure auto-announcements on the fly
- ✅ Set up join/first-join messages
- ✅ Real-time preview of messages
Demo Screenshots
Sending Presets
Join Messages
Sending Custom Messages
⚙️ Configuration
All settings are editable through the in-game GUI or the config.yml file.
Spoiler: Click to expand config.yml
# ######################################################################################################
# ## ##
# ## AdvancementAnnouncer v1.6.0 by Altkat(StreetMelodeez) ##
# ## Discord: streetmelodeez ##
# ## Please use /aa reload to apply changes. ##
# ## You can use /aa edit in game chat to edit this file. ##
# ## ##
# ######################################################################################################
#
# Custom Model Data Usage Examples:
# custom-model-data: 123456 for direct integer.
# custom-model-data: itemsadder:fire_sword for ItemsAdder.
# custom-model-data: nexo:forest_sword for Nexo.
#
# ######################################################################################################
#
# Sound Usage:
# You can add a sound to any announcement.
# sound: "ENTITY_PLAYER_LEVELUP"
# A list of sounds can be found here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
# Leave "" for no sound.
# Recommendation: Use sounds with only TASK and GOAL types since CHALLENGE type has its own sound effect.
#
# ######################################################################################################
#
# Hex Color Usage:
# This plugin supports Hex colors.
# Use the format &#RRGGBB (e.g., &#FF0000) in any message.
#
# ######################################################################################################
#
# Auto-Announce & Message Options:
# enabled: true/false - should the plugin announce messages automatically.
# interval: in seconds - time between auto-announcements.
# mode: "ORDERED" or "RANDOM" - the order of messages.
# style: "GOAL", "TASK", or "CHALLENGE" - the frame style of the toast.
# icon: Any valid Material name from Spigot.
# (e.g., "DIAMOND", "GOLDEN_APPLE")
# List: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
#
# ######################################################################################################
#
# Placeholder Usage:
# You can use placeholders from PlaceholderAPI in the messages. like %player_name%
#
# ######################################################################################################
#
# How to print multiple lines:
# Use | to print on a new line (If you print a one line message top line will be minecraft's default line (e.g, Goal Reached!)
#
# ######################################################################################################
presets:
preset1:
message : "&aThis is my &6cool|&amessage wow!"
style : "GOAL"
icon : "DIAMOND"
custom-model-data : ""
sound : "ENTITY_PLAYER_LEVELUP"
store-preset:
message : "&6You can get ranks|&6on our store &b/store"
style : "TASK"
icon : "EMERALD"
custom-model-data : ""
sound : ""
discord-preset:
message : "&9Join our discord server|&bdiscord.gg/yourdc"
style : "CHALLENGE"
icon : "BOOK"
custom-model-data : ""
sound : ""
greeting:
message : "6DAF4H6BBE5eȥCD5lȣDC6lȡEB6o &e%player_name% 6DAF4H6D2F0o6C9ECw
6B9E3i6B1DFs 6A0D7iᕺD3t ᕯCBgȣFC7oᕥC2iȢFBEnᕚBAgȡEB6?"
style : GOAL
icon : SUNFLOWER
custom-model-data : ""
sound : "ENTITY_EXPERIENCE_ORB_PICKUP"
auto-announce:
enabled : false
interval : 30
mode : "ORDERED"
messages:
custommessage:
message : "&9Join our discord server|&bdiscord.gg/yourdc"
style : "TASK"
icon : "DIAMOND"
custom-model-data : ""
sound : "ENTITY_EXPERIENCE_ORB_PICKUP"
custommessage2:
message : "&eHello|&eHow is it going?"
style : "GOAL"
icon : "EMERALD"
custom-model-data : ""
sound : ""
vipmessage:
message : "&6You can get ranks|&6on our store &b/store"
style : "CHALLENGE"
icon : "GOLD_INGOT"
custom-model-data : ""
sound : ""
# Messages to be displayed when players join the server.
# If you add more than one message, a random one will be selected and displayed.
join-features:
join-messages:
enabled : true
messages:
welcome-back-1:
message : '&eWelcome back, &a %player_name%!'
style : GOAL
icon : GOLDEN_APPLE
custom-model-data : ""
sound : "ENTITY_PLAYER_LEVELUP"
welcome-back-2:
message : '&7 [&a+&7 ] &f %player_name%'
style : TASK
icon : TOTEM_OF_UNDYING
custom-model-data : ""
sound : "ENTITY_EXPERIENCE_ORB_PICKUP"
first-join-messages:
enabled : true
messages:
first-join-1:
message : '&dWelcome to the server, &b %player_name%!'
style : CHALLENGE
icon : CAKE
custom-model-data : ""
sound : "ENTITY_PLAYER_LEVELUP"
first-join-2:
message : '&b %player_name% &ejoined for the first time!'
style : GOAL
icon : TOTEM_OF_UNDYING
custom-model-data : ""
sound : "ENTITY_EXPERIENCE_ORB_PICKUP"
#These are the messages shown to players
#You can edit these messages
lang-messages:
plugin-prefix : "ḈFF[Advancement Announcer] &r"
config-reloaded : "LFF90Config reloaded!"
wrong-usage : "&#F86B6BWrong usage! Please use &e/aa toggle <announcements|sounds>"
announcements-toggled-on : "LFF90You now see the advancement announcements!"
announcements-toggled-off : "&#F86B6BYou no longer see the advancement announcements!"
sounds-toggled-on : "LFF90Announcement sounds are now enabled!"
sounds-toggled-off : "&#F86B6BAnnouncement sounds are now disabled!"
no-permission : "&#F86B6BYou don't have permission to use this command."
Code (YAML):
# ######################################################################################################
# ## ##
# ## AdvancementAnnouncer v1.6.0 by Altkat(StreetMelodeez) ##
# ## Discord: streetmelodeez ##
# ## Please use /aa reload to apply changes. ##
# ## You can use /aa edit in game chat to edit this file. ##
# ## ##
# ######################################################################################################
#
# Custom Model Data Usage Examples:
# custom-model-data: 123456 for direct integer.
# custom-model-data: itemsadder:fire_sword for ItemsAdder.
# custom-model-data: nexo:forest_sword for Nexo.
#
# ######################################################################################################
#
# Sound Usage:
# You can add a sound to any announcement.
# sound: "ENTITY_PLAYER_LEVELUP"
# A list of sounds can be found here: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
# Leave "" for no sound.
# Recommendation: Use sounds with only TASK and GOAL types since CHALLENGE type has its own sound effect.
#
# ######################################################################################################
#
# Hex Color Usage:
# This plugin supports Hex colors.
# Use the format &#RRGGBB (e.g., &#FF0000) in any message.
#
# ######################################################################################################
#
# Auto-Announce & Message Options:
# enabled: true/false - should the plugin announce messages automatically.
# interval: in seconds - time between auto-announcements.
# mode: "ORDERED" or "RANDOM" - the order of messages.
# style: "GOAL", "TASK", or "CHALLENGE" - the frame style of the toast.
# icon: Any valid Material name from Spigot.
# (e.g., "DIAMOND", "GOLDEN_APPLE")
# List: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html
#
# ######################################################################################################
#
# Placeholder Usage:
# You can use placeholders from PlaceholderAPI in the messages. like %player_name%
#
# ######################################################################################################
#
# How to print multiple lines:
# Use | to print on a new line (If you print a one line message top line will be minecraft's default line (e.g, Goal Reached!)
#
# ######################################################################################################
presets:
preset1:
message : "&aThis is my &6cool|&amessage wow!"
style : "GOAL"
icon : "DIAMOND"
custom-model-data : ""
sound : "ENTITY_PLAYER_LEVELUP"
store-preset:
message : "&6You can get ranks|&6on our store &b/store"
style : "TASK"
icon : "EMERALD"
custom-model-data : ""
sound : ""
discord-preset:
message : "&9Join our discord server|&bdiscord.gg/yourdc"
style : "CHALLENGE"
icon : "BOOK"
custom-model-data : ""
sound : ""
greeting:
message : "6DAF4H6BBE5eȥCD5lȣDC6lȡEB6o &e%player_name% 6DAF4H6D2F0o6C9ECw
6B9E3i6B1DFs 6A0D7iᕺD3t ᕯCBgȣFC7oᕥC2iȢFBEnᕚBAgȡEB6?"
style : GOAL
icon : SUNFLOWER
custom-model-data : ""
sound : "ENTITY_EXPERIENCE_ORB_PICKUP"
auto-announce:
enabled : false
interval : 30
mode : "ORDERED"
messages:
custommessage:
message : "&9Join our discord server|&bdiscord.gg/yourdc"
style : "TASK"
icon : "DIAMOND"
custom-model-data : ""
sound : "ENTITY_EXPERIENCE_ORB_PICKUP"
custommessage2:
message : "&eHello|&eHow is it going?"
style : "GOAL"
icon : "EMERALD"
custom-model-data : ""
sound : ""
vipmessage:
message : "&6You can get ranks|&6on our store &b/store"
style : "CHALLENGE"
icon : "GOLD_INGOT"
custom-model-data : ""
sound : ""
# Messages to be displayed when players join the server.
# If you add more than one message, a random one will be selected and displayed.
join-features:
join-messages:
enabled : true
messages:
welcome-back-1:
message : '&eWelcome back, &a %player_name%!'
style : GOAL
icon : GOLDEN_APPLE
custom-model-data : ""
sound : "ENTITY_PLAYER_LEVELUP"
welcome-back-2:
message : '&7 [&a+&7 ] &f %player_name%'
style : TASK
icon : TOTEM_OF_UNDYING
custom-model-data : ""
sound : "ENTITY_EXPERIENCE_ORB_PICKUP"
first-join-messages:
enabled : true
messages:
first-join-1:
message : '&dWelcome to the server, &b %player_name%!'
style : CHALLENGE
icon : CAKE
custom-model-data : ""
sound : "ENTITY_PLAYER_LEVELUP"
first-join-2:
message : '&b %player_name% &ejoined for the first time!'
style : GOAL
icon : TOTEM_OF_UNDYING
custom-model-data : ""
sound : "ENTITY_EXPERIENCE_ORB_PICKUP"
#These are the messages shown to players
#You can edit these messages
lang-messages:
plugin-prefix : "ḈFF[Advancement Announcer] &r"
config-reloaded : "LFF90Config reloaded!"
wrong-usage : "&#F86B6BWrong usage! Please use &e/aa toggle <announcements|sounds>"
announcements-toggled-on : "LFF90You now see the advancement announcements!"
announcements-toggled-off : "&#F86B6BYou no longer see the advancement announcements!"
sounds-toggled-on : "LFF90Announcement sounds are now enabled!"
sounds-toggled-off : "&#F86B6BAnnouncement sounds are now disabled!"
no-permission : "&#F86B6BYou don't have permission to use this command."
Compatibility
- Paper (1.16.5 - 1.21.x): ✅ Fully Supported
- Spigot (1.16.5 - 1.21.x): ✅ Fully Supported
- PlaceholderAPI (Optional) - Enable placeholder support
- ItemsAdder (Optional) - Custom model data integration
- Nexo (Optional) - Custom model data integration
Support
Have questions or found a bug? Reach out!
- Discord: Message me
- Issues: GitHub Issues
License
This project is licensed under the MIT License - see the LICENSE file for details.
Third-party Libraries:
- UltimateAdvancementAPI - LGPL License
- Adventure - MIT License
- bStats - MIT License
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.16, 1.17, 1.18
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
Advancement Announcer | Custom Advancement Messages is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.17, 1.18, 1.19 and newer. Downloaded 520 times (via Spigot). Download it and open it directly in the game.