Paulem79 / BetterThanMending-Spigot

A small quality of life tweak to the Mending enchantment
0 stars 2 forks source link

1.21 support #1

Closed Illustive closed 1 week ago

Illustive commented 1 month ago
[18:21:37] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to BetterMending v2.6.4 -- 1921 | java.lang.IllegalArgumentException: Damage cannot be negative 1922 | at com.google.common.base.Preconditions.checkArgument(Preconditions.java:143) ~[guava-32.1.2-jre.jar:?] 1923 | at org.bukkit.craftbukkit.inventory.CraftMetaItem.setDamage(CraftMetaItem.java:1627) ~[purpur-1.21.jar:1.21-2280-930003b] 1924 | at BetterMending-2.6.4.jar/io.github.paulem.btm.damage.NewerDamage.setDamage(NewerDamage.java:20) ~[BetterMending-2.6.4.jar:?] 1925 | at BetterMending-2.6.4.jar/io.github.paulem.btm.managers.RepairManager.repairItem(RepairManager.java:83) ~[BetterMending-2.6.4.jar:?] 1926 | at BetterMending-2.6.4.jar/io.github.paulem.btm.listeners.MendingUseListener.useRepair(MendingUseListener.java:126) ~[BetterMending-2.6.4.jar:?] 1927 | at BetterMending-2.6.4.jar/io.github.paulem.btm.listeners.MendingUseListener.onItemUse(MendingUseListener.java:63) ~[BetterMending-2.6.4.jar:?] 1928 | at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor253.execute(Unknown Source) ~[?:?] 1929 | at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] 1930 | at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:1.21-2280-930003b] 1931 | at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] 1932 | at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.21.jar:1.21-2280-930003b] 1933 | at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[purpur-1.21.jar:1.21-2280-930003b] 1934 | at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] 1935 | at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:598) ~[purpur-1.21.jar:1.21-2280-930003b] 1936 | at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:554) ~[purpur-1.21.jar:1.21-2280-930003b] 1937 | at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:549) ~[purpur-1.21.jar:1.21-2280-930003b] 1938 | at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:545) ~[purpur-1.21.jar:1.21-2280-930003b] 1939 | at net.minecraft.server.network.ServerGamePacketListenerImpl.handleUseItem(ServerGamePacketListenerImpl.java:2017) ~[purpur-1.21.jar:1.21-2280-930003b] 1940 | at net.minecraft.network.protocol.game.ServerboundUseItemPacket.handle(ServerboundUseItemPacket.java:47) ~[purpur-1.21.jar:1.21-2280-930003b] 1941 | at net.minecraft.network.protocol.game.ServerboundUseItemPacket.handle(ServerboundUseItemPacket.java:10) ~[purpur-1.21.jar:1.21-2280-930003b] 1942 | at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:56) ~[purpur-1.21.jar:1.21-2280-930003b] 1943 | at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.21.jar:1.21-2280-930003b] 1944 | at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[purpur-1.21.jar:1.21-2280-930003b] 1945 | at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[purpur-1.21.jar:1.21-2280-930003b] 1946 | at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1573) ~[purpur-1.21.jar:1.21-2280-930003b] 1947 | at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[purpur-1.21.jar:1.21-2280-930003b] 1948 | at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[purpur-1.21.jar:1.21-2280-930003b] 1949 | at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1550) ~[purpur-1.21.jar:1.21-2280-930003b] 1950 | at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1543) ~[purpur-1.21.jar:1.21-2280-930003b] 1951 | at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[purpur-1.21.jar:1.21-2280-930003b] 1952 | at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1502) ~[purpur-1.21.jar:1.21-2280-930003b] 1953 | at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1624) ~[purpur-1.21.jar:1.21-2280-930003b] 1954 | at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1334) ~[purpur-1.21.jar:1.21-2280-930003b] 1955 | at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:333) ~[purpur-1.21.jar:1.21-2280-930003b] 1956 | at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]
Paulem79 commented 1 month ago

Hello, I'll take a look in the weeks coming, I'm actually in vacation, thanks for the report :D

Paulem79 commented 1 month ago

The issue is a bit strange, I'll try doing debugging

TufftyMirror3585 commented 3 weeks ago

i have the same on my server any solutions?

Paulem79 commented 3 weeks ago

This is still occuring in the latest version ? I thought it fixed that

TufftyMirror3585 commented 3 weeks ago

I have the version from modrinth is there a newer version git hub or anywhere else I can try? If not I will try and reinstall and tell you if it still happens.

TufftyMirror3585 commented 3 weeks ago

i just reinstalled the latest version and still have this spamming the logs and it not always working

