14

I was trying to create a small village in Minecraft. As I am in Single Player and wanted some neighbours, I spawned a few NPC villagers using spawn eggs.

Even though they are good neighbours (they don't play the music too loud and don't argue with their wives), they won't spend the night in any of the houses I built.

Buildings are very basic structures made of wooden planks with a wooden door (I read on the Wiki it was the door that made the house for NPCs). Am I missing something? How can I decide my NPCs to live in the houses I made? Do I need to build a real estate agency (;-D)?

14

You are using version 1.1, and new villager behaviour, including populating player-built houses, is not implemented until the 12w07a snapshot. This will be included in the 1.2 release.

If you are running a new enough version, a house is a structure:

  • made of planks, with walls, floor and ceiling.
  • with a door.
  • (Ping for the active bounty) - I don't suppose you know anything about villager mechanics in 1.14? – Robotnik Mar 26 at 23:02
  • @Robotnik Could probably be taken from minecraft.gamepedia.com/Villager - However, I can't do it right now. Check stuff marked with [upcoming: JE 1.14]. – Lily Crimson Mar 27 at 12:54
1

i've done it! it's a little involved, and might not be exactly what you wanted, but here it goes.
according to the wiki, a Villager's Brain NBT tag seems to do the trick. here's the syntax i used that seems to work after 10 tests;

/summon minecraft:villager ~ ~ ~ {Brain:[{home:[{posX:*,posY:*,posZ:*}],dim:*}]}

obviously y'all know what the summon, villager etc. does. lemme explain the NBT;

Brain being the parent is a little self explanatory- it's everything the Villager needs to know it should do.
home is the tag that says the location of the bed. i used the bottom portion of the beds, and it seemed to work each time, so safe to assume that's the master block. you'll need specific coordinates in posX, posY, and posZ instead of "", since i only used "" as a wildcard for the explanation.
dim is the dimension ID that the bed is located in-- 0 for the Overworld.

this is up-to-date for 1.13, and i have not tried this in any snapshots. if anyone wants to test this further in case my results were freak coincidences, or whatever, please feel free to do so.

  • (i should also point out that i haven't found a way to edit an already-existing Villager's information without going directly into the data files for it, which is EXTREMELY tedious unless you somehow know its UUID and so on and so forth.) – EarthToAccess Mar 30 at 21:24
  • Hi @EarthToAccess, while this is useful information regarding spawning villagers using commands, it doesn't really address what constitutes a house for an idle villager, or what changes to housing mechanics will be in 1.14. I.e. If a Villager is spawned naturally, how does it 'decide' what is a house? – Robotnik Apr 2 at 0:11
  • okay, so i did a little more research and as of 1.14, it seems like this is pre-programmed. from the Wiki; All villagers except Nitwit head home a short time before sunset, and Nitwits go home after sunset. They roam around for a while, eventually targeting a block beside their bed. Once they reach it, they will not go through a door again before sleeping. A villager who has no bed simply wanders in search of one it can claim. it seems as if all you need is a bed for it to be claimable as a "house". – EarthToAccess Apr 4 at 0:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.