The can_summon block state is set to false when upgrading sculk shriekers from 22w11a or 22w12a to 22w13a. For this reason, shriekers that were naturally generated in the deep dark biome suddenly stop working after updating to a later snapshot.
Since there is no way to distinguish between naturally-generated and player-placed blocks, one possible fix would be setting the can_summon block state to true, if this state is missing from the block data.
Shriekers could not be obtained or relocated in Survival mode before 22w13a, so fixing this would not allow players to place Warden spawners in unintended locations.
How to reproduce
- Open 22w12a.
- Generate a world with the seed set to test
- Run the command /execute in minecraft:overworld run tp @s -985.30 -41.00 1257.85 -376.81 -0.00
- The sculk shrieker, generated as part of the deep dark biome, can summon Wardens.
- Load the same world in 22w13a.
- can_summon is set to true. The sculk shrieker should still be able to summon Wardens, as it was placed by the world generator.
- can_summon is set to false. The sculk shrieker can't summon Wardens anymore, despite it being placed by the world generator.