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 {