taboolib 5.05

+ update Time.java
+ update ArrayUtil.java
+ update MenuBuilder.java
+ update ClickEvent.java
+ update Servers.java
+ fix @TConfig
This commit is contained in:
坏黑
2019-08-31 20:22:27 +08:00
parent b217572056
commit 4629a6fdb0
9 changed files with 298 additions and 72 deletions

View File

@@ -31,7 +31,7 @@ public abstract class BaseMainCommand implements CommandExecutor, TabExecutor {
private PluginCommand registerCommand;
private List<Class<?>> linkClasses = new CopyOnWriteArrayList<>();
private List<io.izzel.taboolib.module.command.base.BaseSubCommand> subCommands = new CopyOnWriteArrayList<>();
private List<BaseSubCommand> subCommands = new CopyOnWriteArrayList<>();
public static BaseMainCommand createCommandExecutor(String command, BaseMainCommand baseMainCommand) {
Preconditions.checkArgument(Bukkit.getPluginCommand(command) != null, "PluginCommand \"" + command + "\" not found");
@@ -147,7 +147,7 @@ public abstract class BaseMainCommand implements CommandExecutor, TabExecutor {
TLocale.sendTo(sender, "COMMANDS.INTERNAL.TYPE-ERROR", args[0], TLocale.asString("COMMANDS.INTERNAL.TYPE-" + subCommand.getType()));
return true;
}
String[] subCommandArgs = ArrayUtil.removeFirst(args);
String[] subCommandArgs = removeFirst(args);
if (subCommand.isParameterConform(subCommandArgs)) {
subCommand.onCommand(sender, command, label, subCommand.ignoredLabel() ? subCommandArgs : args);
} else {
@@ -230,4 +230,13 @@ public abstract class BaseMainCommand implements CommandExecutor, TabExecutor {
private boolean hasPermission(CommandSender sender, BaseSubCommand baseSubCommand) {
return baseSubCommand == null || baseSubCommand.getPermission() == null || sender.hasPermission(baseSubCommand.getPermission());
}
private String[] removeFirst(String[] args) {
if (args.length <= 1) {
return new String[0];
}
List<String> list = ArrayUtil.asList(args);
list.remove(0);
return list.toArray(new String[0]);
}
}

View File

@@ -56,6 +56,7 @@ public class TInjectLoader implements TabooLibLoader.Loader {
injectTypes.put(TConfig.class, (plugin, field, args, pluginClass, instance) -> {
try {
TConfig config = TConfig.create(plugin, args.value().length == 0 ? "config.yml" : args.value()[0]);
field.set(instance, config);
if (!args.reload().isEmpty()) {
try {
Method declaredMethod = pluginClass.getDeclaredMethod(args.reload());
@@ -73,7 +74,6 @@ public class TInjectLoader implements TabooLibLoader.Loader {
t.printStackTrace();
}
}
field.set(instance, config);
} catch (Exception e) {
e.printStackTrace();
}