Minecraft Data Packs / Other

Enchantments to Books & RepairCost Fix

  • check_circle Functions
  • 45,700 views, 5 today
  • 9,025 downloads, 0 today
  • 47
  • 47
  • 51
FieryHammer avatar FieryHammer
Level 55 : Grandmaster Modder
Welcome to my first datapack! I hope you will find this datapack useful when you come to enchanting / anvil combining!

I made this datapack to help you create your God Tier Armor in 1.14 and also to help you with any repairs / enchantment combining.
How to Install

1. Download the datapack .zip file.

2. Extract it.

3. Copy the 'FH enchantments to books v*.*.*' folder into your world's datapacks folder
How to Use
- Type /function etb:messages/info to display information about the datapack
- Throw an enchanted diamond item, bow or crossbow and a book on a Gold Block to transfer the enchantments from the item to a newly created Enchanted Book and get back the unenchanted item as well.
- Throw an Item or an Enchanted Book on an Emerald Block to reduce its RepairCost (which highly affects it's Anvil combination cost)

If you want to modify the list of items to be used with this datapack, modify the check_matching_items.mcfunction file.

If you want to modify the blocks used with this datapack (Gold Block, Emerald Block), modify the check_for_merge.mcfunction, and modify_repair_cost.mcfunction files.

Q: I found a bug, what shall I do?
A: Tell it to me in the comments, so I can fix it as soon as possible.

Q: I have feedback / ideas about the datapack, can I share them?
A: Absolutely. I welcome most feedbacks and ideas.

Q: Why transfer enchantments to books?
A: I had troubles when I was only trying to modify RepairCost of items. They were either too high or too low (so it went to negative and you couldn't take them out of the Anvil). With books, it's much more simpler. At least I think this is the reason, can't really remember, haha.

Q: Does the enchantment transfer or RepairCost changing cost anything, like experience?
A: Not at the moment. I thought about taking levels from the player, but didn't feel like using scoreboards. Another idea was to take the unenchanted item away or the Emerald Block, but I though that would be just too much.

Q: Can I add more items to interact with (take enchantments from)?
A: Sure, read the How to Use section to learn how.

Q: Can I modify the blocks to use?
A: Check the previous response ;)
How to Update

To update the data pack to a newer version, simply move the extracted 'FH enchantments to books v1.2.0' folder into your world's datapacks folder.
Remove any previous versions!

If you were in the game while doing this, type /reload.
CompatibilityMinecraft 1.14

2 Update Logs

New Release v1.2.0 : by FieryHammer 06/16/2019 10:35:37 amJun 16th, 2019

  • Removed Anvils from blocks to use. Now you only have to use Emerald blocks for RepairCost reduction/reset.
  • Updated messages/info accordingly
  • Introduced a common controller for my data packs which simplifies basic data pack management (like initialization and repeating events). This made it possible to use only ONE scoreboard for tick counting.
  • Removed all, now unused/unnecessary scoreboard objectives and player values

Create an account or sign in to comment.

08/26/2020 4:49 am
Level 1 : New Crafter
Burzowy-Szczurek avatar
A lot of peoples want this in 1.16 so I upload here modified version of datapack that work on 1.16.2 and has netherite items support. mega.nz/folder/lUhBFIII#BmnSTEIz8Ap_50N5bSNqqA
06/28/2020 2:22 pmhistory
Level 55 : Grandmaster Modder
FieryHammer avatar
Hey guys!

You might have noticed, but I no longer plan to support this data pack. This was my first, but my other data pack provides better functionality, while still helping you to manage enchantment combinations. If you want to check it out go to: Enchantment Merger - No more exclusive enchantments and check it out. There is a video to help you as well!
07/11/2020 3:30 am
Level 1 : New Crafter
Burzowy-Szczurek avatar
When I ask about 1.16 version you ansewer:

"Burzowy Szczurek I have done an updated version, I only need to make the updated video for it to release it ^^"

So can you upload 1.16 version to this page without video?
07/11/2020 5:32 am
Level 55 : Grandmaster Modder
FieryHammer avatar
Oh my. I am sorry. When I read your comment on YouTube I though it was on my other Data Pack. I updated that one, but I do not really plan on doing an update for this data pack. My other data pack does more and better (in my opinion) than this one, I would suggest checking it out. I think it has a more elegant solution to the problem. Sorry for the confusion.
01/03/2020 11:43 am
Level 1 : New Miner
TTDM avatar
Wait . . . does this function pack make incompatible enchantments compatible?
12/30/2019 1:05 pm
Level 1 : New Miner
pjlasl avatar
Another 1.15 update needed is changing gold_ references to golden_ in the tag_items.mcfunction
12/28/2019 11:32 am
Level 1 : New Miner
pjlasl avatar
I tested this with 1.15 and it seems to work fine. I did notice that on start up it throws this error though:

[ERROR] Couldn't read function tag list fh_main:five_second from fh_main:tags/functions/five_second.json in data pack FH enchantments to books v1.2.0

com.google.gson.JsonParseException: Unknown value 'better_snow:fire_rain_checker'

at net.minecraft.class_3494$class_3495.method_17994(class_3494.java:146) ~[intermediary-server.jar:?]

at net.minecraft.class_3494$class_3495$$Lambda$2726.00000000EC06C4C0.get(Unknown Source) ~[?:?]

at java.util.Optional.orElseThrow(Optional.java:290) ~[?:1.8.0_212]

at net.minecraft.class_3494$class_3495.method_15147(class_3494.java:146) ~[intermediary-server.jar:?]

at net.minecraft.class_3503.method_18243(class_3503.java:98) ~[intermediary-server.jar:?]

at net.minecraft.class_3503$$Lambda$2689.00000000D821D9A0.get(Unknown Source) ~[?:?]

at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1590) [?:1.8.0_212]

