package net.t2code.t2callayduplicate.commands; import net.t2code.t2callayduplicate.Util; import net.t2code.t2callayduplicate.config.ConfigFile; import net.t2code.t2callayduplicate.event.Event; import net.t2code.t2callayduplicate.system.Main; import net.t2code.t2codelib.SPIGOT.api.commands.T2C_Tab; import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Send; import net.t2code.t2codelib.SPIGOT.api.messages.T2C_Template; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.command.TabCompleter; import org.bukkit.entity.Player; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class CmdExecuter implements CommandExecutor, TabCompleter { @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if (args.length == 0) { if (!sender.hasPermission("t2code.allayduplicate.info")) { T2C_Send.sender(sender, ConfigFile.getNoPerm()); return false; } T2C_Template.sendInfo(sender,Main.getPlugin(),Util.getSpigotID(),Util.getDiscord(),Util.getInfoText()); } else { switch (args[0].toLowerCase()) { case "reload": case "rl": if (!sender.hasPermission("t2code.allayduplicate.reload")) { T2C_Send.sender(sender, ConfigFile.getNoPerm()); return false; } T2C_Send.console(Util.getPrefix() + "§8-------------------------------"); T2C_Send.console(Util.getPrefix() + " §6Plugin reload..."); T2C_Send.console(Util.getPrefix() + "§8-------------------------------"); T2C_Send.sender(sender, Util.getPrefix() + " §6Plugin is reloaded..."); if (ConfigFile.getDelayResetOnReload()) Event.clearCash(); ConfigFile.create(); ConfigFile.select(); T2C_Send.sender(sender, Util.getPrefix() + " §6Plugin was successfully reloaded."); T2C_Send.console(Util.getPrefix() + "§8-------------------------------"); T2C_Send.console(Util.getPrefix() + " §2Plugin successfully reloaded."); T2C_Send.console(Util.getPrefix() + "§8-------------------------------"); break; case "reset": if (!sender.hasPermission("t2code.allayduplicate.reset")) { T2C_Send.sender(sender, ConfigFile.getNoPerm()); return false; } String name = args[1]; if (Bukkit.getPlayer(name) == null && !(name.equals("*") || name.equals("all"))) { T2C_Send.sender(sender, ConfigFile.getErrorReset().replace("[player]", name)); return false; } if (name.equals("*") || name.equals("all")) { for (Player player : Bukkit.getOnlinePlayers()) { Event.removePlayer(player); } T2C_Send.sender(sender, ConfigFile.getResetAll()); } else { Event.removePlayer(Bukkit.getPlayer(name)); T2C_Send.sender(sender, ConfigFile.getReset().replace("[player]", name)); } break; case "info": case "plugin": case "pl": case "version": case "ver": default: if (!sender.hasPermission("t2code.allayduplicate.info")) { T2C_Send.sender(sender, ConfigFile.getNoPerm()); return false; } T2C_Template.sendInfo(sender,Main.getPlugin(),Util.getSpigotID(),Util.getDiscord(),Util.getInfoText()); break; } } return false; } private static HashMap arg1 = new HashMap() {{ put("reload", "t2code.allayduplicate.reload"); put("rl", "t2code.allayduplicate.reload"); put("info", "t2code.allayduplicate.info"); put("reset", "t2code.allayduplicate.reset"); }}; private static HashMap arg2 = new HashMap() {{ put("all", "t2code.allayduplicate.admin"); put("*", "t2code.allayduplicate.admin"); }}; @Override public List onTabComplete(CommandSender sender, Command cmd, String s, String[] args) { List list = new ArrayList<>(); T2C_Tab.tab(list, sender, 0, args, arg1); T2C_Tab.tab(list, sender, 1, args, arg2); T2C_Tab.tab(list, sender, 1, args, "t2code.allayduplicate.admin", true); return list; } }