Lootr (Forge & NeoForge)

Lootr (Forge & NeoForge)

66M Downloads

UPDATE: Lootr not compatible with CraftBukkit, Mohist, etc.

Zolitar opened this issue ยท 9 comments

commented

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
...

commented

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?

commented

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

commented

@TriRealm Can you provide a list of mods that you're running on the server?

commented

Yeah course! [](url
1
2
3
4
)

these are all the mods that are on the server with their build versions as well!

commented

@TriRealm Unfortunately this is a CraftBukkit issue and not one I can solve myself, sorry.

commented

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.

commented

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.

commented

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.

commented

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