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