From 34228dc9cd03b9bb378bd7fbcee97eed13869f19 Mon Sep 17 00:00:00 2001 From: Piotr Blecharski Date: Sat, 7 May 2022 23:20:12 +0200 Subject: [PATCH] Command list with descriptions in handbook --- .DS_Store | Bin 0 -> 6148 bytes .../emu/grasscutter/command/CommandMap.java | 6 +++++ .../java/emu/grasscutter/tools/Tools.java | 23 ++++++++++++++---- 3 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..eaf6ad184c75dd2ba42a1541ed49d325ff465cce GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8O(;SR3OxqA7ObsU#Y>3w1&ruHr6#6mFlI~Am_sS#tS{t~_&m<+ zZp2arPa<{(X203_$+F*u{b7u8HxG9ivlwFrC}Pco<_p0%>XOv72a(HfkY|OHt zSjr~HUt|E+&V*HiHDiK(TEA=(#3F#`YcPqUY})O<@mjsHw%#$LJ4dIZhxjoO&x%eCf1Z>LjTO9r@x{!ZyfleLatG0> zvZ^2?28aP-U{x5<`=8NTl?l^4i2-8Z#|+^9V1pt$8cT(8>wpHYj~H(tqJWKW2}E0? zqp?&75fH9Q0aYp2PYkZg!Eft4M`Ni_l`}3!hVST+xqhK=IXd`lna;SQkXmAZ7+7SW zuDTYU|0mzS{}+p>M+^`H|B3r}? aDd4x!0CY5#3c&+H7Xe8FHN?QLGVl&qd`++b literal 0 HcmV?d00001 diff --git a/src/main/java/emu/grasscutter/command/CommandMap.java b/src/main/java/emu/grasscutter/command/CommandMap.java index 07deb84fd..a183c6ac3 100644 --- a/src/main/java/emu/grasscutter/command/CommandMap.java +++ b/src/main/java/emu/grasscutter/command/CommandMap.java @@ -79,6 +79,12 @@ public final class CommandMap { return this; } + public List getAnnotationsAsList() { return new LinkedList<>(this.annotations.values()); } + + public HashMap getAnnotations() { + return new LinkedHashMap<>(this.annotations); + } + /** * Returns a list of all registered commands. * diff --git a/src/main/java/emu/grasscutter/tools/Tools.java b/src/main/java/emu/grasscutter/tools/Tools.java index 7429c143f..d9923a656 100644 --- a/src/main/java/emu/grasscutter/tools/Tools.java +++ b/src/main/java/emu/grasscutter/tools/Tools.java @@ -13,16 +13,15 @@ import java.io.PrintWriter; import java.nio.charset.StandardCharsets; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; import com.google.gson.reflect.TypeToken; import emu.grasscutter.GameConstants; import emu.grasscutter.Grasscutter; +import emu.grasscutter.command.Command; +import emu.grasscutter.command.CommandMap; import emu.grasscutter.data.GameData; import emu.grasscutter.data.ResourceLoader; import emu.grasscutter.data.def.AvatarData; @@ -111,7 +110,21 @@ final class ToolsWithLanguageOption { writer.println("// Grasscutter " + GameConstants.VERSION + " GM Handbook"); writer.println("// Created " + dtf.format(now) + System.lineSeparator() + System.lineSeparator()); - + + CommandMap cmdMap = new CommandMap(true); + List cmdList = new ArrayList<>(cmdMap.getAnnotationsAsList()); + + writer.println("// Commands"); + for (Command cmd : cmdList) { + String cmdName = cmd.label(); + while (cmdName.length() <= 15) { + cmdName = " " + cmdName; + } + writer.println(cmdName + " : " + cmd.description()); + } + + writer.println(); + list = new ArrayList<>(GameData.getAvatarDataMap().keySet()); Collections.sort(list);