Cobbreeding
A side-mod for Cobblemon to add Pokémon breeding early.\ Full guide : Cobbreeding guide
Note regarding CurseForge
We will not upload this mod to CurseForge for personal reasons, we needn't explain. If the mod is ever uploaded on CurseForge again, it is not by our making and is a security issue, especially since CurseForge may silently switch to using it instead.
You can already use Cobbreeding on CurseForge modpacks as an external mod without it being uploaded to CurseForge.
Functionality
This mod extends the pasture block's functionality to enable compatible Pokémon in the pasture to lay eggs! Just place your Pokémon to roam in the pasture, click the button to activate breeding, and come back later to maybe find an egg in the nesting area on the bottom of the pasture block.
Implemented features
Here is the list of features included in this mod regarding breeding. Marked features work a bit differently than in pokemon games of the main serie.
- Compatible pokemon breed if let in the pasture together, even with different owners.
- IVs inheritance, including function of Power items and Destiny Knot.
- Nature inheritance, including function of the Everstone.
- Form inheritance(1).
- Ability inheritance(2).
- Eggmoves inheritance. Every move the parents ever learned are included, so no need to equip them in their move set.
- Pokeball inheritance.
- Shiny hunting using methods similar to Masuda or Gen2 shiny breeding.
- Abilities reducing hatch time by half
(1). Regional forms are directly inherited from the parents rather than checking the biome. Everstone is not implemented.\ (2). Small chance to randomly get the pokemon's hidden ability! A parent with its hidden ability can transfer it to its eggs normally.
Other features include :
- Eggs spawning in the pasture block when pokemon successfully bred.
- Being able to pick up an egg in the bottom of a pasture block.
- Keeping pokemon eggs in the inventory that will hatch with time passing (timer is stopped if the egg is not in a player inventory).
- Mirror Herb teaching Egg Moves.
Configurable options
- minBreedingTimeInTicks (Default : 8000) : The minimum amount of ticks before an egg is generated by the Pasture Block.
- maxBreedingTimeInTicks (Default : 14000) : The maximum amount of ticks before an egg is generated by the Pasture Block.
- eggHatchMultiplier (Default : 1.0) : Controls how quickly eggs hatch. At 1.0, an egg from a pokemon having an egg cycle of 20 takes about 10 minutes to hatch. The lower this value is, the faster the egg hatches.
- shinyMethod (By default, Masuda method gives a x4 shiny boost.) : Controls the shiny boost applied by each shiny hunting method.
- Masuda : Applied if the parents Pokémon have a different OT from eachother.
- Crystal : Applied if the parent is shiny. Applied twice if both parents are shiny.
- Always : Every hatched Pokémon will be given this shiny boost.
- hiddenAbilitiesEnabled (Default : true) : The offspring has a slight chance to obtain its hidden ability even if not inherited.
- forcedAbilitiesEnabled (Default : false) : If the mother/non-Ditto has a forced ability, so will the offspring.
- dittoAndDittoRandomEgg (Default : false) : Breeding two Ditto will result in a random offspring.
- dittoAndDittoAllowLegendary (Default : false) : Allow legendaries and mythicals from Ditto random breeding.
- dittoAndDittoAllowParadox (Default : false) : Allow Paradox from Ditto random breeding.
- dittoAndDittoAllowUltraBeast (Default : false) : Allow Ultra-Beast from Ditto random breeding.
- dittoAndDittoAllowUndiscovered (Default : false) : Allow Pokémon with the Undiscovered egg group from Ditto random breeding.
- customColors (Default : false) : The colors of the eggs will depend on the Pokémon's typing.
- allowHoppersToPullFromPastureBlock (Default : true) : Allow Hoppers to pull eggs from the pasture block.
- inheritedFeatures : List of Species Features that should be inherited by the offspring, such as Magikarp Jump patterns, or regional variations.
- maxNumberOfActivatedPasturePerPlayer (Default : -1 (Unlimited)) : The maximum number of Pasture that can be used for breeding per players at a time.
- pastureInventorySize (Default : 5) : The number of eggs that can be in a Pasture Block.
- eggEncryptionEnabled (Default : true) : Encrypts the data in the egg to prevent the client to read the Pokémon's data before it hatches.
Commands
/givepokemonegg: Easier alternative to/giveto give a Pokemon Egg item to a player. The arguments are the same than Cobblemon's/pokegiveother.\ Note : For forms, use the patternform=./givepokemonegg Ludichat vulpix form=alola
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 | ||||
| 2d ago | 1 |
- Added configurable chance to hatch Alpha Pokémon
- Added configuration option to enable Alpha inheritance
- Added configurable chance to hatch Alpha Pokémon
- Added configuration option to enable Alpha inheritance
- Fixed Basculegion eggs not hatching into White Striped Basculin even if it was enabled.
- Fixed Basculegion eggs not hatching into White Striped Basculin even if it was enabled.
- Updated the mod for Cobblemon 1.8
- Moved the breedable toggle button on the Pokémon summary screen to not hide the size.
- Updated the mod for Cobblemon 1.8
- Moved the breedable toggle button on the Pokémon summary screen to not hide the size.
- Fixed a stacktrace
- Fixed the Bug/Fairy egg displaying as a Bug/Electric egg
- Improved performances (this mostly affects an automation quirk that was causing issues with at least Sophisticated Storages)
- Fixed error logs showing if you didn't have Farmer's Delight on your instance
- Fixed a stacktrace
- Fixed the Bug/Fairy egg display as a Bug/Electric egg
- Improved performances (this mostly affects an automation that was causing issue with at least Sophisticated Storages)
- Fixed errors appearing in the log if you didn't have Farmer's Delight on your instance
- Added recipes for Farmer's Delight's Fried Eggs using Pokémon Eggs
- Added recipes for Farmer's Delight's Fried Eggs using Pokémon Eggs
- Added "wolf_form" to default inherited feature (Dusk Rockruff/Lycanroc)
- Fixed random eggs validation being based on species rather than form
- Fixed spotted eggs having a texture overlap on double typed Pokémon
- Moved custom colored eggs to an optional resource pack instead of an annoying config
- Pokémon eggs can now be used as an alternative for chicken eggs in recipes
- Grouped chicken eggs and Pokémon eggs under #c:eggs and #forge:eggs tags for mod compatibility
- Added
/hatchpokemonegg <player>to hatch the Pokémon Egg a player is holding - Added
/cobbreeding <subcommand>as a main command for the following : info: Gives the version numberreload: Reloads the Cobbreeding configegg hatch <player>:/hatchpokemoneggegg give <player> <pokemon_properties>:/givepokemoneggegg decrypt <player>: decrypt egg held by the player- Command permissions were moved to Cobbreeding's namespace and the permissions' names were changed to reflect the main
/cobbreedingcommand
- Added "wolf_form" to default inherited feature (Dusk Rockruff/Lycanroc)
- Fixed random eggs validation being based on species rather than form
- Fixed spotted eggs having a texture overlap on double typed Pokémon
- Moved custom colored eggs to an optional resource pack instead of an annoying config
- Pokémon eggs can now be used as an alternative for chicken eggs in recipes
- Grouped chicken eggs and Pokémon eggs under #c:eggs and #forge:eggs tags for mod compatibility
- Added
/hatchpokemonegg <player>to hatch the Pokémon Egg a player is holding - Added
/cobbreeding <subcommand>as a main command for the following : info: Gives the version numberreload: Reloads the Cobbreeding configegg hatch <player>:/hatchpokemoneggegg give <player> <pokemon_properties>:/givepokemoneggegg decrypt <player>: decrypt egg held by the player- Command permissions were moved to Cobbreeding's namespace and the permissions' names were changed to reflect the main
/cobbreedingcommand
- Fixed last parameter of the egg being ignored if it was encrypted
- Fixed custom colored eggs
- Fixed last parameter of the egg being ignored if it was encrypted
- Fixed custom colored eggs
Because Cobbreeding uses Cobblemon's egg related events, the egg collection and hatching stats added by Cobblemon are counted correctly. Egg collection is only counted if you pick the eggs up **by hand on the pasture block**, not through a hopper.
### Additions
- Ability to decrypt existing eggs, if encryption was disabled in the meantime on the server, by using the “use item” action (by default: right mouse button)
COLLECT_EGGevent now emitted when an egg is picked up **by hand, from a pasture block** (the parents supplied to the event are fake however, if you're working on add-ons)
Because Cobbreeding uses Cobblemon's egg related events, the egg collection and hatching stats added by Cobblemon are counted correctly. Egg collection is only counted if you pick the eggs up **by hand on the pasture block**, not through a hopper.
### Additions
- Ability to decrypt existing eggs, if encryption was disabled in the meantime on the server, by using the “use item” action (by default: right mouse button)
COLLECT_EGGevent now emitted when an egg is picked up **by hand, from a pasture block** (the parents supplied to the event are fake however, if you're working on add-ons)
- Fixed losing some eggs when interacting with the pasture block to pick them up by hand
- Fixed not clearing pasture blocks from the players' lists of enabled pastures when breaking the block from its top part
- Fixed an issue with getting the name of the Pokémon species when showing tooltips for some species like Farfetch'd and Jangmo-o
### Additions
- Config toggle for the Cobblemon Size Variations compatibility patch. The toggle is visible from the config screen only if you have the Cobblemon Size Variations mod installed, so as not to add clutter.
- Fixed losing some eggs when interacting with the pasture block to pick them up by hand
- Fixed not clearing pasture blocks from the players' lists of enabled pastures when breaking the block from its top part
- Fixed an issue with getting the name of the Pokémon species when showing tooltips for some species like Farfetch'd and Jangmo-o
### Additions
- Config toggle for the Cobblemon Size Variations compatibility patch. The toggle is visible from the config screen only if you have the Cobblemon Size Variations mod installed, so as not to add clutter.
- Fixes a crash that can happen on multiple occasions (chunk loading, closing world, removing Pokémon from pastures...).
- Fixes a crash that can happen on multiple occasions (chunk loading, closing world, removing Pokémon from pastures...).
- Fixed empty inventory slots detection: pasture blocks can now generate more than X eggs (with X the configured inventory size)
- Fixed hoppers not being able to pull from slots other than the very first slot
- Fixed the pasture model showing an egg even when all eggs were removed by a hopper
- Fixed Cloth Config API not being set as a required dependency
- Fixed empty inventory slots detection: pasture blocks can now generate more than X eggs (with X the configured inventory size)
- Fixed hoppers not being able to pull from slots other than the very first slot
- Fixed the pasture model showing an egg even when all eggs were removed by a hopper
- Fixed Cloth Config API not being set as a required dependency
- Mareep and Wooloo now hatch sheared.
- Added a button in the Pokémon summary to toggle its ability to breed. This can only be changed by the Pokémon's Original Trainer.
- Changed the pace at which eggs are created. See Configurations for more information.
- A different shiny multiplier can be used for each shiny hunting method. See Configurations for more information.
- The Pasture Block doesn't longer require to be in a loaded chunk for time to pass.
- The Pasture Block can now carry several eggs at a time (configurable).
- EXPERIMENTAL : Added a button on the Pasture Block GUI to activate breeding (configurable limit).
- The Mirror Herb can now be applied on a different pace that egg generation.
- Eggs data can now be encrypted to prevent the client from reading its stats before it hatches. The name and form of the Pokémon will still be displayed.
- Added integration with Mod Menu.
- We replaced forcefully inheriting aspects by inheriting species features instead, which fixes a lot of issue.
- Added integration with Cobblemon Size Variations, please, stop asking for it.
### Fixes
- Removed the incubator abilities registry system, as it was causing more issue than it was helping.
- Fixed the comparison between egg items, which could cause issue with sorting mods.
- Hatched Pokémon should be able to trigger Cobblemon related advancements.
- Fixed dyed Wooloo, Torterra's eggs, Rotom's furniture, and pretty much all issue that were caused by unwanted aspect inheritance.
- Fixed Ferroseed always hatching with its Hidden Ability
### Configurations changes
- Breeding pacing :**
In older versions, you could configure the mod for the Pasture Blocks to have X% chance to make an egg every Y ticks. This has been changed to be a bit less random and guarantee that an egg is generated at some point.\
Instead of a defined time between each egg, you can configure a minimum and maximum amount of time (in ticks) it will take for the next egg to be generated. At each cycle, a random value between the minimum and maximum will be chosen. Once that time has passed, the Pokémon in the Pasture will produce an egg.
``
{
"minBreedingTimeInTicks": 8000,
"maxBreedingTimeInTicks": 14000,
...
}
`
- Mirror Herb :**
The Mirror Herb will activate every X ticks. The Pokémon holding it will learn egg moves from the other Pokémon in the Pasture Block.
`
{
...
"mirrorHerbTimeInTicks": 600,
...
}
`
- Shiny hunting :**
Shiny hunting methods are now easier to configure as you no longer need to edit a list to add in methods and the multiplier. The shinyMethod configuration is now a dictionary where the key are the name of the methods, which should remain untouched, and the value is the bonus multiplier given by the method.\
Just like precedent version, by default the Masuda method will give a x4 shiny bonus while the other methods are disabled (x1 bonus).
`
{
...
"shinyMethod": {
"masuda": 4.0,
"crystal": 1.0,
"always": 1.0
},
...
}
`
- Species features :**
Species features are traits that can change a Pokémon's form or appearance. While the form has always been inherited, other features could require or be expected to be inherited from the parents, such as the Magikarp jump pattern, Oricorio's dance style, or even the dye you used on your Wooloo.\
On the contrary, you may not want certain aspects to be passed down, such as Rotom's appliance, Torterra's tree, or Flabébé's flower.\
Because it's difficult to say which Species Features should or shouldn't be passed down, this list stay available for edition for those who know what they are doing. As a remplacement to the previous aspectBlacklist, which was causing a lot of issues.
`
{
...
"inheritedFeatures": [
"bagworm_cloak",
"color",
"dance_style",
"fish_stripes",
"striped",
"magikarp_jump",
"mooshtank",
"region_bias",
"alolan",
"galarian",
"hisuian",
"paldean",
"bull_breed",
"tatsugiri_texture",
"whiscash_nero",
"wooper_heart"
],
...
}
`
- EXPERIMENTAL : Number of Pasture Block per player :**
A simple config to limit how many Pasture Block a player can activate for breeding. A value of -1 disables the limit.
`
{
...
"maxNumberOfActivatedPasturePerPlayer": -1,
...
}
`
- Size of the Pasture Block's inventory :**
This configuration determines how many egg a Pasture Block can hold at the same time.
`
{
...
"pastureInventorySize": 5,
...
}
`
- Egg encryption :**
Controls if the data in the egg should be made unreadable by the client or not. This is mostly to prevent players to be able to know if the Pokémon in the egg will be perfect or shiny before hatching it.
`
{
...
"eggEncryptionEnabled": true
}
``### Misc
- The Pasture Block doesn't truly generate eggs while it's unloaded. When the chunk is reloaded, the Pasture will check for the game time and calculate how many eggs it needs to produce. This value cannot go higher than the Pasture's size inventory, even if the eggs are taken by hoppers.
- This version is compatible with Cobblemon 1.6.1
- Mareep and Wooloo now hatch sheared.
- Added a button in the Pokémon summary to toggle its ability to breed. This can only be changed by the Pokémon's Original Trainer.
- Changed the pace at which eggs are created. See Configurations for more information.
- A different shiny multiplier can be used for each shiny hunting method. See Configurations for more information.
- The Pasture Block doesn't longer require to be in a loaded chunk for time to pass.
- The Pasture Block can now carry several eggs at a time (configurable).
- EXPERIMENTAL : Added a button on the Pasture Block GUI to activate breeding (configurable limit).
- The Mirror Herb can now be applied on a different pace that egg generation.
- Eggs data can now be encrypted to prevent the client from reading its stats before it hatches. The name and form of the Pokémon will still be displayed.
- Added integration with Mod Menu.
- We replaced forcefully inheriting aspects by inheriting species features instead, which fixes a lot of issue.
- Added integration with Cobblemon Size Variations, please, stop asking for it.
### Fixes
- Removed the incubator abilities registry system, as it was causing more issue than it was helping.
- Fixed the comparison between egg items, which could cause issue with sorting mods.
- Hatched Pokémon should be able to trigger Cobblemon related advancements.
- Fixed dyed Wooloo, Torterra's eggs, Rotom's furniture, and pretty much all issue that were caused by unwanted aspect inheritance.
- Fixed Ferroseed always hatching with its Hidden Ability
### Configurations changes
- Breeding pacing :**
In older versions, you could configure the mod for the Pasture Blocks to have X% chance to make an egg every Y ticks. This has been changed to be a bit less random and guarantee that an egg is generated at some point.\
Instead of a defined time between each egg, you can configure a minimum and maximum amount of time (in ticks) it will take for the next egg to be generated. At each cycle, a random value between the minimum and maximum will be chosen. Once that time has passed, the Pokémon in the Pasture will produce an egg.
``
{
"minBreedingTimeInTicks": 8000,
"maxBreedingTimeInTicks": 14000,
...
}
`
- Mirror Herb :**
The Mirror Herb will activate every X ticks. The Pokémon holding it will learn egg moves from the other Pokémon in the Pasture Block.
`
{
...
"mirrorHerbTimeInTicks": 600,
...
}
`
- Shiny hunting :**
Shiny hunting methods are now easier to configure as you no longer need to edit a list to add in methods and the multiplier. The shinyMethod configuration is now a dictionary where the key are the name of the methods, which should remain untouched, and the value is the bonus multiplier given by the method.\
Just like precedent version, by default the Masuda method will give a x4 shiny bonus while the other methods are disabled (x1 bonus).
`
{
...
"shinyMethod": {
"masuda": 4.0,
"crystal": 1.0,
"always": 1.0
},
...
}
`
- Species features :**
Species features are traits that can change a Pokémon's form or appearance. While the form has always been inherited, other features could require or be expected to be inherited from the parents, such as the Magikarp jump pattern, Oricorio's dance style, or even the dye you used on your Wooloo.\
On the contrary, you may not want certain aspects to be passed down, such as Rotom's appliance, Torterra's tree, or Flabébé's flower.\
Because it's difficult to say which Species Features should or shouldn't be passed down, this list stay available for edition for those who know what they are doing. As a remplacement to the previous aspectBlacklist, which was causing a lot of issues.
`
{
...
"inheritedFeatures": [
"bagworm_cloak",
"color",
"dance_style",
"fish_stripes",
"striped",
"magikarp_jump",
"mooshtank",
"region_bias",
"alolan",
"galarian",
"hisuian",
"paldean",
"bull_breed",
"tatsugiri_texture",
"whiscash_nero",
"wooper_heart"
],
...
}
`
- EXPERIMENTAL : Number of Pasture Block per player :**
A simple config to limit how many Pasture Block a player can activate for breeding. A value of -1 disables the limit.
`
{
...
"maxNumberOfActivatedPasturePerPlayer": -1,
...
}
`
- Size of the Pasture Block's inventory :**
This configuration determines how many egg a Pasture Block can hold at the same time.
`
{
...
"pastureInventorySize": 5,
...
}
`
- Egg encryption :**
Controls if the data in the egg should be made unreadable by the client or not. This is mostly to prevent players to be able to know if the Pokémon in the egg will be perfect or shiny before hatching it.
`
{
...
"eggEncryptionEnabled": true
}
``### Misc
- The Pasture Block doesn't truly generate eggs while it's unloaded. When the chunk is reloaded, the Pasture will check for the game time and calculate how many eggs it needs to produce. This value cannot go higher than the Pasture's size inventory, even if the eggs are taken by hoppers.
- This version is compatible with Cobblemon 1.6.1
- The
forcedAspectsproperty is not set to[""]when there are no aspects to pass down anymore. Contributed by @pcrgaming.
- The
forcedAspectsproperty is not set to[""]when there are no aspects to pass down anymore. Contributed by @pcrgaming.
- You can now make random eggs by assigning "random" as species. The same filters than Ditto breeding will be used to exclude unwanted Pokémon from the pool.
- Pokémon in random eggs are now chosen at hatch time, which means if Ditto breeding is activated, you won't be able to tell which egg you got before hatching it.
### Configuration
- Added
blacklistedAspectsto allow choosing aspects you don't want to be inherited.
### Fixes
- Compatibility between Pokémon are now checked from their form rather than their species.
- Random egg can now hatch into any form instead just the standard form of the Pokémon that was chosen.
- You can now make random eggs by assigning "random" as species. The same filters than Ditto breeding will be used to exclude unwanted Pokémon from the pool.
- Pokémon in random eggs are now chosen at hatch time, which means if Ditto breeding is activated, you won't be able to tell which egg you got before hatching it.
### Configuration
- Added
blacklistedAspectsto allow choosing aspects you don't want to be inherited.
### Fixes
- Compatibility between Pokémon are now checked from their form rather than their species.
- Random egg can now hatch into any form instead just the standard form of the Pokémon that was chosen.
- Fixed a crash when using custom colors with custom types
- Fixed aspects not being properly inherited when there were several aspects to pass down
- Changed default config for custom colors to false
- Fixed a crash when using custom colors with custom types
- Fixed aspects not being properly inherited when there were several aspects to pass down
- Changed default config for custom colors to false