Cobblemon Spawn Alerts
A highly customizable Cobblemon sidemod to alert you when a certain Pokemon spawns
This mod is no longer being maintained.
No updates. No patches. For more details, see the bottom of the page. Thanks for everything.
IMPORTANT:
Some Pokemon info may not display properly if you are on a server!
Servers can optionally install this mod to broadcast this info to clients if they desire, also with a config of its own. If a server does not have this mod installed, then things will not display correctly. Also, while the serverside mod is optional, all clients must have the mod if the server does.
1.12.0 update:
As of 1.12.0, the Adventure library has been replaced with Ember's Text API. This will break existing configs. See the full changelog for more details.
No more staring at the minimap!
Have you ever been hunting for an ultra-rare, and as you're flying around your eyes are too focused on reading each Pokemon's name that you miss something? Well with this mod, you can simply receive a message in chat when the Pokemon spawns instead! The config is a JSON file that is very easy to edit and add any Pokemon you want.
Speaking of minimaps...
CSA is fully compatible with Journeymap and can automatically create and remove waypoints when Pokemon spawn/despawn. More details below in the Journeymap Integration tab.
Complete the Pokedex!
By simply editing the config, you can be alerted whenever an unregistered or uncaught Pokemon spawns near you!
Customizability!
Each Pokemon can be individually customized exactly to your needs. If you want to shiny hunt for a Ralts while making sure you don't miss out on any beautiful Bidoofs (i love bidoof), you can do that. Messages use Ember's Text API markup to easily color or format messages however you like (see the ETA docs).
The default message looks like this:
But can be modified to look like this, or however you want!

Global Alerts!
Inspired by Cobblemon Spawn Notification, all players will be alerted when a rare Pokemon (such as a shiny or legendary) spawns. This can be disabled in the server's server.json config for the mod. The server simply sends a packet to all clients, so that each player can individually customize their messages.
Discord Webhooks!
Both the server and clients can send Discord webhooks, fully customizable with embeds and everything. You can even embed an image of the spawned Pokemon! (Using "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/{dex}.png")
Servers can enable webhooks for global alerts, while clients can enable webhooks for every single alert they receive.
FAQ:
How do I do x? How does y work?
Please read the docs before you go on asking me how the configs work. If you still can't figure it out that's fine, just at least attempt it on your own first.
My alerts don't work when using commands?
This is intended behavior, which I still need to find a better solution for (if one exists). You can use enableSpawnCommandAlerts in server.json, but use this at your own risk. This can break spawning of some Pokemon, such as in Cobblemon: Path to Legends.
Technical details: This mixins to SpawnPokemon#execute and uses the player spawner system to forcibly post a spawn event.
Support for Xaero's Minimap waypoints?
See the bottom of the page.
When will you...
See the bottom of the page.
Known Issues:
- Some modpacks make changes to the default configs, causing some things to not work by default. If CSA was part of the modpack and some alerts (e.g. shinies) arent' working, try this:
- /csa openconfig - Backup these files if you have anything important
- Delete main.json, pokemon.json, and message_templates.json on your client, and/or server.json if you're in singleplayer or are hosting a server
- /csa reload - This creates new config files with default settings
- Cobblemon Academy 2.0 uses a resource pack which entirely overrides CSA's lang file, breaking the new formatting in 1.12.0. You have the option to either edit the
message_templates.json, or, if you want to use the default lang file of CSA, go toresourcepacks -> Academy -> assetsand delete thecobblemon_spawn_alertsdirectory entirely.
Config:
To get started with editing the config, read the docs.
Support
I'll still help people even though I no longer will be maintaining the mod. For support, go to the Cobblemon discord, then in #content-zone-help, search for Cobblemon Spawn Alerts.
Why I'm not maintaining the mod anymore, and notes for other developers
Why?
- I don't have the time, energy, motivation, or passion for this project anymore. I have other things I would much rather spend my time on, to be completely honest.
- The mod was never supposed to be this big. I made it for my own use, and it grew to something much larger than I was capable of handling alone as someone who's still relatively new to modding.
- The codebase is a complete mess. To add new features or fix other things would require massive refactors. Honestly, the entire mod needs to be rewritten with things like addons or the new Cobblemon systems in mind.
For developers:
This mod and the docs site are licensed as MIT. You may freely modify and/or redistribute any of the code. Feel free to use any of the same ideas or concepts. Do whatever you want. You don't have to credit me for anything.
I will NOT merge PRs or resolve issues.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
|
R
1.13.1
|
20h ago | 1 | |||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 | ||||
| 20h ago | 1 |
- Added proper webhook example to default
webhooks.jsonconfig. - Added aliases for some dynamic replacements:
{rarity}for{bucket}{hidden_ability}for{HA}{mythical},{ultrabeast}, and{paradox}for{legendary}{coordinates}for{coords}{player}for{nearest_player}- Forgot to mention addition of
{timestamp}in previous changelog
### Changes & Fixes
- Fixed
{nearest_player}not working as a side effect of 1.13.0. - Fixed
{shiny}and{HA}not working for serverside webhooks. - Fixed
{bucket}incorrect spacing in lang file. - Renamed
nearestPlayertonearest_playerandcoordinatestocoordsinpokemon.json. Automatically fixes itself.
- Added proper webhook example to default
webhooks.jsonconfig. - Added aliases for some dynamic replacements:
{rarity}for{bucket}{hidden_ability}for{HA}{mythical},{ultrabeast}, and{paradox}for{legendary}{coordinates}for{coords}{player}for{nearest_player}- Forgot to mention addition of
{timestamp}in previous changelog
### Changes & Fixes
- Fixed
{nearest_player}not working as a side effect of 1.13.0. - Fixed
{shiny}and{HA}not working for serverside webhooks. - Fixed
{bucket}incorrect spacing in lang file. - Renamed
nearestPlayertonearest_playerandcoordinatestocoordsinpokemon.json. Automatically fixes itself.
NeoForge dedicated servers now require Ember's Text API version 2.5.0+. Fabric already required it, so nothing changes there.
Added regex pattern matcher to remove anything within {curly braces} after dynamic replacements are applied.
- This means that anything you put within {curly braces} will get replaced with an empty String.
- Necessary change to clean up code a bit.
- Allows for a more modular system to potentially support custom DRs in the future. Also makes adding new ones much faster and easier to manage.
### New Features
- Added Discord webhooks! See
webhooks.json,server_message_templates.json,pokemon.json, andserver.jsonfor relevant info. Webhooks can be enabled by your client (any alert) or by the server (global alerts). - Added
BOTHoption for stat display modes. Displays the stat in both the main message and hover. - Added
{dex},{dex_hover}, and{dex_unformatted}. Tip: usehttps://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/{dex}.pngto embed a Pokemon's image in your webhooks!
### Changes & Fixes
- Journeymap waypoint names now support dynamic replacements. Recommended to use the
unformattedversions when available. - Discord webhooks required shadowing https://github.com/n1netails/n1netails-discord-webhook-client and its dependencies. As such, the mod's file size has increased to about ~2.8MB, up from ~0.5MB.
NeoForge dedicated servers now require Ember's Text API version 2.5.0+. Fabric already required it, so nothing changes there.
Added regex pattern matcher to remove anything within {curly braces} after dynamic replacements are applied.
- This means that anything you put within {curly braces} will get replaced with an empty String.
- Necessary change to clean up code a bit.
- Allows for a more modular system to potentially support custom DRs in the future. Also makes adding new ones much faster and easier to manage.
### New Features
- Added Discord webhooks! See
webhooks.json,server_message_templates.json,pokemon.json, andserver.jsonfor relevant info. Webhooks can be enabled by your client (any alert) or by the server (global alerts). - Added
BOTHoption for stat display modes. Displays the stat in both the main message and hover. - Added
{dex},{dex_hover}, and{dex_unformatted}. Tip: usehttps://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/{dex}.pngto embed a Pokemon's image in your webhooks!
### Changes & Fixes
- Journeymap waypoint names now support dynamic replacements. Recommended to use the
unformattedversions when available. - Discord webhooks required shadowing https://github.com/n1netails/n1netails-discord-webhook-client and its dependencies. As such, the mod's file size has increased to about ~2.8MB, up from ~0.5MB.
- Added
{x},{y}, and{z}dynamic replacements for coordinates. - Added version checker to notify players of important changes. You may disable this in
main.json. However, it is highly recommended to leave this setting on. The message will go away after restarting your game, assuming the version stays consistent.
### Changes & Fixes
- Changed DespawnDataPacket to contain the entire AlertDataPacket for the Pokemon, giving access to much more information in despawn messages.
- Made coordinates display as "N/A" when unavilable, instead of just 0.
- Added configVersion to message_templates, server, and rarities configs.
- Added
{x},{y}, and{z}dynamic replacements for coordinates. - Added version checker to notify players of important changes. You may disable this in
main.json. However, it is highly recommended to leave this setting on. The message will go away after restarting your game, assuming the version stays consistent.
### Changes & Fixes
- Changed DespawnDataPacket to contain the entire AlertDataPacket for the Pokemon, giving access to much more information in despawn messages.
- Made coordinates display as "N/A" when unavilable, instead of just 0.
- Added configVersion to message_templates, server, and rarities configs.
- Added
broadcastBuckettoserver.json
### Changes & Fixes
- Fixed PokemonDataPacket networking error due to null buckets. Added error handling and logging to it.
- Fixed stupid idiot error where I mistyped ultra-rare as ultra_rare and so ultra rares wouldn't alert :)
- Added
broadcastBuckettoserver.json
### Changes & Fixes
- Fixed PokemonDataPacket networking error due to null buckets. Added error handling and logging to it.
- Fixed stupid idiot error where I mistyped ultra-rare as ultra_rare and so ultra rares wouldn't alert :)
Replaced the Adventure library with Ember's Text API - Thanks to @TysonTheEmber!
- CSA now requires [Ember's Text API](https://modrinth.com/mod/embers-text-api) version 2.5.0 or higher
- Breaks existing configs which use MiniMessage formatting. Refer to ETA's [markup guide](https://tysontheember.dev/embers-text-api/for-modpack-creators/markup-guide/) for updating your formatting.
- Required dependency on clients, and Fabric servers. NeoForge dedicated servers do not depend on ETA.
- This fixes issues regarding Adventure being JiJ'd or shadowed, conflicting with other mods which also bundle Adventure.
- This also significantly decreases the jar file size.
- ETA, while it may slightly differ from MiniMessage, should be just as, if not *more* capable of making cool things.
### New Features
- Added rarity buckets finally! There is a
server.jsonconfig option for global alerts, and same formain.jsonandmessage_templates.json, as per usual. You can list out multiple buckets like so:"COMMON", "UNCOMMON", "RARE", "ULTRA_RARE". - Added
customAlertTooltipandcustomAlertClickEvent. Tooltips display a custom message when hovered, using [ETA markup](https://tysontheember.dev/embers-text-api/for-modpack-creators/markup-guide/).
event_name:action. The click events are open_url, open_file, run_command, suggest_command, change_page, and copy_to_clipboard. For example, run_command:/csa openconfig would open the config folder when clicked on.- Added sounds for despawns in
pokemon.json. - Added
enableAlerts,enableDespawnAlerts, andenableSoundsinmain.json. - Added colorable autoglow using ARGB32 (#AARRGGBB) formatting in
pokemon.json. - Added filter by distance in
main.json. - Added config to modify what is classified as legendary, starter, etc. On the server side, this config is only used for starter global alerts. It is primarily used on the client side. However, since it is still common between server and client, it is reloaded via
/csa-common reload.
### Changes & Fixes
- Fixed Adventure crashes and incompatibilities (e.g. BlueMap). See the breaking changes section above.
- Renamed
/csa-servercommand to/csa-common. - Fixed an oversight where the server config was redundantly checked for the status of a Pokemon when sending alert data to clients. E.g. if a shiny legendary spawned, but the server config had shinies disabled, clients would not be alerted that it was a shiny. Because servers may still want to hide the fact that a Pokemon is shiny,
broadcastShinyhas been added as well. - Fixed despawn alerts triggering for Pokemon your client never actually alerted.
- Fixed despawn alerts falsely triggering when the chunk the Pokemon was in was unloaded, even though it didn't actually despawn. They now properly alert when the entity is fully removed.
Replaced the Adventure library with Ember's Text API - Thanks to @TysonTheEmber!
- CSA now requires [Ember's Text API](https://modrinth.com/mod/embers-text-api) version 2.5.0 or higher
- Breaks existing configs which use MiniMessage formatting. Refer to ETA's [markup guide](https://tysontheember.dev/embers-text-api/for-modpack-creators/markup-guide/) for updating your formatting.
- Required dependency on clients, and Fabric servers. NeoForge dedicated servers do not depend on ETA.
- This fixes issues regarding Adventure being JiJ'd or shadowed, conflicting with other mods which also bundle Adventure.
- This also significantly decreases the jar file size.
- ETA, while it may slightly differ from MiniMessage, should be just as, if not *more* capable of making cool things.
### New Features
- Added rarity buckets finally! There is a
server.jsonconfig option for global alerts, and same formain.jsonandmessage_templates.json, as per usual. You can list out multiple buckets like so:"COMMON", "UNCOMMON", "RARE", "ULTRA_RARE". - Added
customAlertTooltipandcustomAlertClickEvent. Tooltips display a custom message when hovered, using [ETA markup](https://tysontheember.dev/embers-text-api/for-modpack-creators/markup-guide/).
event_name:action. The click events are open_url, open_file, run_command, suggest_command, change_page, and copy_to_clipboard. For example, run_command:/csa openconfig would open the config folder when clicked on.- Added sounds for despawns in
pokemon.json. - Added
enableAlerts,enableDespawnAlerts, andenableSoundsinmain.json. - Added colorable autoglow using ARGB32 (#AARRGGBB) formatting in
pokemon.json. - Added filter by distance in
main.json. - Added config to modify what is classified as legendary, starter, etc. On the server side, this config is only used for starter global alerts. It is primarily used on the client side. However, since it is still common between server and client, it is reloaded via
/csa-common reload.
### Changes & Fixes
- Fixed Adventure crashes and incompatibilities (e.g. BlueMap). See the breaking changes section above.
- Renamed
/csa-servercommand to/csa-common. - Fixed an oversight where the server config was redundantly checked for the status of a Pokemon when sending alert data to clients. E.g. if a shiny legendary spawned, but the server config had shinies disabled, clients would not be alerted that it was a shiny. Because servers may still want to hide the fact that a Pokemon is shiny,
broadcastShinyhas been added as well. - Fixed despawn alerts triggering for Pokemon your client never actually alerted.
- Fixed despawn alerts falsely triggering when the chunk the Pokemon was in was unloaded, even though it didn't actually despawn. They now properly alert when the entity is fully removed.
- Hopefully fixed service loading crash that can happen in some strange cases. I don't know why it happens and I don't know if this actually fixes it.
- Hopefully fixed service loading crash that can happen in some strange cases. I don't know why it happens and I don't know if this actually fixes it.
- Fixed Journeymap waypoints not being created if an invalid hex color was used. Defaults to white if this occurs
- Made config automatically prefix hex codes with a
#to fix NumberFormatException - Added some comments to each config
- Fixed Journeymap waypoints not being created if an invalid hex color was used. Defaults to white if this occurs
- Made config automatically prefix hex codes with a
#to fix NumberFormatException - Added some comments to each config
- HOPEFULLY fixed 1.11.3-beta1 incorrect translation keys for spaced or hyphenated Pokemon names
- HOPEFULLY fixed 1.11.3-beta1 incorrect translation keys for spaced or hyphenated Pokemon names
- Fixed incorrect translation key causing wrong Pokemon names to show
- Fixed incorrect translation key causing wrong Pokemon names to show
- Fixed Pokemon retaining their glowing effect in a clientside environment after being caught
- Added
/csa glow clearto clear the glow cache if this fix still doesn't work
- Fixed Pokemon retaining their glowing effect in a clientside environment after being caught
- Added
/csa glow clearto clear the glow cache if this fix still doesn't work
- Added
alertAllHA - Added debug tool for alerts (
debuginmain.json)
- Fixed
alertAllShiniesfalsely alerting things even whenalwaysAlertwas disabled
- Added
alertAllHA - Added debug tool for alerts (
debuginmain.json)
- Fixed
alertAllShiniesfalsely alerting things even whenalwaysAlertwas disabled
- Added Journeymap compatibility! Alerts can now create waypoints and automatically delete them when the Pokemon is caught/despawns. You can enable this in your Pokemon configs.
- Added config option to disable despawn messages
- Made Pokemon configs support dex ID numbers
- Fixed alternate forms incorrectly alerting false Hidden Ability alerts
- Fixed some characters (e.g.
<,>, and any other HTML formatting) being converted to unicode when the config was saved
- Added Journeymap compatibility! Alerts can now create waypoints and automatically delete them when the Pokemon is caught/despawns. You can enable this in your Pokemon configs.
- Added config option to disable despawn messages
- Made Pokemon configs support dex ID numbers
- Fixed alternate forms incorrectly alerting false Hidden Ability alerts
- Fixed some characters (e.g.
<,>, and any other HTML formatting) being converted to unicode when the config was saved
- Fixed incompatibility with Cobblemon: Path to Legends<br>
- This fix is a new server config option called
enableSpawnCommandAlerts. Setting this to false (default value) will make Pokemon spawned via command *not* broadcast alerts. You can reenable this option if you are playing vanilla Cobblemon, or if the addons you are playing with already worked before with CSA.
- Fixed incompatibility with Cobblemon: Path to Legends<br>
- This fix is a new server config option called
enableSpawnCommandAlerts. Setting this to false (default value) will make Pokemon spawned via command *not* broadcast alerts. You can reenable this option if you are playing vanilla Cobblemon, or if the addons you are playing with already worked before with CSA.