feat: 适配 HamsterCore 更新

This commit is contained in:
2023-08-21 00:23:06 +08:00
parent 2a11117b8c
commit 62d4b14492
6 changed files with 19 additions and 21 deletions

View File

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

View File

@@ -3,7 +3,7 @@ package cn.hamster3.mc.plugin.core.bungee.util;
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.event.player.BallPlayerInfoUpdateEvent;
import cn.hamster3.mc.plugin.core.common.util.CoreUtils;
import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
import cn.hamster3.mc.plugin.core.lib.com.zaxxer.hikari.HikariConfig;
import cn.hamster3.mc.plugin.core.lib.com.zaxxer.hikari.HikariDataSource;
import net.md_5.bungee.api.connection.ProxiedPlayer;
@@ -34,7 +34,7 @@ public final class BallBungeeCordUtils {
}
public static void uploadPlayerInfo(@NotNull BallPlayerInfo playerInfo) {
CoreUtils.WORKER_EXECUTOR.execute(() -> {
CoreAPI.getInstance().getExecutorService().execute(() -> {
try (Connection connection = BallAPI.getInstance().getDatasource().getConnection()) {
try (PreparedStatement statement = connection.prepareStatement(
"REPLACE INTO `hamster_ball_player_info` VALUES(?, ?, ?, ?, ?);"