From fbdb060e10ee9fe67bf48e422be3a65094fcb1e2 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Mon, 30 Aug 2021 07:05:53 -0400 Subject: [PATCH] Gently fail on new overworlds --- src/main/java/com/volmit/iris/Iris.java | 12 ++++++++++++ .../java/com/volmit/iris/core/IrisSettings.java | 2 ++ .../com/volmit/iris/core/loader/IrisData.java | 15 ++++----------- 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/volmit/iris/Iris.java b/src/main/java/com/volmit/iris/Iris.java index 09de9921e..2a21bd84c 100644 --- a/src/main/java/com/volmit/iris/Iris.java +++ b/src/main/java/com/volmit/iris/Iris.java @@ -263,6 +263,12 @@ public class Iris extends VolmitPlugin implements Listener { for (File j : dims.listFiles()) { if (j.getName().endsWith(".json")) { IrisDimension dim = data.getDimensionLoader().load(j.getName().split("\\Q.\\E")[0]); + + if(dim == null) + { + continue; + } + Iris.verbose(" Checking Dimension " + dim.getLoadFile().getPath()); if (dim.installDataPack(() -> data, dpacks)) { reboot = true; @@ -358,6 +364,12 @@ public class Iris extends VolmitPlugin implements Listener { if (j.getName().endsWith(".json")) { IrisDimension dim = data.getDimensionLoader().load(j.getName().split("\\Q.\\E")[0]); + if(dim == null) + { + Iris.error("Failed to load " + j.getPath()); + continue; + } + if (!verifyDataPackInstalled(dim)) { bad = true; } diff --git a/src/main/java/com/volmit/iris/core/IrisSettings.java b/src/main/java/com/volmit/iris/core/IrisSettings.java index bd23ba419..b76c8d995 100644 --- a/src/main/java/com/volmit/iris/core/IrisSettings.java +++ b/src/main/java/com/volmit/iris/core/IrisSettings.java @@ -103,6 +103,8 @@ public class IrisSettings { public boolean pluginMetrics = true; public boolean splashLogoStartup = true; public boolean autoStartDefaultStudio = false; + public boolean useConsoleCustomColors = false; + public boolean useCustomColorsIngame = true; public String forceMainWorld = ""; public int spinh = -20; public int spins = 7; diff --git a/src/main/java/com/volmit/iris/core/loader/IrisData.java b/src/main/java/com/volmit/iris/core/loader/IrisData.java index c1eb31e50..3c6f5aed7 100644 --- a/src/main/java/com/volmit/iris/core/loader/IrisData.java +++ b/src/main/java/com/volmit/iris/core/loader/IrisData.java @@ -441,19 +441,12 @@ public class IrisData implements ExclusionStrategy, TypeAdapterFactory { { Iris.error("Failed to read " + typeToken.getRawType().getCanonicalName() + "... faking objects a little to load the file at least."); try { - T o = (T) typeToken.getRawType().getConstructor().newInstance(); - return o; - } catch (InstantiationException ex) { - ex.printStackTrace(); - } catch (IllegalAccessException ex) { - ex.printStackTrace(); - } catch (InvocationTargetException ex) { - ex.printStackTrace(); - } catch (NoSuchMethodException ex) { - ex.printStackTrace(); + return (T) typeToken.getRawType().getConstructor().newInstance(); + } catch (Throwable ignored) { + } - return null; } + return null; } }; }