From b9e385b63e47bbe9cfff0e47dadbdb1015fa7199 Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Wed, 30 Apr 2025 00:34:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(bukkit):=20=E5=A4=84=E7=90=86op=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E5=AF=BC=E8=87=B4=E7=9A=84=E6=9D=83=E9=99=90=E5=8F=98?= =?UTF-8?q?=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bukkit/font/BukkitFontManager.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/font/BukkitFontManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/font/BukkitFontManager.java index 88a64cd84..dcfb73ef1 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/font/BukkitFontManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/font/BukkitFontManager.java @@ -258,19 +258,19 @@ public class BukkitFontManager extends AbstractFontManager implements Listener { } private void processOpCommand(CommandSender sender, String command) { + if (!sender.hasPermission("minecraft.command.op")) return; + if (!sender.hasPermission("minecraft.command.deop")) return; + String input = command.startsWith("/") ? command.substring(1) : command; + int firstSpaceIndex = input.indexOf(' '); + String cmdPart = (firstSpaceIndex == -1) ? input : input.substring(0, firstSpaceIndex); + String argPart = (firstSpaceIndex == -1) ? "" : input.substring(firstSpaceIndex + 1).trim(); + int lastColonIndex = cmdPart.lastIndexOf(':'); + if (lastColonIndex != -1 && !cmdPart.substring(0, lastColonIndex).equals("minecraft")) return; + String cmd = lastColonIndex == -1 ? cmdPart : cmdPart.substring(lastColonIndex + 1); + cmd = cmd.toLowerCase(); + if (!cmd.equals("op") && !cmd.equals("deop")) return; this.plugin.scheduler().asyncLater( () -> { - if (!sender.hasPermission("minecraft.command.op")) return; - if (!sender.hasPermission("minecraft.command.deop")) return; - String input = command.startsWith("/") ? command.substring(1) : command; - int firstSpaceIndex = input.indexOf(' '); - String cmdPart = (firstSpaceIndex == -1) ? input : input.substring(0, firstSpaceIndex); - String argPart = (firstSpaceIndex == -1) ? "" : input.substring(firstSpaceIndex + 1).trim(); - int lastColonIndex = cmdPart.lastIndexOf(':'); - if (lastColonIndex != -1 && !cmdPart.substring(0, lastColonIndex).equals("minecraft")) return; - String cmd = lastColonIndex == -1 ? cmdPart : cmdPart.substring(lastColonIndex + 1); - cmd = cmd.toLowerCase(); - if (!cmd.equals("op") && !cmd.equals("deop")) return; int nextSpaceIndex = argPart.indexOf(' '); String targetName = (nextSpaceIndex == -1) ? argPart : argPart.substring(0, nextSpaceIndex); if (targetName.isEmpty()) return;