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.event.inventory.InventoryType;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
public class ExecuteOpenVoids {

View File

@ -7,90 +7,91 @@ import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import java.util.Arrays;
public class Commandpanelsdata implements CommandExecutor {
CommandPanels plugin;
public Commandpanelsdata(CommandPanels pl) { this.plugin = pl; }
public Commandpanelsdata(CommandPanels pl) {
this.plugin = pl;
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (sender.hasPermission("commandpanel.data")) {
boolean sendPlayerMessage = true;
//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);
sendPlayerMessage = false;
}
if(args.length == 2){
if (args.length == 2) {
//for the clear command
if(args[0].equals("clear")){
if (args[0].equals("clear")) {
if (args[1].equalsIgnoreCase("all")) {
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
plugin.panelData.clearData(plugin.panelData.getOffline(player.getName()));
}
} else
plugin.panelData.clearData(plugin.panelData.getOffline(args[1]));
if(sendPlayerMessage) {
if (sendPlayerMessage) {
sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Cleared all data for "
+ ChatColor.WHITE + args[1]));
}
return true;
return true;
}
}else if (args.length == 3){
} else if (args.length == 3) {
//for the remove command
if(args[0].equals("remove")) {
if (args[0].equals("remove")) {
if (args[1].equalsIgnoreCase("all")) {
for (OfflinePlayer player : Bukkit.getOfflinePlayers()) {
plugin.panelData.delUserData(plugin.panelData.getOffline(player.getName()), args[2]);
}
} else
plugin.panelData.delUserData(plugin.panelData.getOffline(args[1]), args[2]);
if(sendPlayerMessage) {
if (sendPlayerMessage) {
sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Removed "
+ ChatColor.WHITE + args[2]
+ ChatColor.GREEN + " from "
+ ChatColor.WHITE + args[1]));
}
return true;
}else if(args[0].equals("get")){
return true;
} else if (args[0].equals("get")) {
//for the get command
sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Value of data is "
+ ChatColor.WHITE + plugin.panelData.getUserData(plugin.panelData.getOffline(args[1]), args[2])));
return true;
return true;
}
}else if (args.length == 4){
if(args[0].equals("set")){
} else if (args.length == 4) {
if (args[0].equals("set")) {
//for set command
if (args[1].equalsIgnoreCase("all")) {
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 {
plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2], args[3], true);
}
if(sendPlayerMessage) {
if (sendPlayerMessage) {
sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Set "
+ ChatColor.WHITE + args[2]
+ ChatColor.GREEN + " to "
+ ChatColor.WHITE + args[3]));
}
}else{
} else {
//for add command
if (args[1].equalsIgnoreCase("all")) {
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
plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2],args[3],false);
if(sendPlayerMessage) {
plugin.panelData.setUserData(plugin.panelData.getOffline(args[1]), args[2], args[3], false);
if (sendPlayerMessage) {
sender.sendMessage(plugin.tex.colour(plugin.tag
+ ChatColor.GREEN + "Set "
+ ChatColor.WHITE + args[2]
@ -99,10 +100,10 @@ public class Commandpanelsdata implements CommandExecutor {
+ ChatColor.GREEN + " if it did not exist already");
}
}
return true;
return true;
}
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")));
}
return true;

View File

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

View File

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