Minecraft: XP Furnace Design

Back in the days of Minecraft’s 1.15 patch, I shared this picture on Twitter:

This is something I was working on in a creative world for a collaborative server space. What I wanted to make was an XP Furnace system that could be used for players who needed to repair their mending equipment conveniently, something that just worked on its own over time. This design was made to be tileable, where each piece could be put directly next to one another without interfering with one another, and to be user approachable. I didn’t want a user to have to do anything with it – just let them take the stuff out of the furnace and get the XP that the furnace had in it was the ideal.

This was based on an old video of Xisumavoid’s from Hermitcraft – but that was from 1.13, and either the documentation missed a detail or I misunderstood something about it, or maybe the rules changed. I don’t think this design is going to change much going forwards – but we’ll talk about changes it’s gone through.

But first, let’s look at this design so you can make your own or improve on it.

This is the design, with the background all faded out, to make it a bit clearer what is going on here. This design is symmetrical, and the space the players are going to be moving around is on the andesite. This is also two designs, facing each other, flipped, so it’s tileable that way too, creating a long hallway with these XP Furnaces on either side.

Here’s a single module from the design with some components highlighted:

Now, I think with this, you should be able to reconstruct it entirely, but you might not understand why it’s doing things the way it’s doing them. I’ll try to break it down into pieces, so you understand the components. Note that both pistons are not sticky, dangit I knew I’d miss something on the diagrams.

Note, I am not sure how colourblind friendly this outlining is. If you have a problem with them and can see a way to do it differently, please let me know.

First up, this is the furnace and the inputs.

The button is where it is, and you can place it on the face of a furnace by pressing shift. The facing of the furnace is important, though, because of the sides the hoppers can feed. You need to put fuel in the back, and you need to put the thing you want the furnace to cook in front.

All a player needs to do is take things out of the furance, and press the button. When they do, the output tube will start to empty, and everything will run through the furnace until all that stuff is emptied out.

This output channel is the thing where all the built-up goods from the furnace end up. The end of it should connect to some kind of disposal channel. By making it the length it is, this furnace should be able to totally cook 11 stacks of something before it stops. That 11 stacks is almost perfectly all the XP you need to repair a diamond mending item to full.

Note that the bends in the output are important so the comparators can notice when things move through them. One of the funny things about hoppers is that they’re super aggressive about pulling things down; if there’s a hopper directly below a hopper, a compartor won’t notice anything passing through the uppermost hopper.

That means you need the bend, to make sure that the comparator has a moment to notice, and the hopper notices it’s powered? Weird?

This is the ‘default’ position of the system. The cauldron, which is full of water, feeds the comparator power, and that power keeps that second hopper locked. When you press the button on the furnace, it powers all the blocks around it for a moment, including the hopper below it. The observer sees it, and powers the piston behind it. It powers it twice – when the hopper locks and unlocks – which is why we use a plain piston to push the cauldron, so it being powered pushes twice but doesn’t go on/off, like it would if it was sticky.

Anyway, you push the button, and this system will unlock that hopper…

And then, this system down here, this notices when stuff stops flowing through the hoppers. It’ll notice when the first piece arrives – and power the piston – but at that point, the piston above it is still holding the cauldron in place.

Notice that the comparator is sitting on top of an observer. That observer is part of a chain that feed up into the piston. Like a little U shape.

And that should work just fine.

Now this was designed back for 1.15, when there were super-productive (and super noisy) sugarcane and cactus farms that broke production rates. This is not how things are any more – and furnaces like this are going to need to rely on different fuel sources and different cookable supplies. You can use blasting chambers to create a pile of cobblestone, that’s easy, and you can use a large sugarcane farm to fuel it – or you know, you can get really cute with things like tree farms to make coal, or even just use it manually, without necessarily having the whole thing automatically fed.

If you need to know the ‘right’ amount of cooked item for this, the specific target item is 1600 pieces of Green Dye. If you want to use console commands to test this, the furnace needs to have this data:

minecraft:furnace[facing=north,lit=false]{CookTime:0s,BurnTime:0s,Items:[{Slot:2b,id:"minecraft:green_dye",Count:1b}],CookTimeTotal:200s,RecipesUsed:{"minecraft:green_dye":1600}}