mirror of
				https://e.coding.net/circlecloud/Yum.git
				synced 2025-11-04 05:06:02 +00:00 
			
		
		
		
	@@ -1,6 +1,5 @@
 | 
			
		||||
package pw.yumc.Yum.commands;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
@@ -19,13 +18,10 @@ import org.bukkit.scheduler.BukkitTask;
 | 
			
		||||
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.HandlerCommand;
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.HandlerCommands;
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.HandlerTabComplete;
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.InvokeCommandEvent;
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.InvokeSubCommand;
 | 
			
		||||
import cn.citycraft.PluginHelper.ext.kit.Reflect;
 | 
			
		||||
import cn.citycraft.PluginHelper.utils.StrKit;
 | 
			
		||||
import pw.yumc.Yum.Yum;
 | 
			
		||||
import pw.yumc.Yum.api.YumAPI;
 | 
			
		||||
import pw.yumc.Yum.inject.CommandInjector;
 | 
			
		||||
import pw.yumc.Yum.inject.TaskInjector;
 | 
			
		||||
 | 
			
		||||
@@ -42,6 +38,7 @@ public class MonitorCommand implements HandlerCommands {
 | 
			
		||||
        final InvokeSubCommand cmdhandler = new InvokeSubCommand(yum, "monitor");
 | 
			
		||||
        cmdhandler.setAllCommandOnlyConsole(yum.getConfig().getBoolean("onlyFileCommandConsole", true));
 | 
			
		||||
        cmdhandler.registerCommands(this);
 | 
			
		||||
        cmdhandler.registerCommands(PluginTabComplete.instence);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @HandlerCommand(name = "a")
 | 
			
		||||
@@ -91,13 +88,7 @@ public class MonitorCommand implements HandlerCommands {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @HandlerTabComplete()
 | 
			
		||||
    public List<String> listtab(final InvokeCommandEvent e) {
 | 
			
		||||
        final String[] args = e.getArgs();
 | 
			
		||||
        return StrKit.copyPartialMatches(args[1], YumAPI.getPlugman().getPluginNames(false), new ArrayList<String>());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @HandlerCommand(name = "task")
 | 
			
		||||
    @HandlerCommand(name = "task", minimumArguments = 1, possibleArguments = "插件名称")
 | 
			
		||||
    public void task(final InvokeCommandEvent e) {
 | 
			
		||||
        final String pname = e.getArgs()[0];
 | 
			
		||||
        final CommandSender sender = e.getSender();
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,7 @@ public class NetCommand implements HandlerCommands {
 | 
			
		||||
        final InvokeSubCommand cmdhandler = new InvokeSubCommand(yum, "net");
 | 
			
		||||
        cmdhandler.setAllCommandOnlyConsole(yum.getConfig().getBoolean("onlyNetCommandConsole", false));
 | 
			
		||||
        cmdhandler.registerCommands(this);
 | 
			
		||||
        cmdhandler.registerCommands(PluginTabComplete.instence);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @HandlerCommand(name = "list", aliases = "l", permission = "", description = "列出联网的插件")
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										38
									
								
								src/main/java/pw/yumc/Yum/commands/PluginTabComplete.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/main/java/pw/yumc/Yum/commands/PluginTabComplete.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,38 @@
 | 
			
		||||
package pw.yumc.Yum.commands;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.HandlerCommands;
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.HandlerTabComplete;
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.InvokeCommandEvent;
 | 
			
		||||
import cn.citycraft.PluginHelper.utils.StrKit;
 | 
			
		||||
import pw.yumc.Yum.api.YumAPI;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 *
 | 
			
		||||
 * @since 2016年7月7日 上午8:36:47
 | 
			
		||||
 * @author 喵♂呜
 | 
			
		||||
 */
 | 
			
		||||
public class PluginTabComplete implements HandlerCommands {
 | 
			
		||||
    public static PluginTabComplete instence = new PluginTabComplete();
 | 
			
		||||
 | 
			
		||||
    @HandlerTabComplete()
 | 
			
		||||
    public List<String> listtab(final InvokeCommandEvent e) {
 | 
			
		||||
        final String[] args = e.getArgs();
 | 
			
		||||
        if (args[0].equalsIgnoreCase("install") || args[0].equalsIgnoreCase("i")) {
 | 
			
		||||
            return StrKit.copyPartialMatches(args[1], YumAPI.getRepo().getAllPluginName(), new ArrayList<String>());
 | 
			
		||||
        } else if (args[0].equalsIgnoreCase("repo")) {
 | 
			
		||||
            if (args.length == 2) {
 | 
			
		||||
                return StrKit.copyPartialMatches(args[1], Arrays.asList(new String[] { "add", "all", "list", "delall", "clean", "update", "del" }), new ArrayList<String>());
 | 
			
		||||
            }
 | 
			
		||||
            if (args.length == 3 && (args[1] == "add" || args[1] == "del")) {
 | 
			
		||||
                return StrKit.copyPartialMatches(args[2], YumAPI.getRepo().getRepos().keySet(), new ArrayList<String>());
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            return StrKit.copyPartialMatches(args[1], YumAPI.getPlugman().getPluginNames(false), new ArrayList<String>());
 | 
			
		||||
        }
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
package pw.yumc.Yum.commands;
 | 
			
		||||
 | 
			
		||||
import java.lang.reflect.Field;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.Map.Entry;
 | 
			
		||||
@@ -20,7 +18,6 @@ import org.bukkit.plugin.java.JavaPlugin;
 | 
			
		||||
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.HandlerCommand;
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.HandlerCommands;
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.HandlerTabComplete;
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.InvokeCommandEvent;
 | 
			
		||||
import cn.citycraft.PluginHelper.commands.InvokeSubCommand;
 | 
			
		||||
import cn.citycraft.PluginHelper.utils.StrKit;
 | 
			
		||||
@@ -44,6 +41,7 @@ public class YumCommand implements HandlerCommands, Listener {
 | 
			
		||||
        final InvokeSubCommand cmdhandler = new InvokeSubCommand(yum, "yum");
 | 
			
		||||
        cmdhandler.setAllCommandOnlyConsole(yum.getConfig().getBoolean("onlyCommandConsole", false));
 | 
			
		||||
        cmdhandler.registerCommands(this);
 | 
			
		||||
        cmdhandler.registerCommands(PluginTabComplete.instence);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @HandlerCommand(name = "delete", aliases = { "del" }, minimumArguments = 1, description = "删除插件", possibleArguments = "<插件名称>")
 | 
			
		||||
@@ -165,24 +163,6 @@ public class YumCommand implements HandlerCommands, Listener {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @HandlerTabComplete()
 | 
			
		||||
    public List<String> listtab(final InvokeCommandEvent e) {
 | 
			
		||||
        final String[] args = e.getArgs();
 | 
			
		||||
        if (args[0].equalsIgnoreCase("install") || args[0].equalsIgnoreCase("i")) {
 | 
			
		||||
            return StrKit.copyPartialMatches(args[1], YumAPI.getRepo().getAllPluginName(), new ArrayList<String>());
 | 
			
		||||
        } else if (args[0].equalsIgnoreCase("repo")) {
 | 
			
		||||
            if (args.length == 2) {
 | 
			
		||||
                return StrKit.copyPartialMatches(args[1], Arrays.asList(new String[] { "add", "all", "list", "delall", "clean", "update", "del" }), new ArrayList<String>());
 | 
			
		||||
            }
 | 
			
		||||
            if (args.length == 3 && (args[1] == "add" || args[1] == "del")) {
 | 
			
		||||
                return StrKit.copyPartialMatches(args[2], YumAPI.getRepo().getRepos().keySet(), new ArrayList<String>());
 | 
			
		||||
            }
 | 
			
		||||
        } else {
 | 
			
		||||
            return StrKit.copyPartialMatches(args[1], YumAPI.getPlugman().getPluginNames(false), new ArrayList<String>());
 | 
			
		||||
        }
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @HandlerCommand(name = "load", minimumArguments = 1, description = "载入插件", possibleArguments = "<插件名称>")
 | 
			
		||||
    public void load(final InvokeCommandEvent e) {
 | 
			
		||||
        final CommandSender sender = e.getSender();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user