aboutsummaryrefslogtreecommitdiff
path: root/fabric/src
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-04-06 15:47:20 +0800
committershedaniel <daniel@shedaniel.me>2021-04-06 15:47:20 +0800
commit966bbd7fe43237f9b1aa6cfd94cf5e34a9bcfddf (patch)
tree7c19b609f1d61f0afde3947742056dbb8b17a396 /fabric/src
parent5b0c5838978fc74f783c6dcff2983af4fb97d912 (diff)
downloadRoughlyEnoughItems-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.java34
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() + "]";
+ }
+ });
}
}
}