Howdy folks!
I've seen a lot of people recently complaining that the hostile mob spawn rate is low, really low, and I think I have a suggestion that might help, at least a bit.
Disclaimer: Some of the these observations come from single player. They should be the same in multiplayer, but it might be worth testing just in case
First a bit of context so hopefully you can understand what I'm on about...
Minecraft only processes entities in chunks which have a 5x5 area loaded around them. Meaning on the server with the render distance at 5 only chunks 3 away from players process entities. The other chunks (4 and 5 chunks out) are loaded, but don't process entities. We call them lazy chunks.
Lazy chunks have some properties similar to other loaded chunks:
- Entities aren't counted in the f3 screen
- Mobs can spawn in them
- Mobs in lazy chunks count toward the mob cap
But!
Because they don't process the entities mobs in lazy chunks never despawn. Unlike in other loaded chunks where mobs get a chance to despawn every so often if no player is within 32 blocks.
To spell out the problem, if a player is afk or doesn't move around much hostile mobs will accumulate in lazy chunks around them, filling up the mob cap, and blocking spawns for other players.
My suggestion is to periodically kill off all hostile mobs that are between 4 and 5 chunks away from players (i.e. in lazy chunks) to empty the hostile mob cap and allow new spawns. Perhaps this could be done with the item clear.
There is an issue with this, using this /kill command doesn't appear to work because the mob death doesn't actually get processed in lazy chunks. Teleporting them downwards into the void doesn't work either for the same reason. The easiest sure fire way that I could come up with is to teleport them into the void under an entity processing chunk (e.g. spawn).
Anyway, that's all folks, bye!