feat: 适配Core更新

This commit is contained in:
2023-05-30 04:31:19 +08:00
parent 1a59268a7d
commit 537c6eb0a7
10 changed files with 73 additions and 65 deletions

View File

@@ -2,7 +2,7 @@ package cn.hamster3.mc.plugin.ball.bukkit.data;
import cn.hamster3.mc.plugin.ball.common.api.BallAPI; import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
import cn.hamster3.mc.plugin.ball.common.data.BallBlockPos; import cn.hamster3.mc.plugin.ball.common.data.BallBlockPos;
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects; import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.block.Block; import org.bukkit.block.Block;
@@ -51,7 +51,7 @@ public class BukkitBlockPos extends BallBlockPos {
} }
public static BukkitBlockPos fromJson(String json) { public static BukkitBlockPos fromJson(String json) {
return CoreConstantObjects.GSON.fromJson(json, BukkitBlockPos.class); return CoreUtils.GSON.fromJson(json, BukkitBlockPos.class);
} }
@NotNull @NotNull

View File

@@ -2,7 +2,7 @@ package cn.hamster3.mc.plugin.ball.bukkit.data;
import cn.hamster3.mc.plugin.ball.common.api.BallAPI; import cn.hamster3.mc.plugin.ball.common.api.BallAPI;
import cn.hamster3.mc.plugin.ball.common.data.BallLocation; import cn.hamster3.mc.plugin.ball.common.data.BallLocation;
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects; import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.block.Block; import org.bukkit.block.Block;
@@ -53,7 +53,7 @@ public class BukkitLocation extends BallLocation {
} }
public static BukkitLocation fromJson(String json) { public static BukkitLocation fromJson(String json) {
return CoreConstantObjects.GSON.fromJson(json, BukkitLocation.class); return CoreUtils.GSON.fromJson(json, BukkitLocation.class);
} }
@NotNull @NotNull

View File

