aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/impl/PluginManagerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/main/java/me/shedaniel/rei/impl/PluginManagerImpl.java')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/PluginManagerImpl.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/PluginManagerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/PluginManagerImpl.java
index bd7cbd299..e62c18a30 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/PluginManagerImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/PluginManagerImpl.java
@@ -58,6 +58,7 @@ public class PluginManagerImpl implements PluginManager {
private final List<Reloadable> reloadables = new ArrayList<>();
private final Map<Class<? extends Reloadable>, Reloadable> cache = new ConcurrentHashMap<>();
private boolean arePluginsLoading = false;
+ private final List<REIPlugin> plugins = new ArrayList<>();
public PluginManagerImpl() {
registerReloadable(new ConfigManagerImpl());
@@ -102,6 +103,18 @@ public class PluginManagerImpl implements PluginManager {
return Collections.unmodifiableList(reloadables);
}
+ @Override
+ public <T extends REIPlugin> T registerPlugin(T plugin) {
+ plugins.add(plugin);
+ RoughlyEnoughItemsCore.LOGGER.info("Registered plugin %s", plugin.getPluginName());
+ return plugin;
+ }
+
+ @Override
+ public List<REIPlugin> getPlugins() {
+ return Collections.unmodifiableList(plugins);
+ }
+
private static class SectionClosable implements Closeable {
private MutablePair<Stopwatch, String> sectionData;
@@ -156,7 +169,7 @@ public class PluginManagerImpl implements PluginManager {
}
arePluginsLoading = true;
- List<REIPlugin> plugins = new ArrayList<>(RoughlyEnoughItemsCore.getPlugins());
+ List<REIPlugin> plugins = new ArrayList<>(getPlugins());
plugins.sort(Comparator.comparingInt(REIPlugin::getPriority).reversed());
RoughlyEnoughItemsCore.LOGGER.info("Reloading REI, registered %d plugins: %s", plugins.size(), CollectionUtils.mapAndJoinToString(plugins, REIPlugin::getPluginName, ", "));
Collections.reverse(plugins);