diff --git a/.github/workflows/build_status.yml b/.github/workflows/build_status.yml index 356b0ea95..769edd348 100644 --- a/.github/workflows/build_status.yml +++ b/.github/workflows/build_status.yml @@ -6,7 +6,7 @@ on: pull_request: env: - JAVA_VERSION: 25 + JAVA_VERSION: 17 jobs: build: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 15e5d46e4..d54b595d6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,7 +5,7 @@ on: tags: [ '*' ] env: - JAVA_VERSION: 25 + JAVA_VERSION: 17 BUILD_NUMBER: ${{ github.run_number }} MAVEN_UPLOAD_URL: ${{ secrets.MAVEN_UPLOAD_URL }} MAVEN_UPLOAD_USERNAME: ${{ secrets.MAVEN_UPLOAD_USERNAME }} diff --git a/README.md b/README.md index 63bc6d309..b15b2b65c 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,26 @@ A mod for adding Iron Age Furniture to Minecraft [![Discord Badge](https://img.shields.io/badge/Discord-16181C?style=for-the-badge&logo=discord&logoColor=5865F2)](https://discord.moddev.zone) [![CurseForge Badge](https://img.shields.io/badge/CurseForge-16181C?style=for-the-badge&logo=curseforge&logoColor=FF784D)](https://www.curseforge.com/minecraft/mc-mods/ironagefurniture) [![Github Badge](https://img.shields.io/badge/GitHub-16181C?style=for-the-badge&logo=github&logoColor=BBDDE5)](https://github.com/minecraftmoddevelopmentmods/ironagefurniture) + +## CLI development setup + +Install a JDK 17. The Gradle wrapper runs on Java 17 while the build's Java +toolchain compiles the Minecraft 1.10.2 mod for Java 8. + +On Windows: + +```powershell +.\gradlew.bat eclipse genEclipseRuns +.\gradlew.bat build +``` + +On Linux or macOS: + +```bash +./gradlew eclipse genEclipseRuns +./gradlew build +``` + +`setupDecompWorkspace` was a ForgeGradle 2 task and is not used by this +ForgeGradle 7 build. The first command can take several minutes while the +Minecraft Mavenizer prepares the legacy Forge dependency. diff --git a/build.gradle b/build.gradle index 3bac5ee0a..a695ff3c7 100644 --- a/build.gradle +++ b/build.gradle @@ -8,7 +8,7 @@ plugins { version = mod_version group = mod_group -base.archivesName = mod_id +base.archivesName = mod_archive_name java.toolchain.languageVersion = JavaLanguageVersion.of(8) @@ -76,6 +76,12 @@ dependencies { // then special handling is done to allow a setup of a vanilla dependency without the use of an external repository. implementation minecraft.dependency("net.minecraftforge:forge:$minecraft_version-$forge_version") + // Minecraft 1.10.2 exposes lwjgl_util types (for example Vector3f through + // ItemTransformVec3f), but the legacy Mavenizer metadata puts this jar on + // the runtime classpath only. Keep it compile-only because Forge already + // supplies the same library at runtime. + compileOnly "org.lwjgl.lwjgl:lwjgl_util:2.9.4-nightly-20150209" + // Forge 1.21.6+ uses EventBus 7, which shifts most of its runtime validation to compile-time via an annotation processor // to improve performance in production environments. This line is required to enable said compile-time validation // in your development environment, helping you catch issues early. @@ -167,11 +173,11 @@ eclipse { downloadJavadoc = downloadSources = true } - // NOTE: ForgeGradle 7 does not yet support Eclipse run configurations - // Run everytime eclipse builds the code + // Refresh ForgeGradle launch configurations when Buildship imports/synchronizes the project. + synchronizationTasks 'genEclipseRuns' + + // Uncomment to regenerate launch configurations every time Eclipse builds the code. //autoBuildTasks genEclipseRuns - // Run when importing the project - //synchronizationTasks 'genEclipseRuns' } // NOTE: Merging of source sets is now controlled by the property 'net.minecraftforge.gradle.merge-source-sets' diff --git a/gradle.properties b/gradle.properties index 679af80fa..66fe71ebd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,8 @@ # Project -mod_version = 0.0.0 +mod_version = 0.2.0.5 mod_name = Iron Age Furniture -mod_id = iron-age-furniture +mod_id = ironagefurniture +mod_archive_name = iron-age-furniture mod_description = Furniture from the iron age of men. mod_group = com.mcmoddev.ironagefurniture mod_authors = skybladeimmortal diff --git a/gradle/gradle-daemon-jvm.properties b/gradle/gradle-daemon-jvm.properties new file mode 100644 index 000000000..858feb7e3 --- /dev/null +++ b/gradle/gradle-daemon-jvm.properties @@ -0,0 +1,2 @@ +#This file is generated by updateDaemonJvm +toolchainVersion=17 diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index c96372084..7b29fac6e 100644 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -2,8 +2,8 @@ { "modid": "${mod_id}", "name": "${mod_name}", - "description": "${description}", - "version": "${version}", + "description": "${mod_description}", + "version": "${mod_version}", "mcversion": "${minecraft_version}", "url": "${curseforge_url}", "updateUrl": "${update_url}",