aboutsummaryrefslogtreecommitdiff
path: root/forge/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'forge/src/main/java')
-rw-r--r--forge/src/main/java/me/shedaniel/rei/forge/AnnotationUtils.java4
-rw-r--r--forge/src/main/java/me/shedaniel/rei/forge/PluginDetectorImpl.java44
-rw-r--r--forge/src/main/java/me/shedaniel/rei/forge/PrimitivePlatformAdapterImpl.java (renamed from forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsInitializerImpl.java)18
-rw-r--r--forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java2
-rw-r--r--forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplForge.java (renamed from forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplImpl.java)6
-rw-r--r--forge/src/main/java/me/shedaniel/rei/mixin/forge/MixinTagLoader.java4
-rw-r--r--forge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java6
-rw-r--r--forge/src/main/java/me/shedaniel/rei/plugin/common/forge/DefaultPluginImpl.java11
8 files changed, 55 insertions, 40 deletions
diff --git a/forge/src/main/java/me/shedaniel/rei/forge/AnnotationUtils.java b/forge/src/main/java/me/shedaniel/rei/forge/AnnotationUtils.java
index 70d8de46d..949e7f775 100644
--- a/forge/src/main/java/me/shedaniel/rei/forge/AnnotationUtils.java
+++ b/forge/src/main/java/me/shedaniel/rei/forge/AnnotationUtils.java
@@ -24,7 +24,7 @@
package me.shedaniel.rei.forge;
import com.google.common.collect.Lists;
-import me.shedaniel.rei.RoughlyEnoughItemsInitializer;
+import me.shedaniel.rei.impl.init.PrimitivePlatformAdapter;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.loading.FMLEnvironment;
@@ -99,7 +99,7 @@ public class AnnotationUtils {
} catch (Throwable throwable) {
Throwable t = throwable;
while (t != null) {
- if (t.getMessage() != null && t.getMessage().contains("invalid dist DEDICATED_SERVER") && !RoughlyEnoughItemsInitializer.isClient()) {
+ if (t.getMessage() != null && t.getMessage().contains("invalid dist DEDICATED_SERVER") && !PrimitivePlatformAdapter.get().isClient()) {
LOGGER.warn("Plugin " + annotation.memberName() + " is attempting to load on the server, but is not compatible with the server. " +
"The mod should declare the environments it is compatible with in the @" + annotationType.getClassName() + " annotation.");
continue out;
diff --git a/forge/src/main/java/me/shedaniel/rei/forge/PluginDetectorImpl.java b/forge/src/main/java/me/shedaniel/rei/forge/PluginDetectorImpl.java
index aa53a7866..7c6092240 100644
--- a/forge/src/main/java/me/shedaniel/rei/forge/PluginDetectorImpl.java
+++ b/forge/src/main/java/me/shedaniel/rei/forge/PluginDetectorImpl.java
@@ -30,9 +30,10 @@ import me.shedaniel.rei.api.common.plugins.PluginManager;
import me.shedaniel.rei.api.common.plugins.PluginView;
import me.shedaniel.rei.api.common.plugins.REIPluginProvider;
import me.shedaniel.rei.api.common.plugins.REIServerPlugin;
-import me.shedaniel.rei.plugin.client.DefaultClientPlugin;
+import me.shedaniel.rei.impl.init.PluginDetector;
+import me.shedaniel.rei.plugin.client.forge.DefaultClientPluginImpl;
import me.shedaniel.rei.plugin.client.runtime.DefaultClientRuntimePlugin;
-import me.shedaniel.rei.plugin.common.DefaultPlugin;
+import me.shedaniel.rei.plugin.common.forge.DefaultPluginImpl;
import me.shedaniel.rei.plugin.common.runtime.DefaultRuntimePlugin;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@@ -41,7 +42,7 @@ import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import java.util.*;
import java.util.function.Supplier;
-public class PluginDetectorImpl {
+public class PluginDetectorImpl implements PluginDetector {
private static <P extends me.shedaniel.rei.api.common.plugins.REIPlugin<?>> REIPluginProvider<P> wrapPlugin(List<String> modId, REIPluginProvider<P> plugin) {
return new REIPluginProvider<P>() {
String nameSuffix = " [" + String.join(", ", modId) + "]";
@@ -71,8 +72,9 @@ public class PluginDetectorImpl {
return list;
});
- public static void detectServerPlugins() {
- PluginView.getServerInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new DefaultPlugin()));
+ @Override
+ public void detectServerPlugins() {
+ PluginView.getServerInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new DefaultPluginImpl()));
PluginView.getServerInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new DefaultRuntimePlugin()));
AnnotationUtils.<REIPlugin, REIServerPlugin>scanAnnotation(REIPlugin.class, REIServerPlugin.class::isAssignableFrom, (modId, plugin, clazz) -> {
((PluginView<REIServerPlugin>) PluginManager.getServerInstance()).registerPlugin(wrapPlugin(modId, plugin.get()));
@@ -89,7 +91,8 @@ public class PluginDetectorImpl {
}
}
- public static void detectCommonPlugins() {
+ @Override
+ public void detectCommonPlugins() {
EventBuses.registerModEventBus("roughlyenoughitems", FMLJavaModLoadingContext.get().getModEventBus());
AnnotationUtils.<REIPlugin, me.shedaniel.rei.api.common.plugins.REIPlugin<?>>scanAnnotation(REIPlugin.class, me.shedaniel.rei.api.common.plugins.REIPlugin.class::isAssignableFrom, (modId, plugin, clazz) -> {
((PluginView) PluginManager.getInstance()).registerPlugin(wrapPlugin(modId, plugin.get()));
@@ -97,21 +100,23 @@ public class PluginDetectorImpl {
}
@OnlyIn(Dist.CLIENT)
- public static void detectClientPlugins() {
- PluginView.getClientInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new DefaultClientPlugin()));
- PluginView.getClientInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new DefaultClientRuntimePlugin()));
- AnnotationUtils.<REIPlugin, REIClientPlugin>scanAnnotation(REIPlugin.class, REIClientPlugin.class::isAssignableFrom, (modId, plugin, clazz) -> {
- ((PluginView<REIClientPlugin>) PluginManager.getClientInstance()).registerPlugin(wrapPlugin(modId, plugin.get()));
- });
- for (Map.Entry<REIPluginProvider<me.shedaniel.rei.api.common.plugins.REIPlugin<?>>, List<String>> entry : loaderProvided.get()) {
- REIPluginProvider<me.shedaniel.rei.api.common.plugins.REIPlugin<?>> provider = entry.getKey();
- Collection<me.shedaniel.rei.api.common.plugins.REIPlugin<?>> objects = provider.provide();
- for (me.shedaniel.rei.api.common.plugins.REIPlugin<?> plugin : objects) {
- if (plugin instanceof REIClientPlugin) {
- ((PluginView<REIClientPlugin>) PluginManager.getClientInstance()).registerPlugin(wrapPlugin(entry.getValue(), (REIClientPlugin) plugin));
+ @Override
+ public Supplier<Runnable> detectClientPlugins() {
+ return () -> () -> {
+ PluginView.getClientInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new DefaultClientPluginImpl()));
+ PluginView.getClientInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new DefaultClientRuntimePlugin()));
+ AnnotationUtils.<REIPlugin, REIClientPlugin>scanAnnotation(REIPlugin.class, REIClientPlugin.class::isAssignableFrom, (modId, plugin, clazz) -> {
+ ((PluginView<REIClientPlugin>) PluginManager.getClientInstance()).registerPlugin(wrapPlugin(modId, plugin.get()));
+ });
+ for (Map.Entry<REIPluginProvider<me.shedaniel.rei.api.common.plugins.REIPlugin<?>>, List<String>> entry : loaderProvided.get()) {
+ REIPluginProvider<me.shedaniel.rei.api.common.plugins.REIPlugin<?>> provider = entry.getKey();
+ Collection<me.shedaniel.rei.api.common.plugins.REIPlugin<?>> objects = provider.provide();
+ for (me.shedaniel.rei.api.common.plugins.REIPlugin<?> plugin : objects) {
+ if (plugin instanceof REIClientPlugin) {
+ ((PluginView<REIClientPlugin>) PluginManager.getClientInstance()).registerPlugin(wrapPlugin(entry.getValue(), (REIClientPlugin) plugin));
+ }
}
}
- }
// ClientInternals.attachInstance((Supplier<List<String>>) () -> {
// List<String> modIds = new ArrayList<>();
// for (REIPluginProvider<REIClientPlugin> plugin : PluginManager.getClientInstance().getPluginProviders()) {
@@ -121,5 +126,6 @@ public class PluginDetectorImpl {
// }
// return modIds;
// }, "jeiCompatMods");
+ };
}
}
diff --git a/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsInitializerImpl.java b/forge/src/main/java/me/shedaniel/rei/forge/PrimitivePlatformAdapterImpl.java
index 76952dd4b..5553597c7 100644
--- a/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsInitializerImpl.java
+++ b/forge/src/main/java/me/shedaniel/rei/forge/PrimitivePlatformAdapterImpl.java
@@ -24,32 +24,38 @@
package me.shedaniel.rei.forge;
import me.shedaniel.rei.RoughlyEnoughItemsState;
+import me.shedaniel.rei.impl.init.PrimitivePlatformAdapter;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.loading.FMLEnvironment;
import net.minecraftforge.fml.loading.FMLLoader;
import org.apache.maven.artifact.versioning.ComparableVersion;
-public class RoughlyEnoughItemsInitializerImpl {
- public static boolean isClient() {
+public class PrimitivePlatformAdapterImpl implements PrimitivePlatformAdapter {
+ @Override
+ public boolean isClient() {
return FMLEnvironment.dist == Dist.CLIENT;
}
- public static void checkMods() {
+ @Override
+ public void checkMods() {
if (ModList.get().isLoaded("moreoverlays")) {
RoughlyEnoughItemsState.error("REI is not compatible with MoreOverlays, and actually contains Builtin Inventory Highlighting, other features can be installed via different mods!");
}
}
- public static boolean isDev() {
+ @Override
+ public boolean isDev() {
return !FMLLoader.isProduction();
}
- public static String getMinecraftVersion() {
+ @Override
+ public String getMinecraftVersion() {
return ModList.get().getModContainerById("minecraft").get().getModInfo().getVersion().toString();
}
- public static int compareVersions(String version1, String version2) {
+ @Override
+ public int compareVersions(String version1, String version2) {
ComparableVersion v1 = new ComparableVersion(version1);
ComparableVersion v2 = new ComparableVersion(version2);
diff --git a/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java b/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java
index 563f5f31a..961659619 100644
--- a/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java
+++ b/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java
@@ -23,7 +23,7 @@
package me.shedaniel.rei.forge;
-import me.shedaniel.rei.RoughlyEnoughItemsInitializer;
+import me.shedaniel.rei.impl.init.RoughlyEnoughItemsInitializer;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.data.loading.DatagenModLoader;
import net.minecraftforge.fml.DistExecutor;
diff --git a/forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplImpl.java b/forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplForge.java
index 259633e2d..7b9c52c40 100644
--- a/forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplImpl.java
+++ b/forge/src/main/java/me/shedaniel/rei/impl/client/gui/forge/ScreenOverlayImplForge.java
@@ -28,6 +28,7 @@ import me.shedaniel.rei.api.client.gui.widgets.Tooltip;
import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
import me.shedaniel.rei.api.common.util.CollectionUtils;
+import me.shedaniel.rei.impl.client.gui.ScreenOverlayImpl;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent;
import net.minecraft.network.chat.Component;
@@ -38,8 +39,9 @@ import net.minecraftforge.client.ForgeHooksClient;
import java.util.ArrayList;
import java.util.List;
-public class ScreenOverlayImplImpl {
- public static void renderTooltipInner(Screen screen, PoseStack matrices, Tooltip tooltip, int mouseX, int mouseY) {
+public class ScreenOverlayImplForge extends ScreenOverlayImpl {
+ @Override
+ public void renderTooltipInner(Screen screen, PoseStack matrices, Tooltip tooltip, int mouseX, int mouseY) {
matrices.pushPose();
EntryStack<?> stack = tooltip.getContextStack();
ItemStack itemStack = stack.getType() == VanillaEntryTypes.ITEM ? stack.castValue() : ItemStack.EMPTY;
diff --git a/forge/src/main/java/me/shedaniel/rei/mixin/forge/MixinTagLoader.java b/forge/src/main/java/me/shedaniel/rei/mixin/forge/MixinTagLoader.java
index cb622841e..b48ddc175 100644
--- a/forge/src/main/java/me/shedaniel/rei/mixin/forge/MixinTagLoader.java
+++ b/forge/src/main/java/me/shedaniel/rei/mixin/forge/MixinTagLoader.java
@@ -28,8 +28,8 @@ import com.mojang.datafixers.util.Either;
import it.unimi.dsi.fastutil.ints.IntArrayList;
import it.unimi.dsi.fastutil.ints.IntList;
import it.unimi.dsi.fastutil.objects.Reference2ObjectMaps;
-import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.common.util.CollectionUtils;
+import me.shedaniel.rei.impl.common.InternalLogger;
import me.shedaniel.rei.plugin.common.displays.tag.TagNodes;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceKey;
@@ -96,7 +96,7 @@ public class MixinTagLoader<T> {
}
}
- RoughlyEnoughItemsCore.LOGGER.info("Processed %d tags in %s for %s", tagDataMap.size(), stopwatch.stop(), resourceKey.location());
+ InternalLogger.getInstance().debug("Processed %d tags in %s for %s", tagDataMap.size(), stopwatch.stop(), resourceKey.location());
}
@Inject(method = "build(Lnet/minecraft/tags/TagEntry$Lookup;Ljava/util/List;)Lcom/mojang/datafixers/util/Either;", at = @At("RETURN"))
diff --git a/forge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java b/forge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java
index 23aac8d92..81f5ff7e5 100644
--- a/forge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java
+++ b/forge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java
@@ -26,6 +26,7 @@ package me.shedaniel.rei.plugin.client.forge;
import com.google.common.collect.Sets;
import me.shedaniel.rei.api.client.registry.display.DisplayRegistry;
import me.shedaniel.rei.plugin.client.BuiltinClientPlugin;
+import me.shedaniel.rei.plugin.client.DefaultClientPlugin;
import net.minecraft.core.Holder;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
@@ -41,8 +42,9 @@ import net.minecraftforge.common.brewing.VanillaBrewingRecipe;
import java.util.Arrays;
import java.util.Set;
-public class DefaultClientPluginImpl {
- public static void registerForgePotions(DisplayRegistry registry, BuiltinClientPlugin clientPlugin) {
+public class DefaultClientPluginImpl extends DefaultClientPlugin {
+ @Override
+ public void registerForgePotions(DisplayRegistry registry, BuiltinClientPlugin clientPlugin) {
for (IBrewingRecipe recipe : BrewingRecipeRegistry.getRecipes()) {
if (recipe instanceof VanillaBrewingRecipe) {
registerVanillaPotions(registry, clientPlugin);
diff --git a/forge/src/main/java/me/shedaniel/rei/plugin/common/forge/DefaultPluginImpl.java b/forge/src/main/java/me/shedaniel/rei/plugin/common/forge/DefaultPluginImpl.java
index e2ee44500..687d4689c 100644
--- a/forge/src/main/java/me/shedaniel/rei/plugin/common/forge/DefaultPluginImpl.java
+++ b/forge/src/main/java/me/shedaniel/rei/plugin/common/forge/DefaultPluginImpl.java
@@ -28,6 +28,7 @@ import dev.architectury.event.CompoundEventResult;
import dev.architectury.hooks.fluid.forge.FluidStackHooksForge;
import me.shedaniel.rei.api.common.fluid.FluidSupportProvider;
import me.shedaniel.rei.api.common.util.EntryStacks;
+import me.shedaniel.rei.plugin.common.DefaultPlugin;
import net.minecraft.world.item.BucketItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.material.Fluid;
@@ -38,8 +39,10 @@ import net.minecraftforge.fluids.capability.IFluidHandlerItem;
import java.util.stream.IntStream;
-public class DefaultPluginImpl {
- public static void registerForgeFluidSupport(FluidSupportProvider support) {
+public class DefaultPluginImpl extends DefaultPlugin {
+ @Override
+ public void registerFluidSupport(FluidSupportProvider support) {
+ super.registerFluidSupport(support);
support.register(stack -> {
ItemStack itemStack = stack.getValue();
LazyOptional<IFluidHandlerItem> handlerOptional = FluidUtil.getFluidHandler(itemStack);
@@ -57,8 +60,4 @@ public class DefaultPluginImpl {
return CompoundEventResult.pass();
});
}
-
- public static Fluid getFluidFromBucket(BucketItem item) {
- return item.getFluid();
- }
}