From de0f40f4dd9a3dc950e890bf807c31979f4479e0 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Thu, 20 Jun 2019 18:43:19 +0200 Subject: [PATCH] [1.14] Allow opening of replay settings via ModMenu --- .../replaymod/core/gui/ModMenuApiImpl.java | 21 +++++++++++++++++++ src/main/resources/fabric.mod.json | 3 +++ versions/common.gradle | 4 ++++ 3 files changed, 28 insertions(+) create mode 100644 src/main/java/com/replaymod/core/gui/ModMenuApiImpl.java diff --git a/src/main/java/com/replaymod/core/gui/ModMenuApiImpl.java b/src/main/java/com/replaymod/core/gui/ModMenuApiImpl.java new file mode 100644 index 00000000..28e4752b --- /dev/null +++ b/src/main/java/com/replaymod/core/gui/ModMenuApiImpl.java @@ -0,0 +1,21 @@ +//#if MC>=11400 +package com.replaymod.core.gui; + +import com.replaymod.core.ReplayMod; +import io.github.prospector.modmenu.api.ModMenuApi; +import net.minecraft.client.gui.screen.Screen; + +import java.util.function.Function; + +public class ModMenuApiImpl implements ModMenuApi { + @Override + public String getModId() { + return ReplayMod.MOD_ID; + } + + @Override + public Function getConfigScreenFactory() { + return parent -> new GuiReplaySettings(parent, ReplayMod.instance.getSettingsRegistry()).toMinecraft(); + } +} +//#endif diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 52c3bc57..ed46a25a 100755 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -21,6 +21,9 @@ "entrypoints": { "client": [ "com.replaymod.core.ReplayMod" + ], + "modmenu": [ + "com.replaymod.core.gui.ModMenuApiImpl" ] }, "mixins": [ diff --git a/versions/common.gradle b/versions/common.gradle index 38bcc295..882a13f8 100644 --- a/versions/common.gradle +++ b/versions/common.gradle @@ -261,6 +261,10 @@ dependencies { shadow files(project(":jGui:$jGuiVersion").tasks.preshadowJar.archivePath) // include pre-shadowed lwjgl_util } + if (FABRIC) { + modCompile 'io.github.prospector.modmenu:ModMenu:1.6.2-92' + } + annotationProcessor 'org.projectlombok:lombok:1.16.6' compile 'org.projectlombok:lombok:1.16.6' // runtime only for @SneakyThrows which isn't used