aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/sowgro/npehero/levelapi/Level.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/sowgro/npehero/levelapi/Level.java')
-rwxr-xr-xsrc/main/java/net/sowgro/npehero/levelapi/Level.java31
1 files changed, 20 insertions, 11 deletions
diff --git a/src/main/java/net/sowgro/npehero/levelapi/Level.java b/src/main/java/net/sowgro/npehero/levelapi/Level.java
index 0e25445..f61c7b8 100755
--- a/src/main/java/net/sowgro/npehero/levelapi/Level.java
+++ b/src/main/java/net/sowgro/npehero/levelapi/Level.java
@@ -13,6 +13,7 @@ import java.nio.file.Files;
import java.nio.file.StandardCopyOption;
import java.util.HashMap;
import java.util.Map;
+import java.util.Objects;
public class Level implements Comparable<Level>{
@@ -25,7 +26,7 @@ public class Level implements Comparable<Level>{
public String title = "Unnamed";
public String artist = "Unknown";
public String desc;
- public Color[] colors = {Color.RED,Color.BLUE,Color.GREEN,Color.PURPLE,Color.YELLOW};
+ public Color[] colors = {null, null, null, null, null};
public Image preview;
public Image background;
public Media song;
@@ -101,11 +102,11 @@ public class Level implements Comparable<Level>{
title = (String) data.getOrDefault("title", title);
artist = (String) data.getOrDefault("artist", artist);
desc = (String) data.getOrDefault("desc", desc);
- colors[0] = Color.web((String) data.getOrDefault("color1", colors[0].toString()));
- colors[1] = Color.web((String) data.getOrDefault("color2", colors[1].toString()));
- colors[2] = Color.web((String) data.getOrDefault("color3", colors[2].toString()));
- colors[3] = Color.web((String) data.getOrDefault("color4", colors[3].toString()));
- colors[4] = Color.web((String) data.getOrDefault("color5", colors[4].toString()));
+ colors[0] = colorGetOrDefault(data, "color1", colors[0]);
+ colors[1] = colorGetOrDefault(data, "color2", colors[1]);
+ colors[2] = colorGetOrDefault(data, "color3", colors[2]);
+ colors[3] = colorGetOrDefault(data, "color4", colors[3]);
+ colors[4] = colorGetOrDefault(data, "color5", colors[4]);
}
/**
@@ -141,11 +142,11 @@ public class Level implements Comparable<Level>{
data.put("title", title);
data.put("artist", artist);
data.put("desc", desc);
- data.put("color1",colors[0].toString());
- data.put("color2",colors[1].toString());
- data.put("color3",colors[2].toString());
- data.put("color4",colors[3].toString());
- data.put("color5",colors[4].toString());
+ data.put("color1",Objects.toString(colors[0]));
+ data.put("color2",Objects.toString(colors[1]));
+ data.put("color3",Objects.toString(colors[2]));
+ data.put("color4",Objects.toString(colors[3]));
+ data.put("color5",Objects.toString(colors[4]));
FileWriter fileWriter = new FileWriter(jsonFile);
jsonParser.toJson(data, fileWriter);
fileWriter.close();
@@ -195,4 +196,12 @@ public class Level implements Comparable<Level>{
public String getFileExtension(File file) {
return file.getName().substring(file.getName().lastIndexOf('.') + 1);
}
+
+ public static Color colorGetOrDefault(Map<String, Object> source, String key, Color defaultValue) {
+ try {
+ return Color.web((String) source.getOrDefault(key, defaultValue));
+ } catch (Exception e) {
+ return null;
+ }
+ }
}