[12:14:56] [Server thread/WARN]: [BetterMending] Global task for BetterMending v2.6.4.1 generated an exception java.lang.IllegalArgumentException: Damage cannot be negative at com.google.common.base.Preconditions.checkArgument(Preconditions.java:143) ~[guava-32.1.2-jre.jar:?] at org.bukkit.craftbukkit.inventory.CraftMetaItem.setDamage(CraftMetaItem.java:1634) ~[purpur-1.21.1.jar:1.21.1-2297-ef12ede] at BetterThanMending-2.6.4.1 (1).jar/io.github.paulem.btm.damage.NewerDamage.setDamage(NewerDamage.java:22) ~[BetterThanMending-2.6.4.1 (1).jar:?] at BetterThanMending-2.6.4.1 (1).jar/io.github.paulem.btm.managers.RepairManager.repairItem(RepairManager.java:88) ~[BetterThanMending-2.6.4.1 (1).jar:?] at BetterThanMending-2.6.4.1 (1).jar/io.github.paulem.btm.managers.RepairManager$1.run(RepairManager.java:58) ~[BetterThanMending-2.6.4.1 (1).jar:?] at BetterThanMending-2.6.4.1 (1).jar/io.github.paulem.btm.libs.universalScheduler.foliaScheduler.FoliaScheduler.lambda$runTaskTimer$2(FoliaScheduler.java:65) ~[BetterThanMending-2.6.4.1 (1).jar:?] at io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler$GlobalScheduledTask.run(FoliaGlobalRegionScheduler.java:179) ~[purpur-1.21.1.jar:?] at io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler.tick(FoliaGlobalRegionScheduler.java:37) ~[purpur-1.21.1.jar:?] at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1766) ~[purpur-1.21.1.jar:1.21.1-2297-ef12ede] at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:513) ~[purpur-1.21.1.jar:1.21.1-2297-ef12ede] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1635) ~[purpur-1.21.1.jar:1.21.1-2297-ef12ede] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1335) ~[purpur-1.21.1.jar:1.21.1-2297-ef12ede] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:334) ~[purpur-1.21.1.jar:1.21.1-2297-ef12ede] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]

Paulem79 commented 2 weeks ago

That's really strange, with which item it does that ? At which durability ?

TufftyMirror3585 commented 2 weeks ago

I don’t know as I just run the server for my friends an they have mending on everything I can do some tests to find out tomorrow as I am busy but apparently it stops working then randomly starts again

Paulem79 commented 2 weeks ago

That's really strange, your help would really be cool x) There might be something bad in the formula I use, I'll check the original code again, maybe he did a bug fix

TufftyMirror3585 commented 2 weeks ago

as far as i can tell on the latest version of purper it happens between max durability-2 and -5 also i have seen that when the error is being shown when you disable btm it doesn't actually stop it continues to try and repair i don't know if this helps at all but will continue to test when i have time also if you change the ratio to 1.0 or change the xp to 10 it works i don't do much java coding so cant help with the coding but i think that the xp change doesnt affect much to do with the xp to durability ratio feel free to tell me if that is wrong

Paulem79 commented 2 weeks ago

you're right so you reach -2 and -5 durability ? pretty strange that it's damaging instead of repairing... logically, it keeps activated if you disable btm without restarting the server

Paulem79 commented 2 weeks ago

I'll take a look after this night, seems really strange

TufftyMirror3585 commented 2 weeks ago

Just for clarification when any item reaches 2 less than the max durability the error occurs but then when the item continues to be used once it hits 5 less the error stops and it gets repaired

Paulem79 commented 2 weeks ago

wtf

Paulem79 commented 2 weeks ago

I'll fix that, I think I know from where the error comes

Paulem79 commented 2 weeks ago

okay, basically it does 2 - 4, which is negative

Paulem79 commented 2 weeks ago

So I need to clamp the max damage remover to the itemDamages, I think

Paulem79 commented 2 weeks ago

Okay, maybe it'll be fixed with 0f0573b07c462d77568c46528d462df1e0eba61c I keep this issue opened for now, just try the latest version when it'll be released

Paulem79 commented 2 weeks ago

The latest is now on Modrinth and Spigot ❤️, thanks for your report :D

TufftyMirror3585 commented 2 weeks ago

Ok thanks for the fast fix I will update it on the server and see if I get any errors hopefully not

Paulem79 commented 2 weeks ago

Okay perfect, tell me if it's good or not 😉 Thanks for your help :D

TufftyMirror3585 commented 1 week ago

hi sorry for the long wait i have been busy with my new school it seems to be working as i have had no errors and no complaints so you can mark it as closed at least for me

Paulem79 commented 1 week ago

Perfect, no problem I have a new school too