Oops I meant average of the three dimensions, not the volume. So a slab has an average size of (1+1+0.5)/3 > 35/48, so pillagers don’t spawn inside slabs. For a block of 1 width and 1 height, this means only blocks with height <=3/16 are affected, so carpet, lily pads and snow layers.
This also means pillagers can spawn with their head inside leaves
Code analysis:
This is due to the fact that for regular mob spawning, noCollision is checked inside isValidSpawnPostitionForType in net\minecraft\world\level\NaturalSpawner.java, but for pillager patrol spawning this is not checked inside PatrolSpawner.java.
The blocks pillagers can spawn in are restricted by these conditions:
Block light level must be <=8 (checkPatrollingMonsterSpawnRules in net\minecraft\world\entity\monster\PatrollingMonster.java)
Conditions of net\minecraft\world\level\NaturalSpawner.java: isValidEmptySpawnBlock
The block must not be a full block
It must not be a redstone component
It must not be a fluid
It must not be inside #minecraft:prevent_mob_spawning_inside (which is currently just rails)
It must not be dangerous to the pillager (so not a wither rose for example)
It must be one above the top block of the MOTION_BLOCKING_NO_LEAVES heightmap, so the block the pillager spawns in must be ignored by this heightmap. It is defined in net\minecraft\world\level\levelgen\Heightmap.java
This returns the first block which is either a fluid or a motion blocking block which is not a leaf.
blocksMotion() is defined as
@Deprecated
public boolean blocksMotion() {
Block $$0 = this.getBlock();
return $$0 != Blocks.COBWEB && $$0 != Blocks.BAMBOO_SAPLING && this.isSolid();
}For isSolid(), blocks which volume < 35/48 and height < 1 are ignored, as well as ladders, snow layers, chorus flowers/plants, (flowering) azaleas, end rods and big dripleaf.
I’ve verified pillagers can spawn inside azalea using the command /execute as @e[type=minecraft:pillager] at @s run tellraw @a [{"selector":"@s"},{"text":" at "},{"nbt":"Pos","entity":"@s"}].
I’ve also verified pillagers can spawn inside lily pads
This means pillagers can spawn inside snow layers up to 7 layers (tested), inside carpets, inside azaleas, etc.
This also applies to beacon, glowstone, sea_lantern, froglight, respawn_anchor, shroomlight. So the issue is more inconsistent behavior: there is no clear rule for when a light-emitting block with level >=14 is spawnable or not spawnable.
Not in survival mode. You can put any enchantment onto anything in creative mode, that’s a feature.
This bug has never been fixed
Can confirm in 1.21.132
Can confirm in 1.21.132
Can confirm in 1.21.11
I am still active, I still get the emails from every change on the bug report haha. But it's fine if some else takes ownership
This doesn't always happen. You can for example watch other players in spectator mode by clicking on them. Or you can move around or right click. Middle click crashes the game. chat and commands don't. But the game crashes when trying to tp to them with the number keys
Can confirm for 22w42a
Confirmed for 22w15a
Seems to be fixed for 21w15a. I added two screenshots of the same world
Not sure about the indev world but doesn't matter too much, if the 1.17 updating is fixed.
Hmmhm I thought I added the world before upgrading
Edit yeah I did, I just didn't mark it properly. The world before updating is in the attachments
Confirmed for 1.18.2
Confirmed for prerelease 3
Still in release candidate 1
Still in release candidate 1
Oh yeah it is. Sorry the search functionality of the bug tracker is quite horrible so I didn’t find this other issue.