From 84d351b116105ab1f605deaa9d64b607f9705618 Mon Sep 17 00:00:00 2001 From: youpaishidifu <1@ypshidifu.cn> Date: Thu, 8 Oct 2026 23:27:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=AA=E7=99=BB=E5=BD=95=E7=99=BD=E5=90=8D?= =?UTF-8?q?=E5=8D=95=E5=8A=A0=E7=99=BD=EF=BC=9A=E6=AD=A3=E7=89=88=E9=AA=8C?= =?UTF-8?q?=E8=AF=81mslogin/=E6=AD=A3=E7=89=88=E3=80=81=E6=89=BE=E5=9B=9E?= =?UTF-8?q?=E5=AF=86=E7=A0=81=E3=80=81web/=E6=8E=A7=E5=88=B6=E5=8F=B0?= =?UTF-8?q?=EF=BC=88=E7=99=BB=E5=BD=95=E9=93=BE=E8=B7=AF=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=E6=94=BE=E8=A1=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/Sdf1_login/Main.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/Sdf1_login/Main.java b/src/main/java/Sdf1_login/Main.java index 7e47765..34d1b9f 100644 --- a/src/main/java/Sdf1_login/Main.java +++ b/src/main/java/Sdf1_login/Main.java @@ -3674,15 +3674,21 @@ public class Main extends JavaPlugin } } - // ★ 未登录(冻结)玩家只允许 4 个登录/注册相关命令(含中文版): - // /login(/登录) /l /reg(/注册) /sdf1_login reset + // ★ 未登录(冻结)玩家只允许「与注册登录直接相关」的命令(含中文版): + // 注册/登录 : /login(/登录) /l /reg(/注册) /sdf1_login reset + // 正版验证 : /mslogin(/正版) —— 微软 OAuth 是登录的替代路径 + // 找回密码 : /找回密码 —— 忘密自救,登录的前置 + // Web令牌 : /web(/控制台) —— Web 端登录令牌生成 // 1) 堵住"没登录却能跑 /protect 等管理命令"的越权口子; - // 2) 其余命令(改密码/找回密码/正版/2fa/web/控制台/删除账号/通过/拒绝/help 等) + // 2) 其余命令(改密码/2fa/删除账号/通过/拒绝/help/绑定邮箱等) // 一律移到登录之后,避免未登录试探插件面; // 3) /sdf1_login 是多子命令容器,只放行 reset 子命令(见下方闸门逐条判定)。 private static final Set FROZEN_ALLOWED_CMDS = new HashSet<>(java.util.Arrays.asList( "l", "login", "reg", "sdf1_login", - "注册", "登录")); + "注册", "登录", + "mslogin", "正版", + "找回密码", + "web", "控制台")); @EventHandler(priority = EventPriority.HIGHEST) public void onFrozenCommandGuard(org.bukkit.event.player.PlayerCommandPreprocessEvent e) { @@ -3704,7 +3710,8 @@ public class Main extends JavaPlugin } if (FROZEN_ALLOWED_CMDS.contains(cmd)) return; e.setCancelled(true); - p.sendMessage("§c§l[登录] §f你还未登录,无法使用该命令。请先使用 §e/l <密码> §f登录"); + p.sendMessage("§c§l[登录] §f你还未登录,无法使用该命令。请先使用 §e/l <密码> §f登录" + + "§7(也可 §e/mslogin §7正版登录、§e/找回密码 §7、§e/web §7)"); } // ★ /op 拦截(2026-10-08 第四轮):按「启用状态」分支