From ceffa3a8cf531f90f4175c933afbe2141a2f0eff Mon Sep 17 00:00:00 2001 From: Max Wittig <max.wittig95@gmail.com> Date: Thu, 27 Oct 2016 19:15:19 +0200 Subject: [PATCH] fixed crash when no level files are in userdir --- .../bricked/game/levels/LevelPackHandler.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/de/bricked/game/levels/LevelPackHandler.java b/src/de/bricked/game/levels/LevelPackHandler.java index 6e2be4b..cda1452 100644 --- a/src/de/bricked/game/levels/LevelPackHandler.java +++ b/src/de/bricked/game/levels/LevelPackHandler.java @@ -6,6 +6,7 @@ import tools.PathUtils; import java.io.*; import java.nio.file.FileSystems; import java.nio.file.Files; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; @@ -77,9 +78,16 @@ public class LevelPackHandler private static ArrayList<String> getFileContentFromUserDir() { + PathUtils.checkFolder(PathUtils.getOSindependentPath().toFile()); ArrayList<String> stringContent = new ArrayList<>(); File folder = new File(PathUtils.getOSindependentPath().toFile(), "deadspaghetti/bricked/levelpacks/"); - ArrayList<File> fileArrayList = new ArrayList<>(Arrays.asList(folder.listFiles())); + File[] files = folder.listFiles(); + if(files == null) + { + return null; + } + ArrayList<File> fileArrayList = new ArrayList<>(Arrays.asList(files)); + for(File file : fileArrayList) { try @@ -98,8 +106,16 @@ public class LevelPackHandler private static ArrayList<String> getFileContent() { ArrayList<String> fileArrayList = new ArrayList<>(); - fileArrayList.addAll(getFileContentFromUserDir()); - fileArrayList.addAll(getFilesFromJar()); + ArrayList<String> userDir = getFileContentFromUserDir(); + ArrayList<String> jarDir = getFilesFromJar(); + if(userDir != null) + { + fileArrayList.addAll(userDir); + } + if(jarDir != null) + { + fileArrayList.addAll(getFilesFromJar()); + } return fileArrayList; } } -- GitLab