From 4d3d93887d94bf985747fca0132240a9d141c012 Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Thu, 8 Aug 2024 04:46:07 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 +-- .../bukkit/listener/BallBukkitListener.java | 7 --- .../bungee/command/BungeeBallCommand.java | 2 +- .../bungee/listener/BallBungeeListener.java | 7 --- .../mc/plugin/ball/common/api/BallAPI.java | 9 ++-- .../common/command/SudoAllConsoleCommand.java | 29 ++++++++--- .../common/command/SudoAllPlayerCommand.java | 27 ++++++++-- .../common/command/SudoConsoleCommand.java | 2 +- .../common/command/SudoPlayerCommand.java | 50 +++++++++++++------ .../operate/DispatchConsoleCommandEvent.java | 3 -- .../operate/DispatchPlayerCommandEvent.java | 3 -- .../ball/velocity/HamsterBallPlugin.java | 4 +- .../listener/BallVelocityListener.java | 7 --- build.gradle.kts | 2 +- 14 files changed, 92 insertions(+), 68 deletions(-) diff --git a/README.md b/README.md index 1f3167d..77b260f 100644 --- a/README.md +++ b/README.md @@ -49,9 +49,9 @@ repositories { dependencies { // 对于 Bukkit 插件 - compileOnly("cn.hamster3.mc.plugin:ball-bukkit:1.6.4") + compileOnly("cn.hamster3.mc.plugin:ball-bukkit:1.7.0-SNAPSHOT") // 对于 BungeeCord 插件 - compileOnly("cn.hamster3.mc.plugin:ball-bungee:1.6.4") + compileOnly("cn.hamster3.mc.plugin:ball-bungee:1.7.0-SNAPSHOT") } ``` @@ -77,13 +77,13 @@ dependencies { cn.hamster3.mc.plugin ball-bukkit - 1.6.4 + 1.7.0-SNAPSHOT cn.hamster3.mc.plugin ball-bungee - 1.6.4 + 1.7.0-SNAPSHOT diff --git a/ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/listener/BallBukkitListener.java b/ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/listener/BallBukkitListener.java index f913636..e90b085 100644 --- a/ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/listener/BallBukkitListener.java +++ b/ball-bukkit/src/main/java/cn/hamster3/mc/plugin/ball/bukkit/listener/BallBukkitListener.java @@ -3,7 +3,6 @@ package cn.hamster3.mc.plugin.ball.bukkit.listener; import cn.hamster3.mc.plugin.ball.bukkit.HamsterBallPlugin; import cn.hamster3.mc.plugin.ball.bukkit.data.BukkitLocation; 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.event.operate.*; import cn.hamster3.mc.plugin.core.common.api.CoreAPI; import cn.hamster3.mc.plugin.core.common.data.DisplayMessage; @@ -95,9 +94,6 @@ public class BallBukkitListener implements Listener { @Subscribe public void onDispatchConsoleCommand(DispatchConsoleCommandEvent event) { - if (event.getType() != null && event.getType() != BallServerType.GAME) { - return; - } if (event.getServerID() != null && !BallAPI.getInstance().isLocalServer(event.getServerID())) { return; } @@ -106,9 +102,6 @@ public class BallBukkitListener implements Listener { @Subscribe public void onDispatchPlayerCommand(DispatchPlayerCommandEvent event) { - if (event.getType() != null && event.getType() != BallServerType.GAME) { - return; - } if (event.getUuid() != null) { Player player = Bukkit.getPlayer(event.getUuid()); if (player == null) { diff --git a/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/command/BungeeBallCommand.java b/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/command/BungeeBallCommand.java index 59a3951..7bdfa3e 100644 --- a/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/command/BungeeBallCommand.java +++ b/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/command/BungeeBallCommand.java @@ -12,7 +12,7 @@ public class BungeeBallCommand extends Command { public static final BungeeBallCommand INSTANCE = new BungeeBallCommand(); public BungeeBallCommand() { - super("hamster-ball", "hamster.ball.admin", "ball"); + super("hamster-bungee-ball", "hamster.ball.admin", "bungee-ball", "bball"); } @Override diff --git a/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/listener/BallBungeeListener.java b/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/listener/BallBungeeListener.java index 1d1f552..1b7fc3b 100644 --- a/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/listener/BallBungeeListener.java +++ b/ball-bungee/src/main/java/cn/hamster3/mc/plugin/ball/bungee/listener/BallBungeeListener.java @@ -2,7 +2,6 @@ package cn.hamster3.mc.plugin.ball.bungee.listener; import cn.hamster3.mc.plugin.ball.bungee.HamsterBallPlugin; 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.event.operate.*; import cn.hamster3.mc.plugin.core.common.api.CoreAPI; import com.google.common.eventbus.Subscribe; @@ -23,9 +22,6 @@ public class BallBungeeListener { @Subscribe public void onDispatchConsoleCommand(DispatchConsoleCommandEvent event) { - if (event.getType() != null && event.getType() != BallServerType.PROXY) { - return; - } if (event.getServerID() != null && !BallAPI.getInstance().isLocalServer(event.getServerID())) { return; } @@ -35,9 +31,6 @@ public class BallBungeeListener { @Subscribe public void onDispatchPlayerCommandEvent(DispatchPlayerCommandEvent event) { - if (event.getType() != null && event.getType() != BallServerType.GAME) { - return; - } ProxyServer server = ProxyServer.getInstance(); if (event.getUuid() != null) { ProxiedPlayer player = server.getPlayer(event.getUuid()); diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java index 0769349..38e0f77 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/api/BallAPI.java @@ -257,11 +257,10 @@ public abstract class BallAPI { */ public void dispatchConsoleCommand(@Nullable BallServerType type, @Nullable String serverID, @NotNull String command) { sendBallMessage(BALL_CHANNEL, new BallMessage( - getLocalServerId(), null, BallServerType.GAME, + getLocalServerId(), null, type, BallActions.DispatchConsoleCommand.name(), - CoreAPI.getInstance().getGson().toJsonTree(new DispatchConsoleCommandEvent(type, serverID, command)) + CoreAPI.getInstance().getGson().toJsonTree(new DispatchConsoleCommandEvent(serverID, command)) ), false); - } /** @@ -273,9 +272,9 @@ public abstract class BallAPI { */ public void dispatchPlayerCommand(@Nullable BallServerType type, @Nullable UUID uuid, @NotNull String command) { sendBallMessage(BALL_CHANNEL, new BallMessage( - getLocalServerId(), null, BallServerType.GAME, + getLocalServerId(), null, type, BallActions.DispatchPlayerCommand.name(), - CoreAPI.getInstance().getGson().toJsonTree(new DispatchPlayerCommandEvent(type, uuid, command)) + CoreAPI.getInstance().getGson().toJsonTree(new DispatchPlayerCommandEvent(uuid, command)) ), false); } diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoAllConsoleCommand.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoAllConsoleCommand.java index a2f3cf4..112b1fa 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoAllConsoleCommand.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoAllConsoleCommand.java @@ -1,13 +1,16 @@ package cn.hamster3.mc.plugin.ball.common.command; import cn.hamster3.mc.plugin.ball.common.api.BallAPI; -import cn.hamster3.mc.plugin.ball.common.command.adapt.ChildCommand; import cn.hamster3.mc.plugin.ball.common.command.adapt.AdaptCommandSender; +import cn.hamster3.mc.plugin.ball.common.command.adapt.ChildCommand; +import cn.hamster3.mc.plugin.ball.common.entity.BallServerType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; public class SudoAllConsoleCommand extends ChildCommand { public static final SudoAllConsoleCommand INSTANCE = new SudoAllConsoleCommand(); @@ -22,7 +25,7 @@ public class SudoAllConsoleCommand extends ChildCommand { @Override public @NotNull String getUsage() { - return "sudo-all-console <服务器ID> <命令内容>"; + return "sudo-all-console <服务器类型> <命令内容>"; } @Override @@ -37,22 +40,36 @@ public class SudoAllConsoleCommand extends ChildCommand { @Override public boolean onCommand(@NotNull AdaptCommandSender sender, @NotNull String[] args) { - if (args.length < 1) { + if (args.length < 2) { sender.sendMessage(BallCommand.INSTANCE.getUsage() + " " + getUsage()); return true; } - StringBuilder builder = new StringBuilder(args[0]); - for (int i = 1; i < args.length; i++) { + BallServerType serverType; + try { + serverType = BallServerType.valueOf(args[0].toUpperCase()); + } catch (IllegalArgumentException e) { + sender.sendMessage("§c未知的服务器类型: " + args[0]); + return true; + } + StringBuilder builder = new StringBuilder(args[1]); + for (int i = 2; i < args.length; i++) { builder.append(" ").append(args[i]); } String command = builder.toString(); - BallAPI.getInstance().dispatchConsoleCommand(null, null, command); + BallAPI.getInstance().dispatchConsoleCommand(serverType, null, command); sender.sendMessage("§a已强制所有服务器控制台执行命令: §e/" + command); return true; } @Override public @Nullable List onTabComplete(@NotNull AdaptCommandSender sender, @NotNull String[] args) { + if (args.length == 1) { + return Arrays.stream(BallServerType.values()) + .map(Enum::name) + .filter(o -> o.toLowerCase().startsWith(args[0].toLowerCase())) + .limit(10) + .collect(Collectors.toList()); + } return Collections.emptyList(); } } diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoAllPlayerCommand.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoAllPlayerCommand.java index 0019d43..6a02077 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoAllPlayerCommand.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoAllPlayerCommand.java @@ -3,11 +3,14 @@ package cn.hamster3.mc.plugin.ball.common.command; import cn.hamster3.mc.plugin.ball.common.api.BallAPI; import cn.hamster3.mc.plugin.ball.common.command.adapt.ChildCommand; import cn.hamster3.mc.plugin.ball.common.command.adapt.AdaptCommandSender; +import cn.hamster3.mc.plugin.ball.common.entity.BallServerType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.stream.Collectors; public class SudoAllPlayerCommand extends ChildCommand { public static final SudoAllPlayerCommand INSTANCE = new SudoAllPlayerCommand(); @@ -22,7 +25,7 @@ public class SudoAllPlayerCommand extends ChildCommand { @Override public @NotNull String getUsage() { - return "sudo-all-player <命令内容>"; + return "sudo-all-player <服务器类型> <命令内容>"; } @Override @@ -37,22 +40,36 @@ public class SudoAllPlayerCommand extends ChildCommand { @Override public boolean onCommand(@NotNull AdaptCommandSender sender, @NotNull String[] args) { - if (args.length < 1) { + if (args.length < 2) { sender.sendMessage(BallCommand.INSTANCE.getUsage() + " " + getUsage()); return true; } - StringBuilder builder = new StringBuilder(args[0]); - for (int i = 1; i < args.length; i++) { + BallServerType serverType; + try { + serverType = BallServerType.valueOf(args[0].toUpperCase()); + } catch (IllegalArgumentException e) { + sender.sendMessage("§c未知的服务器类型: " + args[0]); + return true; + } + StringBuilder builder = new StringBuilder(args[1]); + for (int i = 2; i < args.length; i++) { builder.append(" ").append(args[i]); } String command = builder.toString(); - BallAPI.getInstance().dispatchPlayerCommand(null, null, command); + BallAPI.getInstance().dispatchPlayerCommand(serverType, null, command); sender.sendMessage("§a已强制所有玩家执行命令: §e/" + command); return true; } @Override public @Nullable List onTabComplete(@NotNull AdaptCommandSender sender, @NotNull String[] args) { + if (args.length == 1) { + return Arrays.stream(BallServerType.values()) + .map(Enum::name) + .filter(o -> o.toLowerCase().startsWith(args[0].toLowerCase())) + .limit(10) + .collect(Collectors.toList()); + } return Collections.emptyList(); } } diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoConsoleCommand.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoConsoleCommand.java index a70af57..04b7548 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoConsoleCommand.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoConsoleCommand.java @@ -1,8 +1,8 @@ package cn.hamster3.mc.plugin.ball.common.command; import cn.hamster3.mc.plugin.ball.common.api.BallAPI; -import cn.hamster3.mc.plugin.ball.common.command.adapt.ChildCommand; import cn.hamster3.mc.plugin.ball.common.command.adapt.AdaptCommandSender; +import cn.hamster3.mc.plugin.ball.common.command.adapt.ChildCommand; import cn.hamster3.mc.plugin.ball.common.entity.BallServerInfo; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoPlayerCommand.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoPlayerCommand.java index 2314a49..aecff49 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoPlayerCommand.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/command/SudoPlayerCommand.java @@ -1,12 +1,14 @@ package cn.hamster3.mc.plugin.ball.common.command; import cn.hamster3.mc.plugin.ball.common.api.BallAPI; -import cn.hamster3.mc.plugin.ball.common.command.adapt.ChildCommand; import cn.hamster3.mc.plugin.ball.common.command.adapt.AdaptCommandSender; +import cn.hamster3.mc.plugin.ball.common.command.adapt.ChildCommand; import cn.hamster3.mc.plugin.ball.common.entity.BallPlayerInfo; +import cn.hamster3.mc.plugin.ball.common.entity.BallServerType; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.UUID; @@ -25,7 +27,7 @@ public class SudoPlayerCommand extends ChildCommand { @Override public @NotNull String getUsage() { - return "sudo-player <玩家名|UUID> <命令内容>"; + return "sudo-player <服务器类型> <玩家名|UUID> <命令内容>"; } @Override @@ -40,43 +42,59 @@ public class SudoPlayerCommand extends ChildCommand { @Override public boolean onCommand(@NotNull AdaptCommandSender sender, @NotNull String[] args) { - if (args.length < 2) { + if (args.length < 3) { sender.sendMessage(BallCommand.INSTANCE.getUsage() + " " + getUsage()); return true; } + BallServerType serverType; + try { + serverType = BallServerType.valueOf(args[0].toUpperCase()); + } catch (IllegalArgumentException e) { + sender.sendMessage("§c未知的服务器类型: " + args[0]); + return true; + } BallPlayerInfo info; try { - UUID uuid = UUID.fromString(args[0]); + UUID uuid = UUID.fromString(args[1]); info = BallAPI.getInstance().getPlayerInfo(uuid); } catch (Exception e) { - info = BallAPI.getInstance().getPlayerInfo(args[0]); + info = BallAPI.getInstance().getPlayerInfo(args[1]); } if (info == null) { - sender.sendMessage("§c未找到玩家 " + args[0]); + sender.sendMessage("§c未找到玩家 " + args[1]); return true; } if (!info.isOnline()) { - sender.sendMessage("§c玩家 " + args[0] + " 不在线"); + sender.sendMessage("§c玩家 " + args[1] + " 不在线"); return true; } - StringBuilder builder = new StringBuilder(args[1]); - for (int i = 2; i < args.length; i++) { + StringBuilder builder = new StringBuilder(args[2]); + for (int i = 3; i < args.length; i++) { builder.append(" ").append(args[i]); } String command = builder.toString(); - BallAPI.getInstance().dispatchPlayerCommand(null, info.getUuid(), command); + BallAPI.getInstance().dispatchPlayerCommand(serverType, info.getUuid(), command); sender.sendMessage("§a已强制玩家 " + info.getName() + " 执行命令: §e/" + command); return true; } @Override public @Nullable List onTabComplete(@NotNull AdaptCommandSender sender, @NotNull String[] args) { - if (args.length == 1) { - return BallAPI.getInstance().getAllPlayerInfo().values().stream() - .map(BallPlayerInfo::getName) - .filter(o -> o.toLowerCase().startsWith(args[0].toLowerCase())) - .limit(10) - .collect(Collectors.toList()); + switch (args.length) { + case 1: { + return Arrays.stream(BallServerType.values()) + .map(Enum::name) + .filter(o -> o.toLowerCase().startsWith(args[0].toLowerCase())) + .limit(10) + .collect(Collectors.toList()); + } + case 2: { + return BallAPI.getInstance().getAllPlayerInfo().values().stream() + .map(BallPlayerInfo::getName) + .filter(o -> o.toLowerCase().startsWith(args[1].toLowerCase())) + .limit(10) + .collect(Collectors.toList()); + } } return Collections.emptyList(); } diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/event/operate/DispatchConsoleCommandEvent.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/event/operate/DispatchConsoleCommandEvent.java index 0c4ec36..9fecd2f 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/event/operate/DispatchConsoleCommandEvent.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/event/operate/DispatchConsoleCommandEvent.java @@ -1,6 +1,5 @@ package cn.hamster3.mc.plugin.ball.common.event.operate; -import cn.hamster3.mc.plugin.ball.common.entity.BallServerType; import lombok.AllArgsConstructor; import lombok.Data; import org.jetbrains.annotations.NotNull; @@ -9,8 +8,6 @@ import org.jetbrains.annotations.Nullable; @Data @AllArgsConstructor public class DispatchConsoleCommandEvent { - @Nullable - private final BallServerType type; @Nullable private final String serverID; @NotNull diff --git a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/event/operate/DispatchPlayerCommandEvent.java b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/event/operate/DispatchPlayerCommandEvent.java index 1e9365a..9accaaf 100644 --- a/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/event/operate/DispatchPlayerCommandEvent.java +++ b/ball-common/src/main/java/cn/hamster3/mc/plugin/ball/common/event/operate/DispatchPlayerCommandEvent.java @@ -1,6 +1,5 @@ package cn.hamster3.mc.plugin.ball.common.event.operate; -import cn.hamster3.mc.plugin.ball.common.entity.BallServerType; import lombok.AllArgsConstructor; import lombok.Data; import org.jetbrains.annotations.NotNull; @@ -11,8 +10,6 @@ import java.util.UUID; @Data @AllArgsConstructor public class DispatchPlayerCommandEvent { - @Nullable - private final BallServerType type; @Nullable private final UUID uuid; @NotNull diff --git a/ball-velocity/src/main/java/cn/hamster3/mc/plugin/ball/velocity/HamsterBallPlugin.java b/ball-velocity/src/main/java/cn/hamster3/mc/plugin/ball/velocity/HamsterBallPlugin.java index 03e0e81..b753e32 100644 --- a/ball-velocity/src/main/java/cn/hamster3/mc/plugin/ball/velocity/HamsterBallPlugin.java +++ b/ball-velocity/src/main/java/cn/hamster3/mc/plugin/ball/velocity/HamsterBallPlugin.java @@ -100,8 +100,8 @@ public class HamsterBallPlugin { return; } CommandMeta commandMeta = proxyServer.getCommandManager() - .metaBuilder("hamster-ball") - .aliases("ball") + .metaBuilder("hamster-velocity-ball") + .aliases("velocity-ball", "vball") .plugin(this) .build(); proxyServer.getCommandManager().register(commandMeta, VelocityBallCommand.INSTANCE); diff --git a/ball-velocity/src/main/java/cn/hamster3/mc/plugin/ball/velocity/listener/BallVelocityListener.java b/ball-velocity/src/main/java/cn/hamster3/mc/plugin/ball/velocity/listener/BallVelocityListener.java index 284e0ff..fad8483 100644 --- a/ball-velocity/src/main/java/cn/hamster3/mc/plugin/ball/velocity/listener/BallVelocityListener.java +++ b/ball-velocity/src/main/java/cn/hamster3/mc/plugin/ball/velocity/listener/BallVelocityListener.java @@ -1,7 +1,6 @@ package cn.hamster3.mc.plugin.ball.velocity.listener; 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.event.operate.*; import cn.hamster3.mc.plugin.ball.velocity.HamsterBallPlugin; import cn.hamster3.mc.plugin.core.common.api.CoreAPI; @@ -23,9 +22,6 @@ public class BallVelocityListener { @Subscribe public void onDispatchConsoleCommand(DispatchConsoleCommandEvent event) { - if (event.getType() != null && event.getType() != BallServerType.PROXY) { - return; - } if (event.getServerID() != null && !BallAPI.getInstance().isLocalServer(event.getServerID())) { return; } @@ -35,9 +31,6 @@ public class BallVelocityListener { @Subscribe public void onDispatchPlayerCommand(DispatchPlayerCommandEvent event) { - if (event.getType() != null && event.getType() != BallServerType.GAME) { - return; - } ProxyServer server = HamsterBallPlugin.getInstance().getProxyServer(); if (event.getUuid() != null) { Player player = server.getPlayer(event.getUuid()).orElse(null); diff --git a/build.gradle.kts b/build.gradle.kts index 215aa86..dc3bf39 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } group = "cn.hamster3.mc.plugin" -version = "1.6.5-SNAPSHOT" +version = "1.7.0-SNAPSHOT" description = "基于 Redis 的 Minecraft 服务端通用消息中间件" subprojects {