aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me/shedaniel/rei/impl/PluginManagerImpl.java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-03-17 00:30:40 +0800
committershedaniel <daniel@shedaniel.me>2021-03-17 00:30:40 +0800
commit8af94d0768f57b59b56f019c9d40d95b77382187 (patch)
tree7b8c95251db7d54bec4e0ce10331c414c83ebea9 /runtime/src/main/java/me/shedaniel/rei/impl/PluginManagerImpl.java
parent7451a88de892b5f3496eb63c7be44bc339df96b9 (diff)
downloadRoughlyEnoughItems-8af94d0768f57b59b56f019c9d40d95b77382187.tar.gz
RoughlyEnoughItems-8af94d0768f57b59b56f019c9d40d95b77382187.tar.bz2
RoughlyEnoughItems-8af94d0768f57b59b56f019c9d40d95b77382187.zip
Expend DraggableStackProvider and DraggableStackVisitor to work in any widgets, implement renderBackToPosition
Signed-off-by: shedaniel <daniel@shedaniel.me>
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);