Make PluginManagers independent from the main class
This commit is contained in:
parent
a653de8e00
commit
6ebe0073ea
4 changed files with 9 additions and 16 deletions
|
|
@ -23,7 +23,7 @@ public class BukkitPlugin extends ServerUtilsPlugin {
|
|||
*/
|
||||
public BukkitPlugin(ServerUtils plugin) {
|
||||
this.plugin = plugin;
|
||||
this.pluginManager = new BukkitPluginManager(plugin);
|
||||
this.pluginManager = new BukkitPluginManager();
|
||||
this.taskManager = new BukkitTaskManager();
|
||||
this.resourceProvider = new BukkitResourceProvider(plugin);
|
||||
this.chatProvider = new BukkitChatProvider();
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ import java.util.Map;
|
|||
import java.util.Set;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import net.frankheijden.serverutils.bukkit.ServerUtils;
|
||||
import net.frankheijden.serverutils.bukkit.entities.BukkitLoadResult;
|
||||
import net.frankheijden.serverutils.bukkit.reflection.RCommandMap;
|
||||
import net.frankheijden.serverutils.bukkit.reflection.RCraftServer;
|
||||
|
|
@ -37,11 +36,9 @@ import org.bukkit.plugin.UnknownDependencyException;
|
|||
|
||||
public class BukkitPluginManager extends AbstractPluginManager<Plugin> {
|
||||
|
||||
private final ServerUtils plugin;
|
||||
private static BukkitPluginManager instance;
|
||||
|
||||
public BukkitPluginManager(ServerUtils plugin) {
|
||||
this.plugin = plugin;
|
||||
public BukkitPluginManager() {
|
||||
instance = this;
|
||||
}
|
||||
|
||||
|
|
@ -56,7 +53,7 @@ public class BukkitPluginManager extends AbstractPluginManager<Plugin> {
|
|||
*/
|
||||
@Override
|
||||
public BukkitLoadResult loadPlugin(String jarFile) {
|
||||
return loadPlugin(new File(ServerUtils.getInstance().getDataFolder().getParent(), jarFile));
|
||||
return loadPlugin(new File(getPluginsFolder(), jarFile));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -400,11 +397,6 @@ public class BukkitPluginManager extends AbstractPluginManager<Plugin> {
|
|||
return knownCommands.keySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public File getPluginsFolder() {
|
||||
return plugin.getDataFolder().getParentFile();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Plugin> getPlugins() {
|
||||
return Arrays.asList(Bukkit.getPluginManager().getPlugins());
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ import java.util.jar.JarEntry;
|
|||
import java.util.jar.JarFile;
|
||||
import java.util.logging.Level;
|
||||
import java.util.stream.Collectors;
|
||||
import net.frankheijden.serverutils.bungee.ServerUtils;
|
||||
import net.frankheijden.serverutils.bungee.entities.BungeeLoadResult;
|
||||
import net.frankheijden.serverutils.bungee.reflection.RPluginClassLoader;
|
||||
import net.frankheijden.serverutils.bungee.reflection.RPluginManager;
|
||||
|
|
@ -31,7 +30,6 @@ import org.yaml.snakeyaml.Yaml;
|
|||
public class BungeePluginManager extends AbstractPluginManager<Plugin> {
|
||||
|
||||
private static final ProxyServer proxy = ProxyServer.getInstance();
|
||||
private static final ServerUtils plugin = ServerUtils.getInstance();
|
||||
|
||||
private static BungeePluginManager instance;
|
||||
|
||||
|
|
@ -255,7 +253,7 @@ public class BungeePluginManager extends AbstractPluginManager<Plugin> {
|
|||
|
||||
@Override
|
||||
public File getPluginsFolder() {
|
||||
return plugin.getProxy().getPluginsFolder();
|
||||
return proxy.getPluginsFolder();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -269,7 +267,7 @@ public class BungeePluginManager extends AbstractPluginManager<Plugin> {
|
|||
* @return The list of plugins.
|
||||
*/
|
||||
public List<Plugin> getPlugins(boolean modules) {
|
||||
Collection<Plugin> plugins = plugin.getProxy().getPluginManager().getPlugins();
|
||||
Collection<Plugin> plugins = proxy.getPluginManager().getPlugins();
|
||||
if (modules) return new ArrayList<>(plugins);
|
||||
return plugins.stream()
|
||||
.filter(BungeePluginManager::isPlugin)
|
||||
|
|
|
|||
|
|
@ -6,10 +6,13 @@ import java.util.Comparator;
|
|||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import net.frankheijden.serverutils.common.ServerUtilsApp;
|
||||
|
||||
public abstract class PluginProvider<T> {
|
||||
|
||||
public abstract File getPluginsFolder();
|
||||
public File getPluginsFolder() {
|
||||
return ServerUtilsApp.getPlugin().getDataFolder().getParentFile();
|
||||
}
|
||||
|
||||
public abstract List<T> getPlugins();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue