Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Creators
Details

Bring back the iconic rustling grass from Pokémon Black and White inside Cobblemon. Rustling Spots introduces temporary event tiles that appear in the world with particles, sound cues and interactive effects. Interact with them to trigger special Cobblemon encounters, bonus loot, or custom behaviors depending on the spot family.
Everything is fully configurable so modpack creators can adapt the system to their world, progression and Pokémon ecosystem.
Thanks to update 1.1, Rustling Spots now includes extended biome compatibility with some of the most popular worldgen mods, allowing spots to naturally appear in hundreds of new environments.
✨ Core Features
- Dynamic overworld events that spawn around players.
- Only Cobblemon content, no vanilla mobs.
- Seven spot families with distinct surfaces, biomes, Pokémon and loot.
- Extended biome support for major worldgen mods: Biomes O’ Plenty, Oh The Biomes You’ll Go, Regions Unexplored, Terralith and Wythers Overhauled.
- Server side configuration for spawn rates, distances, levels, shiny odds and more.
- JSON based data for Pokémon pools, loot tables and biome routing.
- Works seamlessly with custom biomes and modded worlds.
- New convenient spawn command:
/rustlingspots spawn <family>to instantly test any family. - Perfect for modpacks and servers, easy to ship your own tuned config.
🌱 Spot Families
- Grass spots tall grass encounters and berry style loot.
- Sand spots desert species, fossils and sand themed rewards.
- Water spots aquatic encounters and fishing inspired loot.
- Snow spots cold biome species and icy items.
- Leaves spots canopy encounters and lightweight loot.
- Cave spots underground encounters, stone surfaces and spelunking items.
- Flying spots airborne species and feather or lightweight material loot.
Each family can be disabled, rerouted or rebalanced through config and JSON files.
🎛 Fully Configurable
The mod exposes all behavior through TOML configs and JSON data files. You can tune for example:
- Spawn frequency and density around players.
- Minimum and maximum distance between spots.
- Allowed dimensions for Rustling Spots.
- Per family spawn multipliers.
- Encounter versus loot ratio.
- Global and per species level ranges.
- Shiny chances.
- Loot tables per family plus a global loot pool.
- Biome routing through tags or ids.
- Optional despawn timers for world cleanup.
- Optional cooldown per player to regulate encounter spam.
An example configuration ZIP is provided so you can see every option in context.
📘 Configuration tutorials and examples
🔧 Global server settings (TOML)
🔧 Global server settings (TOML)
File: config/rustlingspots-server.toml
enabledmaster toggle for the entire system.spawn_densitycontrols how often the world attempts to place a spot.spawn_min_distance_from_playerandspawn_max_distance.max_spots_per_dimensionhard cap per dimension.allowed_dimensionslist of dimension ids where spots can exist.player_cooldowndelay before a player can trigger a new spot effect.spot_despawn_timeoptional world cleanup timer.
These values define the global presence and intensity of Rustling Spots in your world.
🌍 Per family spawn multipliers
🌍 Per family spawn multipliers
File: config/rustlingspots-families.toml
Boost or nerf each family with simple multipliers:
grass_spawn_ratesand_spawn_ratewater_spawn_ratesnow_spawn_rateleaves_spawn_ratecave_spawn_rateflying_spawn_rate
0.0 disables a family. 1.0 keeps the default. Anything above one increases its frequency.
🧬 Pokémon pools per family
🧬 Pokémon pools per family
Folder: config/rustlingspots/pokemon/families
Each family has its own pool file.
Typical entry:
{
"species": "bellsprout",
"weight": 6,
"min_level": 4,
"max_level": 18
}speciesCobblemon id without namespace.weightrarity inside this family.min_levelandmax_levellocal level range.
🎁 Loot tables
🎁 Loot tables
Folders:
config/rustlingspots/loot/familiesconfig/rustlingspots/loot/global_loot.json
global_loot.json is rolled everywhere then merged with the family loot.
[
{ "item": "cobblemon:oran_berry", "min": 1, "max": 3, "weight": 4 },
{ "item": "minecraft:stick", "min": 1, "max": 2, "weight": 1 }
]🏞 Biome routing
🏞 Biome routing
Folder: config/rustlingspots/biome_tags
Example for grass spots:
{
"replace": false,
"values": [
"minecraft:is_forest",
"minecraft:is_plains"
]
}➕ Example add a Pokémon to a spot family
➕ Example add a Pokémon to a spot family
Goal: add Ralts to grass spots.
{
"species": "ralts",
"weight": 3,
"min_level": 8,
"max_level": 20
}Restart the game or server after editing the file.
🛠 For pack makers and servers
Rustling Spots is designed to be dropped directly into modpacks.
You can:
- Disable whole families or make them rare end game content.
- Route families to custom biome tags provided by worldgen mods.
- Control global level ranges then fine tune per species.
- Keep loot immersive and light or turn spots into strong reward sources.
- Ship your tuned
config/rustlingspotsfolder so players get your intended behavior out of the box. - Use the new
/rustlingsspots spawn <family>command to test spot behavior instantly.
📦 Requirements
- Cobblemon required.
- Works in singleplayer and multiplayer.
- No world generation overhead. Spots spawn dynamically around players so it is safe for existing worlds.
🚀 Summary
Rustling Spots brings a Gen 5 inspired exploration loop into Cobblemon: dynamic visual events, rare encounters and small but meaningful rewards. Because everything is configuration driven, each server and each pack can tune it into its own identity and gameplay signature.



