diff options
| author | shedaniel <daniel@shedaniel.me> | 2021-10-21 23:36:28 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2021-10-22 01:41:20 +0800 |
| commit | 62045c9cc0416557e6b57b6f4101b98a0da02dde (patch) | |
| tree | 7361edee07b0fae370b0006de5c5e2b219a67408 /forge | |
| parent | 843a29c5fcf8d20f7073438d9fbed7039dead719 (diff) | |
| download | RoughlyEnoughItems-62045c9cc0416557e6b57b6f4101b98a0da02dde.tar.gz RoughlyEnoughItems-62045c9cc0416557e6b57b6f4101b98a0da02dde.tar.bz2 RoughlyEnoughItems-62045c9cc0416557e6b57b6f4101b98a0da02dde.zip | |
Fix most of the issues in #643
Diffstat (limited to 'forge')
4 files changed, 28 insertions, 3 deletions
diff --git a/forge/build.gradle b/forge/build.gradle index 02ed1e9ef..251f6fd54 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -90,6 +90,7 @@ dependencies { // modRuntime("curse.maven:cucumber-272335:3349690") // modRuntime("curse.maven:crafttweaker-239197:3494644") // modRuntime("curse.maven:jeitweaker-368718:3468722") + modRuntime("curse.maven:eidolon-429625:3157832") } shadowJar { 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 db5da78bd..dc9dc0175 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); + } + } } } |
