Add extensive tab completion to /cp and /cpdata

This commit is contained in:
jman13378 2023-07-09 01:28:50 -04:00
parent a9919eb705
commit ff61588559
4 changed files with 25 additions and 28 deletions

View File

@ -13,8 +13,6 @@ import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.inventory.InventoryType;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects; import java.util.Objects;
public class ExecuteOpenVoids { public class ExecuteOpenVoids {

View File

@ -7,50 +7,51 @@ import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import java.util.Arrays; import java.util.Arrays;
public class Commandpanelsdata implements CommandExecutor { public class Commandpanelsdata implements CommandExecutor {
CommandPanels plugin; CommandPanels plugin;
public Commandpanelsdata(CommandPanels pl) { this.plugin = pl; }
public Commandpanelsdata(CommandPanels pl) {
this.plugin = pl;
}
@Override @Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (sender.hasPermission("commandpanel.data")) { if (sender.hasPermission("commandpanel.data")) {
boolean sendPlayerMessage = true; boolean sendPlayerMessage = true;
//if the first argument is -s it will not send a message to the sender //if the first argument is -s it will not send a message to the sender
if(args[0].equalsIgnoreCase("-s")){ if (args[0].equalsIgnoreCase("-s")) {
args = Arrays.copyOfRange(args, 1, args.length); args = Arrays.copyOfRange(args, 1, args.length);
sendPlayerMessage = false; sendPlayerMessage = false;
} }
if(args.length == 2){ if (args.length == 2) {
//for the clear command //for the clear command
if(args[0].equals("clear")){ if (args[0].equals("clear")) {
if (args[1].equalsIgnoreCase("all")) { if (args[1].equalsIgnoreCase("all")) {
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) { for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
plugin.panelData.clearData(plugin.panelData.getOffline(player.getName())); plugin.panelData.clearData(plugin.panelData.getOffline(player.getName()));
} }
} else } else
plugin.panelData.clearData(plugin.panelData.getOffline(args[1])); plugin.panelData.clearData(plugin.panelData.getOffline(args[1]));
if(sendPlayerMessage) { if (sendPlayerMessage) {
sender.sendMessage(plugin.tex.colour(plugin.tag sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Cleared all data for " + ChatColor.GREEN + "Cleared all data for "
+ ChatColor.WHITE + args[1])); + ChatColor.WHITE + args[1]));
} }
return true; return true;
} }
}else if (args.length == 3){ } else if (args.length == 3) {
//for the remove command //for the remove command
if(args[0].equals("remove")) { if (args[0].equals("remove")) {
if (args[1].equalsIgnoreCase("all")) { if (args[1].equalsIgnoreCase("all")) {
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) { for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
plugin.panelData.delUserData(plugin.panelData.getOffline(player.getName()), args[2]); plugin.panelData.delUserData(plugin.panelData.getOffline(player.getName()), args[2]);
} }
} else } else
plugin.panelData.delUserData(plugin.panelData.getOffline(args[1]), args[2]); plugin.panelData.delUserData(plugin.panelData.getOffline(args[1]), args[2]);
if(sendPlayerMessage) { if (sendPlayerMessage) {
sender.sendMessage(plugin.tex.colour(plugin.tag sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Removed " + ChatColor.GREEN + "Removed "
+ ChatColor.WHITE + args[2] + ChatColor.WHITE + args[2]
@ -58,39 +59,39 @@ public class Commandpanelsdata implements CommandExecutor {
+ ChatColor.WHITE + args[1])); + ChatColor.WHITE + args[1]));
} }
return true; return true;
}else if(args[0].equals("get")){ } else if (args[0].equals("get")) {
//for the get command //for the get command
sender.sendMessage(plugin.tex.colour(plugin.tag sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Value of data is " + ChatColor.GREEN + "Value of data is "
+ ChatColor.WHITE + plugin.panelData.getUserData(plugin.panelData.getOffline(args[1]), args[2]))); + ChatColor.WHITE + plugin.panelData.getUserData(plugin.panelData.getOffline(args[1]), args[2])));
return true; return true;
} }
}else if (args.length == 4){ } else if (args.length == 4) {
if(args[0].equals("set")){ if (args[0].equals("set")) {
//for set command //for set command
if (args[1].equalsIgnoreCase("all")) { if (args[1].equalsIgnoreCase("all")) {
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) { for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
plugin.panelData.setUserData(plugin.panelData.getOffline(player.getName()), args[2],args[3],true); plugin.panelData.setUserData(plugin.panelData.getOffline(player.getName()), args[2], args[3], true);
} }
} else { } else {
plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2], args[3], true); plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2], args[3], true);
} }
if(sendPlayerMessage) { if (sendPlayerMessage) {
sender.sendMessage(plugin.tex.colour(plugin.tag sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Set " + ChatColor.GREEN + "Set "
+ ChatColor.WHITE + args[2] + ChatColor.WHITE + args[2]
+ ChatColor.GREEN + " to " + ChatColor.GREEN + " to "
+ ChatColor.WHITE + args[3])); + ChatColor.WHITE + args[3]));
} }
}else{ } else {
//for add command //for add command
if (args[1].equalsIgnoreCase("all")) { if (args[1].equalsIgnoreCase("all")) {
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) { for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
plugin.panelData.setUserData(plugin.panelData.getOffline(player.getName()), args[2],args[3],false); plugin.panelData.setUserData(plugin.panelData.getOffline(player.getName()), args[2], args[3], false);
} }
} else } else
plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2],args[3],false); plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2], args[3], false);
if(sendPlayerMessage) { if (sendPlayerMessage) {
sender.sendMessage(plugin.tex.colour(plugin.tag sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Set " + ChatColor.GREEN + "Set "
+ ChatColor.WHITE + args[2] + ChatColor.WHITE + args[2]
@ -102,7 +103,7 @@ public class Commandpanelsdata implements CommandExecutor {
return true; return true;
} }
sender.sendMessage(plugin.tex.colour(plugin.tag + ChatColor.RED + "Usage: /cpdata <set:add:get:remove:clear> <player|all> <data> [value]")); sender.sendMessage(plugin.tex.colour(plugin.tag + ChatColor.RED + "Usage: /cpdata <set:add:get:remove:clear> <player|all> <data> [value]"));
}else{ } else {
sender.sendMessage(plugin.tex.colour(plugin.tag + plugin.config.getString("config.format.perms"))); sender.sendMessage(plugin.tex.colour(plugin.tag + plugin.config.getString("config.format.perms")));
} }
return true; return true;

View File

@ -6,7 +6,6 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
public class Commandpanelsdebug implements CommandExecutor { public class Commandpanelsdebug implements CommandExecutor {
CommandPanels plugin; CommandPanels plugin;

View File

@ -10,7 +10,6 @@ import org.bukkit.entity.Player;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Locale;
public class CpTabComplete implements TabCompleter { public class CpTabComplete implements TabCompleter {