From 208159354090a432a3ec3d724adad9eb4a28214d Mon Sep 17 00:00:00 2001 From: yueyinqiu Date: Fri, 23 Jul 2021 20:22:06 +0800 Subject: [PATCH] 4.91 bug solve: marks in non-vanilla worlds used to cause exceptions --- NWorldPermissions/res/plugin.yml | 2 +- .../ConfigurationManager.java | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/NWorldPermissions/res/plugin.yml b/NWorldPermissions/res/plugin.yml index e9f1925..5fe650b 100644 --- a/NWorldPermissions/res/plugin.yml +++ b/NWorldPermissions/res/plugin.yml @@ -2,7 +2,7 @@ name: NWorldPermissions description: A strange power stopping players being teleported to a world. website: https://github.com/yueyinqiu/NWorldPermissions/wiki -version: '4.90' +version: '4.91' author: yueyinqiu5990 main: top.nololiyt.worldpermissions.RootPlugin softdepend: [PlaceholderAPI,MarksAPI] diff --git a/NWorldPermissions/src/top/nololiyt/worldpermissions/configurationmanagers/ConfigurationManager.java b/NWorldPermissions/src/top/nololiyt/worldpermissions/configurationmanagers/ConfigurationManager.java index ebb0c07..59a3882 100644 --- a/NWorldPermissions/src/top/nololiyt/worldpermissions/configurationmanagers/ConfigurationManager.java +++ b/NWorldPermissions/src/top/nololiyt/worldpermissions/configurationmanagers/ConfigurationManager.java @@ -19,23 +19,31 @@ protected RootPlugin getRootPlugin() ConfigurationManager(RootPlugin rootPlugin) { this.rootPlugin = rootPlugin; - reload(); + createIfNotExist(); } - public void reload() + private File createIfNotExist() { File file = new File(rootPlugin.getDataFolder().getAbsolutePath(), getFileName()); if (!file.exists()) rootPlugin.saveResource(getFileName(), false); - configuration = YamlConfiguration.loadConfiguration(file); + return file; } - private YamlConfiguration configuration; + public void reload() + { + File file = createIfNotExist(); + configuration = YamlConfiguration.loadConfiguration(file); + } + protected YamlConfiguration getConfiguration() { + if(configuration == null) + reload(); return configuration; } + protected void saveConfiguration() throws IOException { configuration.save(new File(