mojira.dev
MCPE-47596

Passive Mobs Can Spawn On Most Blocks

Normally passive mobs are only able to spawn on grass blocks, this bug allows them to spawn on almost anything. Mobs that i know are affected include: Llamas, horses, turtles, polar bears, and rabbits. Below you can find the specifics for each mob, and how to reproduce.

Llamas:
In a savanna biome, its easy to find packs of llamas spawning on most blocks, above ground. blocks tested include: Stone, cobble, smooth stone, quartz, wood, iron blocks, clay, beacons.

Horses:
Also in a savanna biome, you can find horses spawning on the same things llamas spawn on(as far as i have tested)

Turtles:
in beach/ocean biomes, turtles have been seen spawning on block platforms above water. They can spawn on the same things as llamas (as far as i have tested)

Polar bears:
In snowy tundra biomes, polar bears can spawn on most blocks. Some think that snow layers affect the things they spawn on, it does not. They can spawn on the same things regardless of it having snow layers, or not. They spawn on the same things as llamas (as far as i have tested)

Rabbits:
Pretty much the exact same as polar bears, nothing special here.

General guide on how to reproduce:
1. Load up a normal world in creative, in peaceful mode, mob spawning off, and daylight always on.
2. Find the biome you need for the mob you want to test.
3. Fly up to y150, use /fill ~30 150 ~30 ~-30 150 ~-30 stone
4. Fly up to y180, turn mob spawning on. Wait, a longgg time. Passive animal spawns are very slow.
5. Use /kill @e often to clear out the cap, and use the fill command to switch out the blocks for what you want to test.
6. You will see the mobs listed, spawn on the blocks listed.

expected results
Animals like llamas and horses, should only spawn on grass.
Turtles should be limited to sand, maybe grass, and what ever else they normally spawn on.
Polar bears/rabbits should be limited to grass, snow blocks, and ice variants. Along with whatever else they normally would spawn on.

You can see some demonstrations of these bugs here: https://youtu.be/ymgbqpCAOMQ

Also, yes, this is technically a duplicate of MCPE-39727 i was told by auldrick and mega_spud to make a new report for this issue.

Related issues

Attachments

Comments

migrated
[media][media][media][media][media][media][media]
migrated

The in-game spawn rules for the mobs mentioned are in line with how they are actually spawning. I have attached the spawn rules for the llama as an example and It states that in plains biome they will only spawn on grass but in the savanna biome there is no block filter, so they can spawn anywhere. The other mobs mentioned are also spawning as declared in their specific spawn rules.

There is an actual bug with the spawn on block filter that I reported in MCPE-46126 which could be part of the underlying problem but doesn't affect blocks like grass or sand.

silentwisperer

But llamas don't spawn in plains biomes :frogthink:

Thank you for looking into the code here, i expected there to not be a filter for these mobs, hence them spawning on anything. That would be the source of this issue:3 If a dev could weigh in on this, that would be great! 😃

migrated

Totally my bad there. I was looking at the horse file while typing about the llama. what I said actually applies to the horse not the llama. 

