fix(bukkit): 玩家跨服传送时无法抵达目的地

This commit is contained in:
2023-01-23 01:42:30 +08:00
parent ef3d72589b
commit cb87b1f300

View File

@@ -124,13 +124,16 @@ public class BallBukkitListener implements Listener, BallListener {
public void onPlayerLogin(PlayerLoginEvent event) { public void onPlayerLogin(PlayerLoginEvent event) {
Player player = event.getPlayer(); Player player = event.getPlayer();
Pair<Location, DisplayMessage> pair = playerToLocation.remove(player.getUniqueId()); Pair<Location, DisplayMessage> pair = playerToLocation.remove(player.getUniqueId());
if (pair != null) { if (pair == null) {
return;
}
HamsterBallPlugin.sync(() -> {
player.teleport(pair.getKey(), PlayerTeleportEvent.TeleportCause.PLUGIN); player.teleport(pair.getKey(), PlayerTeleportEvent.TeleportCause.PLUGIN);
if (pair.getValue() != null) { if (pair.getValue() != null) {
Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().player(player); Audience audience = CoreBukkitAPI.getInstance().getAudienceProvider().player(player);
pair.getValue().show(audience); pair.getValue().show(audience);
} }
} });
} }
} }