Easy Anvils [Forge & Fabric]

Easy Anvils [Forge & Fabric]

22M Downloads

[Bug]: Incompatibility with Enchant The Rainbow and NBT Crafting

mastery3 opened this issue ยท 4 comments

commented

Mod Loader (Required)

Fabric

Minecraft Version (Required)

1.19.2

Mod Version (Required)

4.0.6

Notes (Required)

Current Behavior: Can't use any anvil recipe from Enchant The Rainbow or NBTCrafting
Steps to Reproduce:

  1. Open the anvil
  2. Use any anvil recipe from the mods listed above
    Expected: The anvil recipe is usable, just as without this mod

latest.log (Optional)

No response

commented

Also experiencing this.

A really hacky workaround for people who are waiting on a bugfix:

First, examine your item by typing /data get entity @s SelectedItem. Open your log file and copy the output from the command, which should look like:

[16:33:01] [Render thread/INFO]: [System] [CHAT] Player has the following entity data: {id: "minecraft:diamond_axe", tag: {RepairCost: 31, Enchantments: [{id: "minecraft:efficiency", lvl: 5s}, {id: "minecraft:mending", lvl: 1s}, {id: "minecraft:unbreaking", lvl: 3s}], Damage: 133, display: {Name: '{"text":"Treestealer"}'}}, Count: 1b}

Convert that into the appropriate /give command (replacing "Player" with your player name):

/give Player minecraft:diamond_axe{RepairCost: 31, Enchantments: [{id: "minecraft:efficiency", lvl: 5s}, {id: "minecraft:mending", lvl: 1s}, {id: "minecraft:unbreaking", lvl: 3s], Damage: 133, display: {Name: '{"text":"Treestealer"}'}, "enchant_the_rainbow:GlintColor":14}

The critical bit is adding the "enchant_the_rainbow:GlintColor" glint color to the end of the existing tags. These color are numeric ids:

0	White
1	Orange
2	Magenta
3	Light Blue
4	Yellow
5	Lime
6	Pink
7	Gray
8	Light Gray
9	Cyan
10	Purple
11	Blue
12	Brown
13	Green
14	Red
15	Black

This will give you a new copy of the existing item with your chosen glint on it. If you're trying to play fair, make sure to throw away the old item, and discard a Nether Star Fragment as well!

NOTE: The command may very well be too long for you to type in chat. If playing on a server, you'll have to type it into the actual server console, or if playing single-player, you'll need to enter creative mode /gamemode creative, spawn a command block, use it to enter the command, and then switch back to survival /gamemode survival.

You also need to make sure to be an admin/op of the server you're trying to perform this workaround on.

commented

Thanks for this.

The thing is, Easy Anvils is extremely invasive when it comes to changing anvil mechanics as it changes quite a lot of them. Unfortunately, Fabric Api does not provide any api whatsoever for the anvil, so not even a minor level of compatibility with other mods is possible out-of-the-box (this is not an issue on Forge, as it has a hook just for this).

All I can do right now is add custom compatibility for every mod that has it's own anvil mechanics, but seeing how more and more reports are piling up for issues with various mods, I'm no longer sure this is a feasible approach.

I initially had a different implementation where Easy Anvils would be less invasive, meaning it would only change the anvil mechanics if the outcome would be different from vanilla, so maybe it's time to look back into that.

commented

Hey, i got this isue to and want a fix as a server&modpack owner.

I initially had a different implementation where Easy Anvils would be less invasive, meaning it would only change the anvil mechanics if the outcome would be different from vanilla, so maybe it's time to look back into that.
Yea maybe try that. It is sadge that fabric API doesn't add something for the anvil. Have you suggested that yet to the fabric API team?

commented

Thanks for the report! Should be fixed in v4.0.7. Please reopen if it's not.