@@ -9,8 +9,8 @@ import cn.hamster3.mc.plugin.ball.common.event.operate.*;
import cn.hamster3.mc.plugin.ball.common.listener.BallListener; import cn.hamster3.mc.plugin.ball.common.listener.BallListener;
import cn.hamster3.mc.plugin.core.bukkit.api.CoreBukkitAPI; import cn.hamster3.mc.plugin.core.bukkit.api.CoreBukkitAPI;
import cn.hamster3.mc.plugin.core.common.api.CoreAPI; import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects;
import cn.hamster3.mc.plugin.core.common.data.DisplayMessage; import cn.hamster3.mc.plugin.core.common.data.DisplayMessage;
import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import cn.hamster3.mc.plugin.core.common.util.Pair; import cn.hamster3.mc.plugin.core.common.util.Pair;
import net.kyori.adventure.audience.Audience; import net.kyori.adventure.audience.Audience;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
@@ -43,14 +43,14 @@ public class BallBukkitListener implements Listener, BallListener {
public void onMessageReceived(@NotNull BallMessageInfo info) { public void onMessageReceived(@NotNull BallMessageInfo info) {
switch (info.getAction()) { switch (info.getAction()) {
case BroadcastPlayerMessageEvent.ACTION: { case BroadcastPlayerMessageEvent.ACTION: {
BroadcastPlayerMessageEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), BroadcastPlayerMessageEvent.class); BroadcastPlayerMessageEvent event = CoreUtils.GSON.fromJson(info.getContent(), BroadcastPlayerMessageEvent.class);
DisplayMessage message = event.getMessage(); DisplayMessage message = event.getMessage();
Audience audience = CoreAPI.getInstance().getAudienceProvider().all(); Audience audience = CoreAPI.getInstance().getAudienceProvider().all();
message.show(audience); message.show(audience);
break; break;
} }
case DispatchConsoleCommandEvent.ACTION: { case DispatchConsoleCommandEvent.ACTION: {
DispatchConsoleCommandEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), DispatchConsoleCommandEvent.class); DispatchConsoleCommandEvent event = CoreUtils.GSON.fromJson(info.getContent(), DispatchConsoleCommandEvent.class);
if (event.getType() != null && event.getType() != BallServerType.GAME) { if (event.getType() != null && event.getType() != BallServerType.GAME) {
return; return;
} }
@@ -61,7 +61,7 @@ public class BallBukkitListener implements Listener, BallListener {
break; break;
} }
case DispatchPlayerCommandEvent.ACTION: { case DispatchPlayerCommandEvent.ACTION: {
DispatchPlayerCommandEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), DispatchPlayerCommandEvent.class); DispatchPlayerCommandEvent event = CoreUtils.GSON.fromJson(info.getContent(), DispatchPlayerCommandEvent.class);
if (event.getType() != null && event.getType() != BallServerType.GAME) { if (event.getType() != null && event.getType() != BallServerType.GAME) {
return; return;
} }
@@ -79,7 +79,7 @@ public class BallBukkitListener implements Listener, BallListener {
break; break;
} }
case SendPlayerToLocationEvent.ACTION: { case SendPlayerToLocationEvent.ACTION: {
SendPlayerToLocationEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), SendPlayerToLocationEvent.class); SendPlayerToLocationEvent event = CoreUtils.GSON.fromJson(info.getContent(), SendPlayerToLocationEvent.class);
BukkitLocation location = new BukkitLocation(event.getLocation()); BukkitLocation location = new BukkitLocation(event.getLocation());
if (BallAPI.getInstance().isLocalServer(location.getServerID())) { if (BallAPI.getInstance().isLocalServer(location.getServerID())) {
for (UUID uuid : event.getSendPlayerUUID()) { for (UUID uuid : event.getSendPlayerUUID()) {
@@ -100,7 +100,7 @@ public class BallBukkitListener implements Listener, BallListener {
break; break;
} }
case SendPlayerToPlayerEvent.ACTION: { case SendPlayerToPlayerEvent.ACTION: {
SendPlayerToPlayerEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), SendPlayerToPlayerEvent.class); SendPlayerToPlayerEvent event = CoreUtils.GSON.fromJson(info.getContent(), SendPlayerToPlayerEvent.class);
Player toPlayer = Bukkit.getPlayer(event.getToPlayerUUID()); Player toPlayer = Bukkit.getPlayer(event.getToPlayerUUID());
if (toPlayer == null) { if (toPlayer == null) {
return; return;

View File

@@ -10,7 +10,7 @@ import cn.hamster3.mc.plugin.ball.common.listener.BallListener;
import cn.hamster3.mc.plugin.core.bungee.HamsterBallPlugin; import cn.hamster3.mc.plugin.core.bungee.HamsterBallPlugin;
import cn.hamster3.mc.plugin.core.bungee.util.BallBungeeCordUtils; import cn.hamster3.mc.plugin.core.bungee.util.BallBungeeCordUtils;
import cn.hamster3.mc.plugin.core.common.api.CoreAPI; import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects; import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import net.kyori.adventure.audience.Audience; import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.serializer.bungeecord.BungeeComponentSerializer; import net.kyori.adventure.text.serializer.bungeecord.BungeeComponentSerializer;
import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.ProxyServer;
@@ -35,7 +35,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
public void onMessageReceived(@NotNull BallMessageInfo info) { public void onMessageReceived(@NotNull BallMessageInfo info) {
switch (info.getAction()) { switch (info.getAction()) {
case DispatchConsoleCommandEvent.ACTION: { case DispatchConsoleCommandEvent.ACTION: {
DispatchConsoleCommandEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), DispatchConsoleCommandEvent.class); DispatchConsoleCommandEvent event = CoreUtils.GSON.fromJson(info.getContent(), DispatchConsoleCommandEvent.class);
if (event.getType() != null && event.getType() != BallServerType.PROXY) { if (event.getType() != null && event.getType() != BallServerType.PROXY) {
return; return;
} }
@@ -47,7 +47,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
break; break;
} }
case DispatchPlayerCommandEvent.ACTION: { case DispatchPlayerCommandEvent.ACTION: {
DispatchPlayerCommandEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), DispatchPlayerCommandEvent.class); DispatchPlayerCommandEvent event = CoreUtils.GSON.fromJson(info.getContent(), DispatchPlayerCommandEvent.class);
if (event.getType() != null && event.getType() != BallServerType.GAME) { if (event.getType() != null && event.getType() != BallServerType.GAME) {
return; return;
} }
@@ -66,14 +66,14 @@ public final class BallBungeeCordListener implements Listener, BallListener {
break; break;
} }
case KickPlayerEvent.ACTION: { case KickPlayerEvent.ACTION: {
KickPlayerEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), KickPlayerEvent.class); KickPlayerEvent event = CoreUtils.GSON.fromJson(info.getContent(), KickPlayerEvent.class);
ProxiedPlayer player = ProxyServer.getInstance().getPlayer(event.getUuid()); ProxiedPlayer player = ProxyServer.getInstance().getPlayer(event.getUuid());
BaseComponent[] components = BungeeComponentSerializer.get().serialize(event.getReason()); BaseComponent[] components = BungeeComponentSerializer.get().serialize(event.getReason());
player.disconnect(components); player.disconnect(components);
break; break;
} }
case SendMessageToPlayerEvent.ACTION: { case SendMessageToPlayerEvent.ACTION: {
SendMessageToPlayerEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), SendMessageToPlayerEvent.class); SendMessageToPlayerEvent event = CoreUtils.GSON.fromJson(info.getContent(), SendMessageToPlayerEvent.class);
for (UUID receiver : event.getReceivers()) { for (UUID receiver : event.getReceivers()) {
Audience audience = CoreAPI.getInstance().getAudienceProvider().player(receiver); Audience audience = CoreAPI.getInstance().getAudienceProvider().player(receiver);
event.getMessage().show(audience); event.getMessage().show(audience);
@@ -81,7 +81,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
break; break;
} }
case SendPlayerToLocationEvent.ACTION: { case SendPlayerToLocationEvent.ACTION: {
SendPlayerToLocationEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), SendPlayerToLocationEvent.class); SendPlayerToLocationEvent event = CoreUtils.GSON.fromJson(info.getContent(), SendPlayerToLocationEvent.class);
String serverID = event.getLocation().getServerID(); String serverID = event.getLocation().getServerID();
ServerInfo serverInfo = ProxyServer.getInstance().getServerInfo(serverID); ServerInfo serverInfo = ProxyServer.getInstance().getServerInfo(serverID);
if (serverInfo == null) { if (serverInfo == null) {

View File

@@ -4,7 +4,7 @@ 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.entity.BallPlayerInfo;
import cn.hamster3.mc.plugin.ball.common.event.player.BallPlayerInfoUpdateEvent; import cn.hamster3.mc.plugin.ball.common.event.player.BallPlayerInfoUpdateEvent;
import cn.hamster3.mc.plugin.core.common.api.CoreAPI; import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects; import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import net.md_5.bungee.api.connection.ProxiedPlayer; import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.connection.Server; import net.md_5.bungee.api.connection.Server;
@@ -28,7 +28,7 @@ public final class BallBungeeCordUtils {
} }
public static void uploadPlayerInfo(BallPlayerInfo playerInfo) { public static void uploadPlayerInfo(BallPlayerInfo playerInfo) {
CoreConstantObjects.WORKER_EXECUTOR.execute(() -> { CoreUtils.WORKER_EXECUTOR.execute(() -> {
try (Connection connection = CoreAPI.getInstance().getConnection()) { try (Connection connection = CoreAPI.getInstance().getConnection()) {
PreparedStatement statement = connection.prepareStatement("REPLACE INTO `hamster_ball_player_info` VALUES(?, ?, ?, ?, ?);"); PreparedStatement statement = connection.prepareStatement("REPLACE INTO `hamster_ball_player_info` VALUES(?, ?, ?, ?, ?);");
statement.setString(1, playerInfo.getUuid().toString()); statement.setString(1, playerInfo.getUuid().toString());

View File

@@ -15,8 +15,8 @@ import cn.hamster3.mc.plugin.ball.common.event.server.ServerOnlineEvent;
import cn.hamster3.mc.plugin.ball.common.listener.BallListener; import cn.hamster3.mc.plugin.ball.common.listener.BallListener;
import cn.hamster3.mc.plugin.ball.common.listener.ListenerPriority; import cn.hamster3.mc.plugin.ball.common.listener.ListenerPriority;
import cn.hamster3.mc.plugin.core.common.api.CoreAPI; import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects;
import cn.hamster3.mc.plugin.core.common.data.DisplayMessage; import cn.hamster3.mc.plugin.core.common.data.DisplayMessage;
import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonPrimitive; import com.google.gson.JsonPrimitive;
import io.netty.bootstrap.Bootstrap; import io.netty.bootstrap.Bootstrap;
@@ -337,7 +337,7 @@ public abstract class BallAPI {
* @param message 消息 * @param message 消息
*/ */
public void broadcastPlayerMessage(@NotNull String message) { public void broadcastPlayerMessage(@NotNull String message) {
broadcastPlayerMessage(DisplayMessage.message(message)); broadcastPlayerMessage(new DisplayMessage().setMessage(message));
} }
/** /**
@@ -352,7 +352,7 @@ public abstract class BallAPI {
null, null,
BallServerType.PROXY, BallServerType.PROXY,
BroadcastPlayerMessageEvent.ACTION, BroadcastPlayerMessageEvent.ACTION,
CoreConstantObjects.GSON.toJsonTree( CoreUtils.GSON.toJsonTree(
new BroadcastPlayerMessageEvent(message) new BroadcastPlayerMessageEvent(message)
) )
)); ));
@@ -372,7 +372,7 @@ public abstract class BallAPI {
null, null,
BallServerType.GAME, BallServerType.GAME,
DispatchConsoleCommandEvent.ACTION, DispatchConsoleCommandEvent.ACTION,
CoreConstantObjects.GSON.toJsonTree( CoreUtils.GSON.toJsonTree(
new DispatchConsoleCommandEvent(type, serverID, command) new DispatchConsoleCommandEvent(type, serverID, command)
) )
)); ));
@@ -392,7 +392,7 @@ public abstract class BallAPI {
null, null,
BallServerType.GAME, BallServerType.GAME,
DispatchPlayerCommandEvent.ACTION, DispatchPlayerCommandEvent.ACTION,
CoreConstantObjects.GSON.toJsonTree( CoreUtils.GSON.toJsonTree(
new DispatchPlayerCommandEvent(type, uuid, command) new DispatchPlayerCommandEvent(type, uuid, command)
) )
)); ));
@@ -421,7 +421,7 @@ public abstract class BallAPI {
null, null,
BallServerType.PROXY, BallServerType.PROXY,
KickPlayerEvent.ACTION, KickPlayerEvent.ACTION,
CoreConstantObjects.GSON.toJsonTree( CoreUtils.GSON.toJsonTree(
new KickPlayerEvent(uuid, reason) new KickPlayerEvent(uuid, reason)
) )
)); ));
@@ -443,7 +443,7 @@ public abstract class BallAPI {
try (Connection connection = CoreAPI.getInstance().getConnection()) { try (Connection connection = CoreAPI.getInstance().getConnection()) {
PreparedStatement statement = connection.prepareStatement("INSERT INTO `hamster_ball_cached_message` VALUES(?, ?);"); PreparedStatement statement = connection.prepareStatement("INSERT INTO `hamster_ball_cached_message` VALUES(?, ?);");
statement.setString(1, receiver.toString()); statement.setString(1, receiver.toString());
statement.setString(2, message.saveToJson().toString()); statement.setString(2, message.toJson().toString());
statement.executeUpdate(); statement.executeUpdate();
statement.close(); statement.close();
} catch (Exception e) { } catch (Exception e) {
@@ -457,7 +457,7 @@ public abstract class BallAPI {
null, null,
BallServerType.PROXY, BallServerType.PROXY,
SendMessageToPlayerEvent.ACTION, SendMessageToPlayerEvent.ACTION,
CoreConstantObjects.GSON.toJsonTree( CoreUtils.GSON.toJsonTree(
new SendMessageToPlayerEvent(Collections.singleton(receiver), message) new SendMessageToPlayerEvent(Collections.singleton(receiver), message)
) )
)); ));
@@ -480,7 +480,7 @@ public abstract class BallAPI {
try (Connection connection = CoreAPI.getInstance().getConnection()) { try (Connection connection = CoreAPI.getInstance().getConnection()) {
PreparedStatement statement = connection.prepareStatement("INSERT INTO `hamster_ball_cached_message` VALUES(?, ?);"); PreparedStatement statement = connection.prepareStatement("INSERT INTO `hamster_ball_cached_message` VALUES(?, ?);");
statement.setString(1, receiver.toString()); statement.setString(1, receiver.toString());
statement.setString(2, message.saveToJson().toString()); statement.setString(2, message.toJson().toString());
statement.executeUpdate(); statement.executeUpdate();
statement.close(); statement.close();
} catch (Exception e) { } catch (Exception e) {
@@ -494,7 +494,7 @@ public abstract class BallAPI {
null, null,
BallServerType.PROXY, BallServerType.PROXY,
SendMessageToPlayerEvent.ACTION, SendMessageToPlayerEvent.ACTION,
CoreConstantObjects.GSON.toJsonTree( CoreUtils.GSON.toJsonTree(
new SendMessageToPlayerEvent(new HashSet<>(receivers), message) new SendMessageToPlayerEvent(new HashSet<>(receivers), message)
) )
)); ));
@@ -634,7 +634,7 @@ public abstract class BallAPI {
getLogger().warning("由于服务不可用,有一条消息发送失败了: " + messageInfo); getLogger().warning("由于服务不可用,有一条消息发送失败了: " + messageInfo);
return; return;
} }
ChannelFuture future = channel.writeAndFlush(CoreConstantObjects.GSON.toJson(messageInfo)); ChannelFuture future = channel.writeAndFlush(CoreUtils.GSON.toJson(messageInfo));
if (block) { if (block) {
try { try {
future.await(); future.await();
@@ -659,7 +659,7 @@ public abstract class BallAPI {
statement.setString(1, uuid.toString()); statement.setString(1, uuid.toString());
ResultSet set = statement.executeQuery(); ResultSet set = statement.executeQuery();
while (set.next()) { while (set.next()) {
DisplayMessage msg = CoreConstantObjects.GSON.fromJson(set.getString("msg"), DisplayMessage.class); DisplayMessage msg = CoreUtils.GSON.fromJson(set.getString("msg"), DisplayMessage.class);
list.add(msg); list.add(msg);
} }
statement.close(); statement.close();

View File

@@ -6,7 +6,7 @@ import cn.hamster3.mc.plugin.ball.common.event.player.*;
import cn.hamster3.mc.plugin.ball.common.event.server.ServerOfflineEvent; 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.event.server.ServerOnlineEvent;
import cn.hamster3.mc.plugin.ball.common.listener.BallListener; import cn.hamster3.mc.plugin.ball.common.listener.BallListener;
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects; import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelHandlerContext;
import io.netty.channel.SimpleChannelInboundHandler; import io.netty.channel.SimpleChannelInboundHandler;
@@ -27,7 +27,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
if ("pong".equals(message)) { if ("pong".equals(message)) {
return; return;
} }
BallMessageInfo info = CoreConstantObjects.GSON.fromJson(message, BallMessageInfo.class); BallMessageInfo info = CoreUtils.GSON.fromJson(message, BallMessageInfo.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onMessageReceived(info); listener.onMessageReceived(info);
@@ -40,7 +40,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
} }
switch (info.getAction()) { switch (info.getAction()) {
case BallPlayerPreLoginEvent.ACTION: { case BallPlayerPreLoginEvent.ACTION: {
BallPlayerPreLoginEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), BallPlayerPreLoginEvent.class); BallPlayerPreLoginEvent event = CoreUtils.GSON.fromJson(info.getContent(), BallPlayerPreLoginEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onBallPlayerPreLogin(event); listener.onBallPlayerPreLogin(event);
@@ -51,7 +51,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
break; break;
} }
case BallPlayerLoginEvent.ACTION: { case BallPlayerLoginEvent.ACTION: {
BallPlayerLoginEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), BallPlayerLoginEvent.class); BallPlayerLoginEvent event = CoreUtils.GSON.fromJson(info.getContent(), BallPlayerLoginEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onBallPlayerLogin(event); listener.onBallPlayerLogin(event);
@@ -62,7 +62,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
break; break;
} }
case BallPlayerPostLoginEvent.ACTION: { case BallPlayerPostLoginEvent.ACTION: {
BallPlayerPostLoginEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), BallPlayerPostLoginEvent.class); BallPlayerPostLoginEvent event = CoreUtils.GSON.fromJson(info.getContent(), BallPlayerPostLoginEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onBallPlayerPostLogin(event); listener.onBallPlayerPostLogin(event);
@@ -73,7 +73,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
break; break;
} }
case BallPlayerPreConnectServerEvent.ACTION: { case BallPlayerPreConnectServerEvent.ACTION: {
BallPlayerPreConnectServerEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), BallPlayerPreConnectServerEvent.class); BallPlayerPreConnectServerEvent event = CoreUtils.GSON.fromJson(info.getContent(), BallPlayerPreConnectServerEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onBallPlayerPreConnectServer(event); listener.onBallPlayerPreConnectServer(event);
@@ -84,7 +84,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
break; break;
} }
case BallPlayerConnectServerEvent.ACTION: { case BallPlayerConnectServerEvent.ACTION: {
BallPlayerConnectServerEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), BallPlayerConnectServerEvent.class); BallPlayerConnectServerEvent event = CoreUtils.GSON.fromJson(info.getContent(), BallPlayerConnectServerEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onBallPlayerConnectServer(event); listener.onBallPlayerConnectServer(event);
@@ -95,7 +95,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
break; break;
} }
case BallPlayerPostConnectServerEvent.ACTION: { case BallPlayerPostConnectServerEvent.ACTION: {
BallPlayerPostConnectServerEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), BallPlayerPostConnectServerEvent.class); BallPlayerPostConnectServerEvent event = CoreUtils.GSON.fromJson(info.getContent(), BallPlayerPostConnectServerEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onBallPlayerPostConnectServer(event); listener.onBallPlayerPostConnectServer(event);
@@ -106,7 +106,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
break; break;
} }
case BallPlayerLogoutEvent.ACTION: { case BallPlayerLogoutEvent.ACTION: {
BallPlayerLogoutEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), BallPlayerLogoutEvent.class); BallPlayerLogoutEvent event = CoreUtils.GSON.fromJson(info.getContent(), BallPlayerLogoutEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onBallPlayerLogout(event); listener.onBallPlayerLogout(event);
@@ -117,7 +117,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
break; break;
} }
case BallPlayerInfoUpdateEvent.ACTION: { case BallPlayerInfoUpdateEvent.ACTION: {
BallPlayerInfoUpdateEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), BallPlayerInfoUpdateEvent.class); BallPlayerInfoUpdateEvent event = CoreUtils.GSON.fromJson(info.getContent(), BallPlayerInfoUpdateEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onBallPlayerInfoUpdate(event); listener.onBallPlayerInfoUpdate(event);
@@ -128,7 +128,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
break; break;
} }
case BallPlayerChatEvent.ACTION: { case BallPlayerChatEvent.ACTION: {
BallPlayerChatEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), BallPlayerChatEvent.class); BallPlayerChatEvent event = CoreUtils.GSON.fromJson(info.getContent(), BallPlayerChatEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onBallPlayerChat(event); listener.onBallPlayerChat(event);
@@ -139,7 +139,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
break; break;
} }
case ServerOfflineEvent.ACTION: { case ServerOfflineEvent.ACTION: {
ServerOfflineEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), ServerOfflineEvent.class); ServerOfflineEvent event = CoreUtils.GSON.fromJson(info.getContent(), ServerOfflineEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onServerOffline(event); listener.onServerOffline(event);
@@ -150,7 +150,7 @@ public class BallChannelHandler extends SimpleChannelInboundHandler<String> {
break; break;
} }
case ServerOnlineEvent.ACTION: { case ServerOnlineEvent.ACTION: {
ServerOnlineEvent event = CoreConstantObjects.GSON.fromJson(info.getContent(), ServerOnlineEvent.class); ServerOnlineEvent event = CoreUtils.GSON.fromJson(info.getContent(), ServerOnlineEvent.class);
for (BallListener listener : BallAPI.getInstance().getListeners()) { for (BallListener listener : BallAPI.getInstance().getListeners()) {
try { try {
listener.onServerOnline(event); listener.onServerOnline(event);

View File

@@ -1,6 +1,6 @@
package cn.hamster3.mc.plugin.ball.common.data; package cn.hamster3.mc.plugin.ball.common.data;
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects; import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@@ -19,11 +19,11 @@ public class BallBlockPos {
private int z; private int z;
public static BallBlockPos fromJson(String json) { public static BallBlockPos fromJson(String json) {
return CoreConstantObjects.GSON.fromJson(json, BallBlockPos.class); return CoreUtils.GSON.fromJson(json, BallBlockPos.class);
} }
public JsonElement toJson() { public JsonElement toJson() {
return CoreConstantObjects.GSON.toJsonTree(this); return CoreUtils.GSON.toJsonTree(this);
} }
@NotNull @NotNull

View File

@@ -1,6 +1,6 @@
package cn.hamster3.mc.plugin.ball.common.data; package cn.hamster3.mc.plugin.ball.common.data;
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects; import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@@ -22,11 +22,11 @@ public class BallLocation {
private float pitch; private float pitch;
public static BallLocation fromJson(String json) { public static BallLocation fromJson(String json) {
return CoreConstantObjects.GSON.fromJson(json, BallLocation.class); return CoreUtils.GSON.fromJson(json, BallLocation.class);
} }
public JsonElement toJson() { public JsonElement toJson() {
return CoreConstantObjects.GSON.toJsonTree(this); return CoreUtils.GSON.toJsonTree(this);
} }
@NotNull @NotNull

View File

@@ -2,7 +2,7 @@ package cn.hamster3.mc.plugin.ball.common.data;
import cn.hamster3.mc.plugin.ball.common.api.BallAPI; 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.entity.BallServerType;
import cn.hamster3.mc.plugin.core.common.constant.CoreConstantObjects; import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import com.google.gson.JsonArray; import com.google.gson.JsonArray;
import com.google.gson.JsonElement; import com.google.gson.JsonElement;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
@@ -21,11 +21,6 @@ import java.util.UUID;
@Data @Data
@SuppressWarnings("unused") @SuppressWarnings("unused")
public class BallMessageInfo { public class BallMessageInfo {
/**
* 消息的频道
*/
@NotNull
private String channel;
/** /**
* 消息发送者 * 消息发送者
*/ */
@@ -49,11 +44,17 @@ public class BallMessageInfo {
*/ */
@Nullable @Nullable
private BallServerType receiverType; private BallServerType receiverType;
/**
* 消息的频道
*/
@NotNull
private String channel;
/** /**
* 消息动作 * 消息动作
* <p> * <p>
* 一般用这个来判断插件应该如何处理这条消息 * 一般用这个来判断插件应该如何处理这条消息
*/ */
@NotNull
private String action; private String action;
/** /**
* 消息内容 * 消息内容
@@ -62,34 +63,35 @@ public class BallMessageInfo {
*/ */
private JsonElement content; private JsonElement content;
public BallMessageInfo(@NotNull String channel, String action) { public BallMessageInfo(@NotNull String channel, @NotNull String action) {
this.channel = channel;
senderID = BallAPI.getInstance().getLocalServerId(); senderID = BallAPI.getInstance().getLocalServerId();
this.channel = channel;
this.action = action; this.action = action;
} }
public BallMessageInfo(@NotNull String channel, String action, String content) { public BallMessageInfo(@NotNull String channel, @NotNull String action, String content) {
this.channel = channel;
senderID = BallAPI.getInstance().getLocalServerId(); senderID = BallAPI.getInstance().getLocalServerId();
this.channel = channel;
this.action = action; this.action = action;
this.content = new JsonPrimitive(content); this.content = new JsonPrimitive(content);
} }
public BallMessageInfo(@NotNull String channel, String action, JsonElement content) { public BallMessageInfo(@NotNull String channel, @NotNull String action, JsonElement content) {
this.channel = channel; this.channel = channel;
senderID = BallAPI.getInstance().getLocalServerId(); senderID = BallAPI.getInstance().getLocalServerId();
this.action = action; this.action = action;
this.content = content; this.content = content;
} }
public BallMessageInfo(@NotNull String channel, String action, Object content) { public BallMessageInfo(@NotNull String channel, @NotNull String action, Object content) {
this.channel = channel; this.channel = channel;
senderID = BallAPI.getInstance().getLocalServerId(); senderID = BallAPI.getInstance().getLocalServerId();
this.action = action; this.action = action;
this.content = CoreConstantObjects.GSON.toJsonTree(content); this.content = CoreUtils.GSON.toJsonTree(content);
} }
public BallMessageInfo(@NotNull String channel, @NotNull String senderID, @Nullable String receiverID, @Nullable BallServerType receiverType, String action, JsonElement content) { public BallMessageInfo(@NotNull String channel, @NotNull String senderID, @Nullable String receiverID,
@Nullable BallServerType receiverType, @NotNull String action, @Nullable JsonElement content) {
this.channel = channel; this.channel = channel;
this.senderID = senderID; this.senderID = senderID;
this.receiverID = receiverID; this.receiverID = receiverID;
@@ -126,8 +128,8 @@ public class BallMessageInfo {
* @param <T> 对象类型 * @param <T> 对象类型
* @return Java 对象 * @return Java 对象
*/ */
public <T> T getContentAs(Class<T> clazz) { public <T> T getContentAs(@NotNull Class<T> clazz) {
return CoreConstantObjects.GSON.fromJson(content, clazz); return CoreUtils.GSON.fromJson(content, clazz);
} }
/** /**
@@ -135,6 +137,7 @@ public class BallMessageInfo {
* *
* @return 消息内容 * @return 消息内容
*/ */
@NotNull
public String getContentAsString() { public String getContentAsString() {
return content.getAsString(); return content.getAsString();
} }
@@ -151,14 +154,17 @@ public class BallMessageInfo {
return content.getAsLong(); return content.getAsLong();
} }
@NotNull
public BigInteger getContentAsBigInteger() { public BigInteger getContentAsBigInteger() {
return content.getAsBigInteger(); return content.getAsBigInteger();
} }
@NotNull
public BigDecimal getContentAsBigDecimal() { public BigDecimal getContentAsBigDecimal() {
return content.getAsBigDecimal(); return content.getAsBigDecimal();
} }
@NotNull
public UUID getContentAsUUID() { public UUID getContentAsUUID() {
return UUID.fromString(content.getAsString()); return UUID.fromString(content.getAsString());
} }
@@ -168,6 +174,7 @@ public class BallMessageInfo {
* *
* @return 消息内容 * @return 消息内容
*/ */
@NotNull
public JsonObject getContentAsJsonObject() { public JsonObject getContentAsJsonObject() {
return content.getAsJsonObject(); return content.getAsJsonObject();
} }
@@ -177,6 +184,7 @@ public class BallMessageInfo {
* *
* @return 消息内容 * @return 消息内容
*/ */
@NotNull
public JsonArray getContentAsJsonArray() { public JsonArray getContentAsJsonArray() {
return content.getAsJsonArray(); return content.getAsJsonArray();
} }