diff --git a/hamster-ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/listener/BallBukkitListener.java b/hamster-ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/listener/BallBukkitListener.java index 972696b..e100ed4 100644 --- a/hamster-ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/listener/BallBukkitListener.java +++ b/hamster-ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/listener/BallBukkitListener.java @@ -1,5 +1,6 @@ package cn.hamster3.mc.plugin.ball.bukkit.listener; +import cn.hamster3.mc.plugin.ball.bukkit.HamsterBallPlugin; import cn.hamster3.mc.plugin.ball.bukkit.data.BukkitLocation; import cn.hamster3.mc.plugin.ball.common.api.BallAPI; import cn.hamster3.mc.plugin.ball.common.data.BallMessageInfo; @@ -79,11 +80,13 @@ public class BallBukkitListener extends BallListener implements Listener { for (UUID uuid : event.getSendPlayerUUID()) { Player player = Bukkit.getPlayer(uuid); if (player != null) { - player.teleport(location.toBukkitLocation()); - if (event.getDoneMessage() != null) { - Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().player(player); - event.getDoneMessage().show(audience); - } + HamsterBallPlugin.sync(() -> { + player.teleport(location.toBukkitLocation()); + if (event.getDoneMessage() != null) { + Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().player(player); + event.getDoneMessage().show(audience); + } + }); } else { playerToLocation.put(uuid, new Pair<>(location.toBukkitLocation(), event.getDoneMessage())); } @@ -101,11 +104,13 @@ public class BallBukkitListener extends BallListener implements Listener { for (UUID uuid : event.getSendPlayerUUID()) { Player player = Bukkit.getPlayer(uuid); if (player != null) { - player.teleport(location); - if (event.getDoneMessage() != null) { - Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().player(player); - event.getDoneMessage().show(audience); - } + HamsterBallPlugin.sync(() -> { + player.teleport(location); + if (event.getDoneMessage() != null) { + Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().player(player); + event.getDoneMessage().show(audience); + } + }); } else { playerToLocation.put(uuid, new Pair<>(location, event.getDoneMessage())); }