feat: 优化部分代码处理流程
This commit is contained in:
@@ -23,6 +23,12 @@ public class UpdatePlayerInfoListener implements Listener {
|
||||
private UpdatePlayerInfoListener() {
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onBallPlayerLogin(BallPlayerLoginEvent event) {
|
||||
BallPlayerInfo info = event.getPlayerInfo();
|
||||
PLAYER_PROXY_SERVER.put(info.getUuid(), BallAPI.getInstance().getBallConfig().getChannelPrefix() + ":" + info.getProxyServer());
|
||||
}
|
||||
|
||||
@EventHandler(ignoreCancelled = true)
|
||||
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
@@ -36,15 +42,12 @@ public class UpdatePlayerInfoListener implements Listener {
|
||||
BallBukkitUtils.uploadPlayerInfo(playerInfo);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onBallPlayerLogin(BallPlayerLoginEvent event) {
|
||||
BallPlayerInfo info = event.getPlayerInfo();
|
||||
PLAYER_PROXY_SERVER.put(info.getUuid(), info.getProxyServer());
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onBallPlayerLogout(BallPlayerLogoutEvent event) {
|
||||
BallPlayerInfo playerInfo = BallAPI.getInstance().getPlayerInfo(event.getPlayerInfo().getUuid());
|
||||
if (playerInfo == null) {
|
||||
return;
|
||||
}
|
||||
if (!BallAPI.getInstance().isLocalServer(playerInfo.getGameServer())) {
|
||||
return;
|
||||
}
|
||||
|
@@ -1,14 +1,14 @@
|
||||
package cn.hamster3.mc.plugin.core.bungee;
|
||||
package cn.hamster3.mc.plugin.ball.bungee;
|
||||
|
||||
import cn.hamster3.mc.plugin.ball.bungee.api.BallBungeeCordAPI;
|
||||
import cn.hamster3.mc.plugin.ball.bungee.listener.BallBungeeListener;
|
||||
import cn.hamster3.mc.plugin.ball.bungee.listener.BallBungeeListenerV2;
|
||||
import cn.hamster3.mc.plugin.ball.bungee.listener.UpdatePlayerInfoListener;
|
||||
import cn.hamster3.mc.plugin.ball.bungee.util.BallBungeeCordUtils;
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallPlayerInfo;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.BallActions;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.server.ServerOnlineEvent;
|
||||
import cn.hamster3.mc.plugin.core.bungee.api.BallBungeeCordAPI;
|
||||
import cn.hamster3.mc.plugin.core.bungee.listener.BallBungeeListener;
|
||||
import cn.hamster3.mc.plugin.core.bungee.listener.BallBungeeListenerV2;
|
||||
import cn.hamster3.mc.plugin.core.bungee.listener.UpdatePlayerInfoListener;
|
||||
import cn.hamster3.mc.plugin.core.bungee.util.BallBungeeCordUtils;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
|
@@ -1,11 +1,11 @@
|
||||
package cn.hamster3.mc.plugin.core.bungee.api;
|
||||
package cn.hamster3.mc.plugin.ball.bungee.api;
|
||||
|
||||
import cn.hamster3.mc.plugin.ball.bungee.util.BallBungeeCordUtils;
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.config.BallConfig;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallServerInfo;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallServerType;
|
||||
import cn.hamster3.mc.plugin.core.bungee.HamsterBallPlugin;
|
||||
import cn.hamster3.mc.plugin.core.bungee.util.BallBungeeCordUtils;
|
||||
import cn.hamster3.mc.plugin.ball.bungee.HamsterBallPlugin;
|
||||
import cn.hamster3.mc.plugin.core.bungee.util.CoreBungeeCordUtils;
|
||||
import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
|
||||
import io.lettuce.core.RedisClient;
|
@@ -1,4 +1,4 @@
|
||||
package cn.hamster3.mc.plugin.core.bungee.listener;
|
||||
package cn.hamster3.mc.plugin.ball.bungee.listener;
|
||||
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallPlayerInfo;
|
||||
@@ -6,7 +6,7 @@ import cn.hamster3.mc.plugin.ball.common.event.BallActions;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.player.BallPlayerLoginEvent;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.player.BallPlayerPostLoginEvent;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.player.BallPlayerPreLoginEvent;
|
||||
import cn.hamster3.mc.plugin.core.bungee.util.BallBungeeCordUtils;
|
||||
import cn.hamster3.mc.plugin.ball.bungee.util.BallBungeeCordUtils;
|
||||
import net.md_5.bungee.api.connection.PendingConnection;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.event.LoginEvent;
|
@@ -1,9 +1,9 @@
|
||||
package cn.hamster3.mc.plugin.core.bungee.listener;
|
||||
package cn.hamster3.mc.plugin.ball.bungee.listener;
|
||||
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallServerType;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.operate.*;
|
||||
import cn.hamster3.mc.plugin.core.bungee.HamsterBallPlugin;
|
||||
import cn.hamster3.mc.plugin.ball.bungee.HamsterBallPlugin;
|
||||
import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
|
||||
import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.audience.Audience;
|
||||
import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.serializer.bungeecord.BungeeComponentSerializer;
|
@@ -1,4 +1,4 @@
|
||||
package cn.hamster3.mc.plugin.core.bungee.listener;
|
||||
package cn.hamster3.mc.plugin.ball.bungee.listener;
|
||||
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallPlayerInfo;
|
||||
@@ -6,7 +6,7 @@ import cn.hamster3.mc.plugin.ball.common.event.BallActions;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.player.BallPlayerLogoutEvent;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.player.BallPlayerPostConnectServerEvent;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.player.BallPlayerPreConnectServerEvent;
|
||||
import cn.hamster3.mc.plugin.core.bungee.util.BallBungeeCordUtils;
|
||||
import cn.hamster3.mc.plugin.ball.bungee.util.BallBungeeCordUtils;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
import net.md_5.bungee.api.event.PlayerDisconnectEvent;
|
||||
import net.md_5.bungee.api.event.ServerConnectEvent;
|
@@ -1,4 +1,4 @@
|
||||
package cn.hamster3.mc.plugin.core.bungee.util;
|
||||
package cn.hamster3.mc.plugin.ball.bungee.util;
|
||||
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallPlayerInfo;
|
@@ -1,5 +1,5 @@
|
||||
name: HamsterBall
|
||||
main: cn.hamster3.mc.plugin.core.bungee.HamsterBallPlugin
|
||||
main: cn.hamster3.mc.plugin.ball.bungee.HamsterBallPlugin
|
||||
version: ${version}
|
||||
|
||||
author: MiniDay
|
||||
|
@@ -522,32 +522,54 @@ public abstract class BallAPI {
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取玩家信息
|
||||
* 获取玩家信息(大小写字母不匹配)
|
||||
*
|
||||
* @param playerName 玩家名称
|
||||
* @return 玩家信息
|
||||
*/
|
||||
public BallPlayerInfo getPlayerInfo(@NotNull String playerName) {
|
||||
if (getBallConfig().isGameServerUpdatePlayerInfo()) {
|
||||
for (BallPlayerInfo info : allPlayerInfo.values()) {
|
||||
if (!info.getProxyServer().startsWith(BallAPI.getInstance().getBallConfig().getChannelPrefix())) {
|
||||
continue;
|
||||
}
|
||||
if (info.getName().equalsIgnoreCase(playerName)) {
|
||||
return info;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (BallPlayerInfo info : allPlayerInfo.values()) {
|
||||
if (info.getName().equalsIgnoreCase(playerName)) {
|
||||
return info;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取玩家信息
|
||||
* 获取玩家信息(大小写字母匹配)
|
||||
*
|
||||
* @param playerName 玩家名称
|
||||
* @return 玩家信息
|
||||
*/
|
||||
public BallPlayerInfo getPlayerInfoExact(@NotNull String playerName) {
|
||||
if (getBallConfig().isGameServerUpdatePlayerInfo()) {
|
||||
for (BallPlayerInfo info : allPlayerInfo.values()) {
|
||||
if (!info.getProxyServer().startsWith(BallAPI.getInstance().getBallConfig().getChannelPrefix())) {
|
||||
continue;
|
||||
}
|
||||
if (info.getName().equals(playerName)) {
|
||||
return info;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (BallPlayerInfo info : allPlayerInfo.values()) {
|
||||
if (info.getName().equals(playerName)) {
|
||||
return info;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@@ -5,7 +5,7 @@ plugins {
|
||||
}
|
||||
|
||||
group = "cn.hamster3.mc.plugin"
|
||||
version = "1.4.2"
|
||||
version = "1.4.3"
|
||||
|
||||
subprojects {
|
||||
apply {
|
||||
|
Reference in New Issue
Block a user