Skip to content

Commit

Permalink
Command list with descriptions in handbook
Browse files Browse the repository at this point in the history
  • Loading branch information
zakhildev authored and Melledy committed May 7, 2022
1 parent fadda64 commit 1445fe9
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 5 deletions.
Binary file added .DS_Store
Binary file not shown.
6 changes: 6 additions & 0 deletions src/main/java/emu/grasscutter/command/CommandMap.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,12 @@ public CommandMap unregisterCommand(String label) {
return this;
}

public List<Command> getAnnotationsAsList() { return new LinkedList<>(this.annotations.values()); }

public HashMap<String, Command> getAnnotations() {
return new LinkedHashMap<>(this.annotations);
}

/**
* Returns a list of all registered commands.
*
Expand Down
23 changes: 18 additions & 5 deletions src/main/java/emu/grasscutter/tools/Tools.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,15 @@
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;
Expand Down Expand Up @@ -111,7 +110,21 @@ public static void createGmHandbook(String language) throws Exception {

writer.println("// Grasscutter " + GameConstants.VERSION + " GM Handbook");
writer.println("// Created " + dtf.format(now) + System.lineSeparator() + System.lineSeparator());


CommandMap cmdMap = new CommandMap(true);
List<Command> 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);

Expand Down

0 comments on commit 1445fe9

Please sign in to comment.