- 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.
- 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
- 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 `blacklistedAspects` to 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 `blacklistedAspects` to 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
- Added config to disable the hopper (credits: James Warbuton).
- Added "always" value to `shinyMethod` to add bonus shiny odds to every hatched eggs.
- Changed `shinyMethod` into a list to make it less confusing.
- The config file will now have line breaks to be easier to read.
Due to the change of `shinyMethod` typing, your configurations will reset. Make sure to update your configs after updating, or manually change `shinyMethod` to a list of strings before updating, if you know JSON formatting.
### Fixed
- Updated built-in Resource Pack mcmeta.
- Added forgotten translation line for Grass/Dragon egg.
- Fixed aspects not being inherited on the neoforge version.
- Fixed Wooloo and Mareep inheriting the "sheared" aspect.
### Known issues
- Pokémon in eggs created in the previous version will lose their aspect.
- Added config to disable the hopper (credits: James Warbuton).
- Added "always" value to `shinyMethod` to add bonus shiny odds to every hatched eggs.
- Changed `shinyMethod` into a list to make it less confusing.
- The config file will now have line breaks to be easier to read.
Due to the change of `shinyMethod` typing, your configurations will reset. Make sure to update your configs after updating, or manually change `shinyMethod` to a list of strings before updating, if you know JSON formatting.
### Fixed
- Updated built-in Resource Pack mcmeta.
- Added forgotten translation line for Grass/Dragon egg.
- Fixed aspects not being inherited on the neoforge version.
- Fixed Wooloo and Mareep inheriting the "sheared" aspect.
### Known issues
- Pokémon in eggs created in the previous version will lose their aspect.
- Added missing translations for some items
- Fixed a server crash that could happen when a player crashed
- Added `/givepokemonegg` command to give an egg through command in an easier way
- Fixed aspects inheritance
- Fixed egg moves inheritance and Mirror Herb not transfering moves that have been learned in very specific conditions if they never have been benched before
- Fixed broken mipmaps (causing a rendering issue)
- Fixed timer getting desynced between client and server if the player was using an ability to speed up hatching
### Configs
- Added `customColors` config to disable colored eggs if you don't like them
- Fixed a crash with EMI, REI, JEI etc...
- Experimental fix for players not seeing the timer of their eggs on a server if they had a Pokemon with Flame Body, Magma Armor, or Steam Engine.
- Fixed a crash with EMI, REI, JEI etc...
- Experimental fix for players not seeing the timer of their eggs on a server if they had a Pokemon with Flame Body, Magma Armor, or Steam Engine.
- Changed how the data is carried in the egg, which should lead us to cause way less errors whenever something needs to be changed.
- We now post the `HATCH_EGG_PRE` and `HATCH_EGG_POST` events
### Fixes
- Stopped the egg from flickering all the time when it was in your hand
- Changed how the data is carried in the egg, which should lead us to cause way less errors whenever something needs to be changed.
- We now post the `HATCH_EGG_PRE` and `HATCH_EGG_POST` events
### Fixes
- Stopped the egg from flickering all the time when it was in your hand
Because of a technicality, this version is only compatible with Cobblemon 1.6.1.
### Changes
- Light Ball has been integrated to the breeding system. Pichu now needs one of its parents to hold it to obtain Volt Tackle.
### Fixes
- Timer format has been corrected to always display seconds on two decimals.
- Sirfetch'd and Perrserker's offspring form has been corrected to be Galarian.
Because of a technicality, this version is only compatible with Cobblemon 1.6.1.
### Changes
- Light Ball has been integrated to the breeding system. Pichu now needs one of its parents to hold it to obtain Volt Tackle.
### Fixes
- Timer format has been corrected to always display seconds on two decimals.
- Sirfetch'd and Perrserker's offspring form has been corrected to be Galarian.
/!\ This version isn't compatible with the previous ones. Please remove any eggs and pasture blocks before updating
- Fixes
- Aspects are now inherited from parents
- Forms will be correctly inherited from parents agains
- Fixed some crashes happening when logging in or out
- Configuration
- `eggCheckChance` will now automatically reset to 1.0 if it has been set above 1.0 instead of resetting the whole config file
- Added `dittoAndDittoAllowParadox`, `dittoAndDittoAllowUltraBeast` and `dittoAndDittoAllowUndiscovered` to have more flexibility over Ditto Breeding
/!\ This version isn't compatible with the previous ones. Please remove any eggs and pasture blocks before updating
- Fixes
- Aspects are now inherited from parents
- Forms will be correctly inherited from parents agains
- Fixed some crashes happening when logging in or out
- Configuration
- `eggCheckChance` will now automatically reset to 1.0 if it has been set above 1.0 instead of resetting the whole config file
- Added `dittoAndDittoAllowParadox`, `dittoAndDittoAllowUltraBeast` and `dittoAndDittoAllowUndiscovered` to have more flexibility over Ditto Breeding
- Reworked pokedex compatibility to work with Cobblemon's implementation
- Eggs have lost their color
Note : You can update to 1.8.0 from 1.7.4 with no game breaking issue. Eggs that are the Pasture Blocks during the update will be broken but they will simply dissapear as they hatch
- New dittoAndDittoRandomEgg configuration to allow two Ditto to breed for a random pokemon egg (credits to kd8lvt) (default to false).
- New dittoAndDittoAllowLegendary configuration to include legendary and mythical pokemon to hatch from an egg with two Ditto parents (defaults to false).
- Pokemon hatched from eggs now start with 120 friendship points.
- Improved performances of Pokemon Eggs ticking in player inventories.
- New dittoAndDittoRandomEgg configuration to allow two Ditto to breed for a random pokemon egg (credits to kd8lvt) (default to false).
- New dittoAndDittoAllowLegendary configuration to include legendary and mythical pokemon to hatch from an egg with two Ditto parents (defaults to false).
- Pokemon hatched from eggs now start with 120 friendship points.
- Improved performances of Pokemon Eggs ticking in player inventories.
- Fixed Mr. Rime crash
- Added the sound of a chicken laying an egg when a pokemon egg appears in the pasture block
- Pokemon obtained from egg should now be registered to the pokedex
- Fixed Mr. Rime crash
- Added the sound of a chicken laying an egg when a pokemon egg appears in the pasture block
- Pokemon obtained from egg should now be registered to the pokedex
- Updated the Masuda Method to use pokemon OT if available. If the pokemon doesn't have an OT, its current trainer will be used instead.
- Improved Mirror Herb to allow evolved pokemon to learn eggmoves, too
- Pokemon Eggs can now be harvested from Pasture Blocks using Hoppers
- Fixed chunk resetting when the Ability NBT couldn't properly be read
- Updated the Masuda Method to use pokemon OT if available. If the pokemon doesn't have an OT, its current trainer will be used instead.
- Improved Mirror Herb to allow evolved pokemon to learn eggmoves, too
- Pokemon Eggs can now be harvested from Pasture Blocks using Hoppers
- Fixed chunk resetting when the Ability NBT couldn't properly be read
- Implemented Mirror Herb
- Fixed a crash caused when the offspring somehow inherited a nameless ability
- Fixed form inheritance, as it broke when updating to Cobblemon 1.5
**Caution:** This version suffers from a bug that will cause whole chunks to reset in some cases because of NBT corruption. Update to the next stable version.
- Implemented Mirror Herb
- Fixed a crash caused when the offspring somehow inherited a nameless ability
- Fixed form inheritance, as it broke when updating to Cobblemon 1.5
**Caution:** This version suffers from a bug that will cause whole chunks to reset in some cases because of NBT corruption. Update to the next stable version.
- Fixed a crash when the ability weren't properly resolved.
**Caution:** This version suffers from a bug that will cause clients to crash in some cases, at least when playing on servers. Update to the next stable version.
- Fixed a crash when the ability to inherit weren't properly resolved
**Caution:** This version suffers from a bug that will cause clients to crash in some cases, at least when playing on servers. Update to the next stable version.
- Fixed refmap conflicts which prevented the mod from loading with some other mods that don't name their refmaps (basically fixed weird mod conflicts that made no sense but were there by the power of dark magic)
- Fixed shiny odds issues: now you can set any number as multiplier and the mod won't crash or reset your config. ~~a negative multiplier should logically make all eggs shiny so long as a shiny condition is present, but that wasn't tested… make of that what you will~~
- Made forced abilities ignored by default: now parents with forced abilities don't force their eggs to have the same ability.
- Added a configuration option to pass down forced abilities (restores previous behaviour)
- Added a configuration option to not randomly pass down hidden abilities unless the ancestor already has it (base Pokémon games behaviour)
- Fixed refmap conflicts which prevented the mod from loading with some other mods that don't name their refmaps (basically fixed weird mod conflicts that made no sense but were there by the power of dark magic)
- Fixed shiny odds issues: now you can set any number as multiplier and the mod won't crash or reset your config. ~~a negative multiplier should logically make all eggs shiny so long as a shiny condition is present, but that wasn't tested… make of that what you will~~
- Made forced abilities ignored by default: now parents with forced abilities don't force their eggs to have the same ability.
- Added a configuration option to pass down forced abilities (restores previous behaviour)
- Added a configuration option to not randomly pass down hidden abilities unless the ancestor already has it (base Pokémon games behaviour)
- Fixed specific regional evolution making eggs of their pre-evolution in their original form.
- Added time remaining before the egg hatches to its tooltip.
- Shiny hunting methods can now be combined by setting `shinyMethod` to "crystalmasuda". Using this method, the shiny multiplier cannot be set above 20.
- Fixed possible invisible eggs by forcing the Pasture Block to load as a built-in Resource Pack.
- Fixed specific regional evolution making eggs of their pre-evolution in their original form.
- Added time remaining before the egg hatches to its tooltip.
- Shiny hunting methods can now be combined by setting `shinyMethod` to "crystalmasuda". Using this method, the shiny multiplier cannot be set above 20.
Fixed eggs from 1.5.0 and before becoming bad eggs in 1.5.1.
Eggs that got broken from upgrading from 1.4.4 or 1.5.0 to 1.5.1 and haven't hatched or been thrown away should get fixed.
- Implemented Magma Armor, Flame Body and Steam Engine to reduce hatching time
- Gravelmon will make Gravelmon eggs and Cobblemon will make Cobblemon eggs
- Fixed eggmoves, again
- Added Pokeball Inheritance
- Implemented shiny hunting methods (see below)
### New configuration values
- shinyMethod (default to "masuda") :
- "disabled" : Pokemon will hatch with a normal shiny rate.
- "masuda" : If the two pokemon making an egg belong to different trainers, the shiny rate will be multiplied by shinyMultiplier.
- "crystal" : Each shiny parent multiplies the shiny rate for the egg by shinyMultiplier.
- shinyMultiplier (default to 4.0) : Multiplies the shiny rate of the egg depending of the shinyMethod that has been set.
Adding new config values will reset you current configs. Make sure to set them back!
- Implemented Magma Armor, Flame Body and Steam Engine to reduce hatching time
- Gravelmon will make Gravelmon eggs and Cobblemon will make Cobblemon eggs
- Fixed eggmoves, again
- Added Pokeball Inheritance
- Implemented shiny hunting methods (see below)
### New configuration values
- shinyMethod (default to "masuda") :
- "disabled" : Pokemon will hatch with a normal shiny rate.
- "masuda" : If the two pokemon making an egg belong to different trainers, the shiny rate will be multiplied by shinyMultiplier.
- "crystal" : Each shiny parent multiplies the shiny rate for the egg by shinyMultiplier.
- shinyMultiplier (default to 4.0) : Multiplies the shiny rate of the egg depending of the shinyMethod that has been set.
Adding new config values will reset you current configs. Make sure to set them back!
- Alternative forms get their correct eggmoves
- Logs when an egg spawns are now in debug logs
- Removed Fabric Language Kotlin dependency
- The mod now depends on Architectury API