if you look at the llama file i attached it actually says (yes this time I'm looking at the right file) 🙂

extreme_hills => spawn on grass

savanna => (no filter) spawn on anything. 

silentwisperer

Words are hard haha, types are my old friend >.< My testing confirms that extreme hills is working for llamas too. Only ever got them on grass blocks. And if anything, that should be the one biome where they do spawn on stone/gravel etc lol.

migrated

From all the things I've been playing with the spawn rules work great (except for MCPE-46126). Now, whether they be right or wrong is another issue and it's just json file updates to change it. (over simplifying of course)

[Mojang] Mega_Spud (Jay)

Is this still an issue in 1.12 and 1.13 beta?

migrated

Yes it is still an issue and it has actually become worse.

there are still the block check problems and since 1.13.0.9 a biome check bug has been introduced MCPE-51193

silentwisperer

Yes, still an issue in 1.12.1!

Auldrick

In a savanna, I tried additional solid opaque blocks: sandstone, logs, bookshelves, crafting table, and fletching table. Llamas and horses can spawn on any of them. The only blocks I tried that they couldn't spawn on were glass blocks, composters, rails, and redstone components, none of which are solid opaque blocks.

I have now verified the other mobs and biomes. I think it's safe to say that llamas, horses, turtles, polar bears, and rabbits will all spawn on any solid opaque block. I'm not even sure the biome matters, for those that can spawn in multiple biomes.

migrated

Still Broken in 1.13.0.18

migrated

Still Broken in 1.14.0.1

migrated

Still issue through 1.14.60. Looking at the behavior pack resource from Minecraft.net Llamas do a block check in Extreme hills for Grass but the Savanna does not have this block check. Reference: Vanilla Behavior Pack 1.14.3>Spaawn Rules>llama json opened in Notepad++ line 11 minecraft:spawns_on_block_filter": "minecraft:grass"

 

lines 29 through 46 for savanna:

{
"minecraft:spawns_on_surface": {},
"minecraft:brightness_filter": {
"min": 7,
"max": 15,
"adjust_for_weather": false
},
"minecraft:weight": {
"default": 8
},
"minecraft:herd": {
"min_size":4,
"max_size":4
},

"minecraft:biome_filter": {
"test": "has_biome_tag", "operator":"==", "value": "savanna"
}

migrated

Identical issue for horses:

 

"format_version": "1.8.0",
"minecraft:spawn_rules": {
"description": {
"identifier": "minecraft:horse",
"population_control": "animal"
},
"conditions": [
{
"minecraft:spawns_on_surface": {},
"minecraft:spawns_on_block_filter": "minecraft:grass",
"minecraft:brightness_filter": {
"min": 7,
"max": 15,
"adjust_for_weather": false
},
"minecraft:weight": {
"default": 4
},
"minecraft:herd": [
{"min_size":2, "max_size":6, "event":"minecraft:make_white"},
{"min_size":2, "max_size":6, "event":"minecraft:make_creamy"},
{"min_size":2, "max_size":6, "event":"minecraft:make_chestnut"},
{"min_size":2, "max_size":6, "event":"minecraft:make_brown"},
{"min_size":2, "max_size":6, "event":"minecraft:make_black"},
{"min_size":2, "max_size":6, "event":"minecraft:make_gray"},
{"min_size":2, "max_size":6, "event":"minecraft:make_darkbrown"}
],

"minecraft:biome_filter": {
"test": "has_biome_tag", "operator":"==", "value": "plains"
}
},
{
"minecraft:spawns_on_surface": {},
"minecraft:brightness_filter": {
"min": 7,
"max": 15,
"adjust_for_weather": false
},
"minecraft:weight": {
"default": 1
},
"minecraft:herd": [
{"min_size":2, "max_size":6, "event":"minecraft:make_white"},
{"min_size":2, "max_size":6, "event":"minecraft:make_creamy"},
{"min_size":2, "max_size":6, "event":"minecraft:make_chestnut"},
{"min_size":2, "max_size":6, "event":"minecraft:make_brown"},
{"min_size":2, "max_size":6, "event":"minecraft:make_black"},
{"min_size":2, "max_size":6, "event":"minecraft:make_gray"},
{"min_size":2, "max_size":6, "event":"minecraft:make_darkbrown"}
],

"minecraft:biome_filter": {
"test": "has_biome_tag", "operator":"==", "value": "savanna"
}
}
]
}
}

migrated

Foxes:

 

{
"format_version": "1.8.0",
"minecraft:spawn_rules": {
"description": {
"identifier": "minecraft:fox",
"population_control": "animal"
},
"conditions": [
{
"minecraft:spawns_on_surface": {},
"minecraft:brightness_filter": {
"min": 7,
"max": 15,
"adjust_for_weather": false
},
"minecraft:weight": {
"default": 8
},
"minecraft:herd": {
"min_size": 2,
"max_size": 4,
"event": "minecraft:entity_born",
"event_skip_count": 2
},

"minecraft:biome_filter": {
"test": "has_biome_tag", "operator":"==", "value": "taiga"
}
}
]
}
}

migrated

Here is what is in the cow file, which has not been marked as spawning where they shouldn't be:

 

{
"format_version": "1.8.0",
"minecraft:spawn_rules": {
"description": {
"identifier": "minecraft:cow",
"population_control": "animal"
},
"conditions": [
{
"minecraft:spawns_on_surface": {},
"minecraft:spawns_on_block_filter": "minecraft:grass",
"minecraft:brightness_filter": {
"min": 7,
"max": 15,
"adjust_for_weather": false
},
"minecraft:weight": {
"default": 8
},
"minecraft:herd": {
"min_size":2,
"max_size":3
},

"minecraft:biome_filter": {
"test": "has_biome_tag", "operator":"==", "value": "animal"
}
}
]
}
}

migrated

Pillager patrols lack this line of code as well for block checks. Their only checks are for Mooshroom Island, Nether, End.

migrated

Seed: -903036743

Llamas and horses spawning on smooth stone, stone in "cave" due to surface being carpeted.

migrated
[media]
[Mojang] Mega_Spud (Jay)

Resolving issues that were marked as fixed in the 1.15 and 1.16 Betas, now that 1.16.0 is being released.

silentwisperer

(Unassigned)

223553

Community Consensus

Windows

window 10

1.14.0.1 Beta, 1.13.0.18 Beta, 1.11.4, 1.12.1

1.15.0.51 Beta, 1.16.0

Retrieved