StellarWind22 / Fabric-Shield-Lib

Library for easily adding new shields, shield enchantments, and enabling you to enchant shields in general without worry of conflictions.
https://www.curseforge.com/minecraft/mc-mods/fabric-shield-lib
GNU Lesser General Public License v2.1
40 stars 19 forks source link

Crash when putting a FabricShield in enchanting table in dev environment #175

Closed Partonetrain closed 8 months ago

Partonetrain commented 8 months ago

Did not occur when I tried the same thing with the same code in an actual instance

[18:27:46] [Server thread/ERROR] (Minecraft) Encountered an unexpected exception
 java.lang.AbstractMethodError: Missing implementation of resolved method 'abstract boolean canEnchant(net.minecraft.world.item.Item)' of abstract class net.minecraft.world.item.enchantment.EnchantmentCategory.
    at net.minecraft.world.item.enchantment.EnchantmentHelper.getAvailableEnchantmentResults(EnchantmentHelper.java:420) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.item.enchantment.EnchantmentHelper.selectEnchantment(EnchantmentHelper.java:369) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.EnchantmentMenu.getEnchantmentList(EnchantmentMenu.java:212) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.EnchantmentMenu.method_17411(EnchantmentMenu.java:127) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.ContainerLevelAccess.method_17394(ContainerLevelAccess.java:35) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.ContainerLevelAccess$2.evaluate(ContainerLevelAccess.java:22) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.ContainerLevelAccess.execute(ContainerLevelAccess.java:34) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.EnchantmentMenu.slotsChanged(EnchantmentMenu.java:106) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.EnchantmentMenu$1.setChanged(EnchantmentMenu.java:32) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.SimpleContainer.redirect$zmk000$fabric-transfer-api-v1$fabric_redirectMarkDirty(SimpleContainer.java:543) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.SimpleContainer.setItem(SimpleContainer.java:144) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.Slot.set(Slot.java:72) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.Slot.setByPlayer(Slot.java:63) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.EnchantmentMenu.quickMoveStack(EnchantmentMenu.java:267) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.AbstractContainerMenu.doClick(AbstractContainerMenu.java:394) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.world.inventory.AbstractContainerMenu.clicked(AbstractContainerMenu.java:294) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:1682) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:58) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:13) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.network.protocol.PacketUtils.method_11072(PacketUtils.java:22) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:156) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:782) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:164) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:130) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:764) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:758) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:115) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:742) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:675) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
    at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265) ~[minecraft-common-81b56f91bc-1.20.1-loom.mappings.1_20_1.layered+hash.1899487486-v2.jar:?]
CringeStar commented 8 months ago

This is another instance of #159. This bug has been here as long as custom enchantments and we cannot figure out its solution lol. I'm gonna paste your report over to that issue.

CringeStar commented 8 months ago

It only happens in the dev environment because of the test dev enchantments included in the lib. This also happens with other custom enchantments.