Ender IO Zoo

Ender IO Zoo

961k Downloads

Cant apply Soulbound to DE items

nyovaya opened this issue ยท 5 comments

commented

Issue Description:

When trying to apply Soulbound to Draconic Evolution's Armor/Weapons no anvil-like block was able to apply this enchantment to Draconic Evolution's Armor/Weapons.

What happens:

Basically nothing in the anvil-like block e.g. Vanilla Anvil, IE Enchantment Applicator, OpenBlocks Auto-Anvil.

What you expected to happen:

Get the Soulbound enchantment onto the Draconic Weapons/Armor

Steps to reproduce:

  1. Get an soulbound enchantment book
  2. Get Draconic Armory e.g. Draconic Helmet
  3. Try to apply the enchantment onto the Item with the book in an Anvil or above mentioned alternative blocks which should usually work

Affected Versions (Do not use "latest"):

  • EnderIO: 5.0.31
  • EnderCore: 1.12.2-0.5.37
  • Minecraft: 1.12.2
  • Forge: 14.23.4.2760
  • SpongeForge? no
  • Optifine? no
  • Single Player and/or Server? SP

Your most recent log file where the issue was present:

Not sure if a log is helpful here but there you go
https://paste.gg/p/anonymous/bc489b1761a2478dbca7a92887007727/files/891d1d16fc1d467a9b368a33e88bfe13/raw

commented

Same here in 1.12.2, cept I can get it on armor but not any of the weapons or tools (Bow, Staff .. etc)

commented

Sry, forgot to follow up on this one.

The decision if an enchantment can be applied or not is part of the item's code, not the enchantment's. So you have to take that up with DE...

commented

really? But if IIRC it were just some enchantments I can't put on DE items not all enchantments

commented

yes, this is the code:

image

commented

And there's the bad code: https://github.com/brandon3055/Draconic-Evolution/blob/master/src/main/java/com/brandon3055/draconicevolution/items/tools/MiningToolBase.java#L191

PS: I have no idea what's in that super call, but if it goes through to Item the correct code would be return super.canApplyAtEnchantingTable(stack, enchantment) || enchantment.type == EnumEnchantmentType.DIGGER || enchantment.type == EnumEnchantmentType.ALL;.