Skip to content

Commit faa02b5

Browse files
authored
Fix event thread assignment in TeleportWarmupCancelledEvent (#6371)
Adds a call to super with the correct async flag based on Bukkit's primary thread status, ensuring proper event handling for TeleportWarmupCancelledEvent. fix this error: ``` [18:40:31 WARN]: [Essentials] Plugin Essentials v2.22.0-dev+278-984a0c1 generated an exception while executing task 156164 java.lang.IllegalStateException: TeleportWarmupCancelledEvent may only be triggered synchronously. at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:42) ~[paper-1.21.10.jar:1.21.10-117-df4b668] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:131) ~[paper-1.21.10.jar:1.21.10-117-df4b668] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[paper-api-1.21.10-R0.1-SNAPSHOT.jar:?] at EssentialsX-2.22.0-278.jar/com.earth2me.essentials.AsyncTimedTeleport.cancelTimer(AsyncTimedTeleport.java:160) ~[EssentialsX-2.22.0-278.jar:?] at EssentialsX-2.22.0-278.jar/com.earth2me.essentials.AsyncTimedTeleport.run(AsyncTimedTeleport.java:96) ~[EssentialsX-2.22.0-278.jar:?] at org.bukkit.craftbukkit.scheduler.CraftTask.run(CraftTask.java:78) ~[paper-1.21.10.jar:1.21.10-117-df4b668] at org.bukkit.craftbukkit.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57) ~[paper-1.21.10.jar:1.21.10-117-df4b668] at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[paper-1.21.10.jar:?] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.base/java.lang.Thread.run(Thread.java:1583) ~[?:?] ```
1 parent 0fa6f70 commit faa02b5

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

Essentials/src/main/java/net/essentialsx/api/v2/events/TeleportWarmupCancelledEvent.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package net.essentialsx.api.v2.events;
22

3+
import com.earth2me.essentials.AsyncTeleport.TeleportType;
4+
import org.bukkit.Bukkit;
35
import org.bukkit.entity.Player;
46
import org.bukkit.event.Event;
57
import org.bukkit.event.HandlerList;
6-
import com.earth2me.essentials.AsyncTeleport.TeleportType;
78

89
/**
910
* Called when a player's teleport warmup is cancelled.
@@ -17,7 +18,8 @@ public class TeleportWarmupCancelledEvent extends Event {
1718
private final CancelReason cancelReason;
1819
private final boolean notifyUser;
1920

20-
public TeleportWarmupCancelledEvent(final Player player, final TeleportType teleportType, CancelReason cancelReason, final boolean notifyUser) {
21+
public TeleportWarmupCancelledEvent(final Player player, final TeleportType teleportType, final CancelReason cancelReason, final boolean notifyUser) {
22+
super(!Bukkit.isPrimaryThread());
2123
this.player = player;
2224
this.teleportType = teleportType;
2325
this.cancelReason = cancelReason;

0 commit comments

Comments
 (0)