#Mob riding another mob & baby grow up

1 messages · Page 1 of 1 (latest)

stray heron
#

I took a gimmick idea from an addon and would like to expand on it with 2 things.
It was making wardens tameable and rideable, as well as able to have a baby.

The problem I found out is the baby may never grow up.
While figuring out how to let the baby grow into an tamed warden, I had a thought of having a tamed warden pick up a baby and then carrying them until the baby grows up (thus forced to dismount).

This is strictly meant for private use for myself and friends. And I am not sure how to go about this exactly.

🔹 Is there a way to include an event for the baby to grow up? (similar to most passive mobs such as horses with an item to speed up growth?)
🔹 Is there a way for a tamed warden to have a behaviour to go to a baby and automatically pick them up? (the baby may not need to share a behaviour and the idea of the adult chasing down a baby to pick up is adorable).
🔹 Thinking ahead to avoid the baby growing up and the adult is stuck riding another warden. Should the grow up event include a component that would force the warden to dismount? (if it happens to be riding another warden at the time) And thus prevent wardens inadvertently riding each other.

stray heron
#

So far, borrowing parrots' riding player is a no go. Because I dont think it could distinguish a baby from an adult warden.
And using a strider's jockey code seems promising, I dont know how the baby can interact with a parent to ride them.

Not to mention prevent a player from riding a warden that is riding a baby.

All in all, I'll take this as a valuable lesson on having an idea vs coding said idea into minecraft. 💀

soft birch
#

I'm trying to do something similar for a Koala entity that I'm making for my daughter. I think I can help you with 1 and 2, but I don't know how to force a grown baby to dismount.

To make a baby grow up, you can use:

"minecraft:ageable": {
                    "duration": 1200,
                    "feed_items": "rhodes:eucalyptus",
                    "grow_up": {
                        "event": "minecraft:ageable_grow_up",
                        "target": "self"
                    }
                },

Then in the event, add or remove the component groups. I used the cow example to learn from.

To have the adult "pick up" a baby, you can use the rideable behavior with pull_in_entities set to true:

"minecraft:rideable": {
                    "seat_count": 1,
                    "family_types": [
                        "rhodes:koala"
                    ],
                    "pull_in_entities": true,
                    "seats": {
                        "position": [
                            0.0,
                            1.0,
                            0.5
                        ],
                        "lock_rider_rotation": 181,
                        "rotate_rider_by": 0
                    }
                }

Otherwise, just have your baby's component group have a find_mount behavior:

"minecraft:behavior.find_mount": {
                    "priority": 1,
                    "within_radius": 16,
                    "start_delay": 5,
                    "max_failed_attempts": 20
                }

The problem I'm having with getting a grown baby to dismount is that removing the find mount behavior does not cause a dismount. I've considered removing the rideable behavior from the parent, but that doesn't seem ideal. I really would like the minecraft:ageable_grow_up be able to target multiple entities (self and parent) so that I can handle both cases, but I don't think that's possible.

ripe wolf
#

Did you try using family types?

#

Once the baby grows up

#

So that it is not listed in the families allowed to ride