diff options
3 files changed, 20 insertions, 1 deletions
diff --git a/fabric/src/main/java/me/shedaniel/rei/fabric/RoughlyEnoughItemsInitializerImpl.java b/fabric/src/main/java/me/shedaniel/rei/fabric/RoughlyEnoughItemsInitializerImpl.java index 391b8ce9e..566b52c22 100644 --- a/fabric/src/main/java/me/shedaniel/rei/fabric/RoughlyEnoughItemsInitializerImpl.java +++ b/fabric/src/main/java/me/shedaniel/rei/fabric/RoughlyEnoughItemsInitializerImpl.java @@ -81,4 +81,8 @@ public class RoughlyEnoughItemsInitializerImpl { public static boolean isDev() { return FabricLoader.getInstance().isDevelopmentEnvironment(); } + + public static String getMinecraftVersion() { + return FabricLoader.getInstance().getModContainer("minecraft").get().getMetadata().getVersion().getFriendlyString(); + } } diff --git a/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsInitializerImpl.java b/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsInitializerImpl.java index 25d7c82d2..54ed0c55f 100644 --- a/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsInitializerImpl.java +++ b/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsInitializerImpl.java @@ -43,4 +43,8 @@ public class RoughlyEnoughItemsInitializerImpl { public static boolean isDev() { return !FMLLoader.isProduction(); } + + public static String getMinecraftVersion() { + return ModList.get().getModContainerById("minecraft").get().getModInfo().getVersion().toString(); + } } diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInitializer.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInitializer.java index 97f53c08d..5b56c0739 100644 --- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInitializer.java +++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsInitializer.java @@ -27,13 +27,19 @@ import dev.architectury.injectables.annotations.ExpectPlatform; import net.fabricmc.api.EnvType; import java.lang.invoke.MethodHandles; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class RoughlyEnoughItemsInitializer { + public static final String COMPATIBLE_MC_VERSION = "1.18"; + public static void onInitialize() { RoughlyEnoughItemsState.env = isClient() ? EnvType.CLIENT : EnvType.SERVER; RoughlyEnoughItemsState.isDev = isDev(); + + if (getMinecraftVersion().startsWith("1.") && !getMinecraftVersion().startsWith(COMPATIBLE_MC_VERSION)) { + RoughlyEnoughItemsState.error("Your current REI version (for " + COMPATIBLE_MC_VERSION + ") is not compatible with your current Minecraft version (" + getMinecraftVersion() + ")."); + } + checkMods(); if (RoughlyEnoughItemsState.getErrors().isEmpty()) { @@ -95,4 +101,9 @@ public class RoughlyEnoughItemsInitializer { public static void checkMods() { throw new AssertionError(); } + + @ExpectPlatform + public static String getMinecraftVersion() { + throw new AssertionError(); + } }
\ No newline at end of file |
