1
0
mirror of https://e.coding.net/circlecloud/YumCore.git synced 2024-11-22 01:48:50 +00:00

fix: 修复一般错误

Signed-off-by: 502647092 <admin@yumc.pw>
This commit is contained in:
502647092 2016-09-19 17:05:22 +08:00
parent 89c7a89df2
commit 5a5c01153f
5 changed files with 16 additions and 10 deletions

View File

@ -31,6 +31,10 @@ public class CommandHelp {
private final static String helpTitle = String.format("§6========= %s §6插件帮助列表=========", prefix); private final static String helpTitle = String.format("§6========= %s §6插件帮助列表=========", prefix);
private final static String helpBody = "§6/%1$s §a%2$s §e%3$s §6- §b%4$s"; private final static String helpBody = "§6/%1$s §a%2$s §e%3$s §6- §b%4$s";
private final static String helpFooter = "§6查看更多的帮助页面 §b请输入 /%s help §e1-%s"; private final static String helpFooter = "§6查看更多的帮助页面 §b请输入 /%s help §e1-%s";
/**
* 帮助页面每页行数
*/
private final static int LINES_PER_PAGE = 7;
/** /**
* 默认命令 * 默认命令
*/ */
@ -47,10 +51,6 @@ public class CommandHelp {
* 帮助页面数量 * 帮助页面数量
*/ */
private final int HELPPAGECOUNT; private final int HELPPAGECOUNT;
/**
* 帮助页面每页行数
*/
private final int LINES_PER_PAGE = 7;
/** /**
* 帮助列表缓存 * 帮助列表缓存
*/ */
@ -133,6 +133,7 @@ public class CommandHelp {
page = Integer.parseInt(args[1]); page = Integer.parseInt(args[1]);
page = page == 0 ? 1 : page; page = page == 0 ? 1 : page;
} catch (final Exception e) { } catch (final Exception e) {
// Ignore
} }
final String helpkey = label + page; final String helpkey = label + page;
if (!cacheHelp.containsKey(helpkey)) { if (!cacheHelp.containsKey(helpkey)) {

View File

@ -234,7 +234,7 @@ public class CommandInfo {
} }
private String eS(final List<Executor> executors) { private String eS(final List<Executor> executors) {
final StringBuffer str = new StringBuffer(); final StringBuilder str = new StringBuilder();
for (final Executor executor : executors) { for (final Executor executor : executors) {
str.append(executor.getName()); str.append(executor.getName());
str.append(", "); str.append(", ");

View File

@ -29,12 +29,12 @@ import pw.yumc.YumCore.bukkit.compatible.C;
* @author * @author
*/ */
public class CommandManager implements TabExecutor { public class CommandManager implements TabExecutor {
private final String argumentTypeError = "注解命令方法 %s 位于 %s 的参数错误 应只有 CommandArgument 参数!"; private final static String argumentTypeError = "注解命令方法 %s 位于 %s 的参数错误 应只有 CommandArgument 参数!";
private final String returnTypeError = "注解命令补全 %s 位于 %s 的返回值错误 应实现 List 接口!"; private final static String returnTypeError = "注解命令补全 %s 位于 %s 的返回值错误 应实现 List 接口!";
/** /**
* 插件实例类 * 插件实例类
*/ */
private final JavaPlugin plugin = P.instance; private final static JavaPlugin plugin = P.instance;
/** /**
* 默认命令 * 默认命令
*/ */
@ -207,7 +207,7 @@ public class CommandManager implements TabExecutor {
private List<String> getPlayerTabComplete(final CommandSender sender, final Command command, final String alias, final String[] args) { private List<String> getPlayerTabComplete(final CommandSender sender, final Command command, final String alias, final String[] args) {
final String lastWord = args[args.length - 1]; final String lastWord = args[args.length - 1];
final Player senderPlayer = sender instanceof Player ? (Player) sender : null; final Player senderPlayer = sender instanceof Player ? (Player) sender : null;
final ArrayList<String> matchedPlayers = new ArrayList<>(); final List<String> matchedPlayers = new ArrayList<>();
for (final Player player : C.Player.getOnlinePlayers()) { for (final Player player : C.Player.getOnlinePlayers()) {
final String name = player.getName(); final String name = player.getName();
if ((senderPlayer == null || senderPlayer.canSee(player)) && StringUtil.startsWithIgnoreCase(name, lastWord)) { if ((senderPlayer == null || senderPlayer.canSee(player)) && StringUtil.startsWithIgnoreCase(name, lastWord)) {

View File

@ -9,6 +9,7 @@ import org.bukkit.command.CommandSender;
import pw.yumc.YumCore.bukkit.P; import pw.yumc.YumCore.bukkit.P;
import pw.yumc.YumCore.commands.annotation.Tab; import pw.yumc.YumCore.commands.annotation.Tab;
import pw.yumc.YumCore.commands.exception.CommandException;
/** /**
* Tab补全 * Tab补全
@ -72,7 +73,7 @@ public class TabInfo {
try { try {
return (List<String>) method.invoke(origin, cmdArgs); return (List<String>) method.invoke(origin, cmdArgs);
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
throw new RuntimeException("调用Tab自动补全发生错误 请反馈给开发者 " + Arrays.toString(P.instance.getDescription().getAuthors().toArray()) + " !", e); throw new CommandException("调用Tab自动补全发生错误 请反馈给开发者 " + Arrays.toString(P.instance.getDescription().getAuthors().toArray()) + " !", e);
} }
} }

View File

@ -16,4 +16,8 @@ public class CommandException extends RuntimeException {
super(string); super(string);
} }
public CommandException(final String string, final Exception e) {
super(string, e);
}
} }