Skip to content

Commit

Permalink
Add tab completations
Browse files Browse the repository at this point in the history
  • Loading branch information
cooffeeRequired committed Feb 26, 2024
1 parent f74f187 commit c236e26
Showing 1 changed file with 23 additions and 4 deletions.
27 changes: 23 additions & 4 deletions src/main/java/cz/coffee/skjson/api/SkJsonCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,21 @@

import cz.coffee.skjson.SkJson;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabExecutor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;

import static cz.coffee.skjson.api.Config.getMapping;
import static cz.coffee.skjson.api.ConfigRecords.*;
import static cz.coffee.skjson.api.ConfigRecords.CONFIG_VERSION;
import static cz.coffee.skjson.api.ConfigRecords.PLUGIN_PREFIX;
import static cz.coffee.skjson.utils.Logger.info;

/**
Expand All @@ -21,7 +25,7 @@
* Created: středa (12.07.2023)
*/
@SuppressWarnings("ALL")
public class SkJsonCommand implements CommandExecutor {
public class SkJsonCommand implements TabExecutor {
String formatDesc(String desc) {
if (desc.contains("%nl%")) {
var builder = new StringBuilder();
Expand Down Expand Up @@ -106,7 +110,7 @@ public boolean onCommand(@NotNull CommandSender sender, Command command, @NotNul
sender.sendMessage(ColorWrapper.translate(PLUGIN_PREFIX + "&7reload &cunsuccessfully."));
return false;
}
} else if (args[0].equalsIgnoreCase("about")) {
} else if (args[0].equalsIgnoreCase("about") || args[0].equalsIgnoreCase("?")) {
sendAbout(sender);
return true;
}
Expand All @@ -116,4 +120,19 @@ public boolean onCommand(@NotNull CommandSender sender, Command command, @NotNul
sender.sendMessage(ColorWrapper.translate("&7Usage: &a/skjson about"));
return true;
}

@Override
public @Nullable List<String> onTabComplete(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String s, @NotNull String[] strings) {
ArrayList<String> completations = new ArrayList<>();
if (command.getName().equalsIgnoreCase("skjson")) {
switch (strings.length) {
case 1 -> {
completations.add("reload");
completations.add("about");
completations.add("?");
}
}
}
return completations;
}
}

0 comments on commit c236e26

Please sign in to comment.