From 966bbd7fe43237f9b1aa6cfd94cf5e34a9bcfddf Mon Sep 17 00:00:00 2001 From: shedaniel Date: Tue, 6 Apr 2021 15:47:20 +0800 Subject: Expose draggable stacks Signed-off-by: shedaniel --- .../shedaniel/rei/fabric/PluginDetectorImpl.java | 34 +++++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'fabric/src/main/java') diff --git a/fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java b/fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java index 5add038e2..810238bd9 100644 --- a/fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java +++ b/fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java @@ -29,21 +29,39 @@ import me.shedaniel.rei.api.common.plugins.*; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.loader.api.FabricLoader; +import net.fabricmc.loader.api.entrypoint.EntrypointContainer; +import java.util.Collection; import java.util.function.Consumer; public class PluginDetectorImpl { private static

> void loadPlugin(Class pluginClass, Consumer> consumer) { - for (REIPluginProvider plugin : Iterables.concat( - FabricLoader.getInstance().getEntrypoints("rei_containers", REIPluginProvider.class), - FabricLoader.getInstance().getEntrypoints("rei_server", REIPluginProvider.class), - FabricLoader.getInstance().getEntrypoints("rei", REIPluginProvider.class), - FabricLoader.getInstance().getEntrypoints("rei_common", REIPluginProvider.class), - FabricLoader.getInstance().getEntrypoints("rei_plugins", REIPluginProvider.class), - FabricLoader.getInstance().getEntrypoints("rei_plugins_v0", REIPluginProvider.class) + for (EntrypointContainer container : Iterables.concat( + FabricLoader.getInstance().getEntrypointContainers("rei_containers", REIPluginProvider.class), + FabricLoader.getInstance().getEntrypointContainers("rei_server", REIPluginProvider.class), + FabricLoader.getInstance().getEntrypointContainers("rei", REIPluginProvider.class), + FabricLoader.getInstance().getEntrypointContainers("rei_common", REIPluginProvider.class), + FabricLoader.getInstance().getEntrypointContainers("rei_plugins", REIPluginProvider.class), + FabricLoader.getInstance().getEntrypointContainers("rei_plugins_v0", REIPluginProvider.class) )) { + REIPluginProvider

plugin = container.getEntrypoint(); if (pluginClass.isAssignableFrom(plugin.getPluginProviderClass())) { - consumer.accept((REIPluginProvider

) plugin); + consumer.accept(new REIPluginProvider

() { + @Override + public Collection

provide() { + return plugin.provide(); + } + + @Override + public Class

getPluginProviderClass() { + return plugin.getPluginProviderClass(); + } + + @Override + public String getPluginProviderName() { + return plugin.getPluginProviderName() + " [" + container.getProvider().getMetadata().getId() + "]"; + } + }); } } } -- cgit