Right… I think I figured it out. Are you sitting comfortably?
So another player was near your build and they caused a creature to spawn underneath your build.
They then logged off and the creature was recorded (in case they log back in)
You then started to build your house.
They logged back in causing the creature to respawn.
But the creature would now be underground so it gets pushed up to the surface.
When we do the beacon check I was using the pre-surface position (which is underneath your beacon and so does not fail like it should)
It was the combination of 2 bugs:
- I did find a bug which let the creature spawn so close to you. So that hopefully should stop anything spawning while you are in your house.
- The beacon check now uses the final position of the entity after it has been pushed to the surface. This was only a problem when we were reloading the entity. Normal entity spawns already do this.
I think I’ll also increase the amount of blocks we search below the entity for plots from 1 to 3 so there is less chance of creatures spawning on a stray block above the beacon.