diff --git a/build.gradle b/build.gradle index 1b828cfb..daf74546 100644 --- a/build.gradle +++ b/build.gradle @@ -40,7 +40,7 @@ repositories { } dependencies { - deobfCompile "mezz.jei:jei_1.8.8:2.1.0.8" + deobfCompile "mezz.jei:jei_1.8.8:2.1.2.10" } minecraft { diff --git a/src/main/java/WayofTime/bloodmagic/ConfigHandler.java b/src/main/java/WayofTime/bloodmagic/ConfigHandler.java index 59030d24..056c80c9 100644 --- a/src/main/java/WayofTime/bloodmagic/ConfigHandler.java +++ b/src/main/java/WayofTime/bloodmagic/ConfigHandler.java @@ -87,6 +87,9 @@ public class ConfigHandler { public static boolean vanillaPotionHealthBoostEnabled; public static boolean vanillaPotionAbsorptionEnabled; + // Compat + public static boolean compatibilityJustEnoughItems; + public static void init(File file) { config = new Configuration(file); syncConfig(); @@ -171,6 +174,10 @@ public class ConfigHandler { config.addCustomCategoryComment(category, "General settings"); BloodMagicAPI.setLoggingEnabled(config.getBoolean("enableLogging", category, true, "Allows logging information to the console. Fatal errors will bypass this")); + category = "Compatibility"; + config.addCustomCategoryComment(category, "Compatibility settings"); + compatibilityJustEnoughItems = config.getBoolean("compatibilityJustEnoughItems", category, true, "Enables the JEI recipe categories for specialized recipes."); + config.save(); } diff --git a/src/main/java/WayofTime/bloodmagic/compat/ICompatibility.java b/src/main/java/WayofTime/bloodmagic/compat/ICompatibility.java index ebdb2ac5..4b7ce66f 100644 --- a/src/main/java/WayofTime/bloodmagic/compat/ICompatibility.java +++ b/src/main/java/WayofTime/bloodmagic/compat/ICompatibility.java @@ -14,4 +14,11 @@ public interface ICompatibility { * The {@code modid} of the mod we are adding compatibility for. */ String getModId(); + + /** + * Whether or not compatibility should be loaded even if the mod were to be found. + * + * Generally a determined by a config option. + */ + boolean enableCompat(); } diff --git a/src/main/java/WayofTime/bloodmagic/compat/jei/CompatibilityJustEnoughItems.java b/src/main/java/WayofTime/bloodmagic/compat/jei/CompatibilityJustEnoughItems.java index ac7ec53a..e0b0d76d 100644 --- a/src/main/java/WayofTime/bloodmagic/compat/jei/CompatibilityJustEnoughItems.java +++ b/src/main/java/WayofTime/bloodmagic/compat/jei/CompatibilityJustEnoughItems.java @@ -1,5 +1,6 @@ package WayofTime.bloodmagic.compat.jei; +import WayofTime.bloodmagic.ConfigHandler; import WayofTime.bloodmagic.compat.ICompatibility; import mezz.jei.api.JEIManager; @@ -14,4 +15,9 @@ public class CompatibilityJustEnoughItems implements ICompatibility { public String getModId() { return "JEI"; } + + @Override + public boolean enableCompat() { + return ConfigHandler.compatibilityJustEnoughItems; + } } diff --git a/src/main/java/WayofTime/bloodmagic/registry/ModCompatibility.java b/src/main/java/WayofTime/bloodmagic/registry/ModCompatibility.java index 8962f7a9..2c1e3a1a 100644 --- a/src/main/java/WayofTime/bloodmagic/registry/ModCompatibility.java +++ b/src/main/java/WayofTime/bloodmagic/registry/ModCompatibility.java @@ -14,7 +14,7 @@ public class ModCompatibility { compatibilities.add(new CompatibilityJustEnoughItems()); for (ICompatibility compat : compatibilities) { - if (Loader.isModLoaded(compat.getModId())) + if (compat.enableCompat() && Loader.isModLoaded(compat.getModId())) compat.loadCompatibility(); } }