Oheers / EvenMoreFish

An advanced fishing plugin based on MoreFish, created 2 years after its last update.
MIT License
96 stars 60 forks source link

[Bug]: bait cant put on fishing rod if it is enchanted #397

Open lackooka opened 4 months ago

lackooka commented 4 months ago

Contact Details

discord: dlacoo

What happened?

I want to put a bait into my fishing rod and I cant do it because i get a console error. I can put this same bait into a normal (not enchanted) fishing rod.

Version

1.7 (latest)

Development Version

No response

Server Version

Purpur 1.21-2258

Java Version

21

Relevant log output

java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
        at even-more-fish-1.7.2.jar/com.oheers.fish.baits.BaitNBTManager.newApplyLore(BaitNBTManager.java:361) ~[even-more-fish-1.7.2.jar:?]
        at even-more-fish-1.7.2.jar/com.oheers.fish.baits.BaitNBTManager.applyBaitedRodNBT(BaitNBTManager.java:205) ~[even-more-fish-1.7.2.jar:?]
        at even-more-fish-1.7.2.jar/com.oheers.fish.baits.BaitListener.onClickEvent(BaitListener.java:65) ~[even-more-fish-1.7.2.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1468.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:1.21-2258-ff19bcc]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:3204) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:69) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:33) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:36) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1576) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1553) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1546) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.util.thread.BlockableEventLoop.runAllTasks(BlockableEventLoop.java:114) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1656) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1337) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:332) ~[purpur-1.21.jar:1.21-2258-ff19bcc]
        at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]

Relevant screenshots

image image

sarhatabaot commented 4 months ago

Can you try using the latest dev build first?

lackooka commented 3 months ago

I tried with 1.7.3, but it still have a problem:

[12:23:27 ERROR]: Could not pass event InventoryClickEvent to EvenMoreFish v1.7.3 java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at even-more-fish-1.7.3-1722169370397.jar/com.oheers.fish.baits.BaitNBTManager.newApplyLore(BaitNBTManager.java:360) ~[even-more-fish-1.7.3-1722169370397.jar:?] at even-more-fish-1.7.3-1722169370397.jar/com.oheers.fish.baits.BaitNBTManager.applyBaitedRodNBT(BaitNBTManager.java:204) ~[even-more-fish-1.7.3-1722169370397.jar:?] at even-more-fish-1.7.3-1722169370397.jar/com.oheers.fish.baits.BaitListener.onClickEvent(BaitListener.java:64) ~[even-more-fish-1.7.3-1722169370397.jar:?] at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1774.execute(Unknown Source) ~[?:?] at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:77) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:1.21-2258-ff19bcc] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-mojangapi-1.21-R0.1-SNAPSHOT.jar:?] at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:3204) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:69) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:33) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:36) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:151) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1576) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:201) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:125) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1553) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1546) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:135) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.server.MinecraftServer.managedBlock(MinecraftServer.java:1505) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1627) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1337) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:332) ~[purpur-1.21.jar:1.21-2258-ff19bcc] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?]

sarhatabaot commented 3 months ago

Noticed this issue with a lot of other ones, so closing everything else and linking them here: https://github.com/Oheers/EvenMoreFish/issues/248 https://github.com/Oheers/EvenMoreFish/issues/352

lackooka commented 3 months ago

is it fixed or not?

sarhatabaot commented 2 months ago

is it fixed or not?

We are working on a fix. When it's fixed, I'll post here 😁

DavidDoesCode commented 2 weeks ago

@lackooka @sarhatabaot I think this commit will fix this issue: https://github.com/Oheers/EvenMoreFish/compare/master...DavidDoesCode:EvenMoreFish:FIX-nbt-conversion-with-existing-meta-data

It does not currently save lore AFTER the item. Also I do not know what other potential issue I may have caused with this.

image

sarhatabaot commented 2 weeks ago

@lackooka @sarhatabaot I think this commit will fix this issue: master...DavidDoesCode:EvenMoreFish:FIX-nbt-conversion-with-existing-meta-data

It does not currently save lore AFTER the item. Also I do not know what other potential issue I may have caused with this.

image

Great! Can you submit a PR? I will merge it Since it's just for legacy nbt, I doubt it will cause any compat issues, but we will see with time