fix: crash when ModMenu is not installed

This commit is contained in:
Martin Prokoph
2025-12-11 17:55:32 +01:00
parent 9dd384359f
commit 2611a29107
3 changed files with 17 additions and 12 deletions

View File

@@ -2,14 +2,11 @@ package net.puzzlemc.core;
import net.minecraft.resources.Identifier;
import net.puzzlemc.gui.screen.PuzzleOptionsScreen;
import net.puzzlemc.splashscreen.PuzzleSplashScreen;
import static net.puzzlemc.core.PuzzleCore.MOD_ID;
//? fabric {
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
import com.terraformersmc.modmenu.api.ModMenuApi;
import net.fabricmc.api.ClientModInitializer;
import net.minecraft.server.packs.PackType;
//? if >= 1.21.9 {
@@ -20,13 +17,7 @@ import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener;
import net.minecraft.server.packs.resources.ResourceManager;
*///?}
public class PuzzleClient implements ClientModInitializer, ModMenuApi {
@Override
public ConfigScreenFactory<?> getModConfigScreenFactory() {
return PuzzleOptionsScreen::new;
}
public class PuzzleClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
PuzzleCore.initModules();
@@ -56,7 +47,7 @@ import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.ModList;
import net.neoforged.fml.common.EventBusSubscriber;
import net.neoforged.fml.common.Mod;
import net.puzzlemc.gui.screen.PuzzleOptionsScreen;
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
//? if >= 1.21.5 {
import net.neoforged.neoforge.client.event.AddClientReloadListenersEvent;

View File

@@ -0,0 +1,14 @@
package net.puzzlemc.core;
//? fabric {
import com.terraformersmc.modmenu.api.ConfigScreenFactory;
import com.terraformersmc.modmenu.api.ModMenuApi;
import net.puzzlemc.gui.screen.PuzzleOptionsScreen;
public class PuzzleModMenu implements ModMenuApi {
@Override
public ConfigScreenFactory<?> getModConfigScreenFactory() {
return PuzzleOptionsScreen::new;
}
}
//?}

View File

@@ -25,7 +25,7 @@
"net.puzzlemc.core.PuzzleClient"
],
"modmenu": [
"net.puzzlemc.core.PuzzleClient"
"net.puzzlemc.core.PuzzleModMenu"
]
},