Pyrbu / ZNPCsPlus

A Spigot plugin for creating interactable fake entities
https://www.spigotmc.org/resources/znpcsplus.109380/
GNU General Public License v3.0
110 stars 27 forks source link

Error dispatching bukkit commands #46

Closed D3v1s0m closed 1 year ago

D3v1s0m commented 1 year ago
[23:11:26 ERROR]: Thread Netty Server IO #1 failed main thread check: command dispatch
java.lang.Throwable: null
    at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:15) ~[paper-1.19.4.jar:git-Paper-466]
    at org.bukkit.craftbukkit.v1_19_R3.CraftServer.dispatchCommand(CraftServer.java:882) ~[paper-1.19.4.jar:git-Paper-466]
    at org.bukkit.Bukkit.dispatchCommand(Bukkit.java:980) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
    at lol.pyr.znpcsplus.interaction.types.ConsoleCommandAction.run(ConsoleCommandAction.java:18) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.interaction.InteractionPacketListener.onPacketReceive(InteractionPacketListener.java:29) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.api.event.PacketListener$1.onPacketReceive(PacketListener.java:41) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.api.event.PacketReceiveEvent.call(PacketReceiveEvent.java:45) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.api.event.EventManager.callEvent(EventManager.java:52) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.api.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:82) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.impl.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:51) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.impl.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:58) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.impl.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:35) ~[ZNPCsPlus-2.0.0.jar:?] <40 internal lines>
[23:11:26 WARN]: [lol.pyr.znpcsplus.lib.packetevents.api.PacketEventsAPI] PacketEvents caught an unhandled exception while calling your listener.
java.lang.IllegalStateException: Asynchronous command dispatch!
    at org.spigotmc.AsyncCatcher.catchOp(AsyncCatcher.java:16) ~[paper-1.19.4.jar:git-Paper-466]
    at org.bukkit.craftbukkit.v1_19_R3.CraftServer.dispatchCommand(CraftServer.java:882) ~[paper-1.19.4.jar:git-Paper-466]
    at org.bukkit.Bukkit.dispatchCommand(Bukkit.java:980) ~[paper-api-1.19.4-R0.1-SNAPSHOT.jar:?]
    at lol.pyr.znpcsplus.interaction.types.ConsoleCommandAction.run(ConsoleCommandAction.java:18) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.interaction.InteractionPacketListener.onPacketReceive(InteractionPacketListener.java:29) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.api.event.PacketListener$1.onPacketReceive(PacketListener.java:41) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.api.event.PacketReceiveEvent.call(PacketReceiveEvent.java:45) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.api.event.EventManager.callEvent(EventManager.java:52) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.api.util.PacketEventsImplHelper.handleServerBoundPacket(PacketEventsImplHelper.java:82) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.impl.injector.handlers.PacketEventsDecoder.read(PacketEventsDecoder.java:51) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.impl.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:58) ~[ZNPCsPlus-2.0.0.jar:?]
    at lol.pyr.znpcsplus.lib.packetevents.impl.injector.handlers.PacketEventsDecoder.decode(PacketEventsDecoder.java:35) ~[ZNPCsPlus-2.0.0.jar:?] <40 internal lines>
Pyrbu commented 1 year ago

What server brand is this?

D3v1s0m commented 1 year ago

paper, need to dispatch command in sync thread.

Pyrbu commented 1 year ago

paper, need to dispatch command in sync thread.

I wonder if this is also an issue on Folia

D3v1s0m commented 1 year ago

I wonder if this is also an issue on Folia

it is

Pyrbu commented 1 year ago

it is

Do you know which scheduler we're supposed to use for it?

D3v1s0m commented 1 year ago

Not sure for folia, but for bukkit

@Override
public void runSync(Runnable runnable) {
    Bukkit.getScheduler().runTask(plugin, runnable);
}

this works

maybe try, GlobalRegionScheduler for folia

Pyrbu commented 1 year ago

Partially fixed in 3dd3bcc03ead51d1a88c98fc7dbffa2af3d98579