From 5ef681693e83ed10629e5ee80ad22d470378804b Mon Sep 17 00:00:00 2001 From: Motschen Date: Mon, 6 Jun 2022 17:57:05 +0200 Subject: [PATCH] MidnightLib 0.4.2 - Add opt-out from AutoModMenu --- gradle.properties | 2 +- .../midnightdust/core/mixin/MixinOptionsScreen.java | 4 ++-- .../java/eu/midnightdust/lib/config/AutoModMenu.java | 12 +++++++++++- .../eu/midnightdust/lib/config/MidnightConfig.java | 2 +- src/main/resources/fabric.mod.json | 2 +- ...nightcore.mixins.json => midnightlib.mixins.json} | 0 6 files changed, 16 insertions(+), 6 deletions(-) rename src/main/resources/{midnightcore.mixins.json => midnightlib.mixins.json} (100%) diff --git a/gradle.properties b/gradle.properties index 707136b..38301a5 100755 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.11.7 # Mod Properties - mod_version = 0.4.0 + mod_version = 0.4.2 maven_group = eu.midnightdust archives_base_name = midnightlib diff --git a/src/main/java/eu/midnightdust/core/mixin/MixinOptionsScreen.java b/src/main/java/eu/midnightdust/core/mixin/MixinOptionsScreen.java index 687a2e6..00542a6 100755 --- a/src/main/java/eu/midnightdust/core/mixin/MixinOptionsScreen.java +++ b/src/main/java/eu/midnightdust/core/mixin/MixinOptionsScreen.java @@ -25,7 +25,7 @@ public class MixinOptionsScreen extends Screen { @Inject(at = @At("HEAD"),method = "init") private void midnightlib$init(CallbackInfo ci) { - if (MidnightLibConfig.config_screen_list.equals(MidnightLibConfig.ConfigButton.TRUE) || MidnightLibConfig.config_screen_list.equals(MidnightLibConfig.ConfigButton.MODMENU) && FabricLoader.getInstance().isModLoaded("modmenu")) - this.addDrawableChild(new TexturedOverlayButtonWidget(this.width / 2 + 158, this.height / 6 - 12, 20, 20, 0, 0, 20, MIDNIGHTLIB_ICON_TEXTURE, 32, 64, (buttonWidget) -> Objects.requireNonNull(client).setScreen(new MidnightConfigOverviewScreen(this)), new TranslatableText("midnightlib.overview.title"))); + if (MidnightLibConfig.config_screen_list.equals(MidnightLibConfig.ConfigButton.TRUE) || (MidnightLibConfig.config_screen_list.equals(MidnightLibConfig.ConfigButton.MODMENU) && !FabricLoader.getInstance().isModLoaded("modmenu"))) + this.addDrawableChild(new TexturedOverlayButtonWidget(this.width / 2 + 158, this.height / 6 - 12, 20, 20, 0, 0, 20, MIDNIGHTLIB_ICON_TEXTURE, 32, 64, (buttonWidget) -> Objects.requireNonNull(client).setScreen(new MidnightConfigOverviewScreen(this)), new TranslatableText("midnightlib.overview.title"))); } } diff --git a/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java b/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java index ab576cc..ef2a1af 100755 --- a/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java +++ b/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java @@ -5,9 +5,12 @@ import com.terraformersmc.modmenu.api.ModMenuApi; import eu.midnightdust.core.config.MidnightLibConfig; import java.util.HashMap; +import java.util.List; import java.util.Map; public class AutoModMenu implements ModMenuApi { + protected static List hiddenMods = List.of(); + @Override public ConfigScreenFactory getModConfigScreenFactory() { return parent -> MidnightLibConfig.getScreen(parent,"midnightlib"); @@ -16,7 +19,14 @@ public class AutoModMenu implements ModMenuApi { @Override public Map> getProvidedConfigScreenFactories() { HashMap> map = new HashMap<>(); - MidnightConfig.configClass.forEach((modid, cClass) -> map.put(modid, parent -> MidnightConfig.getScreen(parent, modid))); + MidnightConfig.configClass.forEach((modid, cClass) -> { + if (!hiddenMods.contains(modid)) + map.put(modid, parent -> MidnightConfig.getScreen(parent, modid)); + } + ); return map; } + public static void hideFromModMenu(String hiddenMod) { + hiddenMods.add(hiddenMod); + } } diff --git a/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java b/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java index 1faab89..ceb3f64 100755 --- a/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java +++ b/src/main/java/eu/midnightdust/lib/config/MidnightConfig.java @@ -379,7 +379,7 @@ public abstract class MidnightConfig { public void render(MatrixStack matrices, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta) { buttons.forEach(b -> { b.y = y; b.render(matrices, mouseX, mouseY, tickDelta); }); if (text != null && (!text.getString().contains("spacer") || !buttons.isEmpty())) - DrawableHelper.drawTextWithShadow(matrices,textRenderer, text,12,y+5,0xFFFFFF); + DrawableHelper.drawTextWithShadow(matrices,textRenderer, text,12,y+5,0xFFFFFF); } public List children() {return children;} public List selectableChildren() {return children;} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 6219587..cfb8b8e 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -32,7 +32,7 @@ }, "mixins": [ - "midnightcore.mixins.json" + "midnightlib.mixins.json" ], "depends": { diff --git a/src/main/resources/midnightcore.mixins.json b/src/main/resources/midnightlib.mixins.json similarity index 100% rename from src/main/resources/midnightcore.mixins.json rename to src/main/resources/midnightlib.mixins.json