Adding extra enchantment level names

I need to create an enchantment higher than 10, but it displays it as enchantment.level with the level of enchantment I applied.

Is there any way to work around this and have roman numerals appear instead (for example, show XI instead of enchantment.level.11)?

Feather Falling enchantment.level.11

The command I used to get this book was:

/give @s minecraft:enchanted_book{Enchantments: [{id: "minecraft:feather_falling", lvl: 11}]}

Solution 1:

Using the power of resource packs, this is possible.

You need a blank resource pack folder to do this. First, make a folder named More Enchantment Levels and place it inside the resource pack folder.

After that, make these folders, with each inside of the last.

  • assets
  • minecraft
  • lang

Then, you can create the actual language file. Put your region code (for example, American English is en_US) and append .lang to it. Open it up in your favorite text editor.

Now we can actually insert the new roman numerals! The default pack has a list of roman numerals from 1-10 for enchantments.

enchantment.level.1=I
enchantment.level.2=II
enchantment.level.3=III
enchantment.level.4=IV
enchantment.level.5=V
enchantment.level.6=VI
enchantment.level.7=VII
enchantment.level.8=VIII
enchantment.level.9=IX
enchantment.level.10=X

Just follow this format to make the new enchantment levels! You only need to put the levels that you're actually going to use.

enchantment.level.11=XI

Save your file and finish setting up the resource pack by adding pack.mcmeta to the base folder. After you do that, you can apply the resource pack in Minecraft.

Give yourself the enchanted book using the command in the original question, and you'll notice that it now shows XI!

Feather Falling XI

This method also works with book generations, too. Before using this trick on book generations higher than 3, it gives this instead of real text:

book.generation.4

Here's the command to get a generation 4 book to see for yourself:

/give @p minecraft:written_book 1 0 {generation:4}

The original generations stored in en_US.lang would be this:

book.generation.0=Original
book.generation.1=Copy of original
book.generation.2=Copy of a copy
book.generation.3=Tattered

Just like before, just follow the same structure and you can make more generations.

book.generation.4=Copy of a copy of a copy of a copy

You'll now notice it shows that same text once more!

Copy of a copy of a copy of a copy

This trick works with potion levels as well. Use potion.potency.n in as your key (before the colon) if n represents the level of potion you want. They are normally roman numerals just like enchantment levels.