mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-17 01:15:52 +01:00
Add Data TSJ loading, replace and update Banners
This commit is contained in:
@@ -5,6 +5,8 @@ import emu.grasscutter.server.http.handlers.GachaHandler;
|
||||
import emu.grasscutter.tools.Tools;
|
||||
import emu.grasscutter.utils.FileUtils;
|
||||
import emu.grasscutter.utils.JsonUtils;
|
||||
import emu.grasscutter.utils.TsvUtils;
|
||||
import lombok.val;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
@@ -88,6 +90,17 @@ public class DataLoader {
|
||||
}
|
||||
}
|
||||
|
||||
public static <T> List<T> loadTableToList(String resourcePath, Class<T> classType) throws IOException {
|
||||
val path = FileUtils.getDataPathTsjJsonTsv(resourcePath);
|
||||
Grasscutter.getLogger().info("Loading data table from: "+path);
|
||||
return switch (FileUtils.getFileExtension(path)) {
|
||||
case "json" -> JsonUtils.loadToList(path, classType);
|
||||
case "tsj" -> TsvUtils.loadTsjToListSetField(path, classType);
|
||||
case "tsv" -> TsvUtils.loadTsvToListSetField(path, classType);
|
||||
default -> null;
|
||||
};
|
||||
}
|
||||
|
||||
public static void checkAllFiles() {
|
||||
try {
|
||||
List<Path> filenames = FileUtils.getPathsFromResource("/defaults/data/");
|
||||
|
||||
@@ -152,8 +152,8 @@ public class ResourceLoader {
|
||||
protected static <T> void loadFromResource(Class<T> c, Path filename, Int2ObjectMap map) throws Exception {
|
||||
val results = switch (FileUtils.getFileExtension(filename)) {
|
||||
case "json" -> JsonUtils.loadToList(filename, c);
|
||||
case "tsj" -> TsvUtils.loadTsjToListSetField(c, filename);
|
||||
case "tsv" -> TsvUtils.loadTsvToListSetField(c, filename);
|
||||
case "tsj" -> TsvUtils.loadTsjToListSetField(filename, c);
|
||||
case "tsv" -> TsvUtils.loadTsvToListSetField(filename, c);
|
||||
default -> null;
|
||||
};
|
||||
if (results == null) return;
|
||||
|
||||
Reference in New Issue
Block a user