diff --git a/src/main/java/org/mvplugins/multiverse/core/config/CoreConfig.java b/src/main/java/org/mvplugins/multiverse/core/config/CoreConfig.java index a3ee2d5b6..90d0a1846 100644 --- a/src/main/java/org/mvplugins/multiverse/core/config/CoreConfig.java +++ b/src/main/java/org/mvplugins/multiverse/core/config/CoreConfig.java @@ -623,6 +623,16 @@ public String getBukkitYmlPath() { return configHandle.get(configNodes.bukkitYmlPath); } + @ApiStatus.AvailableSince("5.3") + public Try setServerPropertiesPath(String serverPropertiesPath) { + return configHandle.set(configNodes.serverPropertiesPath, serverPropertiesPath); + } + + @ApiStatus.AvailableSince("5.3") + public String getServerPropertiesPath() { + return configHandle.get(configNodes.serverPropertiesPath); + } + /** * {@inheritDoc} */ diff --git a/src/main/java/org/mvplugins/multiverse/core/config/CoreConfigNodes.java b/src/main/java/org/mvplugins/multiverse/core/config/CoreConfigNodes.java index 670b6f039..e07d6e979 100644 --- a/src/main/java/org/mvplugins/multiverse/core/config/CoreConfigNodes.java +++ b/src/main/java/org/mvplugins/multiverse/core/config/CoreConfigNodes.java @@ -512,6 +512,14 @@ private N node(N node) { .name("bukkit-yml-path") .build()); + final ConfigNode serverPropertiesPath = node(ConfigNode.builder("misc.server-properties-path", String.class) + .comment("") + .comment("Change this if you use a custom path for the server.properties file with `--config` startup flag.") + .comment("Note: this config option needs a server restart to take effect.") + .defaultValue("server.properties") + .name("server-properties-path") + .build()); + final ConfigNode globalDebug = node(ConfigNode.builder("misc.global-debug", Integer.class) .comment("") .comment("This is our debug flag to help identify issues with Multiverse.") diff --git a/src/main/java/org/mvplugins/multiverse/core/utils/FileUtils.java b/src/main/java/org/mvplugins/multiverse/core/utils/FileUtils.java index 64f6daf48..4529dfb51 100644 --- a/src/main/java/org/mvplugins/multiverse/core/utils/FileUtils.java +++ b/src/main/java/org/mvplugins/multiverse/core/utils/FileUtils.java @@ -77,7 +77,7 @@ public File getServerFolder() { */ public @Nullable File getServerProperties() { if (this.serverProperties == null) { - this.serverProperties = findFileFromServerDirectory("server.properties"); + this.serverProperties = findFileFromServerDirectory(config.getServerPropertiesPath()); Logging.finer("server.properties: %s", this.serverProperties); } return this.serverProperties; diff --git a/src/test/resources/configs/fresh_config.yml b/src/test/resources/configs/fresh_config.yml index 83425bd9a..8e2f56b00 100644 --- a/src/test/resources/configs/fresh_config.yml +++ b/src/test/resources/configs/fresh_config.yml @@ -54,6 +54,7 @@ event-priority: misc: bukkit-yml-path: bukkit.yml + server-properties-path: server.properties global-debug: 0 debug-permissions: false silent-start: false