
Rustling Spots
🌿 Bring Gen 5 rustling encounters into Cobblemon
Rustling Spots adds temporary event tiles that appear naturally around players, complete with particles, ambient sounds, and instant interaction.
Step into one and trigger either a Pokémon encounter or themed loot, depending on the family.
No world generation changes.
Safe for existing saves.
Built for both singleplayer and multiplayer.
✨ Why Rustling Spots stands out
- Dynamic exploration events that make the world feel more alive
- Cobblemon-only encounters, with no vanilla mob clutter
- Nine unique families with different themes, surfaces, and rewards
- Fully configurable for servers and modpacks
- JSON-driven pools for Pokémon, loot, and biome routing
- Easy testing with
/rustlingspots spawn <family>
Rustling Spots is made to feel immersive for players and practical for pack makers.
🌍 9 themed spot families
Each family brings its own atmosphere, spawn logic, encounter pool, and loot flavor:
- Grass Spots: classic field encounters
- Sand Spots: desert species and fossil-themed rewards
- Water Spots: aquatic encounters and fishing-style loot
- Snow Spots: icy biomes and frozen rewards
- Leaves Spots: canopy encounters and lighter rewards
- Cave Spots: underground exploration and spelunking loot
- Flying Spots: airborne encounters and light materials
- NetherFlamme: fiery Nether surface encounters
- SoulFlame: eerie Soul Sand and Soul Soil encounters
Every family can be enabled, disabled, rerouted, or rebalanced through config files.
⚙️ Built for modpacks and servers
Rustling Spots gives you full control without touching the code.
You can customize:
- spawn rate and max active spots
- minimum and maximum spawn distance
- spot lifetime
- interaction range
- Pokémon vs loot chance
- level range and shiny odds
- per-family spawn multipliers
- biome routing through tags or biome ids
Everything is designed to be easy to tune for your own progression and balance.
Tip for pack makers: if you want to refresh generated biome pools, delete the folders inside config/rustlingspots while keeping the main config files, then restart.
🧭 Modded biome support
Rustling Spots includes extended compatibility with modded biome and worldgen environments, including:
- Biomes O' Plenty
- Oh The Biomes You'll Go
- Regions Unexplored
- Terralith
- Wythers Overhauled
- Nature's Spirit
That means the mod fits naturally into both vanilla-style worlds and heavily modded exploration packs.
🚀 A more alive Cobblemon experience
Rustling Spots brings back that iconic “something moved over there” feeling from Gen 5.
You spot movement, hear the cue, investigate, and get rewarded with either a battle or a surprise.
It adds a simple but powerful exploration loop that makes the world feel more reactive, more immersive, and more fun to travel through.
💻 Game Hosting
Need a server for your adventure?
Host with BisectHosting and use code OurStory for 25% off your first month.
Every purchase helps support Our Story development.
💖 Support the Project
Want to support my work and get early previews?
Patreon - Our Story Collection
❤️ Credits
Created by LevelsCraft7 for the Our Story Collection.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 | ||||
| 16h ago | 1 |
## Fixes
- Fixed compatibility with **newer Mega Showdown releases**, allowing additional Pokémon forms such as **Mega-Z variants** to resolve correctly in Rustling Spots.
## Fixes
- Fixed compatibility with **newer Mega Showdown releases**, allowing additional Pokémon forms such as **Mega-Z variants** to resolve correctly in Rustling Spots.
## New
- Added secure **server configuration in game** for world owners and level 2 operators
- Added all **spot family spawn rates** to the configuration interface
## Changes
- Updated the required version to **Cobblemon 1.8.0+**
- Replaced the previous settings screen with **Cloth Config**
- Unified **Pokémon encounters** across Fabric and NeoForge
- Existing **v4.x settings and custom pools** are preserved during migration
- Server settings are applied immediately after saving
## Fixes
- Fixed incorrect parsing of **Pokémon species and forms**
- Fixed support for **namespaced addon and Fakemon species**
- Fixed invalid forms sometimes resolving as the default form
- Fixed non-shiny encounters potentially receiving an additional **shiny roll**
- Fixed Fabric encounters counting toward Cobblemon’s **natural spawn cap**
- Fixed addon species being rejected before Cobblemon finished loading them
- Fixed invalid pool entries producing repeated warnings instead of being skipped safely
## Removed
- Removed support for **Cobblemon 1.7.x**
- Removed the old custom configuration screen
## New
- Added secure **server configuration in game** for world owners and level 2 operators
- Added all **spot family spawn rates** to the configuration interface
## Changes
- Updated the required version to **Cobblemon 1.8.0+**
- Replaced the previous settings screen with **Cloth Config**
- Unified **Pokémon encounters** across Fabric and NeoForge
- Existing **v4.x settings and custom pools** are preserved during migration
- Server settings are applied immediately after saving
## Fixes
- Fixed incorrect parsing of **Pokémon species and forms**
- Fixed support for **namespaced addon and Fakemon species**
- Fixed invalid forms sometimes resolving as the default form
- Fixed non-shiny encounters potentially receiving an additional **shiny roll**
- Fixed Fabric encounters counting toward Cobblemon’s **natural spawn cap**
- Fixed addon species being rejected before Cobblemon finished loading them
- Fixed invalid pool entries producing repeated warnings instead of being skipped safely
## Removed
- Removed support for **Cobblemon 1.7.x**
- Removed the old custom configuration screen
## New
- Added **visual_family** support for custom datapack spots.
## Changes
- Mod under license **MPL-2.0** now
- Improved **spot synchronization** after joining, respawning, or changing dimensions.
- Invalid **JSON configs** are now backed up before defaults are restored.
- Custom spots without a valid **visual_family** still use the historical grass fallback.
## Fixes
- Fixed existing **spots** sometimes becoming invisible after joining, respawning, or changing dimensions.
- Fixed **Total Spots** counting multiple rewards from one spot as multiple spots.
- Fixed invalid **configuration files** being silently overwritten.
- Fixed outdated **custom spot documentation** for the supported shiny chance field.
- Fixed localized **origin messages** sometimes starting with lowercase text in chat.
## New
- Added **visual_family** support for custom datapack spots.
## Changes
- Mod under license **MPL-2.0** now
- Improved **spot synchronization** after joining, respawning, or changing dimensions.
- Invalid **JSON configs** are now backed up before defaults are restored.
- Custom spots without a valid **visual_family** still use the historical grass fallback.
## Fixes
- Fixed existing **spots** sometimes becoming invisible after joining, respawning, or changing dimensions.
- Fixed **Total Spots** counting multiple rewards from one spot as multiple spots.
- Fixed invalid **configuration files** being silently overwritten.
- Fixed outdated **custom spot documentation** for the supported shiny chance field.
- Fixed localized **origin messages** sometimes starting with lowercase text in chat.
## Fixes
- Fixed custom reward sounds not playing correctly when a rustling spot gives an **item** or triggers a **Pokemon encounter**.
## Fixes
- Fixed custom reward sounds not playing correctly when a rustling spot gives an **item** or triggers a **Pokemon encounter**.
## New
- Added many missing **Water spot** Pokémon, including **Mudkip**, **Quaxly**, **Horsea**, **Krabby**, **Chinchou**, **Carvanha**, **Corphish**, **Tympole**, **Mareanie**, **Chewtle**, **Arrokuda**, **Tatsugiri**, **Veluza**, **Wiglett**, **Clamperl**, **Mantyke**, **Luvdisc**, and their evolutions
- Added missing **Water starter evolutions**, including **Swampert**, **Feraligatr**, **Blastoise**, **Greninja**, **Inteleon**, **Samurott**, and **Primarina**
- Added more **Grass spot** Pokémon and evolution lines, including **Snivy**, **Grookey**, **Smoliv**, **Bounsweet**, **Petilil**, **Cottonee**, **Budew**, **Oddish**, **Bellsprout**, **Toedscool**, and their evolutions
- Added more **Leaves spot** Pokémon, including woodland bugs, tree Pokémon, birds, and forest canopy species such as **Caterpie**, **Weedle**, **Wurmple**, **Sewaddle**, **Burmy**, **Foongus**, **Fomantis**, **Tarountula**, **Nymble**, **Blipbug**, **Cherubi**, and their evolutions
- Added more **Sand spot** Pokémon, including desert, dryland, rocky, and sandy species such as **Silicobra**, **Baltoy**, **Geodude**, **Glimmet**, **Cubone**, **Meowth**, **Orthworm**, and more evolutions
- Added more **Snow spot** Pokémon and cold-region forms, including **Alolan Vulpix**, **Alolan Ninetales**, **Hisuian Growlithe**, **Hisuian Arcanine**, **Hisuian Avalugg**, **Cetoddle**, **Cetitan**, and **Eiscue**
- Added more **Cave spot** Pokémon, including **Axew**, **Larvitar**, **Aron**, **Riolu**, **Litwick**, **Gastly**, **Spinarak**, **Venipede**, **Yamask**, **Galarian Yamask**, and their evolutions
- Added more **Flying spot** Pokémon, including **Taillow**, **Wingull**, **Drifloon**, **Rufflet**, **Vullaby**, **Togepi**, **Scyther**, **Archen**, **Rowlet**, and their evolutions
- Added more **Netherflamme** Pokémon for solid Nether terrain, including additional Fire starters and volcanic lines such as **Charmander**, **Cyndaquil**, **Chimchar**, **Tepig**, **Fennekin**, **Litten**, **Scorbunny**, **Torchic**, **Fuecoco**, and their evolutions
- Added a dedicated safe **Lava** pool for lava-based **Netherflamme** spots
- Added more **Soulflame** Pokémon, including additional ghostly, cursed, dark, and spiritual lines such as **Dusknoir**, **Gengar**, **Polteageist**, **Runerigus**, **Zoroark**, **Honchkrow**, **Ceruledge**, **Claydol**, and **Golurk**
- Added safer default pool migration with **backups** and v4.2 reference files for customized configs
## Changes
- Improved default **Pokémon pool balance** across all existing spot families
- Netherflamme** spots now use different Pokémon pools for solid blocks and lava
- Final evolutions** and stronger Pokémon are generally rarer and appear at higher levels
- Improved Pokémon spawn debug logs for pool selection, selected Pokémon, spawn success, and fallback loot
## Fixes
- Fixed missing Pokémon that could never appear from their expected default pools
- Fixed invalid default species IDs such as **tailow**, **wingle**, and **crobats**
- Fixed invalid regional form syntax such as **paldean-wooper**, **vulpix-alolan**, **growlithe-hisuian**, and **avalugg-hisuian**
- Fixed **Rowlet Hisuian** appearing as an invalid default pool entry
- Fixed lava spots being able to select unsafe terrestrial Fire Pokémon
## New
- Added many missing **Water spot** Pokémon, including **Mudkip**, **Quaxly**, **Horsea**, **Krabby**, **Chinchou**, **Carvanha**, **Corphish**, **Tympole**, **Mareanie**, **Chewtle**, **Arrokuda**, **Tatsugiri**, **Veluza**, **Wiglett**, **Clamperl**, **Mantyke**, **Luvdisc**, and their evolutions
- Added missing **Water starter evolutions**, including **Swampert**, **Feraligatr**, **Blastoise**, **Greninja**, **Inteleon**, **Samurott**, and **Primarina**
- Added more **Grass spot** Pokémon and evolution lines, including **Snivy**, **Grookey**, **Smoliv**, **Bounsweet**, **Petilil**, **Cottonee**, **Budew**, **Oddish**, **Bellsprout**, **Toedscool**, and their evolutions
- Added more **Leaves spot** Pokémon, including woodland bugs, tree Pokémon, birds, and forest canopy species such as **Caterpie**, **Weedle**, **Wurmple**, **Sewaddle**, **Burmy**, **Foongus**, **Fomantis**, **Tarountula**, **Nymble**, **Blipbug**, **Cherubi**, and their evolutions
- Added more **Sand spot** Pokémon, including desert, dryland, rocky, and sandy species such as **Silicobra**, **Baltoy**, **Geodude**, **Glimmet**, **Cubone**, **Meowth**, **Orthworm**, and more evolutions
- Added more **Snow spot** Pokémon and cold-region forms, including **Alolan Vulpix**, **Alolan Ninetales**, **Hisuian Growlithe**, **Hisuian Arcanine**, **Hisuian Avalugg**, **Cetoddle**, **Cetitan**, and **Eiscue**
- Added more **Cave spot** Pokémon, including **Axew**, **Larvitar**, **Aron**, **Riolu**, **Litwick**, **Gastly**, **Spinarak**, **Venipede**, **Yamask**, **Galarian Yamask**, and their evolutions
- Added more **Flying spot** Pokémon, including **Taillow**, **Wingull**, **Drifloon**, **Rufflet**, **Vullaby**, **Togepi**, **Scyther**, **Archen**, **Rowlet**, and their evolutions
- Added more **Netherflamme** Pokémon for solid Nether terrain, including additional Fire starters and volcanic lines such as **Charmander**, **Cyndaquil**, **Chimchar**, **Tepig**, **Fennekin**, **Litten**, **Scorbunny**, **Torchic**, **Fuecoco**, and their evolutions
- Added a dedicated safe **Lava** pool for lava-based **Netherflamme** spots
- Added more **Soulflame** Pokémon, including additional ghostly, cursed, dark, and spiritual lines such as **Dusknoir**, **Gengar**, **Polteageist**, **Runerigus**, **Zoroark**, **Honchkrow**, **Ceruledge**, **Claydol**, and **Golurk**
- Added safer default pool migration with **backups** and v4.2 reference files for customized configs
## Changes
- Improved default **Pokémon pool balance** across all existing spot families
- Netherflamme** spots now use different Pokémon pools for solid blocks and lava
- Final evolutions** and stronger Pokémon are generally rarer and appear at higher levels
- Improved Pokémon spawn debug logs for pool selection, selected Pokémon, spawn success, and fallback loot
## Fixes
- Fixed missing Pokémon that could never appear from their expected default pools
- Fixed invalid default species IDs such as **tailow**, **wingle**, and **crobats**
- Fixed invalid regional form syntax such as **paldean-wooper**, **vulpix-alolan**, **growlithe-hisuian**, and **avalugg-hisuian**
- Fixed **Rowlet Hisuian** appearing as an invalid default pool entry
- Fixed lava spots being able to select unsafe terrestrial Fire Pokémon
## New
- Added **/rustlingspots debugspawn** to help admins diagnose why spots are not spawning
- Added **safe config migration** that preserves existing settings while applying new defaults to fresh configs
## Changes
- Reduced default **Water spot spawn chance** by **40%**
- Reduced default **reward sound volume** by **50%**
- Reward sounds now play **once per interaction**, even with multiple reward rolls
- Existing configs now stay untouched when updating, with clearer migration messages
## Fixes
- Fixed automatic spot spawning causing **chunk loading and server lag**
- Fixed surface spots not spawning correctly after the chunk-loading fix
- Fixed an issue where **Cave spots** could appear to take priority over surface spots
- Fixed reward sounds being heard **multiple times** from one spot interaction
## Removed
- Removed custom **ambient spot sounds** from world spots
- Removed the now-unused **Ambient volume** option
- Removed bundled custom ambience audio for **Grass, Sand, Water, Snow, Leaves, Cave, Netherflamme, Soulflame, and Flying** spots
## New
- Added **/rustlingspots debugspawn** to help admins diagnose why spots are not spawning
- Added **safe config migration** that preserves existing settings while applying new defaults to fresh configs
## Changes
- Reduced default **Water spot spawn chance** by **40%**
- Reduced default **reward sound volume** by **50%**
- Reward sounds now play **once per interaction**, even with multiple reward rolls
- Existing configs now stay untouched when updating, with clearer migration messages
## Fixes
- Fixed automatic spot spawning causing **chunk loading and server lag**
- Fixed surface spots not spawning correctly after the chunk-loading fix
- Fixed an issue where **Cave spots** could appear to take priority over surface spots
- Fixed reward sounds being heard **multiple times** from one spot interaction
## Removed
- Removed custom **ambient spot sounds** from world spots
- Removed the now-unused **Ambient volume** option
- Removed bundled custom ambience audio for **Grass, Sand, Water, Snow, Leaves, Cave, Netherflamme, Soulflame, and Flying** spots
## New
- Added a new server-side addon interaction API so future Fabric and NeoForge addons can intercept a validated Rustling Spot before its normal reward is resolved
- Addons can now choose between:
- letting Rustling Spots continue normally
- consuming the spot through the normal empty-spot path
- fully handling the interaction themselves while Rustling Spots still safely consumes the spot
## Changes
- Rustling spot messages now adapt to each spot family** for more natural flavor text
- Encounter and loot messages** now better match **water, sand, snow, leaves, caves, and other spot types**
## Fixes
- Fixed an issue where some spots could show the **wrong environment text**
- Fixed **water spots** sometimes using **grass-themed** messages
- Improved addon hook safety so listener failures are isolated and fall back to normal Rustling Spots behavior instead of breaking interactions
## New
- Added a new server-side addon interaction API so future Fabric and NeoForge addons can intercept a validated Rustling Spot before its normal reward is resolved
- Addons can now choose between:
- letting Rustling Spots continue normally
- consuming the spot through the normal empty-spot path
- fully handling the interaction themselves while Rustling Spots still safely consumes the spot
## Changes
- Rustling spot messages now adapt to each spot family** for more natural flavor text
- Encounter and loot messages** now better match **water, sand, snow, leaves, caves, and other spot types**
## Fixes
- Fixed an issue where some spots could show the **wrong environment text**
- Fixed **water spots** sometimes using **grass-themed** messages
- Improved addon hook safety so listener failures are isolated and fall back to normal Rustling Spots behavior instead of breaking interactions
## New
- Custom Spots**
- Added **custom rustling spots via datapacks**.
- Added support for **custom spot names** with readable **display names**.
- Added support for **custom particles** to give each spot its own feel.
- Custom Families**
- Added support for **custom Pokemon families** for your custom spots.
- Added support for **custom loot families** for your custom spots.
- Datapack Tools**
- Added an **example addon datapack** to help you build your own spots: [Rustling Spots Example Addon Datapack](https://modrinth.com/datapack/rustling-spots-addon-datapack)
- Added **
/rustlingspots reload** to refresh spot data after editing configs or datapacks. - Added **
/rustlingspots spawnshiny** to test **shiny** rustling spots directly. - Added **
/rustlingspots scan** to check active rustling spots around you.
- Chat Controls**
- Added **per-player chat toggles** for **Pokemon**, **loot**, and **empty spot** messages.
- Added **
/rustlingspots messages** commands to manage message preferences **in-game**.
## Changes
- Loot reward messages** are now **disabled by default**.
- Mixed Pokemon + loot spots** are now **much rarer** by default.
- Rustling spots are now **much easier to expand and customize** for servers, modpacks, and datapacks.
## Fixes
- Fixed **message preference syncing** so your settings apply more reliably in **multiplayer**.
## New
- Custom Spots**
- Added **custom rustling spots via datapacks**.
- Added support for **custom spot names** with readable **display names**.
- Added support for **custom particles** to give each spot its own feel.
- Custom Families**
- Added support for **custom Pokemon families** for your custom spots.
- Added support for **custom loot families** for your custom spots.
- Datapack Tools**
- Added an **example addon datapack** to help you build your own spots: [Rustling Spots Example Addon Datapack](https://modrinth.com/datapack/rustling-spots-addon-datapack)
- Added **
/rustlingspots reload** to refresh spot data after editing configs or datapacks. - Added **
/rustlingspots spawnshiny** to test **shiny** rustling spots directly. - Added **
/rustlingspots scan** to check active rustling spots around you.
- Chat Controls**
- Added **per-player chat toggles** for **Pokemon**, **loot**, and **empty spot** messages.
- Added **
/rustlingspots messages** commands to manage message preferences **in-game**.
## Changes
- Loot reward messages** are now **disabled by default**.
- Mixed Pokemon + loot spots** are now **much rarer** by default.
- Rustling spots are now **much easier to expand and customize** for servers, modpacks, and datapacks.
## Fixes
- Fixed **message preference syncing** so your settings apply more reliably in **multiplayer**.
- Fixed a **NeoForge startup issue** tied to rustling message preferences.
### New
- Added **Vietnamese translation** by **taDes**.
- Added missing localization lines for the new **multi-reward roll** messages.
### Changes
- Kept the mod/item group name as **Rustling Spots** across all languages instead of translating it literally.
### Fixes
- Completed missing language support for multi-reward summary messages.
### New
- Added **Vietnamese translation** by **taDes**.
- Added missing localization lines for the new **multi-reward roll** messages.
### Changes
- Kept the mod/item group name as **Rustling Spots** across all languages instead of translating it literally.
### Fixes
- Completed missing language support for multi-reward summary messages.
### New
- Added a new **Multiple Reward Rolls** system for Rustling Spots.
- New configurable settings:
enable_multiple_reward_rollsmin_reward_rollsmax_reward_rollsallow_multiple_pokemon_per_spot- Added support for these settings in both **Fabric Mod Menu** and **NeoForge** config screens.
- Added new localized chat messages for **multi-reward summaries**.
### Changes
- Multi-reward rolls are **off by default**.
- Multiple Pokemon per spot are also **off by default**.
- Multi-roll rewards now use a **clean summary message** instead of spamming chat line by line.
- Removed legendary Pokemon from the default Rustling Spot Pokemon pools.
### Fixes
- Fixed new config settings not appearing properly in existing JSON config files.
### New
- Added a new **Multiple Reward Rolls** system for Rustling Spots.
- New configurable settings:
enable_multiple_reward_rollsmin_reward_rollsmax_reward_rollsallow_multiple_pokemon_per_spot- Added support for these settings in both **Fabric Mod Menu** and **NeoForge** config screens.
- Added new localized chat messages for **multi-reward summaries**.
### Changes
- Multi-reward rolls are **off by default**.
- Multiple Pokemon per spot are also **off by default**.
- Multi-roll rewards now use a **clean summary message** instead of spamming chat line by line.
- Removed legendary Pokemon from the default Rustling Spot Pokemon pools.
### Fixes
- Fixed new config settings not appearing properly in existing JSON config files.
## Fixed
- Fixed the config screen layout overflowing on smaller GUI scales.
- Added scrolling to config categories so all options remain accessible on compact screens.
- Fixed the
Current fileand extra file info text overlapping the rest of the config UI. - Moved the Fabric implementation fully into the multi-loader workspace so the build no longer depends on an external Fabric source folder.
## Technical Notes
- Fabric now builds entirely from the shared multi-loader project.
- Updated the Fabric config UI layout to use a scrollable content area with a fixed footer for better readability across resolutions.
## Fixed
- Fixed a dedicated server startup crash caused by client GUI classes being loaded on the wrong distribution side.
- Moved NeoForge client-only config screen registration behind client-side initialization to prevent
Screenclass loading on servers. - Fixed the config screen layout overflowing on smaller GUI scales.
- Added scrolling to config categories so all options remain accessible on compact screens.
- Fixed the
Current fileand extra file info text overlapping the rest of the config UI.
## Technical Notes
- NeoForge client bootstrap is now isolated from the main mod entrypoint to keep dedicated server loading safe.
- Updated the NeoForge config UI layout to use a scrollable content area with a fixed footer for better readability across resolutions.
<p>
Version 2.0 is a major overhaul of Rustling Spots, introducing new rare mechanics, full system refactors, improved performance and expanded configuration tools for both players and server owners.
</p>
<hr />
<h3>✨ Major Additions</h3>
<ul>
<li>
<strong>Shiny Spots</strong><br />
Rare spots with unique visuals that guarantee a <strong>Shiny Pokémon encounter</strong>.
<ul>
<li>Separate configurable rarity layer.</li>
<li>Global announcements when discovered.</li>
<li>Config option to enable or disable announcements.</li>
<li>Admin command: <code>/rustlingspots spawnshiny <family></code></li>
</ul>
</li>
<li>
<strong>Empty Spots</strong><br />
Optional rare outcome where a spot yields nothing.
<ul>
<li>Fully configurable and capped rarity.</li>
<li>Clear feedback messages.</li>
</ul>
</li>
<li>
<strong>Commands & Tools</strong>
<ul>
<li><code>/rustlingspots reload</code> reloads configs and pools without restart.</li>
<li><code>/rustlingspots stats</code> persistent per-player statistics.</li>
<li><code>/rustlingspots scan <radius> [family]</code> admin debug tool.</li>
</ul>
</li>
</ul>
<hr />
<h3>⚙️ Systems & Configuration</h3>
<ul>
<li>Full rework of Pokémon, item and block pools.
<strong>Important:</strong> delete your existing pool files to regenerate fresh defaults.</li>
<li>Reworked config system. A reset may be required after updating.</li>
<li>Full <strong>in-game config support</strong> available via the Mods screen.</li>
<li>Improved config clarity with accurate file mapping.</li>
</ul>
<hr />
<h3>🌍 Gameplay Changes</h3>
<ul>
<li>Added compatibility with <strong>Cobblemon Raid Dens</strong>.</li>
<li>Config option to allow or disable spawning inside raid dimensions.</li>
<li>Removed rigid dimension restrictions. Spots now rely on configured <strong>blocks and biomes</strong>.</li>
<li>Improved cave spawning behavior and environment consistency.</li>
<li>Expanded block compatibility across all spot families.</li>
<li>Updated default opacity: <code>0.5</code> for most spots, <code>0.8</code> for water.</li>
</ul>
<hr />
<h3>🛠 Technical</h3>
<ul>
<li>Refactored into a cleaner multi-loader architecture.</li>
<li>Shared gameplay logic moved into <code>common</code>.</li>
<li>Unified commands, spawning, ticking and rewards handling.</li>
</ul>
<hr />
<h3>🐛 Fixes</h3>
<ul>
<li>Fixed shadow rendering on NeoForge.</li>
<li>Fixed Leaves spots not spawning and aligned their logic.</li>
<li>Fixed config saving issues from in-game edits.</li>
<li>Fixed duplicated loot entries.</li>
<li>Fixed encoding issues in Pokémon data.</li>
<li>Fixed startup issues caused by module conflicts.</li>
</ul>
<hr />
<h3>⚡ Performance</h3>
<ul>
<li>Optimized spot search using chunk-based indexing.</li>
<li>Reduced heavy scanning operations.</li>
<li>Improved scalability for large servers.</li>
</ul>
<p>
Version 2.0 brings a full system overhaul to the Fabric version with new rare mechanics, improved parity with NeoForge and major performance upgrades.
</p>
<hr />
<h3>✨ Major Additions</h3>
<ul>
<li><strong>Shiny Spots</strong> with guaranteed shiny encounters and configurable rarity.</li>
<li><strong>Empty Spots</strong> as an optional rare outcome.</li>
<li>New commands: reload, stats, scan and spawnshiny.</li>
</ul>
<hr />
<h3>⚙️ Systems & Configuration</h3>
<ul>
<li>Reworked Pokémon, item and block pools.
<strong>Important:</strong> delete your pool files to regenerate defaults.</li>
<li>Full <strong>in-game config support via Mod Menu</strong>.</li>
<li>Improved config clarity and behavior.</li>
</ul>
<hr />
<h3>🌍 Gameplay Changes</h3>
<ul>
<li>Added Cobblemon Raid Dens compatibility.</li>
<li>Spots now rely on blocks and biomes instead of strict dimension rules.</li>
<li>Improved cave spawning consistency.</li>
<li>Expanded block compatibility.</li>
</ul>
<hr />
<h3>🛠 Technical</h3>
<ul>
<li>Improved Fabric parity with NeoForge.</li>
<li>Unified systems across loaders.</li>
</ul>
<hr />
<h3>🐛 Fixes</h3>
<ul>
<li>Fixed Leaves spawning issues.</li>
<li>Fixed config saving behavior.</li>
<li>Fixed duplicated loot entries and encoding issues.</li>
</ul>
<hr />
<h3>⚡ Performance</h3>
<ul>
<li>Optimized spawn checks and nearby scans.</li>
<li>Improved performance on larger worlds.</li>
</ul>
<p>
This update reworks how Rustling Spots spawn in multiplayer, improves despawn behavior, refreshes visuals and introduces a simplified server configuration system.
</p>
<hr />
<h3>📌 Changelog</h3>
<ul>
<li>
Rustling Spots now <strong>spawn around players</strong> instead of being globally limited.
</li>
<li>
Each player can have up to <strong>8 active spots nearby</strong>, naturally shared with others in the area.
</li>
<li>
<strong>Server configuration simplified and cleaned up</strong>.
Several server config options were removed or replaced.
<br />
<strong>Important:</strong> Please delete your existing <strong>server config file</strong> so it can regenerate with the new defaults.
</li>
<li>
Added new modded blocks compatibility:
<strong>all grass blocks</strong> from <strong>Regions Unexplored</strong> and <strong>Biomes We’ve Gone</strong> can now generate Rustling Spots.
<br />
<strong>Important:</strong> Please delete <code>config\rustlingspots\families\grass.json</code> to refresh compatibility defaults.
</li>
<li>
<strong>Visual refresh</strong>:
<ul>
<li>New grass design with a darker color.</li>
<li>New particles.</li>
<li>New logo.</li>
</ul>
</li>
</ul>
<hr />
<h3>🐛 Fixes</h3>
<ul>
<li>
Fixed an issue where Rustling Spots would follow only one player on multiplayer servers.
</li>
<li>
Improved despawn behavior when no player is nearby.
</li>
<li>
Fixed Water Spots loot tables.
</li>
</ul>
<p>
This update reworks how Rustling Spots spawn in multiplayer, improves despawn behavior, refreshes visuals and introduces a simplified server configuration system.
</p>
<hr />
<h3>📌 Changelog</h3>
<ul>
<li>
Rustling Spots now <strong>spawn around players</strong> instead of being globally limited.
</li>
<li>
Each player can have up to <strong>8 active spots nearby</strong>, naturally shared with others in the area.
</li>
<li>
<strong>Server configuration simplified and cleaned up</strong>.
Several server config options were removed or replaced.
<br />
<strong>Important:</strong> Please delete your existing <strong>server config file</strong> so it can regenerate with the new defaults.
</li>
<li>
Added new modded blocks compatibility:
<strong>all grass blocks</strong> from <strong>Regions Unexplored</strong> and <strong>Biomes We’ve Gone</strong> can now generate Rustling Spots.
<br />
<strong>Important:</strong> Please delete <code>config\rustlingspots\families\grass.json</code> to refresh compatibility defaults.
</li>
<li>
<strong>Visual refresh</strong>:
<ul>
<li>New grass design with a darker color.</li>
<li>New particles.</li>
<li>New logo.</li>
</ul>
</li>
</ul>
<hr />
<h3>🐛 Fixes</h3>
<ul>
<li>
Fixed an issue where Rustling Spots would follow only one player on multiplayer servers.
</li>
<li>
Improved despawn behavior when no player is nearby.
</li>
<li>
Fixed Water Spots loot tables.
</li>
</ul>
<p>
This update brings a major milestone with an official <strong>Fabric release</strong>, expands biome compatibility for Nature’s Spirit worlds and includes a small but important asset fix.
</p>
<hr />
<h3>📌 Changelog</h3>
<ul>
<li>
<strong>Released a Fabric version</strong>.
</li>
<li>
Implemented full compatibility with <strong>all Nature’s Spirit biomes</strong>.
These biomes are now fully supported by Rustling Spots.
<br />
<strong>Note:</strong> If you use Nature’s Spirit, please refresh your config files to get the updated defaults.
</li>
</ul>
<hr />
<h3>🐛 Fixes</h3>
<ul>
<li>
Fixed a missing texture issue caused by an incorrect asset path in code.
</li>
</ul>
<p>
This update brings a major milestone with an official <strong>Fabric release</strong>, expands biome compatibility for Nature’s Spirit worlds and includes a small but important asset fix.
</p>
<hr />
<h3>📌 Changelog</h3>
<ul>
<li>
<strong>Released a Fabric version</strong>.
</li>
<li>
Implemented full compatibility with <strong>all Nature’s Spirit biomes</strong>.
These biomes are now fully supported by Rustling Spots.
<br />
<strong>Note:</strong> If you use Nature’s Spirit, please refresh your config files to get the updated defaults.
</li>
</ul>
<hr />
<h3>🐛 Fixes</h3>
<ul>
<li>
Fixed a missing texture issue caused by an incorrect asset path in code.
</li>
</ul>
<p>
This update focuses on critical reliability fixes for spawning and encounter permissions, ensuring Rustling Spots behave consistently for all players in survival and on servers.
</p>
<hr />
<h3>🐛 Fixes</h3>
<ul>
<li>
Fixed an issue where Rustling Spots could stop spawning in the Overworld due to incorrect surface detection.
This restores reliable <strong>surface</strong>, <strong>water</strong> and <strong>cave</strong> spawns.
</li>
<li>
Fixed Pokémon encounters only triggering for <strong>OP players</strong>.
Spawns are now executed via a <strong>server-side command source</strong>, ensuring all players can trigger encounters without special permissions.
</li>
</ul>
<p>
This update expands Rustling Spots into the Nether with two brand new Nether-exclusive families, improves localization support, refreshes the Water loot pool and fixes cave spawning logic.
</p>
<p>
<strong>Note for servers and modpacks:</strong> To refresh modded biome compatibility and restore the latest default Pokémon and item pools, it is recommended to delete the <strong>folders</strong> inside <code>config/rustlingspots</code> (do not delete the <code>.toml</code> files). Then restart to regenerate updated defaults.
</p>
<hr />
<h3>📌 Changelog</h3>
<ul>
<li>
<strong>Added two new Nether-exclusive Rustling Spot families</strong>, expanding exploration and encounters across the Nether:
<ul>
<li>
<strong>🔥 NetherFlamme</strong><br />
A new Rustling Spot that appears directly on <strong>lava surfaces</strong> and <strong>netherrack</strong> in the Nether.<br />
Focused on pure fire and extreme heat, it can reveal Fire-type Pokémon adapted to molten environments and roll lava-themed loot such as magma-related items, fire berries, Poké Balls and rare Fire Stones.
</li>
<li>
<strong>🔵 SoulFlame</strong><br />
A second Nether-exclusive Rustling Spot spawning only on <strong>Soul Sand</strong> and <strong>Soul Soil</strong>.<br />
SoulFlame leans into a darker atmosphere with Ghost, Dark and cursed Fire Pokémon surrounded by blue flames and soul energy.<br />
Loot includes soul-themed blocks, spectral items, Ghost and Dark gems, Dusk Balls and rare artifacts such as Dusk Stones.
</li>
</ul>
</li>
<li>
<strong>Added new translations</strong>:
French, Japanese, Russian, German, Brazilian Portuguese, Spanish and Chinese.
</li>
<li>
Added <strong>Trident</strong>, <strong>Spelon Berry</strong> and <strong>Aguav Berry</strong> to the <strong>Water items pool</strong>.
</li>
</ul>
<hr />
<h3>🐛 Fixes</h3>
<ul>
<li>Fixed unknown item entries in Water loot tables.</li>
<li>Fixed <strong>Cave Rustling Spots</strong> not spawning naturally in underground caves by correcting vertical surface detection logic.</li>
</ul>