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