1

Consider the 3x3 crafting grid. Many recipes, such as placing 4 wooden planks in a 2x2 square, produce a new item as output. Others, such as placing a splash potion of Instant Health 2 by itself in the center of the crafting table, do not produce any output. I'm curious as to what fraction of all possible crafting recipes in the game are currently used, i.e., they cause an item to appear in the 3x3 crafting menu's output slot.

The number I am looking for is:

p = r/n

Where p is the answer to my question, r is the number of distinct crafting recipes in the game that yield an item, and n is the the total number of possible distinct crafting recipes in the game using all existing items.

I am only interested in the 3x3 crafting menu accessible via the in-game crafting table. Recipes that require a furnace or a brewing stand, for example, do not contribute to the above variables.


To help demonstrate what I'm looking for, imagine that the only items in the entire game are oak planks, crafting tables, oak slabs, and oak stairs. In this case, the answer to this question would be:

n = 59-1 = 1,953,124

r = 4 + 3 + 2 + 1 = 10

p = 10/1,953,124 = 0.000512%

Explanation: each of the crafting table's 9 slots can have 1 of 5 states: either one of the four items I included in this thought experiment, or empty. We subtract one because the output is assumed to be empty when all slots are empty.

There are 4 recipes which yield a crafting table, 3 which yield slabs, 2 which yield stairs, and 1 which yields a barrel (upcoming in 1.14; you can decide for yourself whether to include items added in 1.14 in your answers).

Note that the recipe for the composter is not included as I am only interested in the Java edition, in which the recipe for the composter requires fences.

If we modify this thought experiment to also include birch planks, slabs, and stairs, the new numbers become:

n = 99-1 = 387,420,488

r = 4*(24) + 2*(3 + 2) + 28 = 330

p = 330/387,420,488 = 0.000085%

Explanation, part 2:

We have added 4 new blocks for a total of 9.

Each of the four blocks used to in the crafting table's recipe can now be either oak or birch planks. The stairs and slabs cannot mix wood types, so their number of recipes is simply doubled. Each of the 8 blocks (planks and slabs) used in crafting the barrel can also be either oak or birch.


In response to Fabian Röling's answer, please ignore additional data on items such as:

  • Name tags
  • Enchantments
  • Contents of written books
  • Player head ID
  • Map content and ID
  • Contents of shulker boxes
  • Banner Patterns
  • Color of leather armor

These do not count as distinct items for the purpose of this question. However, different colors of banners and shulker boxes still count as different items.

Also do not count items that are not obtainable in vanilla Minecraft without the use of commands, glitches, or hacks.

  • 2
    It seems to me you know the math and you only want two inputs: # of distinct items in MC, # of existing recipes. I think you can get both yourself from the wiki. – Dan Bron Apr 15 at 1:19
  • @DanBron I will probably eventually self-answer if no one else does. – ApproachingDarknessFish Apr 15 at 2:08
1

The result will be 0 on any normal calculator. You'll need something like Java's "BigDecimal" to even have a hope of calculating it. And even then it might just be 0.

This question goes way deeper than you probably expect:

  • There are many different banner patterns. There are limits of everything, but you still have (in theory) 3150000000000000 different patterns to choose from.
  • You can name items. With the full Unicode range this gives you 1114112^35~4*10^211 different names.
  • This is all nothing compared to written books. The number of possible written books is more difficult to determine, because you have a line length limit, but it's probably somewhat around 10^70000. But you can't actually use most of those, because most will be so dense with Chinese characters that they actually cause an error in the world saving process, which can make worlds unjoinable or reset chunks, among other things.
  • Maps can encode big areas of a world, each with a lot of different blocks in them. The more I progress in this answer, the less sure I am of my numbers, but a wild guess puts the number of possible maps on the rough order of 10^40000, potentially a lot more. It depends on what of the world is actually stored in them.
  • You can fill shulker boxes, each slot can contain everything except a shulker box, giving you a number of possible items that is probably somewhere in the area of 10^2000000.
  • And who knows, maybe there are some bugs that allow you to put shulker boxes into shulker boxes or to get chests with content or to use structure blocks or whatever, or maybe your question already includes those Creative-only items. If that's the case, then you could get a theoretically infinite amount of different items. Then it becomes a matter of implementation how much NBT in one item still works without crashing the game.

So my final answer… doesn't fit into the character limit of a StackExchange answer. And I can't even post it into Pastebin, it's too long for that as well. So I'll round a tiny bit and say that your final value for p is:

0

  • "so i'll round a tiny bit" made me crack up. also; if there are that many possibilities, then props to Microsoft and the Recipe book. being able to scan through all of these numbers and say which ones a player has and hasn't found, then giving a menu item? mass respect. – EarthToAccess Apr 15 at 3:53
  • It just unlocks crafting recipes based on what items you have. And it's not always the case that you can actually craft it then, for example you unlock boats when you touch water, no matter if you have wood. – Fabian Röling Apr 15 at 5:10
  • Also I'm pretty sure that Microsoft didn't invent the recipe book. They don't influence MCJava a lot and that's good, considering the state of MCPE, where they do that. – Fabian Röling Apr 15 at 5:17
  • BTW, the actual final answer is probably somewhat around 10^-20000000. Typing that out as "0.000…1" would require about 20MB of space. And that doesn't even include bugusing or Creative. – Fabian Röling Sep 15 at 15:14

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.