Uploaded image for project: 'Minecraft: Java Edition'
  1. Minecraft: Java Edition
  2. MC-91316

'Mending' is impossibly rare

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Minecraft 15w44a
    • Minecraft 15w43c
    • None
    • Confirmed

      EDIT

      So here's the scoop.

      It's impossible to get a Mending book from a loot chest or from fishing in 15w43c. The reason is that it requires a >30 level enchant, and all the LootTables in the world (e.g. dungeon chests, fishing, ...) only enchant with level 30, except for end cities, which enchant from 20-39. But End Cities do not have books among their loot!

      So the only way to get a Mending book today is via villager trading. This will just drive everyone away from exploring, since the best loot cannot be found via exploration. This is probably not intended.

      I don't know the exact Mending calculations, but some I ran some simulations with custom DeathLootTables to discover that Mending books are about...

      0.0% of books enchanted at level 30
      0.6% of books enchanted at level 20-39
      4.0% of books enchanted at level 40

      At the end of the day, it should somehow be possible (but rare) to obtain this book from world exploration. There are a variety of knobs available (loot table level min/max, overall behavior of Mending as treasure enchant, weight-likelihood of books in chests, ...) for devs to tweak this to be the 'right' level. But I'm guessing 'zero' was not the intended level, and that's where we're at now. (Beware the interplay; e.g. level 40 makes Mending 'reasonable' but 'Frost Walker' become vanishingly rare.)


      ORIGINAL

      I did an experiment to see what the distribution of enchanted books from dungeon chests was like. It is not good:

      1 Projectile Protection
      12 Silk Touch
      21 Feather Falling
      31 Infinity
      38 Thorns
      39 Fortune
      41 Punch
      42 Blast Protection
      42 Luck of the Sea
      45 Fire Aspect
      46 Lure
      48 Aqua Affinity
      48 Respiration
      48 Flame
      49 Looting
      60 Frost Walker
      68 Depth Strider
      98 Fire Protection
      104 Smite
      115 Knockback
      129 Bane of Arthropods
      134 Unbreaking
      193 Sharpness
      232 Protection
      233 Efficiency
      247 Power
      1174 books

      Over 1100 books, and no Mending! There's "super rare", and then there's "no one will ever get it".

      If you want to test the distribution yourself, here is a command block program to help:

      Make a 'The Void' world. Put this loot table

      {
          "pools": [
              {
                  "rolls": 27,
                  "entries": [
                      {
                          "type": "item",
                          "name": "minecraft:book",
                          "weight": 1,
                          "functions": [
                              {
                                  "function": "enchant_with_levels",
                                  "levels": 30,
                                  "treasure": true
                              }
                          ]
                      }
                  ]
              }
          ]
      }
      

      in "WORLD\data\loot_tables\ns\folder\mine.json"

      Run

      summon ArmorStand 0 4 0 {NoGravity:1}
      

      Then make a loop that runs

      /execute @e[type=ArmorStand] ~ ~2 ~ setblock ~ ~ ~ chest 0 replace
      /execute @e[type=ArmorStand] ~ ~3 ~ setblock ~ ~ ~ hopper 0 replace
      /tp @e[type=ArmorStand] ~2 ~ ~
      /execute @e[type=ArmorStand] ~ ~4 ~ setblock ~ ~ ~ chest 0 replace {LootTable:"ns:folder/mine"}
      

      for a few seconds. Then wait a few seconds for hoppers to suck out all the books into the lower chests. Now analyze all the books.

            dinnerbone [Mojang] Nathan Adams
            brianmcn Brian McNamara
            Votes:
            39 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved:
              CHK: