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

Iron Golems don't spawn in valid spawn space if there is a non-solid block they can't spawn on above that space

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • None
    • 1.18, 1.18.1 Pre-release 1, 1.18.1, 1.19 Pre-release 1, 1.19 Release Candidate 1, 1.19, 1.19.1 Pre-release 5
    • Confirmed
    • Mob spawning

    Description

      Some definitions

      Spawn limits - Within range of the 16x13x16 box centered on any one of the villagers (see official Wiki)

      Spawnable Space (defined for my testing) - A solid block with 3 blocks of air above it.

      Obstructing blocks (explained below) - I've tested walls, dirt_path, fences and beds, but I believe this extends to ANY block type that an iron golem cannot spawn on  - despite all other spawning conditions being met (i.e. roughly speaking, this is a block without a solid top surface).

       

      Description

      Iron golems should spawn based on certain criteria that is met by villagers (including sleeping, panicking, etc etc). Once all the criteria is met (can be found on the wiki) then spawnable space is chosen withing the spawn limits of the villagers that are panicking... and an attempt (or 10 ) is made for the golem to spawn.

      If I place a platform of spawnable space under the villagers beds then the iron golems do not spawn there. Even 1 block outside that platform (where the spawnable space is under an obstructing block) will not spawn a golem.

      If I remove a single obstructing block which is above spawnable space, then a golem will spawn on the respective space.

      I have also tested by replacing the beds under the villagers with solid blocks... then adding a solid block "roof" above the villagers... and walls/fences on that roof to prevent golems spawning above the villagers... to no avail, golems still do not spawn beneath the villagers on the spawnable space if there is an obstructing block somewhere above the spawnable space.

       

      Reproduce

      • Create a new single or multiplayer or server vanilla world (optionally in creative for ease).
      • Go to a height where there are no obstructions and build farm like the attached picture (aside from the actual farm... only air in all directions within the spawn limits as defined in the wiki)
      • Make the game night, spawn 3 villagers on their beds and let them sleep
      • spawn the zombie on it's platform
      • Regarding the platform of spawnable space beneath the villagers ... it has the required 3 air directly above the solid block, it simply has an obstructing block  somewhere above that space but within the spawn limits

       

      Expected Result

      An Iron golem spawns on block of spawnable space as per wiki even though there are obstructing blocks above the spawnable space (valid spawning criteria of 3 air blocks above a solid block)

      Actual Result

      Iron golems don't spawn at all. Ran the single player world for 1 hour ... no golems.

       

      Additional info

      IMPORTANT: I have placed blocks anywhere else within the spawn limits and without an obstructing block above that space ... and golems do spawn, so it's not a case of "villagers can't see zombie and aren't panicking" or something to that effect

      I attempted making the platform 1 block lower (4 air above solid blocks) ... same results... can't go lower than that, as it goes beyond the spawn limits.

      Tried all sorts of different other obstructing blocks which can prevent golem spawning on spawnable space:

      • Obstructing blocks do not include blocks with a solid top surface - they appear to specifically be blocks that an iron golam cannot spawn on top of (despite the spawnable space being beneath that obstructing solid block)
        • i.e. if I place a column of solid blocks above the spawnable space - then the iron golem will correctly spawn in the spawnable space
      • The spawnable space can be anywhere inside the spawn limits - but an obstructing block would be somewhere in the column above that valid space
        • That obstructing block must not be too high above the spawnable space, it must be within spawn limits - i.e. < = within the16x13x16 spawn limits
      • If I place the obstructing block higher than the spawn limits then golems will spawn in the spawnable space - i.e if there is only AIR above that spawnable space, then golems will correctly spawn there.

       

      Attachments

        1. failing-golem-spawn-example.png
          failing-golem-spawn-example.png
          512 kB
        2. failing-iron-farm.png
          failing-iron-farm.png
          559 kB
        3. golems-cannot-spawn.png
          golems-cannot-spawn.png
          399 kB
        4. Screenshot from 2022-05-20 16-37-27.png
          Screenshot from 2022-05-20 16-37-27.png
          1.09 MB
        5. special-case.png
          special-case.png
          409 kB

        Activity

          People

            Unassigned Unassigned
            kristiani Kai
            Votes:
            7 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              CHK: