+ fixed TInject
+ fixed SimpleCommandBuilder
This commit is contained in:
		@@ -209,7 +209,9 @@ public class TabooLibLoader implements Listener {
 | 
				
			|||||||
        loaders.forEach(loader -> {
 | 
					        loaders.forEach(loader -> {
 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                loader.preLoad(plugin, loadClass);
 | 
					                loader.preLoad(plugin, loadClass);
 | 
				
			||||||
            } catch (Throwable ignored) {
 | 
					            } catch (NoClassDefFoundError ignore) {
 | 
				
			||||||
 | 
					            } catch (Throwable e) {
 | 
				
			||||||
 | 
					                e.printStackTrace();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -218,7 +220,9 @@ public class TabooLibLoader implements Listener {
 | 
				
			|||||||
        loaders.forEach(loader -> {
 | 
					        loaders.forEach(loader -> {
 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                loader.postLoad(plugin, loadClass);
 | 
					                loader.postLoad(plugin, loadClass);
 | 
				
			||||||
            } catch (Throwable ignored) {
 | 
					            } catch (NoClassDefFoundError ignore) {
 | 
				
			||||||
 | 
					            } catch (Throwable e) {
 | 
				
			||||||
 | 
					                e.printStackTrace();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -227,7 +231,9 @@ public class TabooLibLoader implements Listener {
 | 
				
			|||||||
        loaders.forEach(loader -> {
 | 
					        loaders.forEach(loader -> {
 | 
				
			||||||
            try {
 | 
					            try {
 | 
				
			||||||
                loader.unload(plugin, loadClass);
 | 
					                loader.unload(plugin, loadClass);
 | 
				
			||||||
            } catch (Throwable ignored) {
 | 
					            } catch (NoClassDefFoundError ignore) {
 | 
				
			||||||
 | 
					            } catch (Throwable e) {
 | 
				
			||||||
 | 
					                e.printStackTrace();
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,8 +20,8 @@ public class SimpleCommandBuilder {
 | 
				
			|||||||
    public static final CompleterTab EMPTY_COMPLETER_TAB = ((sender, args) -> new ArrayList<>());
 | 
					    public static final CompleterTab EMPTY_COMPLETER_TAB = ((sender, args) -> new ArrayList<>());
 | 
				
			||||||
    public static final CompleterCommand EMPTY_COMPLETER_COMMAND = ((sender, args) -> false);
 | 
					    public static final CompleterCommand EMPTY_COMPLETER_COMMAND = ((sender, args) -> false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private final String command;
 | 
					    private String command;
 | 
				
			||||||
    private final Plugin plugin;
 | 
					    private Plugin plugin;
 | 
				
			||||||
    private String description;
 | 
					    private String description;
 | 
				
			||||||
    private String usage;
 | 
					    private String usage;
 | 
				
			||||||
    private List<String> aliases;
 | 
					    private List<String> aliases;
 | 
				
			||||||
@@ -34,8 +34,6 @@ public class SimpleCommandBuilder {
 | 
				
			|||||||
    private boolean build;
 | 
					    private boolean build;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SimpleCommandBuilder(String command, Plugin plugin) {
 | 
					    SimpleCommandBuilder(String command, Plugin plugin) {
 | 
				
			||||||
        Preconditions.checkNotNull(command, "command cannot not be null");
 | 
					 | 
				
			||||||
        Preconditions.checkNotNull(plugin,  "plugin cannot not be null");
 | 
					 | 
				
			||||||
        this.command = command;
 | 
					        this.command = command;
 | 
				
			||||||
        this.plugin = plugin;
 | 
					        this.plugin = plugin;
 | 
				
			||||||
        this.description = "";
 | 
					        this.description = "";
 | 
				
			||||||
@@ -49,6 +47,16 @@ public class SimpleCommandBuilder {
 | 
				
			|||||||
        return new SimpleCommandBuilder(command.toLowerCase(), plugin);
 | 
					        return new SimpleCommandBuilder(command.toLowerCase(), plugin);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public SimpleCommandBuilder command(String command) {
 | 
				
			||||||
 | 
					        this.command = command;
 | 
				
			||||||
 | 
					        return this;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public SimpleCommandBuilder plugin(Plugin plugin) {
 | 
				
			||||||
 | 
					        this.plugin = plugin;
 | 
				
			||||||
 | 
					        return this;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public SimpleCommandBuilder description(String description) {
 | 
					    public SimpleCommandBuilder description(String description) {
 | 
				
			||||||
        this.description = description;
 | 
					        this.description = description;
 | 
				
			||||||
        return this;
 | 
					        return this;
 | 
				
			||||||
@@ -94,11 +102,9 @@ public class SimpleCommandBuilder {
 | 
				
			|||||||
        return this;
 | 
					        return this;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public boolean isBuild() {
 | 
					 | 
				
			||||||
        return build;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    public SimpleCommandBuilder build() {
 | 
					    public SimpleCommandBuilder build() {
 | 
				
			||||||
 | 
					        Preconditions.checkNotNull(plugin, "缺少 \"plugin\" 部分");
 | 
				
			||||||
 | 
					        Preconditions.checkNotNull(command, "缺少 \"command\" 部分");
 | 
				
			||||||
        Preconditions.checkNotNull(completerCommand, "缺少 \"CompleterCommand\" 部分");
 | 
					        Preconditions.checkNotNull(completerCommand, "缺少 \"CompleterCommand\" 部分");
 | 
				
			||||||
        Preconditions.checkNotNull(completerTab, "缺少 \"CompleterTab\" 部分");
 | 
					        Preconditions.checkNotNull(completerTab, "缺少 \"CompleterTab\" 部分");
 | 
				
			||||||
        if (forceRegister) {
 | 
					        if (forceRegister) {
 | 
				
			||||||
@@ -118,4 +124,58 @@ public class SimpleCommandBuilder {
 | 
				
			|||||||
        build = true;
 | 
					        build = true;
 | 
				
			||||||
        return this;
 | 
					        return this;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // *********************************
 | 
				
			||||||
 | 
					    //
 | 
				
			||||||
 | 
					    //        Getter and Setter
 | 
				
			||||||
 | 
					    //
 | 
				
			||||||
 | 
					    // *********************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String getCommand() {
 | 
				
			||||||
 | 
					        return command;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public Plugin getPlugin() {
 | 
				
			||||||
 | 
					        return plugin;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String getDescription() {
 | 
				
			||||||
 | 
					        return description;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String getUsage() {
 | 
				
			||||||
 | 
					        return usage;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public List<String> getAliases() {
 | 
				
			||||||
 | 
					        return aliases;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String getPermission() {
 | 
				
			||||||
 | 
					        return permission;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public String getPermissionMessage() {
 | 
				
			||||||
 | 
					        return permissionMessage;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public CompleterTab getCompleterTab() {
 | 
				
			||||||
 | 
					        return completerTab;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public CompleterCommand getCompleterCommand() {
 | 
				
			||||||
 | 
					        return completerCommand;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public boolean isSilence() {
 | 
				
			||||||
 | 
					        return silence;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public boolean isForceRegister() {
 | 
				
			||||||
 | 
					        return forceRegister;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public boolean isBuild() {
 | 
				
			||||||
 | 
					        return build;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,7 @@ package me.skymc.taboolib.common.inject;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import com.google.common.collect.Maps;
 | 
					import com.google.common.collect.Maps;
 | 
				
			||||||
import com.ilummc.tlib.logger.TLogger;
 | 
					import com.ilummc.tlib.logger.TLogger;
 | 
				
			||||||
 | 
					import me.skymc.taboolib.TabooLib;
 | 
				
			||||||
import me.skymc.taboolib.TabooLibLoader;
 | 
					import me.skymc.taboolib.TabooLibLoader;
 | 
				
			||||||
import me.skymc.taboolib.commands.builder.SimpleCommandBuilder;
 | 
					import me.skymc.taboolib.commands.builder.SimpleCommandBuilder;
 | 
				
			||||||
import me.skymc.taboolib.common.configuration.TConfiguration;
 | 
					import me.skymc.taboolib.common.configuration.TConfiguration;
 | 
				
			||||||
@@ -65,6 +66,9 @@ public class TInjectLoader implements TabooLibLoader.Loader {
 | 
				
			|||||||
                if (builder.isBuild()) {
 | 
					                if (builder.isBuild()) {
 | 
				
			||||||
                    TLogger.getGlobalLogger().error("Command was registered.  (" + field.getType().getName() + ")");
 | 
					                    TLogger.getGlobalLogger().error("Command was registered.  (" + field.getType().getName() + ")");
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
 | 
					                    if (builder.getPlugin() == null) {
 | 
				
			||||||
 | 
					                        builder.plugin(plugin);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                    builder.build();
 | 
					                    builder.build();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            } catch (Exception e) {
 | 
					            } catch (Exception e) {
 | 
				
			||||||
@@ -88,8 +92,12 @@ public class TInjectLoader implements TabooLibLoader.Loader {
 | 
				
			|||||||
                try {
 | 
					                try {
 | 
				
			||||||
                    declaredField.setAccessible(true);
 | 
					                    declaredField.setAccessible(true);
 | 
				
			||||||
                    injectTypes.get(Plugin.class).run(plugin, declaredField, annotation.value());
 | 
					                    injectTypes.get(Plugin.class).run(plugin, declaredField, annotation.value());
 | 
				
			||||||
                } catch (Exception e) {
 | 
					                    TabooLib.debug(declaredField.getName() + " injected. (" + declaredField.getType().getName() + ")");
 | 
				
			||||||
 | 
					                } catch (Throwable e) {
 | 
				
			||||||
                    TLogger.getGlobalLogger().error(declaredField.getName() + " inject failed: " + e.getMessage() + " (" + declaredField.getType().getName() + ")");
 | 
					                    TLogger.getGlobalLogger().error(declaredField.getName() + " inject failed: " + e.getMessage() + " (" + declaredField.getType().getName() + ")");
 | 
				
			||||||
 | 
					                    if (e.getMessage() == null) {
 | 
				
			||||||
 | 
					                        e.printStackTrace();
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -114,8 +122,12 @@ public class TInjectLoader implements TabooLibLoader.Loader {
 | 
				
			|||||||
            try {
 | 
					            try {
 | 
				
			||||||
                declaredField.setAccessible(true);
 | 
					                declaredField.setAccessible(true);
 | 
				
			||||||
                tInjectTask.run(plugin, declaredField, annotation.value());
 | 
					                tInjectTask.run(plugin, declaredField, annotation.value());
 | 
				
			||||||
            } catch (Exception e) {
 | 
					                TabooLib.debug(declaredField.getName() + " injected. (" + declaredField.getType().getName() + ")");
 | 
				
			||||||
 | 
					            } catch (Throwable e) {
 | 
				
			||||||
                TLogger.getGlobalLogger().error(declaredField.getName() + " inject failed: " + e.getMessage() + " (" + declaredField.getType().getName() + ")");
 | 
					                TLogger.getGlobalLogger().error(declaredField.getName() + " inject failed: " + e.getMessage() + " (" + declaredField.getType().getName() + ")");
 | 
				
			||||||
 | 
					                if (e.getMessage() == null) {
 | 
				
			||||||
 | 
					                    e.printStackTrace();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user