mirror of
https://github.com/Melledy/Nebula.git
synced 2025-12-18 15:24:45 +01:00
Implement !build command for creating records
This commit is contained in:
@@ -17,12 +17,13 @@ import emu.nebula.data.GameData;
|
||||
import emu.nebula.data.ResourceType;
|
||||
import emu.nebula.data.resources.CharacterDef;
|
||||
import emu.nebula.data.resources.ItemDef;
|
||||
import emu.nebula.data.resources.PotentialDef;
|
||||
import emu.nebula.game.inventory.ItemType;
|
||||
|
||||
public class Handbook {
|
||||
|
||||
public static void generate() {
|
||||
// Temp vars
|
||||
Map<String, String> languageKey = null;
|
||||
List<Integer> list = null;
|
||||
|
||||
// Save to file
|
||||
@@ -41,31 +42,64 @@ public class Handbook {
|
||||
writer.println(System.lineSeparator());
|
||||
writer.println("# Characters");
|
||||
list = GameData.getCharacterDataTable().keySet().intStream().sorted().boxed().toList();
|
||||
languageKey = loadLanguageKey(CharacterDef.class);
|
||||
var characterLanguageKey = loadLanguageKey(CharacterDef.class);
|
||||
for (int id : list) {
|
||||
CharacterDef data = GameData.getCharacterDataTable().get(id);
|
||||
writer.print(data.getId());
|
||||
writer.print(" : ");
|
||||
writer.print(languageKey.getOrDefault(data.getName(), data.getName()));
|
||||
writer.print(characterLanguageKey.getOrDefault(data.getName(), data.getName()));
|
||||
writer.print(" (");
|
||||
writer.print(data.getElementType().toString());
|
||||
writer.println(")");
|
||||
}
|
||||
|
||||
// Dump characters
|
||||
// Dump items
|
||||
writer.println(System.lineSeparator());
|
||||
writer.println("# Items");
|
||||
list = GameData.getItemDataTable().keySet().intStream().sorted().boxed().toList();
|
||||
languageKey = loadLanguageKey(ItemDef.class);
|
||||
var itemLanguageKey = loadLanguageKey(ItemDef.class);
|
||||
for (int id : list) {
|
||||
ItemDef data = GameData.getItemDataTable().get(id);
|
||||
writer.print(data.getId());
|
||||
writer.print(" : ");
|
||||
writer.print(languageKey.getOrDefault(data.getTitle(), data.getTitle()));
|
||||
writer.print(itemLanguageKey.getOrDefault(data.getTitle(), data.getTitle()));
|
||||
|
||||
writer.print(" [");
|
||||
writer.print(data.getItemType());
|
||||
writer.println("]");
|
||||
writer.print("]");
|
||||
|
||||
if (data.getItemType() == ItemType.Disc) {
|
||||
var discData = GameData.getDiscDataTable().get(id);
|
||||
if (discData != null) {
|
||||
writer.print(" (");
|
||||
writer.print(discData.getElementType().toString());
|
||||
writer.print(")");
|
||||
}
|
||||
}
|
||||
|
||||
writer.println("");
|
||||
}
|
||||
|
||||
// Dump potentials
|
||||
writer.println(System.lineSeparator());
|
||||
writer.println("# Potentials");
|
||||
list = GameData.getPotentialDataTable().keySet().intStream().sorted().boxed().toList();
|
||||
var potentialLanguageKey = loadLanguageKey(PotentialDef.class);
|
||||
for (int id : list) {
|
||||
PotentialDef data = GameData.getPotentialDataTable().get(id);
|
||||
writer.print(data.getId());
|
||||
writer.print(" : ");
|
||||
|
||||
CharacterDef charData = GameData.getCharacterDataTable().get(data.getCharId());
|
||||
writer.print("[");
|
||||
writer.print(characterLanguageKey.getOrDefault(charData.getName(), charData.getName()));
|
||||
writer.print("] ");
|
||||
|
||||
ItemDef itemData = GameData.getItemDataTable().get(id);
|
||||
writer.print(itemLanguageKey.getOrDefault(itemData.getTitle(), itemData.getTitle()));
|
||||
writer.print(" - ");
|
||||
writer.print(potentialLanguageKey.getOrDefault(data.getBriefDesc(), data.getBriefDesc()));
|
||||
writer.println("");
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
|
||||
Reference in New Issue
Block a user