mojira.dev
MC-103516

Spider and chicken jockeys only spawn the additional mob

The bug

Spider and chicken jockeys only spawn the additional mob. This means spider jockeys will only spawn the skeleton and chicken jockeys only the chicken respectively set the IsChickenJockey tag of a nearby chicken to true without a zombie spawning on it.

How to reproduce

  1. Create a Superflat world with the following preset to only allow spiders to spawn

    3;minecraft:stone,minecraft:air,minecraft:glass;1;
  2. Set the time to night

  3. Use the following command to get to a nearby skeleton spawned as a spider jockey

    /tp @p @e[type=skeleton,c=1]

    → You will see that the skeleton is not riding a spider

Code analysis

Based on 1.11.2 decompiled using MCP 9.35 rc1

It looks like the method net.minecraft.world.World.checkNoEntityCollision(AxisAlignedBB, Entity) is not working correctly and counts entities riding the same entity as colliding while it should ignore them. See also net.minecraft.world.World.getCollisionBoxes(Entity, AxisAlignedBB).

/**
 * Returns true if there are no solid, live entities in the specified AxisAlignedBB, excluding the given entity
 */
public boolean checkNoEntityCollision(AxisAlignedBB bb, @Nullable Entity entityIn)
{
    List<Entity> list = this.getEntitiesWithinAABBExcludingEntity((Entity)null, bb);

    for (int i = 0; i < list.size(); ++i)
    {
        Entity entity = (Entity)list.get(i);

        // Replaced this
        // if (!entity.isDead && entity.preventEntitySpawning && entity != entityIn && (entityIn == null || entity.isRidingSameEntity(entityIn)))
        if (!entity.isDead && entity.preventEntitySpawning && entity != entityIn && (entityIn == null || !entity.isRidingSameEntity(entityIn)))
        {
            return false;
        }
    }

    return true;
}

Linked issues

Attachments

Comments 26

[Mod] redstonehelper

I'm not sure I understand the issue. Why couldn't the skeleton have spawned on its own? Is this a superflat world with only a 1 high space? In that case, please provide the preset.

This issue is not resolved.
Please change it back to Open.

The resolution was "Awaiting Response". It wasn't closed as invalid or fixed. As you've provided more information, the resolution was removed accordingly.

[Mod] redstonehelper

Confirmed. Only affects natural spawns, spawn eggs work fine.

The "Status" was "Resolved" which is incorrect.
Thanks for changing that.

16 more comments

Doesn't appear to affect spawn eggs either

Hey there Ray, I've been following this bug since a while because I also spotted what was happening while trying to collect jockeys for my mob collection. Recently started a new world, 1.12.2, completely vanilla with the exception of Optifine and during the nights this happened

[media]

. No spawners, no mods, no tinkering. Any idea how? I've been seing so many lone chickens in caves and the nether and now.. this.

Confirmed for 18w11a, although the description on how to reproduce needs some slight updating, so here:

  1. Create a Superflat world with the following preset to only allow spiders to spawn

    minecraft:stone,minecraft:air,minecraft:glass;1;
  2. Set the time to night

  3. Use the following command to get to a nearby skeleton spawned as a spider jockey

    /tp @p @e[type=skeleton,limit=1]
  • If that command fails, use the following command to let new mobs spawn, then try the above command again

    /kill @e[type=!player]

    → You will see that the skeleton is not riding a spider

Confirmed for 18w19b.

sigh 😞

Confirmed for 1.13-pre2.

Ray

coschevi

Confirmed

chicken, chicken-jockey, skeleton, spider, spider-jockey

Minecraft 1.9.4, Minecraft 1.10, Minecraft 1.10.2, Minecraft 16w38a, Minecraft 16w41a, ..., Minecraft 18w03b, Minecraft 18w05a, Minecraft 18w16a, Minecraft 18w19b, Minecraft 1.13-pre2

Minecraft 1.13-pre5

Retrieved