diff options
author | sowgro <tpoke.ferrari@gmail.com> | 2024-10-18 00:25:28 -0400 |
---|---|---|
committer | sowgro <tpoke.ferrari@gmail.com> | 2024-10-18 00:25:28 -0400 |
commit | b3cc60eba7f1bc646c0cc6356a338fcfeb0ee0f5 (patch) | |
tree | 3fa547dce2fc1a3a7a8fa36c6449848960628b54 /src/main/java/net/sowgro/npehero/levelapi | |
parent | 28ade1fce71064db5c95a0d69fe94e3097042e36 (diff) | |
download | NPEhero-b3cc60eba7f1bc646c0cc6356a338fcfeb0ee0f5.tar.gz NPEhero-b3cc60eba7f1bc646c0cc6356a338fcfeb0ee0f5.tar.bz2 NPEhero-b3cc60eba7f1bc646c0cc6356a338fcfeb0ee0f5.zip |
Add default color customizationdev2
Diffstat (limited to 'src/main/java/net/sowgro/npehero/levelapi')
-rwxr-xr-x | src/main/java/net/sowgro/npehero/levelapi/Level.java | 31 |
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; + } + } } |