aboutsummaryrefslogtreecommitdiff
path: root/fabric/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-03-25 02:50:16 +0800
committershedaniel <daniel@shedaniel.me>2021-03-25 02:50:16 +0800
commit23c820ea583052744232e84a6c99114223c43a69 (patch)
tree8bcf639d79f33d9b4d110f1eb5002a550cedeb11 /fabric/src/main/java
parentc027169dfe9503a9d913589eb322cc11ddad0baa (diff)
downloadRoughlyEnoughItems-23c820ea583052744232e84a6c99114223c43a69.tar.gz
RoughlyEnoughItems-23c820ea583052744232e84a6c99114223c43a69.tar.bz2
RoughlyEnoughItems-23c820ea583052744232e84a6c99114223c43a69.zip
Refactor MenuInfo, split client and server apis, new dual PluginManager system, remove @NotNull
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'fabric/src/main/java')
-rw-r--r--fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java51
1 files changed, 38 insertions, 13 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 b27f49da5..5f76aa85c 100644
--- a/fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java
+++ b/fabric/src/main/java/me/shedaniel/rei/fabric/PluginDetectorImpl.java
@@ -25,26 +25,22 @@ package me.shedaniel.rei.fabric;
import com.google.common.collect.Iterables;
import me.shedaniel.rei.RoughlyEnoughItemsCore;
-import me.shedaniel.rei.api.plugins.PluginManager;
-import me.shedaniel.rei.api.plugins.REIPlugin;
+import me.shedaniel.rei.api.client.plugins.REIClientPlugin;
+import me.shedaniel.rei.api.common.plugins.PluginView;
+import me.shedaniel.rei.api.common.plugins.REIPlugin;
+import me.shedaniel.rei.api.common.plugins.REIServerPlugin;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.loader.api.FabricLoader;
public class PluginDetectorImpl {
public static void detectServerPlugins() {
- FabricLoader.getInstance().getEntrypoints("rei_containers", Runnable.class).forEach(Runnable::run);
- }
-
- @Environment(EnvType.CLIENT)
- public static void detectClientPlugins() {
- for (REIPlugin plugin : Iterables.concat(
- FabricLoader.getInstance().getEntrypoints("rei", REIPlugin.class),
- FabricLoader.getInstance().getEntrypoints("rei_plugins", REIPlugin.class),
- FabricLoader.getInstance().getEntrypoints("rei_plugins_v0", REIPlugin.class)
+ for (REIServerPlugin plugin : Iterables.concat(
+ FabricLoader.getInstance().getEntrypoints("rei_containers", REIServerPlugin.class),
+ FabricLoader.getInstance().getEntrypoints("rei_server", REIServerPlugin.class)
)) {
try {
- PluginManager.getInstance().registerPlugin(plugin);
+ PluginView.getServerInstance().registerPlugin(plugin);
} catch (Exception e) {
e.printStackTrace();
RoughlyEnoughItemsCore.LOGGER.error("Can't load REI plugins from %s: %s", plugin.getClass(), e.getLocalizedMessage());
@@ -52,10 +48,39 @@ public class PluginDetectorImpl {
}
if (FabricLoader.getInstance().isModLoaded("libblockattributes-fluids")) {
try {
- PluginManager.getInstance().registerPlugin((REIPlugin) Class.forName("me.shedaniel.rei.compat.LBASupportPlugin").getConstructor().newInstance());
+ PluginView.getServerInstance().registerPlugin((REIServerPlugin) Class.forName("me.shedaniel.rei.compat.LBASupportPlugin").getConstructor().newInstance());
} catch (Throwable throwable) {
throwable.printStackTrace();
}
}
}
+
+ public static void detectCommonPlugins() {
+ for (REIPlugin<?> plugin : Iterables.concat(
+ FabricLoader.getInstance().getEntrypoints("rei_common", REIPlugin.class)
+ )) {
+ try {
+ PluginView.getInstance().registerPlugin(plugin);
+ } catch (Exception e) {
+ e.printStackTrace();
+ RoughlyEnoughItemsCore.LOGGER.error("Can't load REI plugins from %s: %s", plugin.getClass(), e.getLocalizedMessage());
+ }
+ }
+ }
+
+ @Environment(EnvType.CLIENT)
+ public static void detectClientPlugins() {
+ for (REIClientPlugin plugin : Iterables.concat(
+ FabricLoader.getInstance().getEntrypoints("rei", REIClientPlugin.class),
+ FabricLoader.getInstance().getEntrypoints("rei_plugins", REIClientPlugin.class),
+ FabricLoader.getInstance().getEntrypoints("rei_plugins_v0", REIClientPlugin.class)
+ )) {
+ try {
+ PluginView.getClientInstance().registerPlugin(plugin);
+ } catch (Exception e) {
+ e.printStackTrace();
+ RoughlyEnoughItemsCore.LOGGER.error("Can't load REI plugins from %s: %s", plugin.getClass(), e.getLocalizedMessage());
+ }
+ }
+ }
}