Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-103516

Spider and chicken jockeys only spawn the additional mob

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Minecraft 1.13-pre5
    • Minecraft 1.9.4, Minecraft 1.10, Minecraft 1.10.2, Minecraft 16w38a, Minecraft 16w41a, Minecraft 16w43a, Minecraft 1.11 Pre-Release 1, Minecraft 1.11, Minecraft 1.11.1, Minecraft 1.11.2, Minecraft 17w06a, Minecraft 17w14a, Minecraft 17w17b, Minecraft 1.12 Pre-Release 3, Minecraft 1.12 Pre-Release 6, Minecraft 1.12, Minecraft 1.12.1 Pre-Release 1, Minecraft 1.12.1, Minecraft 1.12.2, Minecraft 17w47b, Minecraft 17w48a, Minecraft 18w03b, Minecraft 18w05a, Minecraft 18w16a, Minecraft 18w19b, Minecraft 1.13-pre2 Hide
    • Confirmed

    Description

      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;
      }
      

      Attachments

      Drop files to attach, or
      1. 2016-06-11_19.12.26.png
        2016-06-11_19.12.26.png
        134 kB
      2. 2016-06-11_19.17.35.png
        2016-06-11_19.17.35.png
        134 kB
      3. 2016-08-01_10.16.47.png
        2016-08-01_10.16.47.png
        75 kB
      4. 2018-02-09_22.09.44.png
        2018-02-09_22.09.44.png
        1.04 MB

      Activity

        Confirmed for 1.13-pre2.

        Niknokinater added a comment -

        Confirmed for 18w19b.

        sigh

        [Helper] NelLexvul added a comment - - Restricted to staff - edited

        With the first half of the 1.13 snapshots, it would have made sense for Mojang to crack down on this major bug that has been alive for years. It might be too late now:

        Krev added a comment - - edited

        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

        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 . 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.

        Doesn't appear to affect spawn eggs either

        Ray added a comment -

        Not sure if it's mentioned but this does not affect mob spawners, they can still produce jockeys

        [Mod] SunCat added a comment - - Restricted to staff

        MEQS_CODE

        [Mod] Neko added a comment -

        Ray, this is your own ticket and you can update the Affected Version/s field yourself. You do not need to comment when confirming tickets that are yours.

        Ray added a comment -

        Confirm 1.11 pre-1

        People

          cojomax99 [Mojang] Cory Scheviak
          Rays Ray
          Votes:
          140 Remove vote for this issue
          Watchers:
          43 Start watching this issue

          Dates

            Created:
            Updated:
            Resolved:
            CHK:

            Drop files to attach them to the issue