CobbleSpawners
CobbleSpawners is a comprehensive Fabric mod for Cobblemon that gives server owners and map makers ultimate control over Pokémon spawning. Place and manage highly advanced spawners that can operate on timers, spawn Pokémon with custom stats and aspects, and even function in protected areas where natural spawning is disabled.
[WARNING]
CobbleSpawners is now in maintenance mode.
This mod will only receive bug fixes and compatibility updates when needed.
New features and future development have moved to CobbleSpawnRegions, which is the newer, better replacement for CobbleSpawners.New users should use CobbleSpawnRegions instead.
Dependencies
Features
- Advanced Spawner Blocks: Place custom spawner blocks that can be configured in-game. Make them visible or invisible, and even get copies of fully configured spawners to place elsewhere.
- Granular Spawn Control: Configure spawn timers, the number of Pokémon to spawn at once, the total limit per spawner, and the radius in which they can appear.
- Total Pokémon Customization: Control every aspect of the spawned Pokémon, including species, form, custom aspects (like shiny), level ranges, IV ranges for each stat, EV yields on defeat, size modifiers, and held items with custom chances.
- Conditional Spawning: Set spawners to only operate during specific times (day/night), in certain weather conditions (clear, rain, thunder), and in specific location types (surface, underground, water).
- Intelligent & Safe Spawning: Spawners perform advanced checks to ensure Pokémon only appear in safe, accessible locations within their radius.
- Powerful Admin Tools: A full suite of commands and an intuitive GUI system allow for easy management, teleportation, and visualization of all spawners on the server.
- Performance Features: Configure spawners to only be active when players are nearby and optionally force chunks to stay loaded to ensure consistent spawning in key areas.
Commands
The primary command is /cobblespawners, with the alias /cs.
| Command | Permission | Description |
|---|---|---|
/cs listgui |
cobblespawners.listgui |
Opens the main GUI listing all spawners on the server for easy management. |
/cs listgui <spawnerName> |
cobblespawners.listgui |
Opens the configuration GUI for a specific spawner. |
/cs givespawnerblock |
cobblespawners.givespawnerblock |
Gives you a blank, configurable spawner block. |
/cs givespawnerblockcopy <name> |
cobblespawners.givespawnerblockcopy |
(Very Useful!) Gives you a copy of an existing spawner, including all its Pokémon and settings. |
/cs rename <oldName> <newName> |
cobblespawners.rename |
Renames an existing spawner. |
/cs teleport <spawnerName> |
cobblespawners.teleport |
Teleports you directly to the specified spawner's location. |
/cs togglevisibility <name> |
cobblespawners.togglevisibility |
Toggles the spawner block between being visible and invisible (air). |
/cs toggleradius <spawnerName> |
cobblespawners.toggleradius |
Toggles a particle visualization of the spawner's radius, visible only to you. |
/cs killspawned <spawnerName> |
cobblespawners.killspawned |
Kills all Pokémon currently spawned by a specific spawner. |
/cs reload |
cobblespawners.reload |
Reloads all configuration files from disk. |
/cs inspectnearest |
cobblespawners.inspectnearest |
Logs detailed information about the nearest Pokémon to the console, useful for debugging forms and aspects. |
/cs addmon <spawner> <poke> [form] |
cobblespawners.addmon |
Adds a Pokémon with default settings to a spawner via command. |
/cs removemon <spawner> <poke> [form] |
cobblespawners.removemon |
Removes a Pokémon from a spawner via command. |
Configuration
CobbleSpawners uses a multi-file configuration system located in config/cobblespawners/.
config.jsonc: This file contains global settings that affect all spawners./spawners/: This sub-directory contains an individual.jsoncfile for each spawner you place, allowing for incredibly detailed and organized configuration.
config.jsonc - Global Settings
This file controls the mod's overall behavior.
| Setting | Description |
|---|---|
debugEnabled |
Set to true for extremely detailed console logs, which is helpful for troubleshooting spawn conditions. |
cullSpawnerPokemonOnServerStop |
If true, all Pokémon spawned by this mod will be removed when the server stops or restarts, preventing accumulation. |
Individual Spawner Settings (in /spawners/)
Each spawner has its own file, which you can manage via the in-game GUI (/cs listgui <name>) or by editing the file directly.
Key Spawner Options
| Setting | Description |
|---|---|
spawnTimerTicks |
The delay in game ticks (20 ticks = 1 second) between spawn attempts. |
spawnLimit |
The maximum number of Pokémon that can be active from this spawner at one time. |
spawnAmountPerSpawn |
The number of Pokémon to attempt to spawn each time the timer completes. |
requirePlayerInRange |
If true, the spawner will only activate if a player is within the playerActivationRange. |
forceChunkLoading |
If true, the spawner will keep its surrounding chunks loaded, ensuring it works even if no players are nearby. Ideal for automated arenas or world landmarks. |
Pokémon Entry Options
For each Pokémon you add to a spawner, you get access to a massive range of customization:
| Setting | Description |
|---|---|
spawnChanceType |
Determines how spawn chances are calculated. COMPETITIVE means all Pokémon in the spawner "compete" based on their weighted chance. INDEPENDENT means each Pokémon has its own individual percentage chance to spawn, allowing for multiple different species to spawn at once. |
spawnSettings |
A section to control the conditions for spawning: spawnTime (ALL, DAY, NIGHT), spawnWeather (ALL, CLEAR, RAIN, THUNDER), and spawnLocation (ALL, SURFACE, UNDERGROUND, WATER). |
captureSettings |
Control if the Pokémon isCatchable and if you want to restrictCaptureToLimitedBalls, where you can define a list of required Poké Balls. |
ivSettings |
If allowCustomIvs is true, you can set a min/max range for all six IV stats. |
evSettings |
If allowCustomEvsOnDefeat is true, you can define the exact EV yield players will receive for defeating the Pokémon. |
heldItemsOnSpawn |
If allowHeldItemsOnSpawn is true, you can provide a list of item IDs and the percentage chance for the Pokémon to be holding each one. |
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 7mo ago | 1 | ||||
| 7mo ago | 1 | ||||
| 9mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
- Fixed toggleradius (You can now see spawn area and spawn points of mons visually)
- Fixed failed migrations and spawners randomly not working
- Fixed issue that could cause failed migrations from older versions to the new config system
- Fixed 100% catchrate for pokemon spawned vai the spawner
- Fixed edge case where removing a spawner would re-add the config file after reloading or restarting the server, leaving a invisible spawner still present
- Fixed addmon command not working
- Now uses e-utils for scheduling
- Added multi file support (
please update to e-utils 1.1.1), each spawner will now have its own jsonc file
Please backup your config incase migration fails- Improved spawner entity performance by 50% when using wandering settings
- Improved chunk loading (
Accessible from the config only)
- cobblespawners-2.1.0**
- Spawners can now act as chunk loaders so clearlag and other functionality works when far away
- Updated for cobblemon 1.7
- Cobblespawners Update: 2.0.7**
- Reworked wandering setting to be more strict so mons stay within set bounds
- Fixed issue where disabling capture would only work on one spawner at a time
- Cobblespawners Update: 2.0.6**
- Enhanced Spawner Functionality & Performance*
- Note: This is a beta build with new features. Please report any issues you encounter.*
## Cobblespawners Changes
- Bug Fixes:**
- Fixed the catching tracker to work with forms and aspects.
- Fixed the main GUI not showing the current selected mons or their values properly until refreshed.
- Fixed issues with the battle tracker (EV training) not working with some forms and aspects.
- Fixed an issue where changing mons in battle prevented EVs from being applied, as it was referencing the battle starter incorrectly.
- New Feature:**
- Added Wandering Settings:** Introduced a new feature to limit how far spawner mons can wander from their spawners.
- Improvements:**
- Changed the layout of the GUI to make accessing features easier.
- Reduced resource usage of the battle tracker.
- Removed additional server tick dependencies.
- Added null handling to improve the safety of config merges.
- Fixed issue where some aspects where not showing in the selections gui
- Reworked selection gui to be more performant
- Added new global option to turn on and off showing aspects in the gui
- Reworked Size selection gui
- Fixed error when selecting cobblemon in the gui with spaces in names (This also includes other cases such as symbols)
- Cobblespawners Update: 2.0.3**
- Enhanced Functionality and Bug Fixes*
## Changes
- Fixed Normal/Shiny Selection Bug:** Resolved an issue where selecting a normal Pokémon followed by its shiny variant (or vice versa) in specific orders would apply GUI-edited values to the unintended version.
- Fixed Default Spawner Name Values:** Corrected a bug where default spawner name values were excessively high due to relying on in-memory names instead of config-defined values.
- Added Move Customization:** Introduced a new feature allowing players to adjust the four moves a Pokémon has upon spawning. A dedicated GUI has been added for editing these move values.
- Added Spawner Copy Command:** New command
/cobblespawners givespawnerblockcopy {Spawnername}enables players to receive a copy of an existing spawner for placement elsewhere.
- Revamped GUI Structure:** Restructured the spawner list GUI and global settings. These are now integrated into the Pokémon selection GUI, with the spawner list separated for better organization.
- Renamed GUI Command:** Updated the GUI access command to
/cobblespawners listguifor consistency and clarity.
- Added Teleport Feature:** Enhanced the spawner list GUI—right-clicking a spawner now teleports you to its location.
- Same update logs as the other version
- Now uses E-utils instead of b-utils
- Version 2.0.2**
- Added Features:**
- Introduced a search GUI for filtering and locating specific mons.
- Updated the Pokémon Selection GUI to display mons with forms and aspects (e.g., forretress_shulker) for more precise selection.
- Implemented new spawn chance methods—*competitive* and *independent*—allowing spawn percentages to be based on other spawner entities or set independently.
- Modified shiny variant selection: shiny variants must now be selected as individual mons rather than as an option within the per-mon settings.
- Improved GUI lore descriptions for GUI buttons.
- Enhanced overall performance.
Added Features:
- New per-spawner option "lowLevelEntitySpawn"
- Forces Pokemon to spawn in claims with entity spawning disabled
- Confirmed working with GriefDefender
- Should work with other claim mods (untested)
Bug Fixes:
- Fixed console warning messages when using GriefDefender
Added Features:
- New per-spawner option "lowLevelEntitySpawn"
- Forces Pokemon to spawn in claims with entity spawning disabled
- Confirmed working with GriefDefender
- Should work with other claim mods (untested)
Bug Fixes:
- Fixed console warning messages when using GriefDefender
### ⚠️ **Requirements:**
- Now requires BlanketUtils as a dependency
### 🔄 **Major Changes:**
- Core Rewrite:**
- Recoded 90% of the mod from scratch
- Completely new entity tracking system
- More efficient memory usage
- Better compatibility with other mods
- Performance Improvements:**
- New tick limiting system to reduce server load
- Removed most tick event dependencies
- Optimized entity processing
- More efficient chunk loading handling
- Spawn System:**
- Fixed issues with Pokemon spawning during chunk loading
- Better spawn timing control
- More reliable entity cleanup
- Improved spawn validation
### 🐛 **Bug Fixes:**
- Spawn Conditions:**
- Fixed weather conditions not being properly checked during Pokemon spawning
- Fixed time conditions not functioning correctly for spawn timing
- Custom IVs:**
- Fixed custom IV settings to properly generate IVs
- Catchable:**
- Fixed issue preventing the catchable setting from working after cobblemon update
### ✨ **New Features:**
- Location-Based Spawning:**
- Added spawn location system with three options:
- SURFACE: Pokemon will only spawn in areas with sky access (ignores leaves)
- UNDERGROUND: Pokemon will only spawn in covered areas
- ALL: Pokemon can spawn anywhere within range
- Added spawn location option to the "Other Settings" section of the spawner GUI
### 🔄 **Updates:**
- Minecraft Version Update:**
- Updated to support Minecraft **1.21.1**.
### 📁 **Internal Changes:**
- Codebase updated to align with newer Fabric and Kotlin versions, improving overall stability and compatibility.
### ✨ **New Features:**
- Rename Command:**
- Added a new rename command to simplify the process of renaming spawners, allowing admins to efficiently manage and organize their spawners with descriptive names.
### 🔧 **Improvements:**
- Command Format Restructured Again:**
- Further refined the command layout for improved clarity and usability. The restructured format ensures more intuitive access to features, streamlining command usage for admins.
### 🐛 **Bug Fixes:**
- Time and Weather Cycle Conflict Resolution:**
- Fixed an issue where two separate Pokémon with conflicting time or weather spawn conditions would default to only one of the conditions. The spawning logic now accurately accounts for both time and weather restrictions, ensuring the correct Pokémon spawns in the appropriate conditions.
- EV Handling for Non-Spawner Battles:**
- Resolved an issue where EVs were being saved or reset for non-spawner Pokémon. Non-spawner Pokémon now completely skip custom EV tracking and application, maintaining default game behavior.
### ✨ **New Features:**
- Custom Size Selection for Spawned Pokémon:**
- Added the ability to customize the size of Pokémon spawned by spawners, giving admins fine control over the physical attributes of each spawn.
- Form Selection for Pokémon:**
- Introduced form selection, allowing specific Pokémon forms to be chosen during spawning, which brings more variety and customization to the spawning system.
- Held Item Assignments:**
- Added the capability to assign held items to spawned Pokémon, enabling unique item drops and enhancing gameplay dynamics.
- Debug Commands:**
- Introduced a range of debug commands to assist admins in diagnosing issues, monitoring performance, and ensuring smooth operation.
- Subcommands for Command Flexibility:**
- Added subcommands such as
/bcsand/cobblespawnersalongside the original/blanketcobblespawners, providing more intuitive and accessible command options.
- Debug Pokémon Info Stick:**
- Implemented a debug item that provides detailed information on Pokémon, including whether they were spawned by a spawner, aiding server owners in tracking and managing Pokémon entities.
- Form List Command:**
- Added a command to retrieve a list of available Pokémon forms, making it easier to configure spawners with custom forms.
### 🔧 **Improvements:**
- IV Logic Rework:**
- Reworked the custom IV logic to align more closely with the default IV allocation, ensuring a fair and balanced distribution of stats based on configurable ranges.
- Spawning Logic Overhaul:**
- Refined the spawning logic to support better resource allocation, accuracy in spawn locations, and efficient handling of spawn restrictions.
- GUI System Revamp:**
- Overhauled the GUI system, enabling nearly all config values to be modified directly through the interface, enhancing user experience and customization flexibility.
- Updated the GUI to allow modification of any spawner without requiring the exact spawner location, improving convenience for admins.
- Config Manager Enhancement:**
- Reworked the config manager to automatically salvage and update configurations per version. This experimental feature ensures configurations are compatible with each new mod version.
- Command Layout Rework (Experimental):**
- Redesigned the command layout for improved organization and usability, though this change is experimental and may undergo further adjustments based on feedback.
- Spawner Radius Redesign:**
- Changed the spawner radius configuration to an X and Y axis format instead of a square area, giving admins more control over the shape and reach of spawn areas.
- Optimizations for Improved Performance:**
- Optimized various parts of the mod, resulting in reduced server resource usage, leading to better overall performance and stability.
### 🐛 **Bug Fixes:**
- Battle Stuck Bug Fix:**
- Fixed an issue where players could become stuck in battles, resolving an inconvenience for users during gameplay.
- Capture Limitation Bug Fix:**
- Corrected a bug where Pokémon spawned by spawners weren’t limited to specific Pokéballs, ensuring capture restrictions are properly enforced.
- Weather and Time Limitations Fix:**
- Resolved issues where Pokémon spawn limitations based on weather and time were not working as expected.
- Memory Leak Fix in EV Battle System (Attempted):**
- Attempted to address a memory leak related to the EV battle system, aiming to improve long-term server stability.
- Improved Radius Visualization Performance:**
- Updated the radius visualization to be more efficient, reducing server load when displaying spawn areas.
### ✨ **New Features:**
- Pokéball Capture Restrictions:**
- Added the ability to restrict capturing Pokémon spawned by spawners to specific types of Pokéballs, giving admins more control over game mechanics.
### 🔧 **Improvements:**
- Spawning Logic Overhaul:**
- Refactored the spawning logic to better account for Pokémon size and 3D space, ensuring a more accurate and balanced spawn environment.
- Configuration Layout Revamp:**
- Redesigned the configuration file structure for better clarity and organization, making it easier for users to modify and manage settings.