A Minecraft farmer-type villager standing inside the composter, with his crops nearby.

The latest Minecraft update, “Village and Pillage,” has completely revamped villager professions and trading, and made major changes to the village structures as well. Each profession now has a work site defined by a block like a stone cutter, or a loom, or a composter, etc. and unemployed villagers will try to fill jobs based on what’s available.

Now, Minecraft has always been (in my experience, anyway) pretty good about upgrading existing worlds as the game engine changes.

  • Unexplored areas will generate using new rules.
  • Previously explored areas will remain the same, except…
  • Specific blocks will convert as needed (ex: if you built a generic wooden fence before they introduced fences for each type of wood, it will convert to an oak fence.)
  • All areas will start operating on new rules.

Normally this works great! But can you see the problem with villages?

Yeah. The villagers operate on the new rules, which means they need work sites to do their jobs, but the existing villages were built without any workstations.

So the village near my current base suffered an economic collapse, or perhaps an attack of existential mass ennui, leaving every villager unemployed.

Fortunately, all the new workstations are craftable. Even the ones that the player can’t use yet. So I spent some time on the wiki, writing down the ingredients I needed, went back to my base, crafted all of the ones I could, and started placing them around the village.

And it worked! Pretty soon I was able to trade with a farmer, librarian, fisherman, butcher, cartographer, etc. I’m still waiting for some of the unemployed villagers to pick up jobs. Maybe they need to actually walk close enough to the job sites or something?

Anyway, here’s the list of ingredients I put together based on the wiki article on villagers. You can get the crafting recipes from the wiki or in the game from the recipe book:

Minecraft Villager Job sites

Job Site Block Profession Ingredients
Blast furnace Armorer 5 iron ingots, 1 furnace, 3 smooth stone
Smoker Butcher 4 logs, 1 furnace
Cartography Table Cartographer 2 paper, 4 planks
Brewing Stand Cleric 1 blaze rod, 3 cobblestone
Composter Farmer 4 fences, 3 planks (Java) or 7 planks (Bedrock)
Barrel Fisherman 2 wooden slabs, 6 planks (Java) or 2 wooden slabs, 6 sticks (Bedrock)
Fletching Table Fletcher 2 Flint, 4 planks
Cauldron Leatherworker 7 iron ingots
Lectern Librarian 4 wooden slabs, 1 bookshelf
Stonecutter Mason 1 iron ingot, 3 stone
Loom Shepherd 2 string, 2 planks
Smithing Table Toolsmith 2 iron ingots, 4 planks
Grindstone Weaponsmith 1 stick, 1 stone slab, 2 planks

(Yes, a few of these are actually different in Bedrock Edition and Java Edition! I don’t know why Mojang would deliberately introduce differences in something as basic as crafting recipes, but apparently they have.)

Depending on how you play the game, you may never need to do this. If you generate new worlds all the time, or if you’re happy to just pull up stakes and move to a new area in the same world, you’ll encounter the updated villages to start with. But if you play like I do – explore the same world slowly, digging in, building up and establishing bases as I go – you’ll be glad to know that this works to manually upgrade your villages.

The free TLS certificate provider Let’s Encrypt automates the request-and-setup process using the ACME protocol to verify domain ownership. Software on your server creates a file in a known location, based on your request. The certificate authority checks that location, and if it finds a match to your request, it will grant the certificate. (You can also validate it using a DNS record, but not all implementations provide that. DreamHost, for instance, only uses the file-on-your-server method.)

That makes it really simple for a site that you want to run over HTTPS.

Redirected sites are trickier. If you redirect all traffic from Site A to Site B, Let’s Encrypt won’t find A’s keys on B, so it won’t issue (or renew!) the cert. You need to make an exception for that path.

On the Let’s Encrypt forums, jmorahan suggests this for Apache:


RedirectMatch 301 ^(?!/\.well-known/acme-challenge/).* https://example.com$0

That didn’t quite work for me since I wanted a bit more customization. So I used mod_rewrite instead. My rules are a little more complicated (see below), but the relevant part boils down to this:


RewriteEngine On
RewriteBase /

# Redirect all hits except for Let's Encrypt's ACME Challenge verification to example.com
RewriteCond %{REQUEST_URI} !^.well-known/acme-challenge
RewriteRule ^(.*) https://example.com/$1 [R=301,L]

These rules can go in your server config file if you run your own server, or the .htaccess for the domain if you don’t.

Continue reading