From 551022cf26d52c000ad55300f0ffd35c778ea9fc Mon Sep 17 00:00:00 2001 From: 502647092 Date: Mon, 24 Oct 2016 00:34:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B9=8B=E5=89=8D?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=9A=84=E6=A3=80=E6=B5=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/pw/yumc/YumCore/commands/CommandManager.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/pw/yumc/YumCore/commands/CommandManager.java b/src/main/java/pw/yumc/YumCore/commands/CommandManager.java index d9a22ab..0d44403 100644 --- a/src/main/java/pw/yumc/YumCore/commands/CommandManager.java +++ b/src/main/java/pw/yumc/YumCore/commands/CommandManager.java @@ -272,14 +272,17 @@ public class CommandManager implements TabExecutor { if (ci != null) { Class[] params = method.getParameterTypes(); Log.d("命令 %s 参数类型: %s", ci.getName(), Arrays.toString(params)); - if (params.length > 0 && params[0].isInstance(CommandSender.class)) { - if (method.getReturnType() == boolean.class) { + try { + Class sender = params[0]; + // 用于消除unuse警告 + if (!sender.getName().isEmpty() && method.getReturnType() == boolean.class) { defCmd = ci; } else { cmds.add(ci); cmdCache.put(ci.getName(), ci); } return true; + } catch (ArrayIndexOutOfBoundsException | ClassCastException ignored) { } Log.warning(String.format(argumentTypeError, method.getName(), clazz.getClass().getName())); }