From 44904eaef4c99654c8c98dabf0c5bcc29b11c975 Mon Sep 17 00:00:00 2001 From: Ben Woo <30431861+benwoo1110@users.noreply.github.com> Date: Fri, 17 Feb 2023 00:19:04 +0800 Subject: [PATCH] feat: Allow for custom locale folder path --- .../MultiverseCore/locale/FileResClassLoader.java | 15 ++++++++++----- .../MultiverseCore/locale/PluginLocales.java | 9 +++++++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/onarandombox/MultiverseCore/locale/FileResClassLoader.java b/src/main/java/com/onarandombox/MultiverseCore/locale/FileResClassLoader.java index 9c0f51cd..ecc1576c 100644 --- a/src/main/java/com/onarandombox/MultiverseCore/locale/FileResClassLoader.java +++ b/src/main/java/com/onarandombox/MultiverseCore/locale/FileResClassLoader.java @@ -1,7 +1,5 @@ package com.onarandombox.MultiverseCore.locale; -import org.bukkit.plugin.Plugin; - import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -9,15 +7,22 @@ import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; +import org.bukkit.plugin.Plugin; + /** * A class loader that loads resources from the plugin's locales folder. */ public class FileResClassLoader extends ClassLoader { + private static final String DEFAULT_LOCALE_FOLDER_PATH = "locales"; private final transient File localesFolder; - public FileResClassLoader(final ClassLoader classLoader, final Plugin plugin) { - super(classLoader); - this.localesFolder = new File(plugin.getDataFolder(), "locales"); + public FileResClassLoader(final Plugin plugin) { + this(plugin, DEFAULT_LOCALE_FOLDER_PATH); + } + + public FileResClassLoader(final Plugin plugin, final String localesFolderPath) { + super(plugin.getClass().getClassLoader()); + this.localesFolder = new File(plugin.getDataFolder(), localesFolderPath); } @Override diff --git a/src/main/java/com/onarandombox/MultiverseCore/locale/PluginLocales.java b/src/main/java/com/onarandombox/MultiverseCore/locale/PluginLocales.java index 309fa616..232eff68 100644 --- a/src/main/java/com/onarandombox/MultiverseCore/locale/PluginLocales.java +++ b/src/main/java/com/onarandombox/MultiverseCore/locale/PluginLocales.java @@ -3,13 +3,18 @@ package com.onarandombox.MultiverseCore.locale; import co.aikar.commands.BukkitCommandManager; import co.aikar.commands.BukkitLocales; import org.bukkit.plugin.Plugin; +import org.jetbrains.annotations.NotNull; public class PluginLocales extends BukkitLocales { public PluginLocales(BukkitCommandManager manager) { super(manager); } - public boolean addFileResClassLoader(Plugin plugin) { - return this.addBundleClassLoader(new FileResClassLoader(plugin.getClass().getClassLoader(), plugin)); + public boolean addFileResClassLoader(@NotNull Plugin plugin) { + return this.addBundleClassLoader(new FileResClassLoader(plugin)); + } + + public boolean addFileResClassLoader(@NotNull Plugin plugin, @NotNull String localesFolderPath) { + return this.addBundleClassLoader(new FileResClassLoader(plugin, localesFolderPath)); } }