-
-
Notifications
You must be signed in to change notification settings - Fork 64
Description
Describe the Problem
Gemini, despite the name, does not produce a twin. Instead, it has a whitelist of tags that is copied for some breedable mobs.
Not only does this clash with the name, but it also repeatably caused issues with us forgetting to update which tags are copied for which entity.
- [tick ~-60] Player feeds both parents.
- [tick 0] The two parents breed, the player is granted advancements with the
minecraft:bred_animalstrigger. - [tick 1] A baby is born. Gemini summons another baby (for some mobs*).
Additionally, considering breeding works as described above, other data packs which may want to edit the born baby may run after Gemini summons its version; so even if Gemini copied all data, some data could be lost.
* not all mobs have their twin summoned on tick 1; for some mobs Gemini summons the twin at tick 0, which is even worse.
Suggested Solution
First of, Gemini should copy all data. This will hopefully make us less likely to "forget" to update it. One may also consider to pull the list of breedable mobs from vanilla, though this may cause issues with overlays.
Secondly, Gemini should only produce its twin on tick 2, copying all data on tick 2. This way other datapacks can (and likely will) make changes in tick 1 and Gemini will respect them.