From 987e158071d664821090f7821da6d914d1455013 Mon Sep 17 00:00:00 2001 From: Matthew Periut Date: Wed, 5 Mar 2025 11:18:09 -0500 Subject: [PATCH] tweaks --- .github/workflows/build-release.yml | 31 +++++++++- .github/workflows/build.yml | 2 +- build.gradle | 8 +-- forge/build.gradle | 55 ++++++++++++++++++ forge/gradle.properties | 1 + .../forge/FactoryBlocksForge.java | 26 +++++++++ forge/src/main/resources/META-INF/mods.toml | 35 +++++++++++ .../resources/assets/factory_blocks/icon.png | Bin 0 -> 3626 bytes forge/src/main/resources/pack.mcmeta | 6 ++ gradle.properties | 6 +- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 1 + 12 files changed, 164 insertions(+), 9 deletions(-) create mode 100644 forge/build.gradle create mode 100644 forge/gradle.properties create mode 100644 forge/src/main/java/com/periut/factoryblocks/forge/FactoryBlocksForge.java create mode 100644 forge/src/main/resources/META-INF/mods.toml create mode 100644 forge/src/main/resources/assets/factory_blocks/icon.png create mode 100644 forge/src/main/resources/pack.mcmeta diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index cd69e48..7b10020 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/setup-java@v4 with: distribution: temurin - java-version: 21 + java-version: 17 - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 @@ -91,3 +91,32 @@ jobs: chisel-reborn(required) game-version-filter: releases # Defaults to selecting the latest compatible version of Minecraft, using the tag from the fabric.mod.json + + + - name: Upload forge artifacts + uses: Kir-Antipov/mc-publish@v3.3 + with: + modrinth-id: ht0eTMEs + modrinth-token: ${{ secrets.MODRINTH_TOKEN }} + modrinth-featured: true + + curseforge-id: 640001 + curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }} + + github-token: ${{ secrets.GITHUB_TOKEN }} + + name: '[${{ steps.versions.outputs.minecraft-version }}] Forge ${{ steps.versions.outputs.mod-version }}' + version: 'forge-${{ steps.versions.outputs.minecraft-version }}-${{ steps.versions.outputs.mod-version }}' + + files: | + forge/build/libs/!(*-@(sources|dev|dev-shadow|javadoc).jar) + + version-type: release + + loaders: forge + + dependencies: | + architectury-api(required) + chisel-reborn(required) + + game-version-filter: releases # Defaults to selecting the latest compatible version of Minecraft, using the tag from the fabric.mod.json diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2460029..ffe0f96 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/setup-java@v4 with: distribution: temurin - java-version: 21 + java-version: 17 - name: Setup Gradle uses: gradle/actions/setup-gradle@v3 diff --git a/build.gradle b/build.gradle index b0e12ae..011700b 100644 --- a/build.gradle +++ b/build.gradle @@ -41,8 +41,8 @@ subprojects { minecraft "net.minecraft:minecraft:$rootProject.minecraft_version" mappings loom.layered { it.mappings("net.fabricmc:yarn:$rootProject.yarn_mappings:v2") - it.mappings("dev.architectury:yarn-mappings-patch-neoforge:$rootProject.yarn_mappings_patch_neoforge_version") } + modImplementation "com.periut.cryonicconfig:cryonicconfig-${project.name}:1.0.0+mc${project.minecraft_version}" modImplementation "com.periut.chisel:chisel-${project.name}:2.0.0+mc${project.minecraft_version}" } @@ -52,12 +52,12 @@ subprojects { // If you remove this line, sources will not be generated. withSourcesJar() - sourceCompatibility = JavaVersion.VERSION_21 - targetCompatibility = JavaVersion.VERSION_21 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } tasks.withType(JavaCompile).configureEach { - it.options.release = 21 + it.options.release = 17 } // Configure Maven publishing. diff --git a/forge/build.gradle b/forge/build.gradle new file mode 100644 index 0000000..2881dc6 --- /dev/null +++ b/forge/build.gradle @@ -0,0 +1,55 @@ +plugins { + id 'com.github.johnrengelman.shadow' +} + +loom { + forge { + } +} + +architectury { + platformSetupLoomIde() + forge() +} + +configurations { + common { + canBeResolved = true + canBeConsumed = false + } + compileClasspath.extendsFrom common + runtimeClasspath.extendsFrom common + developmentForge.extendsFrom common + + // Files in this configuration will be bundled into your mod using the Shadow plugin. + // Don't use the `shadow` configuration from the plugin itself as it's meant for excluding files. + shadowBundle { + canBeResolved = true + canBeConsumed = false + } +} + +dependencies { + forge "net.minecraftforge:forge:$rootProject.forge_version" + modApi "dev.architectury:architectury-forge:${rootProject.architectury_version}" + + common(project(path: ':common', configuration: 'namedElements')) { transitive false } + shadowBundle project(path: ':common', configuration: 'transformProductionForge') +} + +processResources { + inputs.property 'version', project.version + + filesMatching('META-INF/mods.toml') { + expand version: project.version + } +} + +shadowJar { + configurations = [project.configurations.shadowBundle] + archiveClassifier = 'dev-shadow' +} + +remapJar { + inputFile.set shadowJar.archiveFile +} diff --git a/forge/gradle.properties b/forge/gradle.properties new file mode 100644 index 0000000..32f842a --- /dev/null +++ b/forge/gradle.properties @@ -0,0 +1 @@ +loom.platform=forge \ No newline at end of file diff --git a/forge/src/main/java/com/periut/factoryblocks/forge/FactoryBlocksForge.java b/forge/src/main/java/com/periut/factoryblocks/forge/FactoryBlocksForge.java new file mode 100644 index 0000000..194dd5d --- /dev/null +++ b/forge/src/main/java/com/periut/factoryblocks/forge/FactoryBlocksForge.java @@ -0,0 +1,26 @@ +package com.periut.factoryblocks.forge; + +import com.periut.factoryblocks.FactoryBlocksMod; +import dev.architectury.platform.forge.EventBuses; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.eventbus.api.IEventBus; +import net.minecraftforge.fml.ModList; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; + +@Mod(FactoryBlocksMod.MODID) +public class FactoryBlocksForge { + public FactoryBlocksForge() { + // Submit our event bus to let architectury register our content on the right time + IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus(); + EventBuses.registerModEventBus(FactoryBlocksMod.MODID, FMLJavaModLoadingContext.get().getModEventBus()); + FactoryBlocksMod.init(); + modEventBus.addListener(this::commonSetup); + MinecraftForge.EVENT_BUS.register(this); + } + + private void commonSetup(final FMLCommonSetupEvent event) { + FactoryBlocksMod.post(ModList.get().isLoaded("chisel")); + } +} diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml new file mode 100644 index 0000000..f6401fc --- /dev/null +++ b/forge/src/main/resources/META-INF/mods.toml @@ -0,0 +1,35 @@ +modLoader = "javafml" +loaderVersion = "[47,)" +issueTrackerURL = "https://github.com/matthewperiut/factory_blocks/issues" +license = "MIT" + +[[mods]] +modId = "factory_blocks" +version = "${version}" +displayName = "Factory Blocks" +authors = "slaincow" +description = ''' +Adds Factory Blocks to Chisel Reborn or Chipped +''' +logoFile = "assets/factory_blocks/icon.png" + +[[dependencies.factory_blocks]] +modId = "forge" +mandatory = true +versionRange = "[0,)" +ordering = "NONE" +side = "BOTH" + +[[dependencies.factory_blocks]] +modId = "minecraft" +mandatory = true +versionRange = "[1.20.3,1.20.4]" +ordering = "NONE" +side = "BOTH" + +[[dependencies.factory_blocks]] +modId = "architectury" +mandatory = true +versionRange = "[0,)" +ordering = "AFTER" +side = "BOTH" \ No newline at end of file diff --git a/forge/src/main/resources/assets/factory_blocks/icon.png b/forge/src/main/resources/assets/factory_blocks/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8c1f2aef02fb280b53669a52dcd8d152f21f2f5b GIT binary patch literal 3626 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