From 7b31427c077b862e474621f8a176085cfdab7aeb Mon Sep 17 00:00:00 2001 From: MoSadie Date: Sun, 22 Feb 2026 19:35:36 -0800 Subject: [PATCH 1/2] Update Mod Name --- .github/workflows/build.yml | 2 +- README.md | 10 ++--- build.gradle | 3 +- gradle.properties | 2 +- .../7955b7db2470027ab5a3117dfaf8494ab0593d2f | 2 + .../f0dd3cbca1c68b4679a5d395aa3aad3bc9c2b1a5 | 2 - .../generated/assets/smm-lib/lang/en_us.json | 10 ++--- .../api/MenuTheme.java | 4 +- .../api/NormalTheme.java | 4 +- .../api/Util.java | 15 ++++--- .../client/SimpleMainMenuLibClient.java} | 40 +++++++++---------- .../client/SimpleMainMenuLibConfig.java} | 6 +-- .../SimpleMainMenuLibModMenuIntegration.java} | 6 +-- .../data/SimpleMainMenuLibDataGen.java} | 6 +-- .../SimpleMainMenuLibEnLangProvider.java} | 8 ++-- .../mixin/IdentifierMixin.java | 6 +-- .../mixin/TitleScreenInvoker.java | 2 +- .../mixin/TitleScreenMixin.java | 24 +++++------ src/main/resources/fabric.mod.json | 14 +++---- ...ns.json => simplemainmenu-lib.mixins.json} | 2 +- 20 files changed, 82 insertions(+), 86 deletions(-) create mode 100644 src/main/generated/.cache/7955b7db2470027ab5a3117dfaf8494ab0593d2f delete mode 100644 src/main/generated/.cache/f0dd3cbca1c68b4679a5d395aa3aad3bc9c2b1a5 rename src/main/java/com/mosadie/{servermainmenu => simplemainmenu}/api/MenuTheme.java (82%) rename src/main/java/com/mosadie/{servermainmenu => simplemainmenu}/api/NormalTheme.java (94%) rename src/main/java/com/mosadie/{servermainmenu => simplemainmenu}/api/Util.java (91%) rename src/main/java/com/mosadie/{servermainmenu/client/ServerMainMenuLibClient.java => simplemainmenu/client/SimpleMainMenuLibClient.java} (77%) rename src/main/java/com/mosadie/{servermainmenu/client/ServerMainMenuLibConfig.java => simplemainmenu/client/SimpleMainMenuLibConfig.java} (91%) rename src/main/java/com/mosadie/{servermainmenu/client/ServerMainMenuLibModMenuIntegration.java => simplemainmenu/client/SimpleMainMenuLibModMenuIntegration.java} (63%) rename src/main/java/com/mosadie/{servermainmenu/client/data/ServerMainMenuLibDataGen.java => simplemainmenu/client/data/SimpleMainMenuLibDataGen.java} (64%) rename src/main/java/com/mosadie/{servermainmenu/client/data/ServerMainMenuLibEnLangProvider.java => simplemainmenu/client/data/SimpleMainMenuLibEnLangProvider.java} (94%) rename src/main/java/com/mosadie/{servermainmenu => simplemainmenu}/mixin/IdentifierMixin.java (86%) rename src/main/java/com/mosadie/{servermainmenu => simplemainmenu}/mixin/TitleScreenInvoker.java (88%) rename src/main/java/com/mosadie/{servermainmenu => simplemainmenu}/mixin/TitleScreenMixin.java (87%) rename src/main/resources/{servermainmenu-lib.mixins.json => simplemainmenu-lib.mixins.json} (82%) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 30ae779..19434cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,5 +24,5 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: ServerMainMenu-Lib Jar + name: SimpleMainMenu-Lib Jar path: build/libs/*.jar \ No newline at end of file diff --git a/README.md b/README.md index cf18f2e..74a3621 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# ServerMainMenu-Lib +# SimpleMainMenu-Lib -Provides an easy-to-use system for customizing the main menu around a server. +Provides an easy-to-use system for customizing the main menu around a server or other simple menu theme. -To get started using the library, check out the [Getting Started Guide](https://github.com/MoSadie/ServerMainMenu-Lib/wiki/Getting-Started)! +To get started using the library, check out the [Getting Started Guide](https://github.com/MoSadie/SimpleMainMenu-Lib/wiki/Getting-Started)! ## Features: @@ -16,7 +16,7 @@ Supports adding one or more panoramas to the main menu. There are pre-made optio ### Quick-join button -One-click button to automatically connect to a specified server. +One-click button to automatically connect to a specified server. (Or world, or whatever you want to code! There's easy pre-made options for most uses!) ### Client Configuration @@ -25,4 +25,4 @@ Multiple options on the client side to customize the main menu and override them ## Known Mod Compatibility: - [Replay Mod](https://replaymod.com/)'s button appears correctly. -- If you encounter an issue or have any suggestions, [please let me know](https://github.com/MoSadie/ServerMainMenu-Lib/issues)! +- If you encounter an issue or have any suggestions, [please let me know](https://github.com/MoSadie/SimpleMainMenu-Lib/issues)! diff --git a/build.gradle b/build.gradle index 0895457..4f05223 100644 --- a/build.gradle +++ b/build.gradle @@ -80,11 +80,12 @@ java { if (System.getenv("CI") == null) { withSourcesJar() } + //withJavadocJar() } jar { from("LICENSE") { - rename { "${it}_${project.archivesBaseName}" } + rename { "${it}_${project.archiveBaseName}" } } } diff --git a/gradle.properties b/gradle.properties index 6932974..cc4d0f8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,7 +13,7 @@ fabric_api_version=0.141.2+1.21.11 # Mod Properties mod_version=2.1.0 maven_group=com.mosadie -archivesBaseName=servermainmenu-lib +archiveBaseName=simplemainmenu-lib # Dependency Versions (easy to check on https://linkie.shedaniel.dev/dependencies) cloth_config_version=21.11.153 diff --git a/src/main/generated/.cache/7955b7db2470027ab5a3117dfaf8494ab0593d2f b/src/main/generated/.cache/7955b7db2470027ab5a3117dfaf8494ab0593d2f new file mode 100644 index 0000000..e57e333 --- /dev/null +++ b/src/main/generated/.cache/7955b7db2470027ab5a3117dfaf8494ab0593d2f @@ -0,0 +1,2 @@ +// 1.21.11 -999999999-01-01T00:00:00 SimpleMainMenu Lib/Language (en_us) +4fa352432b2444e1b823fef66df46fe8b1994bf1 assets/smm-lib/lang/en_us.json diff --git a/src/main/generated/.cache/f0dd3cbca1c68b4679a5d395aa3aad3bc9c2b1a5 b/src/main/generated/.cache/f0dd3cbca1c68b4679a5d395aa3aad3bc9c2b1a5 deleted file mode 100644 index 9d88f50..0000000 --- a/src/main/generated/.cache/f0dd3cbca1c68b4679a5d395aa3aad3bc9c2b1a5 +++ /dev/null @@ -1,2 +0,0 @@ -// 1.20.2 2023-12-04T20:33:41.3942378 ServerMainMenu Lib/Language (en_us) -08b1e4820114e2cc60c7f6a40b6a68f3240b213a assets\smm-lib\lang\en_us.json diff --git a/src/main/generated/assets/smm-lib/lang/en_us.json b/src/main/generated/assets/smm-lib/lang/en_us.json index 254b69a..0cdf8b6 100644 --- a/src/main/generated/assets/smm-lib/lang/en_us.json +++ b/src/main/generated/assets/smm-lib/lang/en_us.json @@ -1,10 +1,10 @@ { "text.autoconfig.smm-lib.option.quickJoinButtonOptions": "Quick Join Button Settings", - "text.autoconfig.smm-lib.option.quickJoinButtonOptions.buttonDestinationOverride": "Quick Join Button Server Address / World Folder", - "text.autoconfig.smm-lib.option.quickJoinButtonOptions.buttonNameOverride": "Quick Join Button Server Name", + "text.autoconfig.smm-lib.option.quickJoinButtonOptions.buttonDestinationOverride": "Server Address / World Folder", + "text.autoconfig.smm-lib.option.quickJoinButtonOptions.buttonNameOverride": "Button Server Name", "text.autoconfig.smm-lib.option.quickJoinButtonOptions.buttonNameOverride.@Tooltip": "Mainly used by mods such as ReplayMod to track what server you were on. Unused in World mode.", - "text.autoconfig.smm-lib.option.quickJoinButtonOptions.buttonTextOverride": "Quick Join Button Text", - "text.autoconfig.smm-lib.option.quickJoinButtonOptions.buttonType": "Quick Join Button Destination Type", + "text.autoconfig.smm-lib.option.quickJoinButtonOptions.buttonTextOverride": "Button Text", + "text.autoconfig.smm-lib.option.quickJoinButtonOptions.buttonType": "Destination Type", "text.autoconfig.smm-lib.option.quickJoinButtonOptions.overrideQuickJoinButton": "Override Quick Join Button?", "text.autoconfig.smm-lib.option.splashOptions": "Splash Message Settings", "text.autoconfig.smm-lib.option.splashOptions.overrideSplash": "Override Splash Text?", @@ -19,7 +19,7 @@ "text.autoconfig.smm-lib.option.visibilityOptions.multiplayer": "Show Multiplayer Button", "text.autoconfig.smm-lib.option.visibilityOptions.quickJoin": "Show Quick Join Button", "text.autoconfig.smm-lib.option.visibilityOptions.singleplayer": "Show Singleplayer Button", - "text.autoconfig.smm-lib.title": "ServerMainMenu Lib Settings", + "text.autoconfig.smm-lib.title": "SimpleMainMenu Lib Settings", "text.smm-lib.error.worldnotfound.body": "World %s not found! Make sure it has been created first.", "text.smm-lib.error.worldnotfound.title": "World not found!", "text.smmlib.normaltheme.joinserver": "Join the server!" diff --git a/src/main/java/com/mosadie/servermainmenu/api/MenuTheme.java b/src/main/java/com/mosadie/simplemainmenu/api/MenuTheme.java similarity index 82% rename from src/main/java/com/mosadie/servermainmenu/api/MenuTheme.java rename to src/main/java/com/mosadie/simplemainmenu/api/MenuTheme.java index d9d1c09..20a940f 100644 --- a/src/main/java/com/mosadie/servermainmenu/api/MenuTheme.java +++ b/src/main/java/com/mosadie/simplemainmenu/api/MenuTheme.java @@ -1,7 +1,5 @@ -package com.mosadie.servermainmenu.api; +package com.mosadie.simplemainmenu.api; -import net.minecraft.client.network.ServerInfo; -import net.minecraft.resource.Resource; import net.minecraft.text.Text; import net.minecraft.util.Identifier; diff --git a/src/main/java/com/mosadie/servermainmenu/api/NormalTheme.java b/src/main/java/com/mosadie/simplemainmenu/api/NormalTheme.java similarity index 94% rename from src/main/java/com/mosadie/servermainmenu/api/NormalTheme.java rename to src/main/java/com/mosadie/simplemainmenu/api/NormalTheme.java index 2d31016..91e0944 100644 --- a/src/main/java/com/mosadie/servermainmenu/api/NormalTheme.java +++ b/src/main/java/com/mosadie/simplemainmenu/api/NormalTheme.java @@ -1,7 +1,5 @@ -package com.mosadie.servermainmenu.api; +package com.mosadie.simplemainmenu.api; -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.network.ServerInfo; import net.minecraft.text.Text; import net.minecraft.util.Identifier; diff --git a/src/main/java/com/mosadie/servermainmenu/api/Util.java b/src/main/java/com/mosadie/simplemainmenu/api/Util.java similarity index 91% rename from src/main/java/com/mosadie/servermainmenu/api/Util.java rename to src/main/java/com/mosadie/simplemainmenu/api/Util.java index 9f1b56e..7cc09d8 100644 --- a/src/main/java/com/mosadie/servermainmenu/api/Util.java +++ b/src/main/java/com/mosadie/simplemainmenu/api/Util.java @@ -1,8 +1,7 @@ -package com.mosadie.servermainmenu.api; +package com.mosadie.simplemainmenu.api; -import com.mosadie.servermainmenu.client.ServerMainMenuLibClient; +import com.mosadie.simplemainmenu.client.SimpleMainMenuLibClient; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.screen.MessageScreen; import net.minecraft.client.gui.screen.NoticeScreen; import net.minecraft.client.gui.screen.TitleScreen; import net.minecraft.client.gui.screen.multiplayer.ConnectScreen; @@ -100,7 +99,7 @@ public static void joinServer(ServerInfo server) { MinecraftClient.getInstance().send(() -> { leaveIfNeeded(); - ServerMainMenuLibClient.LOGGER.info("Connecting to " + server.address); + SimpleMainMenuLibClient.LOGGER.info("Connecting to " + server.address); // Connect to server @@ -113,13 +112,13 @@ public static void loadWorld(String worldName) { if (MinecraftClient.getInstance().getLevelStorage().levelExists(worldName)) { leaveIfNeeded(); - ServerMainMenuLibClient.LOGGER.info("Loading world..."); + SimpleMainMenuLibClient.LOGGER.info("Loading world..."); MinecraftClient.getInstance().createIntegratedServerLoader().start(worldName, () -> { - ServerMainMenuLibClient.LOGGER.info("World load cancelled."); + SimpleMainMenuLibClient.LOGGER.info("World load cancelled."); MinecraftClient.getInstance().setScreen(new TitleScreen()); }); } else { - ServerMainMenuLibClient.LOGGER.warn("World " + worldName + " does not exist!"); + SimpleMainMenuLibClient.LOGGER.warn("World " + worldName + " does not exist!"); if (MinecraftClient.getInstance().world == null) MinecraftClient.getInstance().setScreen(new NoticeScreen(() -> MinecraftClient.getInstance().setScreen(new TitleScreen()), Text.translatable("text.smm-lib.error.worldnotfound.title"), Text.translatable("text.smm-lib.error.worldnotfound.body", worldName), ScreenTexts.TO_TITLE, true)); } @@ -131,7 +130,7 @@ public static void loadWorld(String worldName) { */ private static void leaveIfNeeded() { if (MinecraftClient.getInstance().world != null) { - ServerMainMenuLibClient.LOGGER.info("Disconnecting from world..."); + SimpleMainMenuLibClient.LOGGER.info("Disconnecting from world..."); MinecraftClient.getInstance().world.disconnect(Text.translatable("menu.disconnect")); MinecraftClient.getInstance().disconnectWithProgressScreen(); diff --git a/src/main/java/com/mosadie/servermainmenu/client/ServerMainMenuLibClient.java b/src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibClient.java similarity index 77% rename from src/main/java/com/mosadie/servermainmenu/client/ServerMainMenuLibClient.java rename to src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibClient.java index 3326166..430f5ab 100644 --- a/src/main/java/com/mosadie/servermainmenu/client/ServerMainMenuLibClient.java +++ b/src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibClient.java @@ -1,8 +1,8 @@ -package com.mosadie.servermainmenu.client; +package com.mosadie.simplemainmenu.client; -import com.mosadie.servermainmenu.api.MenuTheme; -import com.mosadie.servermainmenu.api.NormalTheme; -import com.mosadie.servermainmenu.api.Util; +import com.mosadie.simplemainmenu.api.MenuTheme; +import com.mosadie.simplemainmenu.api.NormalTheme; +import com.mosadie.simplemainmenu.api.Util; import me.shedaniel.autoconfig.AutoConfig; import me.shedaniel.autoconfig.ConfigHolder; import me.shedaniel.autoconfig.serializer.GsonConfigSerializer; @@ -17,7 +17,7 @@ import org.slf4j.LoggerFactory; @net.fabricmc.api.Environment(net.fabricmc.api.EnvType.CLIENT) -public class ServerMainMenuLibClient implements ClientModInitializer { +public class SimpleMainMenuLibClient implements ClientModInitializer { public static final String MOD_ID = "smm-lib"; public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); @@ -76,7 +76,7 @@ public static MenuTheme getTheme() { return menuTheme; } - private static ServerMainMenuLibConfig config; + private static SimpleMainMenuLibConfig config; @SuppressWarnings("deprecation") public static Text getSplashText() { @@ -84,7 +84,7 @@ public static Text getSplashText() { return Text.of(config.splashOptions.overrideSplashText); } - // Should still work with old mods that don't implement the asText method I hope... + // Fallback in case of older themes that still use the deprecated getSplashText method. if (getTheme().getSplashText() != null) return Text.literal(getTheme().getSplashText()).setStyle(Util.SPLASH_TEXT_STYLE); return getTheme().getSplashAsText(); } @@ -110,32 +110,32 @@ public static void onQuickJoinClick() { } public static boolean isSingleplayerVisible() { - if (config != null && config.visibilityOptions.singleplayer != ServerMainMenuLibConfig.VisibilityOptions.VisibilityState.DEFAULT) { - return config.visibilityOptions.singleplayer == ServerMainMenuLibConfig.VisibilityOptions.VisibilityState.SHOW; + if (config != null && config.visibilityOptions.singleplayer != SimpleMainMenuLibConfig.VisibilityOptions.VisibilityState.DEFAULT) { + return config.visibilityOptions.singleplayer == SimpleMainMenuLibConfig.VisibilityOptions.VisibilityState.SHOW; } return getTheme().isSingleplayerVisible(); } public static boolean isMultiplayerVisible() { - if (config != null && config.visibilityOptions.multiplayer != ServerMainMenuLibConfig.VisibilityOptions.VisibilityState.DEFAULT) { - return config.visibilityOptions.multiplayer == ServerMainMenuLibConfig.VisibilityOptions.VisibilityState.SHOW; + if (config != null && config.visibilityOptions.multiplayer != SimpleMainMenuLibConfig.VisibilityOptions.VisibilityState.DEFAULT) { + return config.visibilityOptions.multiplayer == SimpleMainMenuLibConfig.VisibilityOptions.VisibilityState.SHOW; } return getTheme().isMultiplayerVisible(); } public static boolean isModsVisible() { - if (config != null && config.visibilityOptions.mods != ServerMainMenuLibConfig.VisibilityOptions.VisibilityState.DEFAULT) { - return config.visibilityOptions.mods == ServerMainMenuLibConfig.VisibilityOptions.VisibilityState.SHOW; + if (config != null && config.visibilityOptions.mods != SimpleMainMenuLibConfig.VisibilityOptions.VisibilityState.DEFAULT) { + return config.visibilityOptions.mods == SimpleMainMenuLibConfig.VisibilityOptions.VisibilityState.SHOW; } return getTheme().isModsVisible(); } public static boolean isQuickJoinVisible() { - if (config != null && config.visibilityOptions.quickJoin != ServerMainMenuLibConfig.VisibilityOptions.VisibilityState.DEFAULT) { - return config.visibilityOptions.quickJoin == ServerMainMenuLibConfig.VisibilityOptions.VisibilityState.SHOW; + if (config != null && config.visibilityOptions.quickJoin != SimpleMainMenuLibConfig.VisibilityOptions.VisibilityState.DEFAULT) { + return config.visibilityOptions.quickJoin == SimpleMainMenuLibConfig.VisibilityOptions.VisibilityState.SHOW; } return getTheme().isQuickJoinVisible(); @@ -147,19 +147,19 @@ public void onInitializeClient() { LOGGER.info("Configuring Config..."); - AutoConfig.register(ServerMainMenuLibConfig.class, GsonConfigSerializer::new); + AutoConfig.register(SimpleMainMenuLibConfig.class, GsonConfigSerializer::new); - AutoConfig.getConfigHolder(ServerMainMenuLibConfig.class).registerSaveListener(ServerMainMenuLibClient::onConfigSave); + AutoConfig.getConfigHolder(SimpleMainMenuLibConfig.class).registerSaveListener(SimpleMainMenuLibClient::onConfigSave); - config = AutoConfig.getConfigHolder(ServerMainMenuLibConfig.class).getConfig(); + config = AutoConfig.getConfigHolder(SimpleMainMenuLibConfig.class).getConfig(); LOGGER.info("SimpleServerMenu-Lib Initialized!"); } - private static ActionResult onConfigSave(ConfigHolder islandMenuConfigConfigHolder, ServerMainMenuLibConfig serverMainMenuLibConfig) { + private static ActionResult onConfigSave(ConfigHolder simpleMainMenuLibConfigConfigHolder, SimpleMainMenuLibConfig simpleMainMenuLibConfig) { LOGGER.info("Updating config!"); - config = serverMainMenuLibConfig; + config = simpleMainMenuLibConfig; menuTheme = selectTheme(); diff --git a/src/main/java/com/mosadie/servermainmenu/client/ServerMainMenuLibConfig.java b/src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibConfig.java similarity index 91% rename from src/main/java/com/mosadie/servermainmenu/client/ServerMainMenuLibConfig.java rename to src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibConfig.java index 4f1d7df..faa0563 100644 --- a/src/main/java/com/mosadie/servermainmenu/client/ServerMainMenuLibConfig.java +++ b/src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibConfig.java @@ -1,11 +1,11 @@ -package com.mosadie.servermainmenu.client; +package com.mosadie.simplemainmenu.client; import me.shedaniel.autoconfig.ConfigData; import me.shedaniel.autoconfig.annotation.Config; import me.shedaniel.autoconfig.annotation.ConfigEntry; -@Config(name = ServerMainMenuLibClient.MOD_ID) -public class ServerMainMenuLibConfig implements ConfigData { +@Config(name = SimpleMainMenuLibClient.MOD_ID) +public class SimpleMainMenuLibConfig implements ConfigData { @ConfigEntry.Gui.CollapsibleObject QuickJoinButtonOptions quickJoinButtonOptions = new QuickJoinButtonOptions(); diff --git a/src/main/java/com/mosadie/servermainmenu/client/ServerMainMenuLibModMenuIntegration.java b/src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibModMenuIntegration.java similarity index 63% rename from src/main/java/com/mosadie/servermainmenu/client/ServerMainMenuLibModMenuIntegration.java rename to src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibModMenuIntegration.java index f610983..7a58c10 100644 --- a/src/main/java/com/mosadie/servermainmenu/client/ServerMainMenuLibModMenuIntegration.java +++ b/src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibModMenuIntegration.java @@ -1,12 +1,12 @@ -package com.mosadie.servermainmenu.client; +package com.mosadie.simplemainmenu.client; import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; import me.shedaniel.autoconfig.AutoConfigClient; -public class ServerMainMenuLibModMenuIntegration implements ModMenuApi { +public class SimpleMainMenuLibModMenuIntegration implements ModMenuApi { @Override public ConfigScreenFactory getModConfigScreenFactory() { - return parent -> AutoConfigClient.getConfigScreen(ServerMainMenuLibConfig.class, parent).get(); + return parent -> AutoConfigClient.getConfigScreen(SimpleMainMenuLibConfig.class, parent).get(); } } diff --git a/src/main/java/com/mosadie/servermainmenu/client/data/ServerMainMenuLibDataGen.java b/src/main/java/com/mosadie/simplemainmenu/client/data/SimpleMainMenuLibDataGen.java similarity index 64% rename from src/main/java/com/mosadie/servermainmenu/client/data/ServerMainMenuLibDataGen.java rename to src/main/java/com/mosadie/simplemainmenu/client/data/SimpleMainMenuLibDataGen.java index 1217979..c717248 100644 --- a/src/main/java/com/mosadie/servermainmenu/client/data/ServerMainMenuLibDataGen.java +++ b/src/main/java/com/mosadie/simplemainmenu/client/data/SimpleMainMenuLibDataGen.java @@ -1,12 +1,12 @@ -package com.mosadie.servermainmenu.client.data; +package com.mosadie.simplemainmenu.client.data; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; -public class ServerMainMenuLibDataGen implements DataGeneratorEntrypoint { +public class SimpleMainMenuLibDataGen implements DataGeneratorEntrypoint { @Override public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { FabricDataGenerator.Pack pack = fabricDataGenerator.createPack(); - pack.addProvider(ServerMainMenuLibEnLangProvider::new); + pack.addProvider(SimpleMainMenuLibEnLangProvider::new); } } diff --git a/src/main/java/com/mosadie/servermainmenu/client/data/ServerMainMenuLibEnLangProvider.java b/src/main/java/com/mosadie/simplemainmenu/client/data/SimpleMainMenuLibEnLangProvider.java similarity index 94% rename from src/main/java/com/mosadie/servermainmenu/client/data/ServerMainMenuLibEnLangProvider.java rename to src/main/java/com/mosadie/simplemainmenu/client/data/SimpleMainMenuLibEnLangProvider.java index 0358c6b..7b1fb84 100644 --- a/src/main/java/com/mosadie/servermainmenu/client/data/ServerMainMenuLibEnLangProvider.java +++ b/src/main/java/com/mosadie/simplemainmenu/client/data/SimpleMainMenuLibEnLangProvider.java @@ -1,4 +1,4 @@ -package com.mosadie.servermainmenu.client.data; +package com.mosadie.simplemainmenu.client.data; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricLanguageProvider; @@ -6,8 +6,8 @@ import java.util.concurrent.CompletableFuture; -public class ServerMainMenuLibEnLangProvider extends FabricLanguageProvider { - protected ServerMainMenuLibEnLangProvider(FabricDataOutput dataOutput, CompletableFuture registryLookup) { +public class SimpleMainMenuLibEnLangProvider extends FabricLanguageProvider { + protected SimpleMainMenuLibEnLangProvider(FabricDataOutput dataOutput, CompletableFuture registryLookup) { super(dataOutput, "en_us", registryLookup); } @@ -15,7 +15,7 @@ protected ServerMainMenuLibEnLangProvider(FabricDataOutput dataOutput, Completab public void generateTranslations(RegistryWrapper.WrapperLookup wrapperLookup, TranslationBuilder translationBuilder) { translationBuilder.add("text.smmlib.normaltheme.joinserver", "Join the server!"); - translationBuilder.add("text.autoconfig.smm-lib.title", "ServerMainMenu Lib Settings"); + translationBuilder.add("text.autoconfig.smm-lib.title", "SimpleMainMenu Lib Settings"); translationBuilder.add("text.autoconfig.smm-lib.option.quickJoinButtonOptions", "Quick Join Button Settings"); diff --git a/src/main/java/com/mosadie/servermainmenu/mixin/IdentifierMixin.java b/src/main/java/com/mosadie/simplemainmenu/mixin/IdentifierMixin.java similarity index 86% rename from src/main/java/com/mosadie/servermainmenu/mixin/IdentifierMixin.java rename to src/main/java/com/mosadie/simplemainmenu/mixin/IdentifierMixin.java index 7cf5b51..1a7ff19 100644 --- a/src/main/java/com/mosadie/servermainmenu/mixin/IdentifierMixin.java +++ b/src/main/java/com/mosadie/simplemainmenu/mixin/IdentifierMixin.java @@ -1,6 +1,6 @@ -package com.mosadie.servermainmenu.mixin; +package com.mosadie.simplemainmenu.mixin; -import com.mosadie.servermainmenu.client.ServerMainMenuLibClient; +import com.mosadie.simplemainmenu.client.SimpleMainMenuLibClient; import net.minecraft.util.Identifier; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; @@ -17,7 +17,7 @@ public class IdentifierMixin { public static Identifier ofVanilla(String path) { // If we are getting the background panorama texture, we want to return the custom panorama texture from the selected theme instead. if (path != null && path.equals("textures/gui/title/background/panorama")) { - return ServerMainMenuLibClient.getTheme().getPanorama(); + return SimpleMainMenuLibClient.getTheme().getPanorama(); } return Identifier.of("minecraft", path); diff --git a/src/main/java/com/mosadie/servermainmenu/mixin/TitleScreenInvoker.java b/src/main/java/com/mosadie/simplemainmenu/mixin/TitleScreenInvoker.java similarity index 88% rename from src/main/java/com/mosadie/servermainmenu/mixin/TitleScreenInvoker.java rename to src/main/java/com/mosadie/simplemainmenu/mixin/TitleScreenInvoker.java index 441fc57..546c19b 100644 --- a/src/main/java/com/mosadie/servermainmenu/mixin/TitleScreenInvoker.java +++ b/src/main/java/com/mosadie/simplemainmenu/mixin/TitleScreenInvoker.java @@ -1,4 +1,4 @@ -package com.mosadie.servermainmenu.mixin; +package com.mosadie.simplemainmenu.mixin; import net.minecraft.client.gui.screen.TitleScreen; import net.minecraft.text.Text; diff --git a/src/main/java/com/mosadie/servermainmenu/mixin/TitleScreenMixin.java b/src/main/java/com/mosadie/simplemainmenu/mixin/TitleScreenMixin.java similarity index 87% rename from src/main/java/com/mosadie/servermainmenu/mixin/TitleScreenMixin.java rename to src/main/java/com/mosadie/simplemainmenu/mixin/TitleScreenMixin.java index 392e93a..10a4adc 100644 --- a/src/main/java/com/mosadie/servermainmenu/mixin/TitleScreenMixin.java +++ b/src/main/java/com/mosadie/simplemainmenu/mixin/TitleScreenMixin.java @@ -1,6 +1,6 @@ -package com.mosadie.servermainmenu.mixin; +package com.mosadie.simplemainmenu.mixin; -import com.mosadie.servermainmenu.client.ServerMainMenuLibClient; +import com.mosadie.simplemainmenu.client.SimpleMainMenuLibClient; import com.terraformersmc.modmenu.ModMenu; import com.terraformersmc.modmenu.api.ModMenuApi; import net.minecraft.client.MinecraftClient; @@ -46,7 +46,7 @@ private void injectOnDisplayed(CallbackInfo ci) { @Inject(method = "init()V", at = @At("HEAD")) private void injectSplashText(CallbackInfo info) { if (splashText == null) - this.splashText = new SplashTextRenderer(ServerMainMenuLibClient.getSplashText()); + this.splashText = new SplashTextRenderer(SimpleMainMenuLibClient.getSplashText()); } @Redirect(method = "init()V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/screen/TitleScreen;addNormalWidgets(II)I")) @@ -55,15 +55,15 @@ private int redirectInitWidgetsNormal(TitleScreen self, int y, int spacingY) { int buttonCount = 0; - if (ServerMainMenuLibClient.isSingleplayerVisible()) buttonCount++; - if (ServerMainMenuLibClient.isMultiplayerVisible()) buttonCount++; - if (ServerMainMenuLibClient.isQuickJoinVisible()) buttonCount++; + if (SimpleMainMenuLibClient.isSingleplayerVisible()) buttonCount++; + if (SimpleMainMenuLibClient.isMultiplayerVisible()) buttonCount++; + if (SimpleMainMenuLibClient.isQuickJoinVisible()) buttonCount++; if (buttonCount == 1) { buttonYMulti = 1; } - if (ServerMainMenuLibClient.isSingleplayerVisible()) { + if (SimpleMainMenuLibClient.isSingleplayerVisible()) { ButtonWidget.Builder singlePlayerButtonWidgetBuilder = ButtonWidget.builder(Text.translatable("menu.singleplayer"), (button -> { MinecraftClient.getInstance().setScreen(new SelectWorldScreen((self))); })) @@ -80,10 +80,10 @@ private int redirectInitWidgetsNormal(TitleScreen self, int y, int spacingY) { Tooltip tooltip = Tooltip.of(disabledText); - if (ServerMainMenuLibClient.isQuickJoinVisible()) { + if (SimpleMainMenuLibClient.isQuickJoinVisible()) { - ButtonWidget.Builder quickJoinButtonWidgetBuilder = ButtonWidget.builder(ServerMainMenuLibClient.getButtonText(), (button) -> { - ServerMainMenuLibClient.onQuickJoinClick(); + ButtonWidget.Builder quickJoinButtonWidgetBuilder = ButtonWidget.builder(SimpleMainMenuLibClient.getButtonText(), (button) -> { + SimpleMainMenuLibClient.onQuickJoinClick(); }).position(self.width / 2 - 100, y + (spacingY * buttonYMulti++)).size(200, 20); // Technically as of v2.0.0, this button can connect to things outside of multiplayer, @@ -98,7 +98,7 @@ private int redirectInitWidgetsNormal(TitleScreen self, int y, int spacingY) { this.addDrawableChild(quickJoinButtonWidgetBuilder.build()); } - if (ServerMainMenuLibClient.isMultiplayerVisible()) { + if (SimpleMainMenuLibClient.isMultiplayerVisible()) { ButtonWidget.Builder multiplayerButtonWidgetBuilder = ButtonWidget.builder(Text.translatable("menu.multiplayer"), button -> { Screen screen = MinecraftClient.getInstance().options.skipMultiplayerWarning ? new MultiplayerScreen(self) : new MultiplayerWarningScreen(self); MinecraftClient.getInstance().setScreen(screen); @@ -113,7 +113,7 @@ private int redirectInitWidgetsNormal(TitleScreen self, int y, int spacingY) { this.addDrawableChild(multiplayerButtonWidget); } - if (ServerMainMenuLibClient.isModsVisible()) { + if (SimpleMainMenuLibClient.isModsVisible()) { ButtonWidget.Builder modsButtonWidgetBuilder = ButtonWidget.builder(ModMenu.createModsButtonText(true), button -> { Screen modsScreen = ModMenuApi.createModsScreen(MinecraftClient.getInstance().currentScreen); MinecraftClient.getInstance().setScreen(modsScreen); diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index bb551cf..8648f7a 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -2,32 +2,32 @@ "schemaVersion": 1, "id": "smm-lib", "version": "${version}", - "name": "ServerMainMenu Lib", + "name": "SimpleMainMenu Lib", "description": "Library mod to customize the main menu.", "authors": [ "MoSadie" ], "contact": { "homepage": "https://modrinth.com/mod/smm-lib", - "sources": "https://github.com/MoSadie/ServerMainMenu-Lib", - "issues": "https://github.com/MoSadie/ServerMainMenu-Lib/issues" + "sources": "https://github.com/MoSadie/SimpleMainMenu-Lib", + "issues": "https://github.com/MoSadie/SimpleMainMenu-Lib/issues" }, "license": "LGPL-3.0", "icon": "assets/smm-lib/icon.png", "environment": "client", "entrypoints": { "client": [ - "com.mosadie.servermainmenu.client.ServerMainMenuLibClient" + "com.mosadie.simplemainmenu.client.SimpleMainMenuLibClient" ], "fabric-datagen": [ - "com.mosadie.servermainmenu.client.data.ServerMainMenuLibDataGen" + "com.mosadie.simplemainmenu.client.data.SimpleMainMenuLibDataGen" ], "modmenu": [ - "com.mosadie.servermainmenu.client.ServerMainMenuLibModMenuIntegration" + "com.mosadie.simplemainmenu.client.SimpleMainMenuLibModMenuIntegration" ] }, "mixins": [ - "servermainmenu-lib.mixins.json" + "simplemainmenu-lib.mixins.json" ], "depends": { "fabricloader": ">=0.18.0", diff --git a/src/main/resources/servermainmenu-lib.mixins.json b/src/main/resources/simplemainmenu-lib.mixins.json similarity index 82% rename from src/main/resources/servermainmenu-lib.mixins.json rename to src/main/resources/simplemainmenu-lib.mixins.json index cff9e33..90075a2 100644 --- a/src/main/resources/servermainmenu-lib.mixins.json +++ b/src/main/resources/simplemainmenu-lib.mixins.json @@ -1,7 +1,7 @@ { "required": true, "minVersion": "0.8", - "package": "com.mosadie.servermainmenu.mixin", + "package": "com.mosadie.simplemainmenu.mixin", "compatibilityLevel": "JAVA_21", "mixins": [ ], From 8f9fa3eee6629df36a799bb6c4c4f1ab963c3f9a Mon Sep 17 00:00:00 2001 From: MoSadie Date: Sun, 22 Feb 2026 19:53:52 -0800 Subject: [PATCH 2/2] Remove Backwards Compatibility I will be the first to admit, this is mean. And I'm sorry. ESPECIALLY since I literally just added this in the last update. This is 100% because the name change forces mods to manually update, so they should also be able to update and use the next Text-based method. (See example in NormalTheme if you need help converting from String to Text with the splash text style) --- src/main/java/com/mosadie/simplemainmenu/api/MenuTheme.java | 4 ---- src/main/java/com/mosadie/simplemainmenu/api/NormalTheme.java | 2 +- .../simplemainmenu/client/SimpleMainMenuLibClient.java | 4 +--- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/mosadie/simplemainmenu/api/MenuTheme.java b/src/main/java/com/mosadie/simplemainmenu/api/MenuTheme.java index 20a940f..b46e461 100644 --- a/src/main/java/com/mosadie/simplemainmenu/api/MenuTheme.java +++ b/src/main/java/com/mosadie/simplemainmenu/api/MenuTheme.java @@ -6,10 +6,6 @@ public interface MenuTheme { String getId(); Identifier getPanorama(); - @Deprecated - default String getSplashText() { - return null; - } Text getSplashAsText(); boolean rollOdds(); diff --git a/src/main/java/com/mosadie/simplemainmenu/api/NormalTheme.java b/src/main/java/com/mosadie/simplemainmenu/api/NormalTheme.java index 91e0944..e278381 100644 --- a/src/main/java/com/mosadie/simplemainmenu/api/NormalTheme.java +++ b/src/main/java/com/mosadie/simplemainmenu/api/NormalTheme.java @@ -19,7 +19,7 @@ public Identifier getPanorama() { @Override public Text getSplashAsText() { - return Text.literal("Just a normal menu..."); + return Text.literal("Just a normal menu...").setStyle(Util.SPLASH_TEXT_STYLE); } @Override diff --git a/src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibClient.java b/src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibClient.java index 430f5ab..814c63e 100644 --- a/src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibClient.java +++ b/src/main/java/com/mosadie/simplemainmenu/client/SimpleMainMenuLibClient.java @@ -83,9 +83,7 @@ public static Text getSplashText() { if (config != null && config.splashOptions.overrideSplash) { return Text.of(config.splashOptions.overrideSplashText); } - - // Fallback in case of older themes that still use the deprecated getSplashText method. - if (getTheme().getSplashText() != null) return Text.literal(getTheme().getSplashText()).setStyle(Util.SPLASH_TEXT_STYLE); + return getTheme().getSplashAsText(); }