Occasionally at night some of my NPCs are dyining from mobs.

Take a loot at this screenshot:

  • I've house build in the air
  • It's not too high (no wyvern spawns unless I fly too much up)
  • Everything is build from wood and wood walls are everywhere.

From what I understood, mobs shouldn't be spawning inside. Yet, something kills my NPCs. On screenshot you can see a zombie inside enclosed area, I didn't let him in myself, how did he gets in?

I guess it could be wrathes who spawn on the roof and go through walls killing them, right?

Could be something else? NPCs dying not so often and I am playing as summoner, so I don't even see what kills them (my summons kill whatever it was before I saw it).

My question: how do I prevent NPCs from dying due to mobs somehow reaching them?

I am sure there was duplicate (but more general one, focusing on active protection), anyhow I read this one and that another one (which I can't find).

1 Answer 1


Yes, I would also assume wraiths are the only enemies that could possibly kill your NPCs during a blood moon. The best way to stop wraiths from killing npcs is to make sure their houses are 6+ tiles above any flat surface. Of course it's still possible for Wraiths to spawn on top of the houses and damage your NPcs as they "fall through" the house. You could always fight the blood moon in an arena that's sufficient distance away from your NPCs

From the wiki

Enemies can even spawn near NPCs and their houses, whereas those usually suppress enemy spawns. Player-placed walls are not necessarily safe during this event.

During a blood moon enemies are allowed to spawn inside your placed walls, which is why that zombie is in there.

  • Thanks. You have explained everything: zombie spawn and npcs dying due to wraiths. I'll try to build wood walls layer on the roof (without extra floor on top), I hope that would count as "player-wall" and since there would be no solid block that might stop them from spawning on the roof.
    – user135338
    May 25, 2020 at 7:02

You must log in to answer this question.