From b3cc60eba7f1bc646c0cc6356a338fcfeb0ee0f5 Mon Sep 17 00:00:00 2001 From: sowgro Date: Fri, 18 Oct 2024 00:25:28 -0400 Subject: Add default color customization --- .../java/net/sowgro/npehero/levelapi/Level.java | 31 ++++++++++++++-------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'src/main/java/net/sowgro/npehero/levelapi/Level.java') 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{ @@ -25,7 +26,7 @@ public class Level implements Comparable{ 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{ 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{ 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{ public String getFileExtension(File file) { return file.getName().substring(file.getName().lastIndexOf('.') + 1); } + + public static Color colorGetOrDefault(Map source, String key, Color defaultValue) { + try { + return Color.web((String) source.getOrDefault(key, defaultValue)); + } catch (Exception e) { + return null; + } + } } -- cgit v1.2.3