mirror of
https://github.com/Multiverse/Multiverse-Core.git
synced 2025-02-27 09:51:31 +01:00
feat: Allow for custom locale folder path
This commit is contained in:
parent
47a92deffd
commit
44904eaef4
@ -1,7 +1,5 @@
|
|||||||
package com.onarandombox.MultiverseCore.locale;
|
package com.onarandombox.MultiverseCore.locale;
|
||||||
|
|
||||||
import org.bukkit.plugin.Plugin;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
@ -9,15 +7,22 @@ import java.io.InputStream;
|
|||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
|
import org.bukkit.plugin.Plugin;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class loader that loads resources from the plugin's locales folder.
|
* A class loader that loads resources from the plugin's locales folder.
|
||||||
*/
|
*/
|
||||||
public class FileResClassLoader extends ClassLoader {
|
public class FileResClassLoader extends ClassLoader {
|
||||||
|
private static final String DEFAULT_LOCALE_FOLDER_PATH = "locales";
|
||||||
private final transient File localesFolder;
|
private final transient File localesFolder;
|
||||||
|
|
||||||
public FileResClassLoader(final ClassLoader classLoader, final Plugin plugin) {
|
public FileResClassLoader(final Plugin plugin) {
|
||||||
super(classLoader);
|
this(plugin, DEFAULT_LOCALE_FOLDER_PATH);
|
||||||
this.localesFolder = new File(plugin.getDataFolder(), "locales");
|
}
|
||||||
|
|
||||||
|
public FileResClassLoader(final Plugin plugin, final String localesFolderPath) {
|
||||||
|
super(plugin.getClass().getClassLoader());
|
||||||
|
this.localesFolder = new File(plugin.getDataFolder(), localesFolderPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -3,13 +3,18 @@ package com.onarandombox.MultiverseCore.locale;
|
|||||||
import co.aikar.commands.BukkitCommandManager;
|
import co.aikar.commands.BukkitCommandManager;
|
||||||
import co.aikar.commands.BukkitLocales;
|
import co.aikar.commands.BukkitLocales;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class PluginLocales extends BukkitLocales {
|
public class PluginLocales extends BukkitLocales {
|
||||||
public PluginLocales(BukkitCommandManager manager) {
|
public PluginLocales(BukkitCommandManager manager) {
|
||||||
super(manager);
|
super(manager);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean addFileResClassLoader(Plugin plugin) {
|
public boolean addFileResClassLoader(@NotNull Plugin plugin) {
|
||||||
return this.addBundleClassLoader(new FileResClassLoader(plugin.getClass().getClassLoader(), plugin));
|
return this.addBundleClassLoader(new FileResClassLoader(plugin));
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean addFileResClassLoader(@NotNull Plugin plugin, @NotNull String localesFolderPath) {
|
||||||
|
return this.addBundleClassLoader(new FileResClassLoader(plugin, localesFolderPath));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user