feat: 支持新版仓鼠球

This commit is contained in:
2023-11-12 17:50:55 +08:00
parent d20259631a
commit 9a7a0c92af
17 changed files with 48 additions and 96 deletions

View File

@@ -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}"
}

View File

@@ -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");
}
}

View File

@@ -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");
}
}

View File

@@ -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()
)));
}
}

View File

@@ -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()),