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