nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)

Huge internal update to completely revamp the breeding code.

No gameplay changes are present in this update. All new features a purely technical and only affect server owners, side-modders, and datapack makers.

Additions

Breeding Rules

Breeding Rules are a new feature replacing the now deprecated Pre-Evolution Overrides. They allow you to completely control the breeding output of two parent Pokemon.

The Breeding Rule system checks for rules that match the species of the primary parent (the female or non-ditto parent) and then scans a list of rules, checking them against both parents until a match is found.

The rules use a datapackable predicate system that can check the following components of either parent:

  • species
  • form name
  • species + form
  • aspects
  • moves
  • level
  • friendship
  • fullness
  • held item (showdown id)
  • species labels
  • form labels
  • EVs
  • IVs
  • whether or not a pre-evolution exists for this species
  • whether or not an evolution exists for this species

The system is then able to produce an offspring with any of the following data already set:

  • species
  • features
  • level
  • moves
  • ability
  • gender
  • nature
  • EVs
  • IVs
  • held item (any Minecraft ItemStack)
  • scale
  • shiny
  • any properties
    • This PokemonProperties is applied first and includes everything that works with /pokegive and similar commands.

A rule may have a predicate for the primary (female/non-ditto) parent, the secondary parent, both, or even neither. A rule may also have any number of possible offspring; if there is more than one offspring for a rule, then one is selected at random. This randomness is weighted and the datapack creator can additionally set the weights (integer, defaults to 1 if omitted).

Breeding Rules may also bypass gender and egg group rules if the author wishes. Potentially allowing any Pokemon to breeding with any other Pokemon to produce any possible offspring.

To give an example of the power of this system: all special vanilla rules have been implemented via Breeding Rules.

  • Illumise and Volbeat breeding into each other's species.
  • NidoranF and NidoranM breeding into each other's species.
  • Pikachu holding a Light Ball produces a Pichu that knows Volt Tackle.
  • Regional forms producing the correct "region-bias" form from Cobblemon.
  • Indeedee using forms as its genders.

A new datagen API for Breeding Rules has also been provided. (Seriously just use the API, you do NOT want to be writing these out by hand.)

Bugfixes

  • Tatsugiri's form override data has been added to the built-in datapack and should no longer randomise when breeding.

Deprecations

  • The pre-evolution overrides (data/daycareplus/overrides/preevolutions/...) have been deprecated in favour of the new Breeding Rules system.
    • Pre-Evolution overrides have not been removed, existing datapacks will still function.
    • This feature will be removed in version 2.0.0, please update all of your datapack pre-evolution overrides to Breeding Rules before then.

Another hotfix to address a broken config property

Bugfixes

  • Fixed config saving as "CobblemonSizeVariation" instead of the new "size_variation" (which is was trying to read).

Another patch following the previous hotfix. Addresses a couple inconveniences and a bugfix.

Changes

  • Running Daycare+ on the client will now enforce the Polymer Server resourcepack (which contains the mod's assets).

Bugfixes

  • Prevented Incubator UI from opening from shift-interacting with a Pasture.
  • Fixed CobblemonSizeVariation integration and made it work with generic size mods.

Bugfixes

  • Fixed nullpointer crash from viewing Original Trainers.

Additions

  • Incubators can now withdraw directly from chests and other containers if you shift-interact.
  • Added the Original Trainer of a Pokémon to the PC GUI.
    • Added config toggle for the above.
  • Marks can now randomly apply to Pokémon hatched from eggs.
    • Default potential marks are applied to the HatchEgg.Post event with the HIGHEST priority.
    • The potential marks are consumed and (possibly) applied at the LOWEST priority in the same event.
    • If you want to add your own, then you can use Cobblemon's molang callback (which defaults to HIGHEST, I think? Kotlin is dumb) or with code in the HatchEgg.Post event using any priority above LOWEST.

Changes

  • EggHatch.Post event now triggers before the Pokémon is given to the player.
    • This is due to yet another Cobblemon bug, if potential marks are on the Pokémon when it's granted to the player, the game crashes.
      • Literally how do you mess this up?
  • Improved the texture of the egg group panel.

Bugfixes

  • Eggs no longer swap their ticks and max ticks after being removed from an incubator.
  • Incubators can no longer tick in other players inventories.
  • The number of pastures linked to the player now recalculates when closing the server or exiting a singleplayer world.

Bugfixes

  • Fixed Incubator storage failing to save to the world if the folder does not already exist.

Updated to Cobblemon 1.7

Additions

  • Added compatibility with Cobblemon Size Variations.

Changes

  • Fertility is now modifiable via the server config instead of changing the GlobalSpeciesFeature file.

Additions

  • Added a shiny booster item that increases the odds of a daycare producing a shiny egg.
  • Added config option to allow eggs to skip fertility inheritance in competitive mode (suarez)

Bugfixes

  • Fixed Indeedee breeding.
  • Pichu now gets Volt Tackle as an egg move if either parent is a Pikachu holding a Light Ball.
  • Fixed fertility desync issue.
  • Fixed gender ratio being determined by species and not form.

Bugfixes

  • Now correctly creates the config/daycareplus folder for storing the settings.

Bugfixes

  • Daycare Sparks no longer activate and get lost when used on Daycares without valid parents.

Initial release.

External resources


Project members

Provismet

Member


Technical information

Client side
optional
Server side
required
Project ID