fix(bukkit): 传送功能失效

This commit is contained in:
2023-01-19 15:21:43 +08:00
parent decbe16e98
commit 48adbfe73d

View File

@@ -1,5 +1,6 @@
package cn.hamster3.mc.plugin.ball.bukkit.listener; 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.bukkit.data.BukkitLocation;
import cn.hamster3.mc.plugin.ball.common.api.BallAPI; import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
import cn.hamster3.mc.plugin.ball.common.data.BallMessageInfo; 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()) { for (UUID uuid : event.getSendPlayerUUID()) {
Player player = Bukkit.getPlayer(uuid); Player player = Bukkit.getPlayer(uuid);
if (player != null) { if (player != null) {
HamsterBallPlugin.sync(() -> {
player.teleport(location.toBukkitLocation()); player.teleport(location.toBukkitLocation());
if (event.getDoneMessage() != null) { if (event.getDoneMessage() != null) {
Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().player(player); Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().player(player);
event.getDoneMessage().show(audience); event.getDoneMessage().show(audience);
} }
});
} else { } else {
playerToLocation.put(uuid, new Pair<>(location.toBukkitLocation(), event.getDoneMessage())); 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()) { for (UUID uuid : event.getSendPlayerUUID()) {
Player player = Bukkit.getPlayer(uuid); Player player = Bukkit.getPlayer(uuid);
if (player != null) { if (player != null) {
HamsterBallPlugin.sync(() -> {
player.teleport(location); player.teleport(location);
if (event.getDoneMessage() != null) { if (event.getDoneMessage() != null) {
Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().player(player); Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().player(player);
event.getDoneMessage().show(audience); event.getDoneMessage().show(audience);
} }
});
} else { } else {
playerToLocation.put(uuid, new Pair<>(location, event.getDoneMessage())); playerToLocation.put(uuid, new Pair<>(location, event.getDoneMessage()));
} }