UPDATE: Lootr not compatible with CraftBukkit, Mohist, etc.
Zolitar opened this issue ยท 9 comments
new server world, when I double click on an item in the chest that has more than one of the same, the server crashes.
Server thread/WARN07:55:51
Unhandled statistic: Stat{name=minecraft.custom:lootr.looted_stat, formatter=net.minecraft.stats.IStatFormatter$$Lambda$2348/481334087@c010cf8}
Console07:55:53
java.lang.AbstractMethodError: Method noobanidus/mods/lootr/data/SpecialChestInventory.getContents()Ljava/util/List; is abstract
at noobanidus.mods.lootr.data.SpecialChestInventory.getContents(SpecialChestInventory.java) ~[lootr:0.1.11.36] {re:classloading}
Versions:
Minecraft: 1.16.5
Forge: 36.2.20
...
Do you have the full crash report?
EDIT: Sorry for the triple reply, my internet isn't working at the minute and GitHub went crazy.
EDIT 2: Can you also double-check that you don't accidentally have multiple versions of Lootr in the mods directory?
I'm encountering the same issue as this
`---- Minecraft Crash Report ----
// Daisy, daisy...
Time: 3/12/22 7:10 PM
Description: Exception in server tick loop
java.lang.AbstractMethodError: Method noobanidus/mods/lootr/data/SpecialChestInventory.getContents()Ljava/util/List; is abstract
at noobanidus.mods.lootr.data.SpecialChestInventory.getContents(SpecialChestInventory.java) ~[lootr:0.1.11.38] {re:classloading}
at org.bukkit.craftbukkit.v1_16_R3.inventory.CraftInventory.getContents(CraftInventory.java:80) ~[forge:?] {re:classloading}
at org.bukkit.craftbukkit.v1_16_R3.inventory.CraftInventory.getStorageContents(CraftInventory.java:70) ~[forge:?] {re:classloading}
at org.bukkit.craftbukkit.v1_16_R3.inventory.CraftInventory.contains(CraftInventory.java:109) ~[forge:?] {re:classloading}
at net.minecraft.network.play.ServerPlayNetHandler.func_147351_a(ServerPlayNetHandler.java:2228) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}
at net.minecraft.network.play.client.CClickWindowPacket.func_148833_a(CClickWindowPacket.java:34) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.network.play.client.CClickWindowPacket.func_148833_a(CClickWindowPacket.java:12) ~[?:?] {re:classloading,pl:runtimedistcleaner:A}
at net.minecraft.network.PacketThreadUtil.func_225383_a(PacketThreadUtil.java:22) ~[?:?] {re:mixin,re:classloading}
at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?] {re:classloading}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?] {re:mixin,re:computing_frames,re:classloading}
at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:976) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:the_bumblezone.mixins.json:entities.MinecraftServerMixin,pl:mixin:APP:charm.mixins.json:accessor.MinecraftServerAccessor,pl:mixin:APP:byg.mixins.json:server.MixinMinecraftServer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:184) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:the_bumblezone.mixins.json:entities.MinecraftServerMixin,pl:mixin:APP:charm.mixins.json:accessor.MinecraftServerAccessor,pl:mixin:APP:byg.mixins.json:server.MixinMinecraftServer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:959) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:the_bumblezone.mixins.json:entities.MinecraftServerMixin,pl:mixin:APP:charm.mixins.json:accessor.MinecraftServerAccessor,pl:mixin:APP:byg.mixins.json:server.MixinMinecraftServer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:953) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:the_bumblezone.mixins.json:entities.MinecraftServerMixin,pl:mixin:APP:charm.mixins.json:accessor.MinecraftServerAccessor,pl:mixin:APP:byg.mixins.json:server.MixinMinecraftServer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213161_c(SourceFile:127) ~[?:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}
at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:939) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:the_bumblezone.mixins.json:entities.MinecraftServerMixin,pl:mixin:APP:charm.mixins.json:accessor.MinecraftServerAccessor,pl:mixin:APP:byg.mixins.json:server.MixinMinecraftServer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:873) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:the_bumblezone.mixins.json:entities.MinecraftServerMixin,pl:mixin:APP:charm.mixins.json:accessor.MinecraftServerAccessor,pl:mixin:APP:byg.mixins.json:server.MixinMinecraftServer,pl:mixin:A,pl:runtimedistcleaner:A}
at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:286) ~[?:?] {re:mixin,pl:accesstransformer:B,pl:runtimedistcleaner:A,re:classloading,pl:accesstransformer:B,pl:mixin:APP:betterendforge.mixins.json:MinecraftServerMixin,pl:mixin:APP:the_bumblezone.mixins.json:entities.MinecraftServerMixin,pl:mixin:APP:charm.mixins.json:accessor.MinecraftServerAccessor,pl:mixin:APP:byg.mixins.json:server.MixinMinecraftServer,pl:mixin:A,pl:runtimedistcleaner:A}
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292] {}`
MC: 1.16.5
Forge: 36.2.27
@TriRealm Can you provide a list of mods that you're running on the server?
@TriRealm Unfortunately this is a CraftBukkit issue and not one I can solve myself, sorry.
Please note that Lootr is not currently compatible with: CraftBukkit, Mohist, or other adjacent systems.
This is an issue with these systems rather than with Lootr. Please file all issues that include CraftBukkit or Mohist in the crash log. For all other plug-in systems, please be aware that they may also not be compatible.
Hello there, Magma (magmafoundation.org) dev here, this issue was fixed on our end recently. CraftBukkit added a method called getContents() in IInventory.class which is abstract, as this mod has nothing to do with CraftBukkit it is a problem on our end. I have patched this so future versions of Magma should work with Lootr.
Seems that 1.12 server hybrids also patch in a getContents
method, but they are not very commonly used as far as I know. I'll tweak this method name in the next 1.12 update nonetheless, assuming I don't forget.
I've changed the relevant getContents
method in the Lootr API to be more specific. This should prevent conflicts with any implementation of CraftBukkit, such as Mohist.
This applies to the following versions of Lootr for Forge, and all subsequent versions after that point. Lootr for Fabric will be updated shortly:
- 1.19.4-0.6.27.64
- 1.19.3-0.5.26.63
- 1.19-0.4.24.61
- 1.18.2-0.3.52.62
- 1.16.5-0.2.17.18
Still affected;
- 1.12.2 (change forthcoming)
- Fabric 1.18.2
- Fabric 1.19.0, 1.19.1, 1.19.2
- Fabric 1.19.3
- Fabric 1.19.4