Add error message in case data files in resources could not be found

This commit is contained in:
Melledy 2022-05-19 03:05:57 -07:00
parent d418d4e3e6
commit c2bf663554
2 changed files with 11 additions and 1 deletions

View File

@ -50,6 +50,10 @@ public class DataLoader {
public static void CheckAllFiles() { public static void CheckAllFiles() {
try { try {
List<Path> filenames = FileUtils.getPathsFromResource("/defaults/data/"); List<Path> filenames = FileUtils.getPathsFromResource("/defaults/data/");
if (filenames == null) {
Grasscutter.getLogger().error("We were unable to locate your default data files.");
}
for (Path file : filenames) { for (Path file : filenames) {
String relativePath = String.valueOf(file).split("defaults[\\\\\\/]data[\\\\\\/]")[1]; String relativePath = String.valueOf(file).split("defaults[\\\\\\/]data[\\\\\\/]")[1];
@ -57,7 +61,7 @@ public class DataLoader {
CheckAndCopyData(relativePath); CheckAndCopyData(relativePath);
} }
} catch (Exception e) { } catch (Exception e) {
Grasscutter.getLogger().error("An error occurred while trying to check the data folder. \n", e); Grasscutter.getLogger().error("An error occurred while trying to check the data folder.", e);
} }
GenerateGachaMappings(); GenerateGachaMappings();

View File

@ -9,6 +9,7 @@ import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.nio.file.*; import java.nio.file.*;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
@ -97,6 +98,11 @@ public final class FileUtils {
} catch (Exception e) { } catch (Exception e) {
// Eclipse puts resources in its bin folder // Eclipse puts resources in its bin folder
File f = new File(jarPath + "defaults/data/"); File f = new File(jarPath + "defaults/data/");
if (!f.exists() || f.listFiles().length == 0) {
return null;
}
result = Arrays.stream(f.listFiles()).map(File::toPath).toList(); result = Arrays.stream(f.listFiles()).map(File::toPath).toList();
} }