at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1582) [?:1.8.0_212]

at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) [?:1.8.0_212]

at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) [?:1.8.0_212]

at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) [?:1.8.0_212]

at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) [?:1.8.0_212]
10/13/2019 7:48 am
Level 1 : New Miner
MCHaylen avatar
Having a bit of trouble with this.

The extracting enchants by throwing items on gold blocks is working perfectly.

The resetting repair cost is for some reason not working, neither for books nor items.

Looking at the functions it seems things go like this

minecraft:tick -> fh_main:tick -> fh_main:half_second -> etb:core -> etb:main/modify_repair_cost -> etb:main/repair_cost_reset

/function minecraft:tick doesn't work.
/function fh_main:tick doesn't work
/function fh_main:half_second DOES work
/function etb:core DOES work
/function etb:main/modify_repair_cost DOES work
/function etb:main/repair_cost_reset DOES work

fh_main:tick looks like a scoreboard that activates fh_main:half_second.. and that has to be working because the etb part of the datapack is working (and modifying this file can cause it to break). So a bit curious about what's going wrong here.

This is on a multiplayer server with a couple of plugins installed and like 1 other datapack, but that's mainly just recipes and I don't think there's anything that should interfere with this. I have played about with your data pack a bit trying to get it to work to no avail (and making the blocks get destroyed for example), and I've tried installing a fresh download of it so I'm certain it's not anything I've done that's breaking it.
08/22/2019 4:07 pm
Level 1 : New Miner
DarkSphynx avatar
Anyway to make the emerald block NOT pop when you do the reduce price? its not that important but it is a little inconvenient to replace the emerald block for every item you reduce lol.
08/23/2019 4:07 am
Level 55 : Grandmaster Modder
FieryHammer avatar
There is a way. Go into the data pack folder, data>etb>functions>main folder. Remove this line:

'setblock ~ ~-1 ~ air destroy'

(or add a hashtag before it, like: '# setblock ~ ~-1 ~ air destroy')
in both repair_cost_reset.mcfunction and repair_cost_remove.mcfunction files.
Planet Minecraft


© 2010 - 2023