diff --git a/gradle.properties b/gradle.properties index eb6736a..45caab1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,6 @@ org.gradle.jvmargs=-Xmx2G - -spigot_api_version=1.19.4-R0.1-SNAPSHOT -bungeecord_api_version=1.19-R0.1-SNAPSHOT -hamster_core_version=1.1.0-SNAPSHOT -hamster_ball_version=1.2.0-SNAPSHOT +spigot_api_version=1.20.2-R0.1-SNAPSHOT +bungeecord_api_version=1.20-R0.1-SNAPSHOT +hamster_core_version=1.1.0 +hamster_ball_version=1.3.0 placeholder_api_version=2.11.2 \ No newline at end of file diff --git a/hamster-auto-server-info/build.gradle b/hamster-auto-server-info/build.gradle index c56a8a2..88d77a6 100644 --- a/hamster-auto-server-info/build.gradle +++ b/hamster-auto-server-info/build.gradle @@ -2,5 +2,5 @@ version = '1.1.0' setArchivesBaseName("HamsterAuto-ServerInfo") dependencies { - compileOnly "cn.hamster3.mc.plugin:ball-bungeecord:${hamster_ball_version}" + compileOnly "cn.hamster3.mc.plugin:ball-bungee:${hamster_ball_version}" } diff --git a/hamster-auto-server-info/src/main/java/cn/hamster3/mc/plugin/auto/server/info/ServerInfoPlugin.java b/hamster-auto-server-info/src/main/java/cn/hamster3/mc/plugin/auto/server/info/ServerInfoPlugin.java index e179e0a..fc5f9f0 100644 --- a/hamster-auto-server-info/src/main/java/cn/hamster3/mc/plugin/auto/server/info/ServerInfoPlugin.java +++ b/hamster-auto-server-info/src/main/java/cn/hamster3/mc/plugin/auto/server/info/ServerInfoPlugin.java @@ -31,6 +31,6 @@ public class ServerInfoPlugin extends Plugin { ProxyServer.getInstance().getServers().put(serverInfo.getId(), ServerInfoUtils.getServerInfo(serverInfo)); getLogger().info("已添加子服 " + serverInfo.getId() + " 的接入点配置."); } - ProxyServer.getInstance().getPluginManager().registerListener(this, ServerInfoListener.INSTANCE); + BallAPI.getInstance().getEventBus().register(ServerInfoListener.INSTANCE); } } diff --git a/hamster-auto-server-info/src/main/java/cn/hamster3/mc/plugin/auto/server/info/listener/ServerInfoListener.java b/hamster-auto-server-info/src/main/java/cn/hamster3/mc/plugin/auto/server/info/listener/ServerInfoListener.java index ed064fc..e7f4ce3 100644 --- a/hamster-auto-server-info/src/main/java/cn/hamster3/mc/plugin/auto/server/info/listener/ServerInfoListener.java +++ b/hamster-auto-server-info/src/main/java/cn/hamster3/mc/plugin/auto/server/info/listener/ServerInfoListener.java @@ -2,24 +2,23 @@ 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 com.google.common.eventbus.Subscribe; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.config.ServerInfo; -import net.md_5.bungee.api.plugin.Listener; -import net.md_5.bungee.event.EventHandler; import java.util.Map; -public class ServerInfoListener implements Listener { +public class ServerInfoListener { public static final ServerInfoListener INSTANCE = new ServerInfoListener(); private ServerInfoListener() { } - @EventHandler + @Subscribe public void onServerOnline(ServerOnlineEvent event) { BallServerInfo serverInfo = event.getServerInfo(); if (serverInfo.getType() != BallServerType.GAME) { @@ -29,7 +28,7 @@ public class ServerInfoListener implements Listener { ServerInfoPlugin.getInstance().getLogger().info("已添加子服 " + serverInfo.getId() + " 的接入点配置"); } - @EventHandler + @Subscribe public void onServerOffline(ServerOfflineEvent event) { BallServerInfo info = event.getServerInfo(); String id = info.getId(); diff --git a/hamster-ball-bridge/build.gradle b/hamster-ball-bridge/build.gradle index 0f92c21..c32c582 100644 --- a/hamster-ball-bridge/build.gradle +++ b/hamster-ball-bridge/build.gradle @@ -1,10 +1,10 @@ -version = '1.3.0' +version = '1.4.0' setArchivesBaseName("HamsterBall-Bridge") dependencies { compileOnly "cn.hamster3.mc.plugin:core-bukkit:${hamster_core_version}" compileOnly "cn.hamster3.mc.plugin:ball-bukkit:${hamster_ball_version}" - compileOnly "cn.hamster3.mc.plugin:ball-bungeecord:${hamster_ball_version}" + compileOnly "cn.hamster3.mc.plugin:ball-bungee:${hamster_ball_version}" compileOnly "me.clip:placeholderapi:${placeholder_api_version}" } diff --git a/hamster-ball-bridge/src/main/java/cn/hamster3/service/bukkit/BallBridgePlugin.java b/hamster-ball-bridge/src/main/java/cn/hamster3/service/bukkit/BallBridgePlugin.java index 478306b..27c2145 100644 --- a/hamster-ball-bridge/src/main/java/cn/hamster3/service/bukkit/BallBridgePlugin.java +++ b/hamster-ball-bridge/src/main/java/cn/hamster3/service/bukkit/BallBridgePlugin.java @@ -1,9 +1,10 @@ package cn.hamster3.service.bukkit; +import cn.hamster3.mc.plugin.ball.common.api.BallAPI; import cn.hamster3.service.bukkit.command.ServiceCommand; import cn.hamster3.service.bukkit.hook.ServicePlaceholderHook; -import cn.hamster3.service.bukkit.listener.BridgeListener; import cn.hamster3.service.bukkit.listener.ServiceMainListener; +import cn.hamster3.service.common.listener.BridgeListener; import cn.hamster3.service.common.util.ServiceLogUtils; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; @@ -24,7 +25,7 @@ public class BallBridgePlugin extends JavaPlugin { @Override public void onEnable() { ServiceCommand.INSTANCE.register(); - Bukkit.getPluginManager().registerEvents(BridgeListener.INSTANCE, this); + BallAPI.getInstance().getEventBus().register(BridgeListener.INSTANCE); Bukkit.getPluginManager().registerEvents(ServiceMainListener.INSTANCE, this); Bukkit.getScheduler().runTask(this, () -> { if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) { @@ -34,6 +35,6 @@ public class BallBridgePlugin extends JavaPlugin { getLogger().warning("未找到 PlaceholderAPI 插件, 取消注册占位符."); } }); + BallAPI.getInstance().subscribe("HamsterService"); } - } diff --git a/hamster-ball-bridge/src/main/java/cn/hamster3/service/bungee/BallBridgePlugin.java b/hamster-ball-bridge/src/main/java/cn/hamster3/service/bungee/BallBridgePlugin.java index 09dd6f1..89ee77c 100644 --- a/hamster-ball-bridge/src/main/java/cn/hamster3/service/bungee/BallBridgePlugin.java +++ b/hamster-ball-bridge/src/main/java/cn/hamster3/service/bungee/BallBridgePlugin.java @@ -1,8 +1,9 @@ package cn.hamster3.service.bungee; +import cn.hamster3.mc.plugin.ball.common.api.BallAPI; import cn.hamster3.service.bungee.command.ServiceCommand; -import cn.hamster3.service.bungee.listener.BridgeListener; import cn.hamster3.service.bungee.listener.ServiceMainListener; +import cn.hamster3.service.common.listener.BridgeListener; import cn.hamster3.service.common.util.ServiceLogUtils; import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.plugin.Plugin; @@ -18,8 +19,9 @@ public class BallBridgePlugin extends Plugin { @Override public void onEnable() { - ProxyServer.getInstance().getPluginManager().registerListener(this, BridgeListener.INSTANCE); + BallAPI.getInstance().getEventBus().register(BridgeListener.INSTANCE); ProxyServer.getInstance().getPluginManager().registerListener(this, ServiceMainListener.INSTANCE); ProxyServer.getInstance().getPluginManager().registerCommand(this, ServiceCommand.INSTANCE); + BallAPI.getInstance().subscribe("HamsterService"); } } diff --git a/hamster-ball-bridge/src/main/java/cn/hamster3/service/bungee/listener/BridgeListener.java b/hamster-ball-bridge/src/main/java/cn/hamster3/service/bungee/listener/BridgeListener.java deleted file mode 100644 index 3555d0f..0000000 --- a/hamster-ball-bridge/src/main/java/cn/hamster3/service/bungee/listener/BridgeListener.java +++ /dev/null @@ -1,43 +0,0 @@ -package cn.hamster3.service.bungee.listener; - -import cn.hamster3.mc.plugin.ball.bungee.event.MessageReceiveEvent; -import cn.hamster3.mc.plugin.ball.bungee.event.MessageSendEvent; -import cn.hamster3.mc.plugin.ball.common.data.BallMessage; -import cn.hamster3.service.bungee.api.ServiceInfoAPI; -import cn.hamster3.service.bungee.event.MessageReceivedEvent; -import cn.hamster3.service.bungee.event.MessageSentEvent; -import cn.hamster3.service.common.entity.ServiceMessageInfo; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.plugin.Listener; -import net.md_5.bungee.event.EventHandler; - -public class BridgeListener implements Listener { - public static final BridgeListener INSTANCE = new BridgeListener(); - - private BridgeListener() { - } - - @EventHandler - public void onMessageSend(MessageSendEvent event) { - BallMessage ballMessage = event.getMessage(); - ProxyServer.getInstance().getPluginManager().callEvent(new MessageSentEvent(new ServiceMessageInfo( - ServiceInfoAPI.getSenderInfo(ballMessage.getSenderID()), - ballMessage.getReceiverID(), - event.getChannel(), - ballMessage.getAction(), - ballMessage.getContent() - ))); - } - - @EventHandler - public void onMessageReceive(MessageReceiveEvent event) { - BallMessage ballMessage = event.getMessage(); - ProxyServer.getInstance().getPluginManager().callEvent(new MessageReceivedEvent(new ServiceMessageInfo( - ServiceInfoAPI.getSenderInfo(ballMessage.getSenderID()), - ballMessage.getReceiverID(), - event.getChannel(), - ballMessage.getAction(), - ballMessage.getContent() - ))); - } -} diff --git a/hamster-ball-bridge/src/main/java/cn/hamster3/service/bukkit/listener/BridgeListener.java b/hamster-ball-bridge/src/main/java/cn/hamster3/service/common/listener/BridgeListener.java similarity index 73% rename from hamster-ball-bridge/src/main/java/cn/hamster3/service/bukkit/listener/BridgeListener.java rename to hamster-ball-bridge/src/main/java/cn/hamster3/service/common/listener/BridgeListener.java index 99d72ba..c864675 100644 --- a/hamster-ball-bridge/src/main/java/cn/hamster3/service/bukkit/listener/BridgeListener.java +++ b/hamster-ball-bridge/src/main/java/cn/hamster3/service/common/listener/BridgeListener.java @@ -1,24 +1,21 @@ -package cn.hamster3.service.bukkit.listener; +package cn.hamster3.service.common.listener; -import cn.hamster3.mc.plugin.ball.bukkit.event.MessageReceiveEvent; -import cn.hamster3.mc.plugin.ball.bukkit.event.MessageSendEvent; import cn.hamster3.mc.plugin.ball.common.data.BallMessage; import cn.hamster3.service.bukkit.api.ServiceInfoAPI; import cn.hamster3.service.bukkit.event.MessageReceivedEvent; import cn.hamster3.service.bukkit.event.MessageSentEvent; import cn.hamster3.service.common.entity.ServiceMessageInfo; +import com.google.common.eventbus.Subscribe; import org.bukkit.Bukkit; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -public class BridgeListener implements Listener { +public class BridgeListener { public static final BridgeListener INSTANCE = new BridgeListener(); private BridgeListener() { } - @EventHandler - public void onMessageSend(MessageSendEvent event) { + @Subscribe + public void onMessageSent(cn.hamster3.mc.plugin.ball.common.event.message.MessageSentEvent event) { BallMessage ballMessage = event.getMessage(); Bukkit.getPluginManager().callEvent(new MessageSentEvent(new ServiceMessageInfo( ServiceInfoAPI.getSenderInfo(ballMessage.getSenderID()), @@ -29,8 +26,8 @@ public class BridgeListener implements Listener { ))); } - @EventHandler - public void onMessageReceive(MessageReceiveEvent event) { + @Subscribe + public void onMessageReceived(cn.hamster3.mc.plugin.ball.common.event.message.MessageReceivedEvent event) { BallMessage ballMessage = event.getMessage(); Bukkit.getPluginManager().callEvent(new MessageReceivedEvent(new ServiceMessageInfo( ServiceInfoAPI.getSenderInfo(ballMessage.getSenderID()), diff --git a/hamster-join-message/build.gradle b/hamster-join-message/build.gradle index ff1db73..a56b6d6 100644 --- a/hamster-join-message/build.gradle +++ b/hamster-join-message/build.gradle @@ -5,5 +5,5 @@ dependencies { //noinspection VulnerableLibrariesLocal compileOnly "net.md-5:bungeecord-api:${bungeecord_api_version}" - compileOnly "cn.hamster3.mc.plugin:core-bungeecord:${hamster_core_version}" + compileOnly "cn.hamster3.mc.plugin:core-bungee:${hamster_core_version}" } diff --git a/hamster-lobby/build.gradle b/hamster-lobby/build.gradle index a5ac950..9ff9d64 100644 --- a/hamster-lobby/build.gradle +++ b/hamster-lobby/build.gradle @@ -7,5 +7,5 @@ dependencies { compileOnly "cn.hamster3.mc.plugin:core-bukkit:${hamster_core_version}" compileOnly "cn.hamster3.mc.plugin:ball-bukkit:${hamster_ball_version}" - compileOnly "cn.hamster3.mc.plugin:ball-bungeecord:${hamster_ball_version}" + compileOnly "cn.hamster3.mc.plugin:ball-bungee:${hamster_ball_version}" } diff --git a/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bukkit/LobbyPlugin.java b/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bukkit/LobbyPlugin.java index 154fa28..122fcc5 100644 --- a/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bukkit/LobbyPlugin.java +++ b/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bukkit/LobbyPlugin.java @@ -22,8 +22,8 @@ public class LobbyPlugin extends JavaPlugin { @Override public void onEnable() { Bukkit.getPluginManager().registerEvents(MainListener.INSTANCE, this); - Bukkit.getPluginManager().registerEvents(ServiceListener.INSTANCE, this); Bukkit.getPluginManager().registerEvents(ProtectListener.INSTANCE, this); + BallAPI.getInstance().getEventBus().register(ServiceListener.INSTANCE); BallAPI.getInstance().sendBallMessage("HamsterLobby", "registerLobby"); } } diff --git a/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bukkit/listener/ServiceListener.java b/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bukkit/listener/ServiceListener.java index 546539c..a7726d4 100644 --- a/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bukkit/listener/ServiceListener.java +++ b/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bukkit/listener/ServiceListener.java @@ -1,20 +1,19 @@ package cn.hamster3.mc.plugin.lobby.bukkit.listener; -import cn.hamster3.mc.plugin.ball.bukkit.event.server.ServerOnlineEvent; 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.event.server.ServerOnlineEvent; import cn.hamster3.mc.plugin.lobby.bukkit.LobbyPlugin; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; +import com.google.common.eventbus.Subscribe; -public class ServiceListener implements Listener { +public class ServiceListener { public static final ServiceListener INSTANCE = new ServiceListener(); private ServiceListener() { } - @EventHandler(ignoreCancelled = true) + @Subscribe public void onServerOnline(ServerOnlineEvent event) { BallServerInfo info = event.getServerInfo(); if (info.getType() != BallServerType.PROXY) { diff --git a/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bungee/LobbyPlugin.java b/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bungee/LobbyPlugin.java index 54b06f5..ee07683 100644 --- a/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bungee/LobbyPlugin.java +++ b/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bungee/LobbyPlugin.java @@ -24,9 +24,9 @@ public class LobbyPlugin extends Plugin { @Override public void onEnable() { + BallAPI.getInstance().getEventBus().register(ServiceListener.INSTANCE); BallAPI.getInstance().subscribe("HamsterLobby"); ProxyServer.getInstance().setReconnectHandler(LobbyReconnectHandler.INSTANCE); - ProxyServer.getInstance().getPluginManager().registerListener(this, ServiceListener.INSTANCE); ProxyServer.getInstance().getPluginManager().registerListener(this, MainListener.INSTANCE); } } diff --git a/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bungee/listener/ServiceListener.java b/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bungee/listener/ServiceListener.java index 1cc0312..551be52 100644 --- a/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bungee/listener/ServiceListener.java +++ b/hamster-lobby/src/main/java/cn/hamster3/mc/plugin/lobby/bungee/listener/ServiceListener.java @@ -1,11 +1,11 @@ package cn.hamster3.mc.plugin.lobby.bungee.listener; -import cn.hamster3.mc.plugin.ball.bungee.event.MessageReceiveEvent; -import cn.hamster3.mc.plugin.ball.bungee.event.server.ServerOfflineEvent; import cn.hamster3.mc.plugin.ball.common.data.BallMessage; +import cn.hamster3.mc.plugin.ball.common.event.message.MessageReceivedEvent; +import cn.hamster3.mc.plugin.ball.common.event.server.ServerOfflineEvent; import cn.hamster3.mc.plugin.lobby.bungee.LobbyPlugin; +import com.google.common.eventbus.Subscribe; import net.md_5.bungee.api.plugin.Listener; -import net.md_5.bungee.event.EventHandler; public class ServiceListener implements Listener { public static final ServiceListener INSTANCE = new ServiceListener(); @@ -13,9 +13,8 @@ public class ServiceListener implements Listener { private ServiceListener() { } - - @EventHandler - public void onMessageReceive(MessageReceiveEvent event) { + @Subscribe + public void onMessageReceived(MessageReceivedEvent event) { if (!"HamsterLobby".equals(event.getChannel())) { return; } @@ -33,7 +32,7 @@ public class ServiceListener implements Listener { } } - @EventHandler + @Subscribe public void onServerOffline(ServerOfflineEvent event) { String serverID = event.getServerInfo().getId(); if (LobbyPlugin.LOBBY_SERVERS.remove(serverID)) { diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/HamsterTPAPlugin.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/HamsterTPAPlugin.java index 02afc0e..a28c3d1 100644 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/HamsterTPAPlugin.java +++ b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/HamsterTPAPlugin.java @@ -7,7 +7,6 @@ import cn.hamster3.mc.plugin.tpa.command.TPDenyCommand; import cn.hamster3.mc.plugin.tpa.config.ConfigManager; import cn.hamster3.mc.plugin.tpa.core.DataManager; import cn.hamster3.mc.plugin.tpa.listener.MainListener; -import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; public class HamsterTPAPlugin extends JavaPlugin { @@ -30,7 +29,7 @@ public class HamsterTPAPlugin extends JavaPlugin { TPACommand.INSTANCE.register(); TPAcceptCommand.INSTANCE.register(); TPDenyCommand.INSTANCE.register(); - Bukkit.getPluginManager().registerEvents(MainListener.INSTANCE, this); + BallAPI.getInstance().getEventBus().register(MainListener.INSTANCE); BallAPI.getInstance().subscribe(BALL_CHANNEL); } } diff --git a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/listener/MainListener.java b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/listener/MainListener.java index 1d5079b..4cacf09 100644 --- a/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/listener/MainListener.java +++ b/hamster-tpa/src/main/java/cn/hamster3/mc/plugin/tpa/listener/MainListener.java @@ -1,11 +1,11 @@ package cn.hamster3.mc.plugin.tpa.listener; -import cn.hamster3.mc.plugin.ball.bukkit.event.MessageReceiveEvent; import cn.hamster3.mc.plugin.ball.common.data.BallMessage; +import cn.hamster3.mc.plugin.ball.common.event.message.MessageReceivedEvent; import cn.hamster3.mc.plugin.tpa.HamsterTPAPlugin; import cn.hamster3.mc.plugin.tpa.core.DataManager; +import com.google.common.eventbus.Subscribe; import com.google.gson.JsonObject; -import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import java.util.UUID; @@ -16,8 +16,8 @@ public final class MainListener implements Listener { private MainListener() { } - @EventHandler(ignoreCancelled = true) - public void onMessageReceive(MessageReceiveEvent event) { + @Subscribe + public void onMessageReceived(MessageReceivedEvent event) { if (!HamsterTPAPlugin.BALL_CHANNEL.equals(event.getChannel())) { return; }