fix: 修复了新版玩家信息加载和跨服同步的问题
This commit is contained in:
@@ -62,7 +62,7 @@ public class HamsterBallPlugin extends JavaPlugin {
|
||||
BallAPI.getInstance().getEventBus().register(BallBukkitListener.INSTANCE);
|
||||
logger.info("已注册监听器 BallBukkitListener");
|
||||
if (BallAPI.getInstance().getBallConfig().isGameServerUpdatePlayerInfo()) {
|
||||
BallAPI.getInstance().subscribe(BallAPI.PLAYER_INFO_UPDATE_CHANNEL);
|
||||
BallAPI.getInstance().subscribe(BallAPI.PLAYER_INFO_CHANNEL);
|
||||
Bukkit.getPluginManager().registerEvents(UpdatePlayerInfoListener.INSTANCE, this);
|
||||
BallAPI.getInstance().getEventBus().register(UpdatePlayerInfoListener.INSTANCE);
|
||||
logger.info("已注册监听器 UpdatePlayerInfoListener");
|
||||
@@ -76,15 +76,17 @@ public class HamsterBallPlugin extends JavaPlugin {
|
||||
playerInfo.setOnline(false);
|
||||
BallBukkitUtils.uploadPlayerInfo(playerInfo);
|
||||
});
|
||||
} else {
|
||||
BallAPI.getInstance().subscribeIgnorePrefix(BallAPI.PLAYER_INFO_CHANNEL);
|
||||
}
|
||||
sync(() -> {
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
||||
PlaceholderHook.INSTANCE.register();
|
||||
logger.info("已挂载 PlaceholderAPI 变量");
|
||||
}
|
||||
BallAPI.getInstance().sendBallMessage(
|
||||
BallAPI.getInstance().sendRawBallMessage(
|
||||
BallAPI.BALL_CHANNEL, BallActions.ServerOnline.name(),
|
||||
new ServerOnlineEvent(BallAPI.getInstance().getLocalServerInfo()), false
|
||||
new ServerOnlineEvent(BallAPI.getInstance().getLocalServerInfo())
|
||||
);
|
||||
});
|
||||
long time = System.currentTimeMillis() - start;
|
||||
|
@@ -26,7 +26,7 @@ public class UpdatePlayerInfoListener implements Listener {
|
||||
@Subscribe
|
||||
public void onBallPlayerLogin(BallPlayerLoginEvent event) {
|
||||
BallPlayerInfo info = event.getPlayerInfo();
|
||||
PLAYER_PROXY_SERVER.put(info.getUuid(), BallAPI.getInstance().getBallConfig().getChannelPrefix() + ":" + info.getProxyServer());
|
||||
PLAYER_PROXY_SERVER.put(info.getUuid(), info.getProxyServer());
|
||||
}
|
||||
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
|
@@ -16,6 +16,7 @@ import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.SQLException;
|
||||
|
||||
@SuppressWarnings("CallToPrintStackTrace")
|
||||
public final class BallBukkitUtils {
|
||||
private BallBukkitUtils() {
|
||||
}
|
||||
@@ -65,7 +66,7 @@ public final class BallBukkitUtils {
|
||||
e.printStackTrace();
|
||||
}
|
||||
BallAPI.getInstance().sendBallMessage(
|
||||
BallAPI.PLAYER_INFO_UPDATE_CHANNEL,
|
||||
BallAPI.PLAYER_INFO_CHANNEL,
|
||||
BallActions.BallPlayerInfoUpdate.name(),
|
||||
new BallPlayerInfoUpdateEvent(playerInfo)
|
||||
);
|
||||
|
Reference in New Issue
Block a user