diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-04-06 15:47:20 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-04-06 15:47:20 +0800 |
| commit | 966bbd7fe43237f9b1aa6cfd94cf5e34a9bcfddf (patch) | |
| tree | 7c19b609f1d61f0afde3947742056dbb8b17a396 /fabric/src | |
| parent | 5b0c5838978fc74f783c6dcff2983af4fb97d912 (diff) | |
| download | RoughlyEnoughItems-966bbd7fe43237f9b1aa6cfd94cf5e34a9bcfddf.tar.gz RoughlyEnoughItems-966bbd7fe43237f9b1aa6cfd94cf5e34a9bcfddf.tar.bz2 RoughlyEnoughItems-966bbd7fe43237f9b1aa6cfd94cf5e34a9bcfddf.zip | |
Expose draggable stacks
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'fabric/src')
| -rw-r--r-- | fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java | 34 |
1 files changed, 26 insertions, 8 deletions
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 <P extends REIPlugin<?>> void loadPlugin(Class<? extends P> pluginClass, Consumer<? super REIPluginProvider<P>> 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<REIPluginProvider> 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<P> plugin = container.getEntrypoint(); if (pluginClass.isAssignableFrom(plugin.getPluginProviderClass())) { - consumer.accept((REIPluginProvider<P>) plugin); + consumer.accept(new REIPluginProvider<P>() { + @Override + public Collection<P> provide() { + return plugin.provide(); + } + + @Override + public Class<P> getPluginProviderClass() { + return plugin.getPluginProviderClass(); + } + + @Override + public String getPluginProviderName() { + return plugin.getPluginProviderName() + " [" + container.getProvider().getMetadata().getId() + "]"; + } + }); } } } |
