From d9a0566eec25c341af70abe89a99dded13eb263c Mon Sep 17 00:00:00 2001 From: TexTrue <3140846162@qq.com> Date: Sat, 2 Sep 2023 08:00:30 +0800 Subject: [PATCH] port to forge --- .github/workflows/gradle_publish.yml | 45 --------- build.gradle | 95 +++--------------- gradle.properties | 13 ++- settings.gradle | 12 +-- .../dev/lambdaurora/spruceui/SpruceUI.java | 30 ++++++ .../lambdaurora/spruceui/event/EventUtil.java | 10 +- .../spruceui/event/OpenScreenCallback.java | 2 +- .../event/ResolutionChangeCallback.java | 10 +- .../lambdaurora/spruceui/hud/HudManager.java | 10 +- .../spruceui/test/SpruceUITest.java | 17 +++- .../lambdaurora/spruceui/test/TestEnum.java | 0 .../test/gui/SpruceMainMenuScreen.java | 3 +- .../spruceui/test/gui/SpruceOptionScreen.java | 7 +- .../test/gui/SpruceTabbedTestScreen.java | 0 .../test/gui/SpruceTextAreaScreen.java | 1 - .../spruceui/test/mixin/TitleScreenMixin.java | 0 .../wrapper/VanillaButtonWrapper.java | 6 +- src/main/resources/META-INF/mods.toml | 36 +++++++ src/main/resources/fabric.mod.json | 40 -------- .../spruceui_test => main/resources}/icon.png | Bin src/main/resources/pack.mcmeta | 6 ++ .../resources/spruceui.test.mixins.json | 0 .../assets/spruceui_test/lang/en_us.json | 12 --- src/testmod/resources/fabric.mod.json | 31 ------ 24 files changed, 125 insertions(+), 261 deletions(-) delete mode 100644 .github/workflows/gradle_publish.yml create mode 100644 src/main/java/dev/lambdaurora/spruceui/SpruceUI.java rename src/{testmod => main}/java/dev/lambdaurora/spruceui/test/SpruceUITest.java (95%) rename src/{testmod => main}/java/dev/lambdaurora/spruceui/test/TestEnum.java (100%) rename src/{testmod => main}/java/dev/lambdaurora/spruceui/test/gui/SpruceMainMenuScreen.java (97%) rename src/{testmod => main}/java/dev/lambdaurora/spruceui/test/gui/SpruceOptionScreen.java (98%) rename src/{testmod => main}/java/dev/lambdaurora/spruceui/test/gui/SpruceTabbedTestScreen.java (100%) rename src/{testmod => main}/java/dev/lambdaurora/spruceui/test/gui/SpruceTextAreaScreen.java (97%) rename src/{testmod => main}/java/dev/lambdaurora/spruceui/test/mixin/TitleScreenMixin.java (100%) create mode 100644 src/main/resources/META-INF/mods.toml delete mode 100644 src/main/resources/fabric.mod.json rename src/{testmod/resources/assets/spruceui_test => main/resources}/icon.png (100%) create mode 100644 src/main/resources/pack.mcmeta rename src/{testmod => main}/resources/spruceui.test.mixins.json (100%) delete mode 100644 src/testmod/resources/assets/spruceui_test/lang/en_us.json delete mode 100644 src/testmod/resources/fabric.mod.json diff --git a/.github/workflows/gradle_publish.yml b/.github/workflows/gradle_publish.yml deleted file mode 100644 index a79ddf5..0000000 --- a/.github/workflows/gradle_publish.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Gradle Package - -on: - push: - tags: - - 'v*' - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Set up JDK 17 - uses: actions/setup-java@v3 - with: - java-version: 17 - distribution: 'temurin' - - - name: Build with Gradle - uses: gradle/gradle-build-action@v2 - with: - arguments: build --parallel --stacktrace - - - uses: actions/upload-artifact@v2 - with: - name: Artifacts - path: ./build/libs/ - - # The USERNAME and PASSWORD need to correspond to the credentials environment variables used in - # the publishing section of your build.gradle - - name: Publish to GitHub Packages and other Mavens - uses: gradle/gradle-build-action@v2 - with: - arguments: publish --stacktrace - env: - BRANCH_NAME: ${{ github.ref }} - RUN_COUNT: ${{ github.run_number }} - REPO_NAME: ${{ github.repository }} - USERNAME: ${{ github.actor }} - TOKEN: ${{ secrets.GITHUB_TOKEN }} - SPRUCEUI_MAVEN: ${{ secrets.MAVEN_URL }} - MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }} - MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }} diff --git a/build.gradle b/build.gradle index 79101e8..dad4755 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,11 @@ plugins { - id 'fabric-loom' version '1.2.+' - id 'io.github.juuxel.loom-quiltflower' version '1.8.+' + id 'dev.architectury.loom' version '1.2-SNAPSHOT' + id 'io.github.juuxel.loom-vineflower' version '1.+' id 'org.quiltmc.gradle.licenser' version '2.0.+' id 'java-library' id 'maven-publish' } -import net.fabricmc.loom.task.RemapJarTask - group = project.maven_group version = "${project.mod_version}+${getMCVersionString()}" archivesBaseName = project.archives_base_name @@ -15,23 +13,15 @@ archivesBaseName = project.archives_base_name // This field defines the Java version your mod target. def targetJavaVersion = 17 -Set modules = [ - 'fabric-api-base', - 'fabric-lifecycle-events-v1', - 'fabric-rendering-v1', - 'fabric-resource-loader-v0', - 'fabric-screen-api-v1', - 'fabric-key-binding-api-v1' -] - String getMCVersionString() { return project.minecraft_version } -sourceSets { - testmod { - compileClasspath += sourceSets.main.compileClasspath - runtimeClasspath += sourceSets.main.runtimeClasspath +loom { + forge { + mixinConfigs = [ + "spruceui.mixins.json","spruceui.test.mixins.json" + ] } } @@ -57,19 +47,10 @@ configurations { dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings "org.quiltmc:quilt-mappings:${minecraft_version}+build.${quilt_mappings}:intermediary-v2" - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" + mappings "org.quiltmc:quilt-mappings:${project.quilt_mappings}:intermediary-v2" + forge "net.minecraftforge:forge:${project.forge_version}" - modules.stream().map { fabricApi.module(it, project.fabric_api_version) }.forEach { - modImplementation it - } - - modLocalRuntime("com.terraformersmc:modmenu:${project.modmenu_version}") { - transitive = false - } - modLocalRuntime fabricApi.module("fabric-key-binding-api-v1", project.fabric_api_version) - - testmodImplementation sourceSets.main.output + modImplementation("dev.architectury:architectury-forge:${project.architectury_version}") } java { @@ -100,30 +81,6 @@ jar { } } -loom { - runs { - testmodClient { - client() - source(sourceSets.testmod) - } - } -} - -task testmodJar(type: Jar) { - group "build" - from sourceSets.testmod.output - archiveClassifier = "testmod-dev" - destinationDirectory = project.file("build/devlibs") -} - -task remapTestmodJar(type: RemapJarTask, dependsOn: testmodJar) { - group "build" - inputFile = testmodJar.archiveFile - classpath.from sourceSets.testmod.compileClasspath - archiveClassifier = "testmod" -} -build.dependsOn remapTestmodJar - license { rule file('HEADER') include '**/*.java' @@ -134,39 +91,11 @@ publishing { publications { mavenJava(MavenPublication) { from components.java - - pom { - name = 'SpruceUI' - description = 'A Minecraft mod API which adds some GUI utilities.' - } } } + // select the repositories you want to publish to repositories { - mavenLocal() - maven { - name 'BuildDirLocal' - url "$buildDir/repo" - } - maven { - name 'GithubPackages' - url 'https://maven.pkg.github.com/LambdAurora/SpruceUI' - credentials { - username = project.findProperty('gpr.user') ?: System.getenv('USERNAME') - password = project.findProperty('gpr.key') ?: System.getenv('TOKEN') - } - } - def spruceuiMaven = System.getenv('SPRUCEUI_MAVEN') - if (spruceuiMaven) { - maven { - name = 'SpruceUIMaven' - url = uri(spruceuiMaven) - credentials { - username = project.findProperty('gpr.user') ?: System.getenv('MAVEN_USERNAME') - password = project.findProperty('gpr.key') ?: System.getenv('MAVEN_PASSWORD') - } - } - } } -} +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index a3ef0ea..0f526e5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,16 +1,15 @@ # Done to increase the memory available to gradle. org.gradle.jvmargs=-Xmx1G +loom.platform=forge -minecraft_version=1.20 -quilt_mappings=1 -loader_version=0.14.21 +minecraft_version=1.20.1 +quilt_mappings=1.20.1+build.23 +forge_version=1.20.1-47.1.43 # Mod Properties -mod_version = 5.0.2 +mod_version = 0.1.0 maven_group = dev.lambdaurora archives_base_name = spruceui # Dependencies -# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api -fabric_api_version=0.83.0+1.20 -modmenu_version=7.0.0 +architectury_version=9.1.12 diff --git a/settings.gradle b/settings.gradle index 382f3e9..2290aa6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,13 +1,9 @@ pluginManagement { repositories { - maven { - name 'Quilt' - url 'https://maven.quiltmc.org/repository/release' - } - maven { - name 'Fabric' - url 'https://maven.fabricmc.net/' - } + maven { url "https://maven.quiltmc.org/repository/release" } + maven { url "https://maven.fabricmc.net/" } + maven { url "https://maven.architectury.dev/" } + maven { url "https://files.minecraftforge.net/maven/" } gradlePluginPortal() } } diff --git a/src/main/java/dev/lambdaurora/spruceui/SpruceUI.java b/src/main/java/dev/lambdaurora/spruceui/SpruceUI.java new file mode 100644 index 0000000..e2da58a --- /dev/null +++ b/src/main/java/dev/lambdaurora/spruceui/SpruceUI.java @@ -0,0 +1,30 @@ +package dev.lambdaurora.spruceui; + +import dev.architectury.platform.forge.EventBuses; +import dev.architectury.utils.EnvExecutor; +import dev.lambdaurora.spruceui.hud.HudManager; +import dev.lambdaurora.spruceui.test.SpruceUITest; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.fml.IExtensionPoint; +import net.minecraftforge.fml.ModLoadingContext; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.minecraftforge.network.NetworkConstants; + +@Mod(SpruceUI.MODID) +public class SpruceUI { + public static final String MODID = "spruceui"; + + public SpruceUI() { + ModLoadingContext.get().registerExtensionPoint(IExtensionPoint.DisplayTest.class, () -> new IExtensionPoint.DisplayTest(() -> NetworkConstants.IGNORESERVERONLY, (a, b) -> true)); + EventBuses.registerModEventBus(MODID, FMLJavaModLoadingContext.get().getModEventBus()); + EnvExecutor.runInEnv(Dist.CLIENT, () -> this::onInitializeClient); + } + + public void onInitializeClient() { + HudManager.initialize(); + //SpruceUITest.INSTANCE = new SpruceUITest(); + } +} diff --git a/src/main/java/dev/lambdaurora/spruceui/event/EventUtil.java b/src/main/java/dev/lambdaurora/spruceui/event/EventUtil.java index a582667..6fb40d9 100644 --- a/src/main/java/dev/lambdaurora/spruceui/event/EventUtil.java +++ b/src/main/java/dev/lambdaurora/spruceui/event/EventUtil.java @@ -9,8 +9,8 @@ package dev.lambdaurora.spruceui.event; -import net.fabricmc.fabric.api.event.Event; -import net.fabricmc.fabric.api.event.EventFactory; +import dev.architectury.event.Event; +import dev.architectury.event.EventFactory; /** * Represents a set of utilities for SpruceUI's events. @@ -25,11 +25,7 @@ private EventUtil() { } static Event makeOpenScreenEvent() { - return EventFactory.createArrayBacked(OpenScreenCallback.class, listeners -> (client, screen) -> { - for (var event : listeners) { - event.apply(client, screen); - } - }); + return EventFactory.createLoop(); } /** diff --git a/src/main/java/dev/lambdaurora/spruceui/event/OpenScreenCallback.java b/src/main/java/dev/lambdaurora/spruceui/event/OpenScreenCallback.java index 95ab52d..f856749 100644 --- a/src/main/java/dev/lambdaurora/spruceui/event/OpenScreenCallback.java +++ b/src/main/java/dev/lambdaurora/spruceui/event/OpenScreenCallback.java @@ -9,7 +9,7 @@ package dev.lambdaurora.spruceui.event; -import net.fabricmc.fabric.api.event.Event; +import dev.architectury.event.Event; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import org.jetbrains.annotations.Nullable; diff --git a/src/main/java/dev/lambdaurora/spruceui/event/ResolutionChangeCallback.java b/src/main/java/dev/lambdaurora/spruceui/event/ResolutionChangeCallback.java index 6d13c67..3a583fb 100644 --- a/src/main/java/dev/lambdaurora/spruceui/event/ResolutionChangeCallback.java +++ b/src/main/java/dev/lambdaurora/spruceui/event/ResolutionChangeCallback.java @@ -9,8 +9,8 @@ package dev.lambdaurora.spruceui.event; -import net.fabricmc.fabric.api.event.Event; -import net.fabricmc.fabric.api.event.EventFactory; +import dev.architectury.event.Event; +import dev.architectury.event.EventFactory; import net.minecraft.client.MinecraftClient; /** @@ -22,11 +22,7 @@ */ @FunctionalInterface public interface ResolutionChangeCallback { - Event EVENT = EventFactory.createArrayBacked(ResolutionChangeCallback.class, listeners -> client -> { - for (var event : listeners) { - event.apply(client); - } - }); + Event EVENT = EventFactory.createEventResult(); void apply(MinecraftClient client); } diff --git a/src/main/java/dev/lambdaurora/spruceui/hud/HudManager.java b/src/main/java/dev/lambdaurora/spruceui/hud/HudManager.java index 803fb1a..43e9930 100644 --- a/src/main/java/dev/lambdaurora/spruceui/hud/HudManager.java +++ b/src/main/java/dev/lambdaurora/spruceui/hud/HudManager.java @@ -9,11 +9,11 @@ package dev.lambdaurora.spruceui.hud; +import dev.architectury.event.events.client.ClientGuiEvent; +import dev.architectury.event.events.client.ClientTickEvent; import dev.lambdaurora.spruceui.event.OpenScreenCallback; import dev.lambdaurora.spruceui.event.ResolutionChangeCallback; import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; -import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; -import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.util.Identifier; import org.jetbrains.annotations.NotNull; @@ -32,12 +32,12 @@ public class HudManager { private static final Map HUDS = new Object2ObjectOpenHashMap<>(); - public void initialize() { - HudRenderCallback.EVENT.register((graphics, tickDelta) -> HUDS.forEach((id, hud) -> { + public static void initialize() { + ClientGuiEvent.RENDER_HUD.register((graphics, tickDelta) -> HUDS.forEach((id, hud) -> { if (hud.isEnabled() && hud.isVisible()) hud.render(graphics, tickDelta); })); - ClientTickEvents.END_CLIENT_TICK.register(client -> { + ClientTickEvent.CLIENT_POST.register(client -> { if (!canRenderHuds(client)) return; HUDS.forEach((id, hud) -> { diff --git a/src/testmod/java/dev/lambdaurora/spruceui/test/SpruceUITest.java b/src/main/java/dev/lambdaurora/spruceui/test/SpruceUITest.java similarity index 95% rename from src/testmod/java/dev/lambdaurora/spruceui/test/SpruceUITest.java rename to src/main/java/dev/lambdaurora/spruceui/test/SpruceUITest.java index 3bfbcb6..8a85d55 100644 --- a/src/testmod/java/dev/lambdaurora/spruceui/test/SpruceUITest.java +++ b/src/main/java/dev/lambdaurora/spruceui/test/SpruceUITest.java @@ -9,17 +9,23 @@ package dev.lambdaurora.spruceui.test; -import dev.lambdaurora.spruceui.option.*; -import dev.lambdaurora.spruceui.widget.container.SpruceOptionListWidget; +import dev.architectury.platform.forge.EventBuses; +import dev.architectury.utils.EnvExecutor; import dev.lambdaurora.spruceui.Position; import dev.lambdaurora.spruceui.SpruceTexts; +import dev.lambdaurora.spruceui.option.*; import dev.lambdaurora.spruceui.widget.SpruceButtonWidget; import dev.lambdaurora.spruceui.widget.container.SpruceContainerWidget; +import dev.lambdaurora.spruceui.widget.container.SpruceOptionListWidget; import dev.lambdaurora.spruceui.widget.text.SpruceTextAreaWidget; -import net.fabricmc.api.ClientModInitializer; import net.minecraft.client.MinecraftClient; import net.minecraft.client.toast.SystemToast; import net.minecraft.text.Text; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import org.jetbrains.annotations.Nullable; import java.util.Arrays; @@ -30,7 +36,7 @@ * * @author LambdAurora */ -public class SpruceUITest implements ClientModInitializer { +public class SpruceUITest { private static SpruceUITest INSTANCE; private final SpruceOption booleanOption; @@ -56,6 +62,8 @@ public class SpruceUITest implements ClientModInitializer { public Consumer resetConsumer; public SpruceUITest() { + EnvExecutor.runInEnv(Dist.CLIENT, () -> this::onInitializeClient); + this.booleanOption = new SpruceBooleanOption("spruceui_test.option.boolean", () -> this.aBoolean, newValue -> this.aBoolean = newValue, @@ -130,7 +138,6 @@ public SpruceUITest() { + "You have to manage screen re-initialization and reset logic yourself.")); } - @Override public void onInitializeClient() { INSTANCE = this; } diff --git a/src/testmod/java/dev/lambdaurora/spruceui/test/TestEnum.java b/src/main/java/dev/lambdaurora/spruceui/test/TestEnum.java similarity index 100% rename from src/testmod/java/dev/lambdaurora/spruceui/test/TestEnum.java rename to src/main/java/dev/lambdaurora/spruceui/test/TestEnum.java diff --git a/src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceMainMenuScreen.java b/src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceMainMenuScreen.java similarity index 97% rename from src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceMainMenuScreen.java rename to src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceMainMenuScreen.java index 5c9bad8..4a1e10f 100644 --- a/src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceMainMenuScreen.java +++ b/src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceMainMenuScreen.java @@ -9,13 +9,12 @@ package dev.lambdaurora.spruceui.test.gui; -import dev.lambdaurora.spruceui.screen.SpruceScreen; import dev.lambdaurora.spruceui.Position; import dev.lambdaurora.spruceui.SpruceTexts; +import dev.lambdaurora.spruceui.screen.SpruceScreen; import dev.lambdaurora.spruceui.widget.SpruceButtonWidget; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import org.jetbrains.annotations.Nullable; diff --git a/src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceOptionScreen.java b/src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceOptionScreen.java similarity index 98% rename from src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceOptionScreen.java rename to src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceOptionScreen.java index 2a0c530..fa63656 100644 --- a/src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceOptionScreen.java +++ b/src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceOptionScreen.java @@ -9,16 +9,15 @@ package dev.lambdaurora.spruceui.test.gui; +import dev.lambdaurora.spruceui.Position; +import dev.lambdaurora.spruceui.SpruceTexts; import dev.lambdaurora.spruceui.option.SpruceOption; import dev.lambdaurora.spruceui.screen.SpruceScreen; import dev.lambdaurora.spruceui.test.SpruceUITest; -import dev.lambdaurora.spruceui.widget.container.SpruceOptionListWidget; -import dev.lambdaurora.spruceui.Position; -import dev.lambdaurora.spruceui.SpruceTexts; import dev.lambdaurora.spruceui.widget.SpruceButtonWidget; +import dev.lambdaurora.spruceui.widget.container.SpruceOptionListWidget; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import org.jetbrains.annotations.Nullable; diff --git a/src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceTabbedTestScreen.java b/src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceTabbedTestScreen.java similarity index 100% rename from src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceTabbedTestScreen.java rename to src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceTabbedTestScreen.java diff --git a/src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceTextAreaScreen.java b/src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceTextAreaScreen.java similarity index 97% rename from src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceTextAreaScreen.java rename to src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceTextAreaScreen.java index 55e17d5..abab41d 100644 --- a/src/testmod/java/dev/lambdaurora/spruceui/test/gui/SpruceTextAreaScreen.java +++ b/src/main/java/dev/lambdaurora/spruceui/test/gui/SpruceTextAreaScreen.java @@ -15,7 +15,6 @@ import dev.lambdaurora.spruceui.widget.text.SpruceTextAreaWidget; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.Text; import org.jetbrains.annotations.Nullable; diff --git a/src/testmod/java/dev/lambdaurora/spruceui/test/mixin/TitleScreenMixin.java b/src/main/java/dev/lambdaurora/spruceui/test/mixin/TitleScreenMixin.java similarity index 100% rename from src/testmod/java/dev/lambdaurora/spruceui/test/mixin/TitleScreenMixin.java rename to src/main/java/dev/lambdaurora/spruceui/test/mixin/TitleScreenMixin.java diff --git a/src/main/java/dev/lambdaurora/spruceui/wrapper/VanillaButtonWrapper.java b/src/main/java/dev/lambdaurora/spruceui/wrapper/VanillaButtonWrapper.java index 5e75809..da2a6fc 100644 --- a/src/main/java/dev/lambdaurora/spruceui/wrapper/VanillaButtonWrapper.java +++ b/src/main/java/dev/lambdaurora/spruceui/wrapper/VanillaButtonWrapper.java @@ -12,11 +12,11 @@ import dev.lambdaurora.spruceui.navigation.NavigationDirection; import dev.lambdaurora.spruceui.widget.AbstractSpruceButtonWidget; import dev.lambdaurora.spruceui.widget.SpruceElement; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder; import net.minecraft.client.gui.widget.ClickableWidget; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; /** * Represents a vanilla button wrapper for SpruceUI's own button widgets. @@ -25,7 +25,7 @@ * @version 5.0.0 * @since 2.0.0 */ -@Environment(EnvType.CLIENT) +@OnlyIn(Dist.CLIENT) public class VanillaButtonWrapper extends ClickableWidget implements SpruceElement { private final AbstractSpruceButtonWidget widget; diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml new file mode 100644 index 0000000..195d380 --- /dev/null +++ b/src/main/resources/META-INF/mods.toml @@ -0,0 +1,36 @@ +modLoader="javafml" +loaderVersion="[46,)" +license="MIT" + +[[mods]] +modId="spruceui" +version="${version}" +displayName="ObsidianUI" +displayURL="https://github.com/ThinkingStudios/SpruceUI-Forged" +logoFile= "icon.png" +credits="LambdAurora" +authors="TexTrue, TexTrueStudio" +description=''' +Just a GUI library. +''' + +[[dependencies.spruceui]] +modId = "forge" +mandatory = true +versionRange = "[46,)" +ordering = "NONE" +side = "BOTH" + +[[dependencies.spruceui]] +modId = "minecraft" +mandatory = true +versionRange = "[1.20,)" +ordering = "NONE" +side = "BOTH" + +[[dependencies.spruceui]] +modId = "architectury" +mandatory = true +versionRange = "[9,)" +ordering = "NONE" +side = "CLIENT" \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json deleted file mode 100644 index a148f83..0000000 --- a/src/main/resources/fabric.mod.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "schemaVersion": 1, - "id": "spruceui", - "name": "SpruceUI", - "version": "${version}", - "description": "Just a GUI library.", - "authors": [ - "LambdAurora" - ], - "contact": { - "homepage": "https://github.com/LambdAurora/SpruceUI", - "sources": "https://github.com/LambdAurora/SpruceUI.git", - "issues": "https://github.com/LambdAurora/SpruceUI/issues" - }, - "license": "MIT", - "icon": "assets/spruceui/icon.png", - "environment": "client", - "entrypoints": { - "client": [ - "dev.lambdaurora.spruceui.hud.HudManager::initialize" - ] - }, - "mixins": [ - "spruceui.mixins.json" - ], - "depends": { - "fabricloader": ">=0.13.3", - "fabric-api-base": "*", - "fabric-lifecycle-events-v1": "*", - "fabric-rendering-v1": "*", - "fabric-resource-loader-v0": ">=0.4.7", - "minecraft": ">=1.20", - "java": ">=17" - }, - "custom": { - "modmenu": { - "badges": [ "library" ] - } - } -} diff --git a/src/testmod/resources/assets/spruceui_test/icon.png b/src/main/resources/icon.png similarity index 100% rename from src/testmod/resources/assets/spruceui_test/icon.png rename to src/main/resources/icon.png diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta new file mode 100644 index 0000000..c3e25b3 --- /dev/null +++ b/src/main/resources/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "SpruceUI resources", + "pack_format": 10 + } +} \ No newline at end of file diff --git a/src/testmod/resources/spruceui.test.mixins.json b/src/main/resources/spruceui.test.mixins.json similarity index 100% rename from src/testmod/resources/spruceui.test.mixins.json rename to src/main/resources/spruceui.test.mixins.json diff --git a/src/testmod/resources/assets/spruceui_test/lang/en_us.json b/src/testmod/resources/assets/spruceui_test/lang/en_us.json deleted file mode 100644 index 7e7bb72..0000000 --- a/src/testmod/resources/assets/spruceui_test/lang/en_us.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "spruceui_test.option.action": "Simple Action Option", - "spruceui_test.option.boolean": "Boolean Option", - "spruceui_test.option.checkbox": "Checkbox Option", - "spruceui_test.option.cycling": "Cycling Option", - "spruceui_test.option.double": "Double Option", - "spruceui_test.option.double_input": "Double Input Option", - "spruceui_test.option.float_input": "Float Input Option", - "spruceui_test.option.int_input": "Integer Input Option", - "spruceui_test.option.separator": "Separator", - "spruceui_test.option.toggle_switch": "Toggle Switch Option" -} \ No newline at end of file diff --git a/src/testmod/resources/fabric.mod.json b/src/testmod/resources/fabric.mod.json deleted file mode 100644 index 7937812..0000000 --- a/src/testmod/resources/fabric.mod.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "schemaVersion": 1, - "id": "spruceui_test", - "name": "SpruceUI - Test mod", - "version": "${version}", - "description": "Test mod for SpruceUI.", - "authors": [ - "LambdAurora" - ], - "contact": { - "homepage": "https://github.com/LambdAurora/SpruceUI", - "sources": "https://github.com/LambdAurora/SpruceUI.git", - "issues": "https://github.com/LambdAurora/SpruceUI/issues" - }, - "license": "MIT", - "icon": "assets/spruceui_test/icon.png", - "environment": "client", - "entrypoints": { - "client": [ - "dev.lambdaurora.spruceui.test.SpruceUITest" - ] - }, - "mixins": [ - "spruceui.test.mixins.json" - ], - "depends": { - "fabricloader": "*", - "minecraft": "*", - "spruceui": "*" - } -}