refactor: 优化代码

This commit is contained in:
2022-12-08 12:46:58 +08:00
parent 84696bc408
commit 9d98b50560
6 changed files with 22 additions and 9 deletions

View File

@@ -4,7 +4,7 @@ version: ${version}
api-version: 1.13 api-version: 1.13
author: MiniDay author: MiniDay
website: https://github.com/MiniDay/hamster-ball website: https://gitee.com/MiniDay/hamster-ball
description: 仓鼠球:一个基于 Netty 的 Minecraft 服务端通用消息中间件原HamsterService description: 仓鼠球:一个基于 Netty 的 Minecraft 服务端通用消息中间件原HamsterService
load: STARTUP load: STARTUP

View File

@@ -145,7 +145,7 @@ public final class BallBungeeCordListener extends BallListener implements Listen
new BallPlayerLoginEvent(new BallPlayerInfo( new BallPlayerLoginEvent(new BallPlayerInfo(
event.getConnection().getUniqueId(), event.getConnection().getUniqueId(),
event.getConnection().getName(), event.getConnection().getName(),
"", "connecting",
BallAPI.getInstance().getLocalServerId(), BallAPI.getInstance().getLocalServerId(),
true true
)) ))
@@ -161,17 +161,17 @@ public final class BallBungeeCordListener extends BallListener implements Listen
BallPlayerPostLoginEvent.ACTION, BallPlayerPostLoginEvent.ACTION,
new BallPlayerPostLoginEvent(playerInfo) new BallPlayerPostLoginEvent(playerInfo)
); );
BallBungeeCordUtils.uploadPlayerInfo(playerInfo);
} }
@EventHandler(priority = EventPriority.HIGH) @EventHandler(priority = EventPriority.HIGH)
public void onServerConnect(ServerConnectEvent event) { public void onServerConnect(ServerConnectEvent event) {
ProxiedPlayer player = event.getPlayer(); ProxiedPlayer player = event.getPlayer();
BallPlayerInfo playerInfo = BallBungeeCordUtils.getPlayerInfo(player, true); BallPlayerInfo playerInfo = BallBungeeCordUtils.getPlayerInfo(player, true);
playerInfo.setGameServer(event.getTarget().getName());
BallAPI.getInstance().sendBallMessage( BallAPI.getInstance().sendBallMessage(
BallAPI.BALL_CHANNEL, BallAPI.BALL_CHANNEL,
BallPlayerConnectServerEvent.ACTION, BallPlayerPreConnectServerEvent.ACTION,
new BallPlayerConnectServerEvent(playerInfo, playerInfo.getGameServer(), event.getTarget().getName()) new BallPlayerPreConnectServerEvent(playerInfo, playerInfo.getGameServer(), event.getTarget().getName())
); );
BallBungeeCordUtils.uploadPlayerInfo(playerInfo); BallBungeeCordUtils.uploadPlayerInfo(playerInfo);
} }
@@ -180,6 +180,7 @@ public final class BallBungeeCordListener extends BallListener implements Listen
public void onServerConnected(ServerConnectedEvent event) { public void onServerConnected(ServerConnectedEvent event) {
ProxiedPlayer player = event.getPlayer(); ProxiedPlayer player = event.getPlayer();
BallPlayerInfo playerInfo = BallBungeeCordUtils.getPlayerInfo(player, true); BallPlayerInfo playerInfo = BallBungeeCordUtils.getPlayerInfo(player, true);
playerInfo.setGameServer(event.getServer().getInfo().getName());
BallAPI.getInstance().sendBallMessage( BallAPI.getInstance().sendBallMessage(
BallAPI.BALL_CHANNEL, BallAPI.BALL_CHANNEL,
BallPlayerPostConnectServerEvent.ACTION, BallPlayerPostConnectServerEvent.ACTION,

View File

@@ -25,7 +25,7 @@ public final class BallBungeeCordUtils {
return new BallPlayerInfo( return new BallPlayerInfo(
player.getUniqueId(), player.getUniqueId(),
player.getName(), player.getName(),
server == null ? "" : server.getInfo().getName(), server == null ? "connecting" : server.getInfo().getName(),
BallAPI.getInstance().getLocalServerId(), BallAPI.getInstance().getLocalServerId(),
online online
); );

View File

@@ -8,6 +8,12 @@ import org.jetbrains.annotations.Nullable;
/** /**
* 玩家进入子服 * 玩家进入子服
* <p>
* 仅在使用 velocity 代理端时才会触发这个事件
*
* @see BallPlayerPreConnectServerEvent 玩家准备进入子服
* @see BallPlayerConnectServerEvent 玩家进入子服
* @see BallPlayerPostConnectServerEvent 玩家已经进入子服
*/ */
@Data @Data
@AllArgsConstructor @AllArgsConstructor

View File

@@ -6,7 +6,11 @@ import lombok.Data;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
/** /**
* 玩家已进入子服 * 玩家已进入子服
*
* @see BallPlayerPreConnectServerEvent 玩家准备进入子服
* @see BallPlayerConnectServerEvent 玩家进入子服
* @see BallPlayerPostConnectServerEvent 玩家已经进入子服
*/ */
@Data @Data
@AllArgsConstructor @AllArgsConstructor

View File

@@ -8,8 +8,10 @@ import org.jetbrains.annotations.Nullable;
/** /**
* 玩家准备进入子服 * 玩家准备进入子服
* <p> *
* 仅在使用 velocity 代理端时才会触发这个事件 * @see BallPlayerPreConnectServerEvent 玩家准备进入子服
* @see BallPlayerConnectServerEvent 玩家进入子服
* @see BallPlayerPostConnectServerEvent 玩家已经进入子服
*/ */
@Data @Data
@AllArgsConstructor @AllArgsConstructor