diff --git a/gradle.properties b/gradle.properties index 047362f..f559447 100755 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ org.gradle.jvmargs=-Xmx1G loader_version=0.14.6 # Mod Properties - mod_version = 0.5.1 + mod_version = 0.5.2 maven_group = eu.midnightdust archives_base_name = midnightlib diff --git a/src/main/java/eu/midnightdust/core/MidnightLibClient.java b/src/main/java/eu/midnightdust/core/MidnightLibClient.java index 3027f3d..5381cc0 100755 --- a/src/main/java/eu/midnightdust/core/MidnightLibClient.java +++ b/src/main/java/eu/midnightdust/core/MidnightLibClient.java @@ -3,21 +3,24 @@ package eu.midnightdust.core; import eu.midnightdust.core.config.MidnightLibConfig; import eu.midnightdust.hats.web.HatLoader; import eu.midnightdust.hats.witch.WitchHatFeatureRenderer; -import eu.midnightdust.lib.config.AutoModMenu; import eu.midnightdust.lib.config.MidnightConfig; import eu.midnightdust.lib.util.MidnightColorUtil; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry; +import java.util.ArrayList; +import java.util.List; + public class MidnightLibClient implements ClientModInitializer { + public static List hiddenMods = new ArrayList<>(); public static final String MOD_ID = "midnightlib"; @Override public void onInitializeClient() { MidnightConfig.init("midnightlib", MidnightLibConfig.class); - AutoModMenu.hideFromModMenu("puzzle"); + hiddenMods.add("puzzle"); EntityModelLayerRegistry.registerModelLayer(WitchHatFeatureRenderer.WITCH_HAT_MODEL_LAYER, WitchHatFeatureRenderer::getTexturedModelData); if (MidnightLibConfig.special_hats) HatLoader.init(); diff --git a/src/main/java/eu/midnightdust/core/MidnightLibServer.java b/src/main/java/eu/midnightdust/core/MidnightLibServer.java index 102720d..36d0978 100755 --- a/src/main/java/eu/midnightdust/core/MidnightLibServer.java +++ b/src/main/java/eu/midnightdust/core/MidnightLibServer.java @@ -1,5 +1,6 @@ package eu.midnightdust.core; +import eu.midnightdust.core.config.MidnightLibConfig; import eu.midnightdust.lib.config.AutoCommand; import eu.midnightdust.lib.config.MidnightConfig; import net.fabricmc.api.DedicatedServerModInitializer; @@ -11,9 +12,11 @@ public class MidnightLibServer implements DedicatedServerModInitializer { @Override public void onInitializeServer() { MidnightConfig.configClass.forEach((modid, config) -> { - for (Field field : config.getFields()) { - if (field.isAnnotationPresent(MidnightConfig.Entry.class) && !field.isAnnotationPresent(MidnightConfig.Client.class)) - new AutoCommand(field, modid).register(); + if (!MidnightLibClient.hiddenMods.contains(modid)) { + for (Field field : config.getFields()) { + if (field.isAnnotationPresent(MidnightConfig.Entry.class) && !field.isAnnotationPresent(MidnightConfig.Client.class)) + new AutoCommand(field, modid).register(); + } } }); } diff --git a/src/main/java/eu/midnightdust/core/screen/MidnightConfigOverviewScreen.java b/src/main/java/eu/midnightdust/core/screen/MidnightConfigOverviewScreen.java index 38c124c..8af1ec8 100755 --- a/src/main/java/eu/midnightdust/core/screen/MidnightConfigOverviewScreen.java +++ b/src/main/java/eu/midnightdust/core/screen/MidnightConfigOverviewScreen.java @@ -1,5 +1,7 @@ package eu.midnightdust.core.screen; +import eu.midnightdust.core.MidnightLibClient; +import eu.midnightdust.core.config.MidnightLibConfig; import eu.midnightdust.lib.config.MidnightConfig; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; @@ -31,9 +33,12 @@ public class MidnightConfigOverviewScreen extends Screen { this.list = new MidnightOverviewListWidget(this.client, this.width, this.height, 32, this.height - 32, 25); if (this.client != null && this.client.world != null) this.list.setRenderBackground(false); this.addSelectableChild(this.list); - MidnightConfig.configClass.forEach((modid, configClass) -> + MidnightConfig.configClass.forEach((modid, configClass) -> { + if (!MidnightLibClient.hiddenMods.contains(modid)) { list.addButton(new ButtonWidget(this.width / 2 - 100, this.height - 28, 200, 20, Text.translatable(modid +".midnightconfig.title"), (button) -> - Objects.requireNonNull(client).setScreen(MidnightConfig.getScreen(this,modid))))); + Objects.requireNonNull(client).setScreen(MidnightConfig.getScreen(this,modid)))); + } + }); super.init(); } @Override diff --git a/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java b/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java index 92a9cec..0435997 100755 --- a/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java +++ b/src/main/java/eu/midnightdust/lib/config/AutoModMenu.java @@ -2,15 +2,13 @@ package eu.midnightdust.lib.config; import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; +import eu.midnightdust.core.MidnightLibClient; import eu.midnightdust.core.config.MidnightLibConfig; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; public class AutoModMenu implements ModMenuApi { - protected static List hiddenMods = new ArrayList<>(); @Override public ConfigScreenFactory getModConfigScreenFactory() { @@ -21,13 +19,10 @@ public class AutoModMenu implements ModMenuApi { public Map> getProvidedConfigScreenFactories() { HashMap> map = new HashMap<>(); MidnightConfig.configClass.forEach((modid, cClass) -> { - if (!hiddenMods.contains(modid)) + if (!MidnightLibClient.hiddenMods.contains(modid)) map.put(modid, parent -> MidnightConfig.getScreen(parent, modid)); } ); return map; } - public static void hideFromModMenu(String hiddenMod) { - hiddenMods.add(hiddenMod); - } } \ No newline at end of file