feat: 支持新版仓鼠球
This commit is contained in:
@@ -5,18 +5,16 @@ import cn.hamster3.mc.plugin.auto.server.info.util.ServerInfoUtils;
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallServerInfo;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallServerType;
|
||||
import cn.hamster3.mc.plugin.ball.common.listener.BallListener;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
|
||||
public class ServerInfoPlugin extends Plugin implements BallListener {
|
||||
public class ServerInfoPlugin extends Plugin {
|
||||
private static ServerInfoPlugin instance;
|
||||
|
||||
public static ServerInfoPlugin getInstance() {
|
||||
return instance;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onLoad() {
|
||||
instance = this;
|
||||
@@ -33,6 +31,6 @@ public class ServerInfoPlugin extends Plugin implements BallListener {
|
||||
ProxyServer.getInstance().getServers().put(serverInfo.getId(), ServerInfoUtils.getServerInfo(serverInfo));
|
||||
getLogger().info("已添加子服 " + serverInfo.getId() + " 的接入点配置.");
|
||||
}
|
||||
BallAPI.getInstance().addListener(ServerInfoListener.INSTANCE);
|
||||
ProxyServer.getInstance().getPluginManager().registerListener(this, ServerInfoListener.INSTANCE);
|
||||
}
|
||||
}
|
||||
|
@@ -2,38 +2,40 @@ package cn.hamster3.mc.plugin.auto.server.info.listener;
|
||||
|
||||
import cn.hamster3.mc.plugin.auto.server.info.ServerInfoPlugin;
|
||||
import cn.hamster3.mc.plugin.auto.server.info.util.ServerInfoUtils;
|
||||
import cn.hamster3.mc.plugin.ball.bungee.event.server.ServerOfflineEvent;
|
||||
import cn.hamster3.mc.plugin.ball.bungee.event.server.ServerOnlineEvent;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallServerInfo;
|
||||
import cn.hamster3.mc.plugin.ball.common.entity.BallServerType;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.server.ServerOfflineEvent;
|
||||
import cn.hamster3.mc.plugin.ball.common.event.server.ServerOnlineEvent;
|
||||
import cn.hamster3.mc.plugin.ball.common.listener.BallListener;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.config.ServerInfo;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
public class ServerInfoListener implements BallListener {
|
||||
public class ServerInfoListener implements Listener {
|
||||
public static final ServerInfoListener INSTANCE = new ServerInfoListener();
|
||||
|
||||
private ServerInfoListener() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServerOnline(@NotNull ServerOnlineEvent event) {
|
||||
@EventHandler
|
||||
public void onServerOnline(ServerOnlineEvent event) {
|
||||
BallServerInfo serverInfo = event.getServerInfo();
|
||||
if (serverInfo.getType() != BallServerType.GAME) {
|
||||
return;
|
||||
}
|
||||
ProxyServer.getInstance().getServers().put(serverInfo.getId(), ServerInfoUtils.getServerInfo(serverInfo));
|
||||
ServerInfoPlugin.getInstance().getLogger().info("已添加子服 " + serverInfo.getId() + " 的接入点配置.");
|
||||
ServerInfoPlugin.getInstance().getLogger().info("已添加子服 " + serverInfo.getId() + " 的接入点配置");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onServerOffline(@NotNull ServerOfflineEvent event) {
|
||||
@EventHandler
|
||||
public void onServerOffline(ServerOfflineEvent event) {
|
||||
BallServerInfo info = event.getServerInfo();
|
||||
String id = info.getId();
|
||||
Map<String, ServerInfo> map = ProxyServer.getInstance().getServers();
|
||||
if (map.remove(event.getServerID()) != null) {
|
||||
ServerInfoPlugin.getInstance().getLogger().info("已移除子服 " + event.getServerID() + " 的接入点配置.");
|
||||
if (map.remove(id) != null) {
|
||||
ServerInfoPlugin.getInstance().getLogger().info("已移除子服 " + id + " 的接入点配置");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user