feat(ball-bukkit): 修复玩家进入服务器时不显示缓存消息的bug
This commit is contained in:
@@ -7,6 +7,7 @@ import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
|||||||
import cn.hamster3.mc.plugin.ball.common.event.server.ServerOnlineEvent;
|
import cn.hamster3.mc.plugin.ball.common.event.server.ServerOnlineEvent;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
@@ -17,10 +18,14 @@ public class HamsterBallPlugin extends JavaPlugin {
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void sync(Runnable runnable) {
|
public static void sync(@NotNull Runnable runnable) {
|
||||||
Bukkit.getScheduler().runTask(instance, runnable);
|
Bukkit.getScheduler().runTask(instance, runnable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void async(@NotNull Runnable runnable) {
|
||||||
|
Bukkit.getScheduler().runTaskAsynchronously(instance, runnable);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onLoad() {
|
public void onLoad() {
|
||||||
instance = this;
|
instance = this;
|
||||||
|
@@ -26,7 +26,9 @@ import org.bukkit.event.player.PlayerJoinEvent;
|
|||||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class BallBukkitListener implements Listener, BallListener {
|
public class BallBukkitListener implements Listener, BallListener {
|
||||||
@@ -175,6 +177,18 @@ public class BallBukkitListener implements Listener, BallListener {
|
|||||||
.build());
|
.build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
HamsterBallPlugin.async(() -> {
|
||||||
|
try {
|
||||||
|
List<DisplayMessage> cachedPlayerMessage = BallAPI.getInstance().getCachedPlayerMessage(uuid);
|
||||||
|
Audience audience = CoreAPI.getInstance().getAudienceProvider().player(uuid);
|
||||||
|
for (DisplayMessage message : cachedPlayerMessage) {
|
||||||
|
message.show(audience);
|
||||||
|
}
|
||||||
|
BallAPI.getInstance().removeCachedPlayerMessage(uuid);
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
Reference in New Issue
Block a user