diff options
Diffstat (limited to 'forge/src/main/java')
| -rw-r--r-- | forge/src/main/java/me/shedaniel/rei/forge/AnnotationUtils.java | 4 | ||||
| -rw-r--r-- | forge/src/main/java/me/shedaniel/rei/forge/PluginDetectorImpl.java | 31 | ||||
| -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.java | 2 | ||||
| -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/plugin/client/forge/DefaultClientPluginImpl.java | 7 | ||||
| -rw-r--r-- | forge/src/main/java/me/shedaniel/rei/plugin/common/forge/DefaultPluginImpl.java | 11 |
7 files changed, 48 insertions, 31 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 0f0e404d2..7030238de 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; @@ -84,7 +84,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 88208bfdf..fc0731a88 100644 --- a/forge/src/main/java/me/shedaniel/rei/forge/PluginDetectorImpl.java +++ b/forge/src/main/java/me/shedaniel/rei/forge/PluginDetectorImpl.java @@ -34,8 +34,10 @@ import me.shedaniel.rei.jeicompat.JEIExtraClientPlugin; import me.shedaniel.rei.jeicompat.JEIExtraPlugin; import me.shedaniel.rei.jeicompat.JEIPluginDetector; 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; @@ -48,7 +50,7 @@ import java.util.Collections; import java.util.List; 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) + "]"; @@ -70,8 +72,9 @@ public class PluginDetectorImpl { }; } - 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())); PluginView.getServerInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new JEIExtraPlugin())); AnnotationUtils.<REIPlugin, REIServerPlugin>scanAnnotation(REIPlugin.class, REIServerPlugin.class::isAssignableFrom, (modId, plugin, clazz) -> { @@ -79,7 +82,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())); @@ -87,23 +91,26 @@ 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())); + @Override + public Supplier<Runnable> detectClientPlugins() { + return () -> () -> { + PluginView.getClientInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new DefaultClientPluginImpl())); + PluginView.getClientInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new DefaultClientRuntimePlugin())); PluginView.getClientInstance().registerPlugin(wrapPlugin(Collections.singletonList("roughlyenoughitems"), new JEIExtraClientPlugin())); - AnnotationUtils.<REIPlugin, REIClientPlugin>scanAnnotation(REIPlugin.class, REIClientPlugin.class::isAssignableFrom, (modId, plugin, clazz) -> { - ((PluginView<REIClientPlugin>) PluginManager.getClientInstance()).registerPlugin(wrapPlugin(modId, plugin.get())); - }); + AnnotationUtils.<REIPlugin, REIClientPlugin>scanAnnotation(REIPlugin.class, REIClientPlugin.class::isAssignableFrom, (modId, plugin, clazz) -> { + ((PluginView<REIClientPlugin>) PluginManager.getClientInstance()).registerPlugin(wrapPlugin(modId, plugin.get())); + }); ClientInternals.attachInstance((Supplier<List<String>>) () -> { List<String> modIds = new ArrayList<>(); for (REIPluginProvider<REIClientPlugin> plugin : PluginManager.getClientInstance().getPluginProviders()) { if (plugin instanceof JEIPluginDetector.JEIPluginProvider) { modIds.addAll(((JEIPluginDetector.JEIPluginProvider) plugin).modIds); + } } - } return modIds; }, "jeiCompatMods"); JEIPluginDetector.detect((aClass, consumer) -> AnnotationUtils.scanAnnotation((Class<Object>) aClass, c -> true, (TriConsumer<List<String>, Supplier<Object>, Class<Object>>) (TriConsumer) consumer), PluginView.getClientInstance()::registerPlugin); + }; } } 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 393137151..e18ba2e23 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/plugin/client/forge/DefaultClientPluginImpl.java b/forge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java index 6d69f9068..3977246b6 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,8 @@ 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; import net.minecraft.world.item.alchemy.Potion; @@ -41,8 +43,9 @@ import net.minecraftforge.registries.IRegistryDelegate; 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(); - } } |
