mojira.dev
MC-114017

Naturally spawning baby ocelots prevent parent ocelot from spawning

The bug

Baby ocelots spawned naturally prevent the parent ocelot from spawning.

Note: This bug is currently blocked by MC-103516 which allows the parent ocelot to spawn.

How to reproduce

  1. Create a Superflat world with the following preset

    70*minecraft:stone,minecraft:grass_block;minecraft:jungle;

    Note: The 70 layers of stone are required because ocelots only spawn above sea level.

  2. Setup a repeating command block and two chain command blocks behind it with the following commands

    /execute as @e[type=!player] if entity @s[type=!ocelot] run kill
    /execute as @e[type=ocelot] run data modify entity @s NoAI set value 1b
    /execute as @e[type=ocelot,nbt={Age:-24000}] run data modify entity @s Glowing set value 1b
  3. Move around and look at the naturally spawned baby ocelots
    → You will notice that they are always spawned without parent

Code analysis

Outdated


Based on 1.11.2 decompiled using MCP 9.35 rc1

The problem is that the method net.minecraft.entity.passive.EntityOcelot.onInitialSpawn(DifficultyInstance, IEntityLivingData) spawns the baby ocelots at the same position the parent ocelot would spawn. Because of that the parent would collide with them and is therefor not spawned.

Linked issues

Comments 2

tryashtar

Is this still the case? MC-103516 was fixed and baby spawning changed somewhat recently

marcono1234

The behavior is reversed now, see MC-161144

marcono1234

(Unassigned)

Confirmed

(Unassigned)

baby, collision, ocelot, spawning

Minecraft 1.11.2, Minecraft 17w06a

Retrieved