diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-10-21 23:36:28 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-10-21 23:36:28 +0800 |
| commit | d18620eadb0c6201ba8e99711036bc102960cd14 (patch) | |
| tree | 52ef9fe2af23a5f52d7fcf428be985cf254f2554 /forge/src/main | |
| parent | a2cbe3b62c01088edd7427ff75886d6996c85404 (diff) | |
| download | RoughlyEnoughItems-d18620eadb0c6201ba8e99711036bc102960cd14.tar.gz RoughlyEnoughItems-d18620eadb0c6201ba8e99711036bc102960cd14.tar.bz2 RoughlyEnoughItems-d18620eadb0c6201ba8e99711036bc102960cd14.zip | |
Fix most of the issues in #643
Diffstat (limited to 'forge/src/main')
3 files changed, 27 insertions, 3 deletions
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 61593fd84..29b712b6a 100644 --- a/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java +++ b/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java @@ -38,7 +38,6 @@ import org.apache.logging.log4j.Logger; import org.jetbrains.annotations.ApiStatus; import org.objectweb.asm.Type; -import java.lang.reflect.InvocationTargetException; import java.util.List; import java.util.function.BiConsumer; import java.util.function.Predicate; 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 6baa7fd5c..868b10af5 100644 --- a/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsInitializerImpl.java +++ b/forge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsInitializerImpl.java @@ -23,7 +23,9 @@ package me.shedaniel.rei.forge; +import me.shedaniel.rei.RoughlyEnoughItemsState; import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.fml.ModList; import net.minecraftforge.fml.loading.FMLEnvironment; import net.minecraftforge.fml.loading.FMLLoader; @@ -33,6 +35,9 @@ public class RoughlyEnoughItemsInitializerImpl { } public static 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() { diff --git a/forge/src/main/java/me/shedaniel/rei/impl/client/forge/ErrorDisplayerImpl.java b/forge/src/main/java/me/shedaniel/rei/impl/client/forge/ErrorDisplayerImpl.java index 5186c7884..0af11b1c0 100644 --- a/forge/src/main/java/me/shedaniel/rei/impl/client/forge/ErrorDisplayerImpl.java +++ b/forge/src/main/java/me/shedaniel/rei/impl/client/forge/ErrorDisplayerImpl.java @@ -24,10 +24,30 @@ package me.shedaniel.rei.impl.client.forge; import net.minecraft.client.gui.screens.Screen; +import net.minecraftforge.client.event.GuiOpenEvent; +import net.minecraftforge.common.MinecraftForge; -import java.util.function.Consumer; +import java.util.ArrayList; +import java.util.List; +import java.util.function.UnaryOperator; public class ErrorDisplayerImpl { - public static void registerGuiInit(Consumer<Screen> consumer) { + private static final List<UnaryOperator<Screen>> CONSUMERS = new ArrayList<>(); + + static { + MinecraftForge.EVENT_BUS.addListener(ErrorDisplayerImpl::onGuiOpen); + } + + public static void registerGuiInit(UnaryOperator<Screen> consumer) { + CONSUMERS.add(consumer); + } + + public static void onGuiOpen(GuiOpenEvent event) { + for (UnaryOperator<Screen> consumer : CONSUMERS) { + Screen screen = consumer.apply(event.getGui()); + if (screen != null) { + event.setGui(screen); + } + } } } |
