diff --git a/xplat/src/main/java/dev/emi/emi/screen/EmiScreenManager.java b/xplat/src/main/java/dev/emi/emi/screen/EmiScreenManager.java index 2a942e9a..7f815532 100644 --- a/xplat/src/main/java/dev/emi/emi/screen/EmiScreenManager.java +++ b/xplat/src/main/java/dev/emi/emi/screen/EmiScreenManager.java @@ -7,6 +7,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import dev.emi.emi.config.CheatMode; import net.minecraft.command.argument.ItemStackArgument; import net.minecraft.component.ComponentChanges; import org.jetbrains.annotations.Nullable; @@ -124,9 +125,17 @@ public class EmiScreenManager { private static double scrollAcc = 0; public static EmiSearchWidget search = new EmiSearchWidget(client.textRenderer, 0, 0, 160, 18); - public static SizedButtonWidget emi = new SizedButtonWidget(0, 0, 20, 20, 204, 0, - () -> true, (w) -> client.setScreen(new ConfigScreen(client.currentScreen)), - List.of(EmiPort.translatable("tooltip.emi.config", EmiRenderHelper.getEmiText()))); + public static SizedButtonWidget emi = new SizedButtonWidget(0, 0, 20, 20, 204, 0, () -> true, (w) -> { + if(Screen.hasControlDown()) { + if(EmiApi.isCheatMode()) { + EmiConfig.cheatMode = CheatMode.FALSE; + } else { + EmiConfig.cheatMode = CheatMode.TRUE; + } + } else { + client.setScreen(new ConfigScreen(client.currentScreen)); + } + }, List.of(EmiPort.translatable("tooltip.emi.config", EmiRenderHelper.getEmiText()))); public static SizedButtonWidget tree = new SizedButtonWidget(0, 0, 20, 20, 184, 0, () -> true, (w) -> EmiApi.viewRecipeTree(), List.of(EmiPort.translatable("tooltip.emi.recipe_tree"))); @@ -868,7 +877,7 @@ private static void renderSlotOverlays(EmiDrawContext context, int mouseX, int m for (EmiFavorite.Synthetic fav : syntheticFavorites) { synfavs.addAll(fav.getEmiStacks()); } - + try { HandledScreen hs = EmiApi.getHandledScreen(); for (EmiRecipeHandler handler : EmiRecipeFiller.getAllHandlers(hs)) {