diff --git a/paper-api/src/main/java/org/bukkit/util/config/Configuration.java b/paper-api/src/main/java/org/bukkit/util/config/Configuration.java index ce1f8f6791..a1cb28785d 100644 --- a/paper-api/src/main/java/org/bukkit/util/config/Configuration.java +++ b/paper-api/src/main/java/org/bukkit/util/config/Configuration.java @@ -93,7 +93,10 @@ public class Configuration extends ConfigurationNode { public boolean save() { FileOutputStream stream = null; - file.getParentFile().mkdirs(); + File parent = file.getParentFile(); + if (parent != null) { + parent.mkdirs(); + } try { stream = new FileOutputStream(file); diff --git a/paper-api/src/main/java/org/bukkit/util/config/ConfigurationNode.java b/paper-api/src/main/java/org/bukkit/util/config/ConfigurationNode.java index 8fbefe7ad6..c9b7942dac 100644 --- a/paper-api/src/main/java/org/bukkit/util/config/ConfigurationNode.java +++ b/paper-api/src/main/java/org/bukkit/util/config/ConfigurationNode.java @@ -126,6 +126,7 @@ public class ConfigurationNode { public String getString(String path, String def) { String o = getString(path); if (o == null) { + setProperty(path, def); return def; } return o; @@ -144,6 +145,7 @@ public class ConfigurationNode { public int getInt(String path, int def) { Integer o = castInt(getProperty(path)); if (o == null) { + setProperty(path, def); return def; } else { return o; @@ -163,6 +165,7 @@ public class ConfigurationNode { public double getDouble(String path, double def) { Double o = castDouble(getProperty(path)); if (o == null) { + setProperty(path, def); return def; } else { return o; @@ -181,6 +184,7 @@ public class ConfigurationNode { public boolean getBoolean(String path, boolean def) { Boolean o = castBoolean(getProperty(path)); if (o == null) { + setProperty(path, def); return def; } else { return o;