feat: 适配 HamsterCore 更新
This commit is contained in:
@@ -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.util.CoreUtils;
|
import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
|
||||||
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 CoreUtils.GSON.fromJson(json, BukkitBlockPos.class);
|
return CoreAPI.getInstance().getGson().fromJson(json, BukkitBlockPos.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
@@ -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.util.CoreUtils;
|
import cn.hamster3.mc.plugin.core.common.api.CoreAPI;
|
||||||
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 CoreUtils.GSON.fromJson(json, BukkitLocation.class);
|
return CoreAPI.getInstance().getGson().fromJson(json, BukkitLocation.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
@@ -10,7 +10,6 @@ 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.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.lib.net.kyori.adventure.audience.Audience;
|
import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.audience.Audience;
|
||||||
import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.TextReplacementConfig;
|
import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.TextReplacementConfig;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
@@ -47,14 +46,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 = CoreUtils.GSON.fromJson(info.getContent(), BroadcastPlayerMessageEvent.class);
|
BroadcastPlayerMessageEvent event = CoreAPI.getInstance().getGson().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 = CoreUtils.GSON.fromJson(info.getContent(), DispatchConsoleCommandEvent.class);
|
DispatchConsoleCommandEvent event = CoreAPI.getInstance().getGson().fromJson(info.getContent(), DispatchConsoleCommandEvent.class);
|
||||||
if (event.getType() != null && event.getType() != BallServerType.GAME) {
|
if (event.getType() != null && event.getType() != BallServerType.GAME) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -65,7 +64,7 @@ public class BallBukkitListener implements Listener, BallListener {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DispatchPlayerCommandEvent.ACTION: {
|
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) {
|
if (event.getType() != null && event.getType() != BallServerType.GAME) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -83,7 +82,7 @@ public class BallBukkitListener implements Listener, BallListener {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SendPlayerToLocationEvent.ACTION: {
|
case SendPlayerToLocationEvent.ACTION: {
|
||||||
SendPlayerToLocationEvent event = CoreUtils.GSON.fromJson(info.getContent(), SendPlayerToLocationEvent.class);
|
SendPlayerToLocationEvent event = CoreAPI.getInstance().getGson().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()) {
|
||||||
@@ -104,7 +103,7 @@ public class BallBukkitListener implements Listener, BallListener {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SendPlayerToPlayerEvent.ACTION: {
|
case SendPlayerToPlayerEvent.ACTION: {
|
||||||
SendPlayerToPlayerEvent event = CoreUtils.GSON.fromJson(info.getContent(), SendPlayerToPlayerEvent.class);
|
SendPlayerToPlayerEvent event = CoreAPI.getInstance().getGson().fromJson(info.getContent(), SendPlayerToPlayerEvent.class);
|
||||||
Player toPlayer = Bukkit.getPlayer(event.getToPlayerUUID());
|
Player toPlayer = Bukkit.getPlayer(event.getToPlayerUUID());
|
||||||
if (toPlayer == null) {
|
if (toPlayer == null) {
|
||||||
break;
|
break;
|
||||||
@@ -200,7 +199,7 @@ public class BallBukkitListener implements Listener, BallListener {
|
|||||||
statement.setString(1, uuid.toString());
|
statement.setString(1, uuid.toString());
|
||||||
try (ResultSet set = statement.executeQuery()) {
|
try (ResultSet set = statement.executeQuery()) {
|
||||||
while (set.next()) {
|
while (set.next()) {
|
||||||
DisplayMessage msg = CoreUtils.GSON.fromJson(set.getString("message"), DisplayMessage.class);
|
DisplayMessage msg = CoreAPI.getInstance().getGson().fromJson(set.getString("message"), DisplayMessage.class);
|
||||||
list.add(msg);
|
list.add(msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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.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.util.CoreUtils;
|
|
||||||
import cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.audience.Audience;
|
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 cn.hamster3.mc.plugin.core.lib.net.kyori.adventure.text.serializer.bungeecord.BungeeComponentSerializer;
|
||||||
import net.md_5.bungee.api.ProxyServer;
|
import net.md_5.bungee.api.ProxyServer;
|
||||||
@@ -35,7 +34,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 = 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) {
|
if (event.getType() != null && event.getType() != BallServerType.PROXY) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -47,7 +46,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DispatchPlayerCommandEvent.ACTION: {
|
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) {
|
if (event.getType() != null && event.getType() != BallServerType.GAME) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -66,14 +65,14 @@ public final class BallBungeeCordListener implements Listener, BallListener {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case KickPlayerEvent.ACTION: {
|
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());
|
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 = CoreUtils.GSON.fromJson(info.getContent(), SendMessageToPlayerEvent.class);
|
SendMessageToPlayerEvent event = CoreAPI.getInstance().getGson().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 +80,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SendPlayerToLocationEvent.ACTION: {
|
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();
|
String serverID = event.getLocation().getServerID();
|
||||||
ServerInfo serverInfo = ProxyServer.getInstance().getServerInfo(serverID);
|
ServerInfo serverInfo = ProxyServer.getInstance().getServerInfo(serverID);
|
||||||
if (serverInfo == null) {
|
if (serverInfo == null) {
|
||||||
@@ -101,7 +100,7 @@ public final class BallBungeeCordListener implements Listener, BallListener {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SendPlayerToPlayerEvent.ACTION: {
|
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();
|
UUID toPlayerUUID = event.getToPlayerUUID();
|
||||||
ProxiedPlayer toPlayer = ProxyServer.getInstance().getPlayer(toPlayerUUID);
|
ProxiedPlayer toPlayer = ProxyServer.getInstance().getPlayer(toPlayerUUID);
|
||||||
if (toPlayer == null) {
|
if (toPlayer == null) {
|
||||||
|
@@ -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.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.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.HikariConfig;
|
||||||
import cn.hamster3.mc.plugin.core.lib.com.zaxxer.hikari.HikariDataSource;
|
import cn.hamster3.mc.plugin.core.lib.com.zaxxer.hikari.HikariDataSource;
|
||||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||||
@@ -34,7 +34,7 @@ public final class BallBungeeCordUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void uploadPlayerInfo(@NotNull BallPlayerInfo playerInfo) {
|
public static void uploadPlayerInfo(@NotNull BallPlayerInfo playerInfo) {
|
||||||
CoreUtils.WORKER_EXECUTOR.execute(() -> {
|
CoreAPI.getInstance().getExecutorService().execute(() -> {
|
||||||
try (Connection connection = BallAPI.getInstance().getDatasource().getConnection()) {
|
try (Connection connection = BallAPI.getInstance().getDatasource().getConnection()) {
|
||||||
try (PreparedStatement statement = connection.prepareStatement(
|
try (PreparedStatement statement = connection.prepareStatement(
|
||||||
"REPLACE INTO `hamster_ball_player_info` VALUES(?, ?, ?, ?, ?);"
|
"REPLACE INTO `hamster_ball_player_info` VALUES(?, ?, ?, ?, ?);"
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
org.gradle.jvmargs=-Xmx2G
|
org.gradle.jvmargs=-Xmx2G
|
||||||
hamster_core_version=1.0.0-SNAPSHOT
|
hamster_core_version=1.1.0-SNAPSHOT
|
||||||
redission_version=3.23.2
|
redission_version=3.23.2
|
||||||
|
Reference in New Issue
Block a user