Uploaded image for project: 'Minecraft (Bedrock codebase)'
  1. Minecraft (Bedrock codebase)
  2. MCPE-174227

Baby villagers with the event born have the wrong skin in some biomes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • None
    • 1.20.30.22 Preview, 1.20.30.21 Preview, 1.19.2 Hotfix, 1.20.12 Hotfix, 1.20.30.24 Preview, 1.20.15 Hotfix, 1.20.30, 1.20.40, 1.20.60.22 Preview, 1.20.50, 1.20.60, 1.20.62 Hotfix
    • None
    • Confirmed
    • Multiple
    • 1093374

      Baby villagers with the event born have incorrect skins in
      the following biomes:

      • Snowy Taiga
      • Mesa
      • Extreme hills
      • Cold ocean

      In Java Edition this behavior is fixed as shown in Entity_born Java Edition.mp4 Note that the Java Edition evidence only checks for villagers who are from the Snowy Taiga biome, the rest of the evidence is only shown in bedrock below Some images with information.

      Mesa biome

      In the image, two villagers are shown, one of them, the one at the top, is a default generated villager without the born event, as you can see, it has the desert skin, which would be the correct one, while the villager generated with the born event is from the plains due to the fact that important parts of the code are missing within this being that the tabletop biome is a desert the villager should have the desert skin.

      Jungle biome ( Works As Intended )

      The villager spawned by default as well as the villager spawned with the born event have the correct skin which would be jungle since they are from the jungle biome.

      Savanna biome ( Works As Intended )

      The villager spawned by default, as well as the villager spawned with the spawn event, have the correct look, which would be from the savanna biome.

      Cold Ocean biome

      In the image two villagers are shown, one of them the one at the top is a default generated villager without the born event as you can see it has the plain skin which would be correct due to the fact that the ocean villagers do not have a skin, while the villager generated with the born event is from the snow biome due to the fact that an important part of the code is missing, since they are not from the frozen ocean biome.

      Swamp biome ( Works As Intended )

      The villager spawned by default, as well as the villager spawned with the born event, have the correct look, which would be from the swamp biome.

      Extreme Hills biome

      In the image two villagers are shown, one of them, the one above is a villager generated by default without the born event, as you can see it has the taiga skin, while the villager generated with the born event is from plains.

      Cold Taiga biome

      In the image, two villagers are shown, one of them, the one at the top is a default generated villager without the born event, as you can see, it has the skin of the snow biome, which would be the correct one because it is an act skin for that biome while the villager generated with the born event is from the taiga biome, which would be incorrect since the value of the snow biome is higher than that of the taiga.

      Steps to reproduce:

      1. Open MCPE-174227.mcworld (I put this to optimize the steps)
      2. Read the indications inside the world

      Expected results:
      Default spawned villagers have the same skin as villagers spawned with the born event.

      This is because of the line of code:

      "minecraft:entity_born": {
              "sequence": [
                {
                  "filters": { "test": "has_component", "operator": "!=", "value": "minecraft:skin_id" },
                  "randomize": [
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_0" ] }
                    },
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_1" ] }
                    },
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_2" ] }
                    },
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_3" ] }
                    },
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_4" ] }
                    },
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_5" ] }
                    }
                  ]
                },
                {
                  "add": { "component_groups": [ "baby", "unskilled", "child_schedule" ] }
                },
                {
                  "filters": { "test": "has_biome_tag", "value": "desert" },
                  "add": { "component_groups": [ "desert_villager" ] }
                },
                {
                  "filters": { "test": "has_biome_tag", "value": "jungle" },
                  "add": { "component_groups": [ "jungle_villager" ] }
                },
                {
                  "filters": { "test": "has_biome_tag", "value": "savanna" },
                  "add": { "component_groups": [ "savanna_villager" ] }
                },
                {
                  "filters": {
                    "any_of": [
                      { "test": "has_biome_tag", "value": "cold" },
                      { "test": "has_biome_tag", "value": "frozen" }
                    ]
                  },
                  "add": { "component_groups": [ "snow_villager" ] }
                },
                {
                  "filters": {
                    "any_of": [
                      {
                        "test": "has_biome_tag",
                        "value": "swamp"
                      },
                      {
                        "test": "has_biome_tag",
                        "value": "mangrove_swamp"
                      }
                    ]
                  },
                  "add": { "component_groups": [ "swamp_villager" ] }
                },
                {
                  "filters": { "test": "has_biome_tag", "value": "taiga" },
                  "add": { "component_groups": [ "taiga_villager" ] }
                }
              ]
            },
      

      here is the solution for this is:

            "minecraft:entity_born": {
              "sequence": [
                {
                  "filters": { "test": "has_component", "operator": "!=", "value": "minecraft:skin_id" },
                  "randomize": [
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_0" ] }
                    },
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_1" ] }
                    },
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_2" ] }
                    },
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_3" ] }
                    },
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_4" ] }
                    },
                    {
                      "weight": 1,
                      "add": { "component_groups": [ "villager_skin_5" ] }
                    }
                  ]
                },
                {
                  "add": { "component_groups": [ "baby", "unskilled", "child_schedule" ] }
                },
                 {
                  "filters": {
                    "any_of": [
                      { "test": "has_biome_tag", "value": "desert" },
                      { "test": "has_biome_tag", "value": "mesa" }
                    ]
                  },
                  "add": { "component_groups": [ "desert_villager" ] }
                },
                {
                  "filters": { "test": "has_biome_tag", "value": "jungle" },
                  "add": { "component_groups": [ "jungle_villager" ] }
                },
                {
                  "filters": { "test": "has_biome_tag", "value": "savanna" },
                  "add": { "component_groups": [ "savanna_villager" ] }
                },
                {
                  "filters": {
                    "any_of": [
                      {
                        "all_of": [
                          { "test": "has_biome_tag", "value": "cold" },
                          { "test": "has_biome_tag", "operator": "!=", "value": "ocean" }
                        ]
                      },
                      { "test": "has_biome_tag", "value": "frozen" }
                    ]
                  },
                  "add": { "component_groups": [ "snow_villager" ] }
                },
                {
                  "filters": {
                    "any_of": [
                      {
                        "test": "has_biome_tag",
                        "value": "swamp"
                      },
                      {
                        "test": "has_biome_tag",
                        "value": "mangrove_swamp"
                      }
                    ]
                  },
                  "add": { "component_groups": [ "swamp_villager" ] }
                },
                {
                  "filters": {
                    "all_of": [
                      {
                        "any_of": [
                          { "test": "has_biome_tag", "value": "taiga" },
                          { "test": "has_biome_tag", "value": "extreme_hills" }
                        ]
                      },
                      { "test": "has_biome_tag", "operator": "!=", "value": "cold" }
                    ]
                  },
                  "add": { "component_groups": [ "taiga_villager" ] }
                }
              ]
            },
      

      Observed results:
      Default spawned villagers have different skins than villagers spawned with the born event.

      Note:
      Here I leave Villager Entity_born fix (1.20.30).mcpack which modifies the born event to fix this error.

        1. Cold Ocean.jpg
          Cold Ocean.jpg
          1.10 MB
        2. Cold Taiga.jpg
          Cold Taiga.jpg
          596 kB
        3. entity_born (Part 1).jpg
          entity_born (Part 1).jpg
          1.39 MB
        4. entity_born (Part 2).jpg
          entity_born (Part 2).jpg
          1.35 MB
        5. Entity_born Bedrock Edition.mp4
          4.75 MB
        6. Entity_born fixed (Part 1).jpg
          Entity_born fixed (Part 1).jpg
          1.36 MB
        7. Entity_born fixed (Part 2).jpg
          Entity_born fixed (Part 2).jpg
          1.37 MB
        8. Entity_born Java Edition.mp4
          5.38 MB
        9. Extreme Hills.jpg
          Extreme Hills.jpg
          936 kB
        10. Jungle.jpg
          Jungle.jpg
          1.09 MB
        11. MCPE-174227.mcworld
          154 kB
        12. Mesa.jpg
          Mesa.jpg
          823 kB
        13. Savanna.jpg
          Savanna.jpg
          1.09 MB
        14. SpawnEvent inconsistency.jpg
          SpawnEvent inconsistency.jpg
          1.59 MB
        15. Swamp.jpg
          Swamp.jpg
          1.11 MB
        16. Villager Entity_born fix (1.20.30).mcpack
          39 kB

            Timer RP Timer RP
            Votes:
            8 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              CHK: