summaryrefslogtreewikicommitdiff
path: root/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java
diff options
context:
space:
mode:
authortylermurphy534 <tylermurphy534@gmail.com>2022-11-03 21:03:59 -0400
committertylermurphy534 <tylermurphy534@gmail.com>2022-11-03 21:03:59 -0400
commit0f1d49ba80a7658ebd6aa780bbbdfc8f3d930a2e (patch)
tree41eb635d8cab7ed274d8ec41798106d300f96196 /src/main/java/net/tylermurphy/hideAndSeek/command/Help.java
parent1.7.0 beta 3 (diff)
downloadkenshinshideandseek-0f1d49ba80a7658ebd6aa780bbbdfc8f3d930a2e.tar.gz
kenshinshideandseek-0f1d49ba80a7658ebd6aa780bbbdfc8f3d930a2e.tar.bz2
kenshinshideandseek-0f1d49ba80a7658ebd6aa780bbbdfc8f3d930a2e.zip
1.7.0 beta 4
Diffstat (limited to 'src/main/java/net/tylermurphy/hideAndSeek/command/Help.java')
-rw-r--r--src/main/java/net/tylermurphy/hideAndSeek/command/Help.java72
1 files changed, 61 insertions, 11 deletions
diff --git a/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java b/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java
index 4297f3d..d94b48a 100644
--- a/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java
+++ b/src/main/java/net/tylermurphy/hideAndSeek/command/Help.java
@@ -19,22 +19,72 @@
package net.tylermurphy.hideAndSeek.command;
-import net.md_5.bungee.api.ChatColor;
+import net.tylermurphy.hideAndSeek.Main;
import net.tylermurphy.hideAndSeek.command.util.Command;
-import net.tylermurphy.hideAndSeek.command.util.CommandGroup;
+import net.tylermurphy.hideAndSeek.util.Pair;
+import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
+import org.jetbrains.annotations.NotNull;
+import java.util.Collections;
import java.util.List;
+import java.util.stream.Collectors;
+
+import static net.tylermurphy.hideAndSeek.configuration.Config.errorPrefix;
+import static net.tylermurphy.hideAndSeek.configuration.Localization.message;
public class Help extends Command {
public void execute(Player sender, String[] args) {
-// StringBuilder message = new StringBuilder();
-// for(Command command : CommandGroup.COMMAND_REGISTER.values()) {
-// message.append(String.format("%s/hs %s%s %s%s\n %s%s%s", ChatColor.AQUA, ChatColor.WHITE, command.getLabel().toLowerCase(), ChatColor.BLUE, command.getUsage(), ChatColor.GRAY, ChatColor.ITALIC, command.getDescription() + "\n"));
-// }
-// message = new StringBuilder(message.substring(0, message.length() - 1));
-// sender.sendMessage(message.toString());
+ final int pageSize = 4;
+ List<Pair<String, Command>> commands = Main.getInstance().getCommandGroup().getCommands();
+ int pages = (commands.size() - 1) / pageSize + 1;
+ int page;
+ try {
+ if(args.length < 1) {
+ page = 1;
+ } else {
+ page = Integer.parseInt(args[0]);
+ if (page < 1) {
+ throw new IllegalArgumentException("Inavlid Input");
+ }
+ }
+ } catch (Exception e) {
+ sender.sendMessage(errorPrefix + message("WORLDBORDER_INVALID_INPUT").addAmount(args[0]));
+ return;
+ }
+ String spacer = ChatColor.GRAY + "?" + ChatColor.WHITE;
+ StringBuilder message = new StringBuilder();
+ message.append(String.format("%s================ %sHelp: Page (%s/%s) %s================",
+ ChatColor.AQUA, ChatColor.WHITE, page, pages, ChatColor.AQUA));
+ int lines = 0;
+ for(Pair<String, Command> pair : commands.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList())) {
+ Command command = pair.getRight();
+ String label = pair.getLeft();
+ String start = label.substring(0, label.indexOf(" "));
+ String invoke = label.substring(label.indexOf(" ")+1);
+ message.append(String.format("\n%s %s/%s %s%s %s%s\n%s %s%s%s",
+ spacer,
+ ChatColor.AQUA,
+ start,
+ ChatColor.WHITE,
+ invoke,
+ ChatColor.BLUE,
+ command.getUsage(),
+ spacer,
+ ChatColor.GRAY,
+ ChatColor.ITALIC,
+ command.getDescription()
+ ));
+ lines += 2;
+ }
+ if(lines / 2 < pageSize) {
+ for(int i = 0; i < pageSize * 2 - lines; i++) {
+ message.append("\n").append(spacer);
+ }
+ }
+ message.append("\n").append(ChatColor.AQUA).append("===============================================");
+ sender.sendMessage(message.toString());
}
public String getLabel() {
@@ -42,15 +92,15 @@ public class Help extends Command {
}
public String getUsage() {
- return "";
+ return "<*page>";
}
public String getDescription() {
return "Get the commands for the plugin";
}
- public List<String> autoComplete(String parameter) {
- return null;
+ public List<String> autoComplete(@NotNull String parameter, @NotNull String typed) {
+ return Collections.singletonList(parameter);
}
}