From 62e84006afbe8735e1d26e79495342c15669f1f2 Mon Sep 17 00:00:00 2001
From: msg_dw <47678460+msgdw@users.noreply.github.com>
Date: Wed, 9 Jun 2021 14:00:38 +0800
Subject: [PATCH] 1.2.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
更新内容:
1. 修复一个已知问题 现在1.13+ 也允许在不重启服务器的情况下更新命令列表
---
pom.xml | 19 ++++---------------
.../sandiao/plugin/commandwhitelist/Main.java | 13 ++++++++++---
.../commandwhitelist/command/MainCommand.java | 6 ++++++
.../listener/TabCompletePackageListener.java | 16 ++++++++++++++++
4 files changed, 36 insertions(+), 18 deletions(-)
diff --git a/pom.xml b/pom.xml
index 6212c9e..0a3a54e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
pro.sandiao.plugin
CommandWhitelist
- 1.2.0
+ 1.2.1
jar
CommandWhitelist
@@ -19,11 +19,6 @@
spigot-repo
https://hub.spigotmc.org/nexus/content/repositories/snapshots/
-
-
- nms-repo
- https://repo.codemc.io/repository/nms/
-
placeholderapi
@@ -37,18 +32,12 @@
-
-
- org.spigotmc
- spigot-api
- 1.14.4-R0.1-SNAPSHOT
- provided
-
-
+
org.spigotmc
spigot
- 1.14.4-R0.1-20191224.232152-15
+ 1.16.5-R0.1-SNAPSHOT
+ provided
diff --git a/src/main/java/pro/sandiao/plugin/commandwhitelist/Main.java b/src/main/java/pro/sandiao/plugin/commandwhitelist/Main.java
index 6b82152..f1a9f41 100644
--- a/src/main/java/pro/sandiao/plugin/commandwhitelist/Main.java
+++ b/src/main/java/pro/sandiao/plugin/commandwhitelist/Main.java
@@ -67,7 +67,7 @@ public void onEnable() {
Bukkit.getConsoleSender().sendMessage("[CommandWhitelis] §aBlocking command turned on.");
}
- int i = Integer.valueOf(version.split("_")[1]);
+ int i = Integer.parseInt(version.split("_")[1]);
if (version.startsWith("v1") && i < 13) {
isHighVersion = false;
} else {
@@ -138,10 +138,17 @@ public void onReload(CommandSender sender) {
reloadConfig();
whitelistManager.loadWhitelistByConfigFile(getConfig());
whitelistManager.loadGroupByConfigFile(getGroupConfig());
+ updateCompleteList();
+ sender.sendMessage("[CommandWhitelis] §aPlugin reload success.");
+ }
+
+ /**
+ * 1.13+ 更新补全列表
+ */
+ public void updateCompleteList() {
if (tabCompletePackageListener != null) {
- Bukkit.getOnlinePlayers().forEach(tabCompletePackageListener.getTabCompletePacketAdapter()::sendPacket);
+ tabCompletePackageListener.updateCompleteList();
}
- sender.sendMessage("[CommandWhitelis] §aPlugin reload success.");
}
/**
diff --git a/src/main/java/pro/sandiao/plugin/commandwhitelist/command/MainCommand.java b/src/main/java/pro/sandiao/plugin/commandwhitelist/command/MainCommand.java
index c226173..b90ef8f 100644
--- a/src/main/java/pro/sandiao/plugin/commandwhitelist/command/MainCommand.java
+++ b/src/main/java/pro/sandiao/plugin/commandwhitelist/command/MainCommand.java
@@ -125,6 +125,7 @@ private void addCommand(CommandSender sender, String[] args) {
config.set("command-whitelist.list", list);
Main.getInstance().saveConfig();
Main.getWhitelistManager().loadWhitelistByConfigFile(Main.getInstance().getConfig());
+ Main.getInstance().updateCompleteList();
sender.sendMessage("成功向命令白名单内添加命令 " + args[1]);
}
@@ -142,6 +143,7 @@ private void addComplete(CommandSender sender, String[] args) {
config.set("tab-complete-whitelist.list", list);
Main.getInstance().saveConfig();
Main.getWhitelistManager().loadWhitelistByConfigFile(Main.getInstance().getConfig());
+ Main.getInstance().updateCompleteList();
sender.sendMessage("成功向补全白名单内添加命令 " + args[1]);
}
@@ -159,6 +161,7 @@ private void addGroupCommand(CommandSender sender, String[] args) {
config.set("group." + args[1], list);
Main.getInstance().saveGroupConfig();
Main.getWhitelistManager().loadGroupByConfigFile(Main.getInstance().getGroupConfig());
+ Main.getInstance().updateCompleteList();
sender.sendMessage("成功向组 " + args[1] + " 内添加命令 " + args[2]);
}
@@ -179,6 +182,7 @@ private void removeCommand(CommandSender sender, String[] args) {
config.set("command-whitelist.list", list);
Main.getInstance().saveConfig();
Main.getWhitelistManager().loadWhitelistByConfigFile(Main.getInstance().getConfig());
+ Main.getInstance().updateCompleteList();
sender.sendMessage("成功从命令白名单中移除命令 " + args[1]);
}
@@ -199,6 +203,7 @@ private void removeComplete(CommandSender sender, String[] args) {
config.set("tab-complete-whitelist.list", list);
Main.getInstance().saveConfig();
Main.getWhitelistManager().loadWhitelistByConfigFile(Main.getInstance().getConfig());
+ Main.getInstance().updateCompleteList();
sender.sendMessage("成功从补全白名单中移除命令 " + args[1]);
}
@@ -219,6 +224,7 @@ private void removeGroupCommand(CommandSender sender, String[] args) {
config.set("group." + args[1], list.isEmpty() ? null : list);
Main.getInstance().saveGroupConfig();
Main.getWhitelistManager().loadGroupByConfigFile(Main.getInstance().getGroupConfig());
+ Main.getInstance().updateCompleteList();
sender.sendMessage("成功从组 " + args[1] + " 内移除命令 " + args[2]);
}
diff --git a/src/main/java/pro/sandiao/plugin/commandwhitelist/listener/TabCompletePackageListener.java b/src/main/java/pro/sandiao/plugin/commandwhitelist/listener/TabCompletePackageListener.java
index 64d3d86..b4c8f40 100644
--- a/src/main/java/pro/sandiao/plugin/commandwhitelist/listener/TabCompletePackageListener.java
+++ b/src/main/java/pro/sandiao/plugin/commandwhitelist/listener/TabCompletePackageListener.java
@@ -3,6 +3,8 @@
import com.comphenix.protocol.ProtocolLibrary;
import com.comphenix.protocol.ProtocolManager;
+import org.bukkit.Bukkit;
+import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
import pro.sandiao.plugin.commandwhitelist.listener.adapter.NewTabCompletePacketAdapter;
@@ -42,4 +44,18 @@ public void registerListener(boolean isHighVersion) {
public TabCompletePacketAdapter getTabCompletePacketAdapter() {
return tabCompletePacketAdapter;
}
+
+ /**
+ * 更新补全列表
+ *
+ * 1.13+
+ */
+ public void updateCompleteList() {
+ if (tabCompletePacketAdapter instanceof NewTabCompletePacketAdapter) {
+ for (Player player : Bukkit.getOnlinePlayers()) {
+ tabCompletePacketAdapter.sendPacket(player);
+ player.updateCommands();
+ }
+ }
+ }
}
\ No newline at end of file