feat: 支持新版仓鼠球
This commit is contained in:
@@ -1,9 +1,10 @@
|
||||
version = '1.2.0'
|
||||
version = '1.3.0'
|
||||
setArchivesBaseName("HamsterBall-Bridge")
|
||||
|
||||
dependencies {
|
||||
compileOnly "cn.hamster3.mc.plugin:ball-common:${hamster_ball_version}"
|
||||
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 "me.clip:placeholderapi:${placeholder_api_version}"
|
||||
}
|
||||
|
@@ -1,20 +1,12 @@
|
||||
package cn.hamster3.service.bukkit;
|
||||
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.data.BallMessageInfo;
|
||||
import cn.hamster3.mc.plugin.ball.common.listener.BallListener;
|
||||
import cn.hamster3.service.bukkit.api.ServiceInfoAPI;
|
||||
import cn.hamster3.service.bukkit.command.ServiceCommand;
|
||||
import cn.hamster3.service.bukkit.event.MessageReceivedEvent;
|
||||
import cn.hamster3.service.bukkit.event.MessageSentEvent;
|
||||
import cn.hamster3.service.bukkit.event.ServiceConnectEvent;
|
||||
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.entity.ServiceMessageInfo;
|
||||
import cn.hamster3.service.common.util.ServiceLogUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class BallBridgePlugin extends JavaPlugin {
|
||||
private static BallBridgePlugin instance;
|
||||
@@ -31,30 +23,8 @@ public class BallBridgePlugin extends JavaPlugin {
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
BallAPI.getInstance().addListener(new BallListener() {
|
||||
@Override
|
||||
public void onMessageSend(@NotNull BallMessageInfo event) {
|
||||
Bukkit.getPluginManager().callEvent(new MessageSentEvent(new ServiceMessageInfo(
|
||||
ServiceInfoAPI.getSenderInfo(event.getSenderID()),
|
||||
event.getReceiverID(),
|
||||
event.getChannel(),
|
||||
event.getAction(),
|
||||
event.getContent()
|
||||
)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessageReceived(@NotNull BallMessageInfo event) {
|
||||
Bukkit.getPluginManager().callEvent(new MessageReceivedEvent(new ServiceMessageInfo(
|
||||
ServiceInfoAPI.getSenderInfo(event.getSenderID()),
|
||||
event.getReceiverID(),
|
||||
event.getChannel(),
|
||||
event.getAction(),
|
||||
event.getContent()
|
||||
)));
|
||||
}
|
||||
});
|
||||
ServiceCommand.INSTANCE.hook();
|
||||
ServiceCommand.INSTANCE.register();
|
||||
Bukkit.getPluginManager().registerEvents(BridgeListener.INSTANCE, this);
|
||||
Bukkit.getPluginManager().registerEvents(ServiceMainListener.INSTANCE, this);
|
||||
Bukkit.getScheduler().runTask(this, () -> {
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package cn.hamster3.service.bukkit.api;
|
||||
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.data.BallMessageInfo;
|
||||
import cn.hamster3.mc.plugin.ball.common.data.BallMessage;
|
||||
import cn.hamster3.service.bukkit.BallBridgePlugin;
|
||||
import cn.hamster3.service.bukkit.data.BukkitLocation;
|
||||
import cn.hamster3.service.common.data.ServiceLocation;
|
||||
@@ -27,7 +27,7 @@ public abstract class ServiceMessageAPI {
|
||||
* @param tag 标签
|
||||
*/
|
||||
public static void subscribeTag(String tag) {
|
||||
sendServiceMessage("HamsterService", "subscribeTag", tag);
|
||||
BallAPI.getInstance().subscribe(tag);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -36,7 +36,7 @@ public abstract class ServiceMessageAPI {
|
||||
* @param tag 标签
|
||||
*/
|
||||
public static void unsubscribeTag(String tag) {
|
||||
sendServiceMessage("HamsterService", "unsubscribeTag", tag);
|
||||
BallAPI.getInstance().unsubscribe(tag);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -81,16 +81,7 @@ public abstract class ServiceMessageAPI {
|
||||
* @param content 附加参数
|
||||
*/
|
||||
public static void sendServiceMessage(String tag, String action, JsonElement content) {
|
||||
BallAPI.getInstance().sendBallMessage(
|
||||
new BallMessageInfo(
|
||||
tag,
|
||||
BallAPI.getInstance().getLocalServerId(),
|
||||
null,
|
||||
null,
|
||||
action,
|
||||
content
|
||||
), false
|
||||
);
|
||||
BallAPI.getInstance().sendBallMessage(tag, new BallMessage(action, content), false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -100,16 +91,14 @@ public abstract class ServiceMessageAPI {
|
||||
* @param block 是否阻塞(即必须等待消息发送完成,该方法才会返回)
|
||||
*/
|
||||
public static void sendServiceMessage(ServiceMessageInfo info, boolean block) {
|
||||
BallAPI.getInstance().sendBallMessage(
|
||||
new BallMessageInfo(
|
||||
info.getSenderInfo().getName(),
|
||||
BallAPI.getInstance().getLocalServerId(),
|
||||
null,
|
||||
null,
|
||||
info.getAction(),
|
||||
info.getContent()
|
||||
), block
|
||||
BallMessage message = new BallMessage(
|
||||
info.getSenderInfo().getName(),
|
||||
info.getToServer(),
|
||||
null,
|
||||
info.getAction(),
|
||||
info.getContent()
|
||||
);
|
||||
BallAPI.getInstance().sendBallMessage(info.getTag(), message, block);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -0,0 +1,43 @@
|
||||
package cn.hamster3.service.bukkit.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 org.bukkit.Bukkit;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
public class BridgeListener implements Listener {
|
||||
public static final BridgeListener INSTANCE = new BridgeListener();
|
||||
|
||||
private BridgeListener() {
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onMessageSend(MessageSendEvent event) {
|
||||
BallMessage ballMessage = event.getMessage();
|
||||
Bukkit.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();
|
||||
Bukkit.getPluginManager().callEvent(new MessageReceivedEvent(new ServiceMessageInfo(
|
||||
ServiceInfoAPI.getSenderInfo(ballMessage.getSenderID()),
|
||||
ballMessage.getReceiverID(),
|
||||
event.getChannel(),
|
||||
ballMessage.getAction(),
|
||||
ballMessage.getContent()
|
||||
)));
|
||||
}
|
||||
}
|
@@ -1,18 +1,11 @@
|
||||
package cn.hamster3.service.bungee;
|
||||
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.data.BallMessageInfo;
|
||||
import cn.hamster3.mc.plugin.ball.common.listener.BallListener;
|
||||
import cn.hamster3.service.bungee.api.ServiceInfoAPI;
|
||||
import cn.hamster3.service.bungee.command.ServiceCommand;
|
||||
import cn.hamster3.service.bungee.event.MessageReceivedEvent;
|
||||
import cn.hamster3.service.bungee.event.MessageSentEvent;
|
||||
import cn.hamster3.service.bungee.listener.BridgeListener;
|
||||
import cn.hamster3.service.bungee.listener.ServiceMainListener;
|
||||
import cn.hamster3.service.common.entity.ServiceMessageInfo;
|
||||
import cn.hamster3.service.common.util.ServiceLogUtils;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class BallBridgePlugin extends Plugin {
|
||||
public static void main(String[] args) {
|
||||
@@ -25,29 +18,7 @@ public class BallBridgePlugin extends Plugin {
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
BallAPI.getInstance().addListener(new BallListener() {
|
||||
@Override
|
||||
public void onMessageSend(@NotNull BallMessageInfo event) {
|
||||
ProxyServer.getInstance().getPluginManager().callEvent(new MessageSentEvent(new ServiceMessageInfo(
|
||||
ServiceInfoAPI.getSenderInfo(event.getSenderID()),
|
||||
event.getReceiverID(),
|
||||
event.getChannel(),
|
||||
event.getAction(),
|
||||
event.getContent()
|
||||
)));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMessageReceived(@NotNull BallMessageInfo event) {
|
||||
ProxyServer.getInstance().getPluginManager().callEvent(new MessageReceivedEvent(new ServiceMessageInfo(
|
||||
ServiceInfoAPI.getSenderInfo(event.getSenderID()),
|
||||
event.getReceiverID(),
|
||||
event.getChannel(),
|
||||
event.getAction(),
|
||||
event.getContent()
|
||||
)));
|
||||
}
|
||||
});
|
||||
ProxyServer.getInstance().getPluginManager().registerListener(this, BridgeListener.INSTANCE);
|
||||
ProxyServer.getInstance().getPluginManager().registerListener(this, ServiceMainListener.INSTANCE);
|
||||
ProxyServer.getInstance().getPluginManager().registerCommand(this, ServiceCommand.INSTANCE);
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
package cn.hamster3.service.bungee.api;
|
||||
|
||||
import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
|
||||
import cn.hamster3.mc.plugin.ball.common.data.BallMessageInfo;
|
||||
import cn.hamster3.mc.plugin.ball.common.data.BallMessage;
|
||||
import cn.hamster3.service.common.data.ServiceLocation;
|
||||
import cn.hamster3.service.common.data.ServicePlayerInfo;
|
||||
import cn.hamster3.service.common.entity.ServiceMessageInfo;
|
||||
@@ -77,16 +77,7 @@ public abstract class ServiceMessageAPI {
|
||||
* @param content 附加参数
|
||||
*/
|
||||
public static void sendServiceMessage(String tag, String action, JsonElement content) {
|
||||
BallAPI.getInstance().sendBallMessage(
|
||||
new BallMessageInfo(
|
||||
tag,
|
||||
BallAPI.getInstance().getLocalServerId(),
|
||||
null,
|
||||
null,
|
||||
action,
|
||||
content
|
||||
), false
|
||||
);
|
||||
BallAPI.getInstance().sendBallMessage(tag, new BallMessage(action, content), false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -96,16 +87,14 @@ public abstract class ServiceMessageAPI {
|
||||
* @param block 是否阻塞(即必须等待消息发送完成,该方法才会返回)
|
||||
*/
|
||||
public static void sendServiceMessage(ServiceMessageInfo info, boolean block) {
|
||||
BallAPI.getInstance().sendBallMessage(
|
||||
new BallMessageInfo(
|
||||
info.getSenderInfo().getName(),
|
||||
BallAPI.getInstance().getLocalServerId(),
|
||||
null,
|
||||
null,
|
||||
info.getAction(),
|
||||
info.getContent()
|
||||
), block
|
||||
BallMessage message = new BallMessage(
|
||||
info.getSenderInfo().getName(),
|
||||
info.getToServer(),
|
||||
null,
|
||||
info.getAction(),
|
||||
info.getContent()
|
||||
);
|
||||
BallAPI.getInstance().sendBallMessage(info.getTag(), message, block);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -0,0 +1,43 @@
|
||||
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()
|
||||
)));
|
||||
}
|
||||
}
|
@@ -1,5 +1,6 @@
|
||||
package cn.hamster3.service.common.entity;
|
||||
|
||||
import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
|
||||
import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonElement;
|
||||
@@ -197,6 +198,6 @@ public class ServiceMessageInfo {
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return CoreUtils.GSON.toJson(this);
|
||||
return CoreAPI.getInstance().getGson().toJson(this);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user