diff --git a/build.gradle b/build.gradle index 37aeab1..0b40786 100644 --- a/build.gradle +++ b/build.gradle @@ -1,14 +1,11 @@ plugins { - id 'fabric-loom' version '1.1-SNAPSHOT' + id 'net.neoforged.gradle.userdev' id 'maven-publish' - id 'com.diffplug.spotless' version '5.14.0' - id 'com.matthewprenger.cursegradle' version '1.4.0' - id "com.modrinth.minotaur" version "2.+" + id 'com.diffplug.spotless' + id 'com.matthewprenger.cursegradle' + id "com.modrinth.minotaur" } -sourceCompatibility = JavaVersion.VERSION_17 -targetCompatibility = JavaVersion.VERSION_17 - archivesBaseName = project.archives_base_name version = System.getenv("MOD_VERSION") ? System.getenv("MOD_VERSION") @@ -16,12 +13,6 @@ version = System.getenv("MOD_VERSION") group = project.maven_group repositories { - maven { - url "https://maven.parchmentmc.net/" - content { - includeGroup "org.parchmentmc.data" - } - } maven { url "https://maven.shedaniel.me" content { @@ -56,67 +47,45 @@ repositories { dependencies { // To change the versions see the gradle.properties file - minecraft "com.mojang:minecraft:${project.minecraft_version}" - mappings loom.layered() { - officialMojangMappings() - parchment("org.parchmentmc.data:parchment-1.20.1:2023.08.13@zip") - } - modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" - - modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" - include modImplementation("teamreborn:energy:${project.energy_version}") + implementation "net.neoforged:neoforge:${project.neoforge_version}" if (project.runtime_itemlist_mod == "jei") { - modImplementation("mezz.jei:jei-${project.jei_minecraft_version}-fabric:${project.jei_version}") { + implementation("mezz.jei:jei-${project.jei_minecraft_version}-neoforge:${project.jei_version}") { exclude group: "mezz.jei" } } else { - modCompileOnly("mezz.jei:jei-${project.jei_minecraft_version}-fabric:${project.jei_version}") { + compileOnly("mezz.jei:jei-${project.jei_minecraft_version}-neoforge:${project.jei_version}") { exclude group: "mezz.jei" } } if (project.runtime_itemlist_mod == "rei") { - modImplementation("me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}") { - exclude(group: "net.fabricmc.fabric-api") - } + implementation("me.shedaniel:RoughlyEnoughItems-neoforge:${project.rei_version}") } else { - modCompileOnly("me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}") { - exclude group: "net.fabricmc.fabric-api" - } + compileOnly("me.shedaniel:RoughlyEnoughItems-neoforge:${project.rei_version}") } if (project.runtime_itemlist_mod == "emi") { - modImplementation("dev.emi:emi-fabric:${project.emi_version}+${project.emi_minecraft_version}") { - exclude group: "net.fabricmc.fabric-api" - } + implementation("dev.emi:emi-neoforge:${project.emi_version}+${project.emi_minecraft_version}") } else { - modCompileOnly("dev.emi:emi-fabric:${project.emi_version}+${project.emi_minecraft_version}") { - exclude group: "net.fabricmc.fabric-api" - } + compileOnly("dev.emi:emi-neoforge:${project.emi_version}+${project.emi_minecraft_version}") } if (!(project.runtime_itemlist_mod in ["jei", "rei", "emi"])) { throw new GradleException("Invalid runtime_itemlist_mod value: " + project.runtime_itemlist_mod) } - modRuntimeOnly("mcp.mobius.waila:wthit:fabric-${project.wthit_version}") { - exclude group: "net.fabricmc.fabric-api" - } + runtimeOnly("mcp.mobius.waila:wthit:neo-${project.wthit_version}") } processResources { inputs.property "version", project.version - filesMatching("fabric.mod.json") { + filesMatching("META-INF/mods.toml") { expand "version": project.version } } -loom { - splitEnvironmentSourceSets() -} - sourceSets { main { resources { @@ -125,46 +94,31 @@ sourceSets { } } -loom { - accessWidenerPath = file("src/main/resources/moderndynamics.accesswidener") - - mods { - moderndynamics { - sourceSet sourceSets.main - sourceSet sourceSets.client - } +runs { + datagenClient { + configure("client") + workingDirectory = project.file("build/datagen") + programArguments = [ + '--mod', 'moderndynamics', + '--all', + '--output', file('src/generated/resources/').absolutePath, + '--existing', file('src/main/resources').absolutePath + ] } - runs { - datagenClient { - client() - name "Data Generation" - vmArg "-Dfabric-api.datagen" - vmArg "-Dfabric-api.datagen.output-dir=${file("src/generated/resources")}" - - ideConfigGenerated = true - runDir "build/datagen" - } - - // Use to run the tests - gametest { - server() - name "Game Test" - vmArg "-Dfabric-api.gametest" - vmArg "-Dfabric-api.gametest.report-file=${project.buildDir}/junit.xml" - runDir "build/gametest" - } + // Use to run the tests + gametest { + configure("gameTestServer") + workingDirectory = project.file("build/gametest") } } test.dependsOn runGametest -tasks.withType(JavaCompile).configureEach { - // Minecraft 1.18 (1.18-pre2) upwards uses Java 17. - it.options.release = 17 -} - java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task // if it is present. // If you remove this line, sources will not be generated. @@ -272,13 +226,10 @@ if (System.getenv("CURSEFORGE_API_KEY") && !version.endsWith("-SNAPSHOT")) { changelogType = "markdown" delegate.changelog = changelog - addGameVersion "1.20.1" - addGameVersion "Fabric" + addGameVersion "1.20.4" + addGameVersion "NeoForge" addGameVersion "Java 17" - relations { - requiredDependency "fabric-api" - } mainArtifact(remapJar.archiveFile) { displayName = "Modern Dynamics v${version}" } @@ -301,10 +252,7 @@ if (System.getenv("MODRINTH_API_KEY") && !version.endsWith("-SNAPSHOT")) { delegate.changelog = changelog versionType = releaseChannel.toUpperCase() uploadFile = remapJar.archiveFile - gameVersions = ["1.20.1"] - loaders = ["fabric"] - dependencies { - required.project "fabric-api" - } + gameVersions = ["1.20.4"] + loaders = ["neoforge"] } } diff --git a/gradle.properties b/gradle.properties index 3164560..d977512 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,10 +7,7 @@ org.gradle.jvmargs=-Xmx1G \ --add-exports jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED \ --add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED -# Fabric Properties -# check these on https://fabricmc.net/versions.html -minecraft_version=1.20.1 -loader_version=0.14.19 +minecraft_version=1.20.4 # Mod Properties maven_group = dev.technici4n @@ -19,18 +16,17 @@ curseforge_project = 552758 modrinth_project = fMpvLrnF # Dependencies -fabric_version=0.89.0+1.20.1 -energy_version=3.0.0 +neoforge_version=20.4.127-beta # In-dev runtime mods -rei_version=12.0.645 -wthit_version=8.3.1 +rei_version=14.0.688 +wthit_version=10.0.1 -jei_minecraft_version=1.20.1 -jei_version=15.2.0.25 +jei_minecraft_version=1.20.4 +jei_version=17.0.0.37 -emi_minecraft_version=1.20.1 -emi_version=1.0.19 +emi_minecraft_version=1.20.4 +emi_version=1.0.29 # Set to emi, jei, or rei to pick which tooltip mod gets picked at runtime # for the dev environment. diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e750102..e411586 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index caeff89..d7de44a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,10 +1,17 @@ pluginManagement { repositories { maven { - name = 'Fabric' - url = 'https://maven.fabricmc.net/' + name = 'NeoForged' + url = 'https://maven.neoforged.net/releases' } gradlePluginPortal() + mavenCentral() + } + plugins { + id 'net.neoforged.gradle.userdev' version '7.0.78' + id 'com.diffplug.spotless' version '5.14.0' + id 'com.matthewprenger.cursegradle' version '1.4.0' + id "com.modrinth.minotaur" version "2.+" } } diff --git a/src/client/java/dev/technici4n/moderndynamics/client/ClientProxy.java b/src/main/java/dev/technici4n/moderndynamics/client/ClientProxy.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/ClientProxy.java rename to src/main/java/dev/technici4n/moderndynamics/client/ClientProxy.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/GeometryHelper.java b/src/main/java/dev/technici4n/moderndynamics/client/GeometryHelper.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/GeometryHelper.java rename to src/main/java/dev/technici4n/moderndynamics/client/GeometryHelper.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/ModernDynamicsClient.java b/src/main/java/dev/technici4n/moderndynamics/client/ModernDynamicsClient.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/ModernDynamicsClient.java rename to src/main/java/dev/technici4n/moderndynamics/client/ModernDynamicsClient.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/attachment/SetAttachmentUpgradesPacket.java b/src/main/java/dev/technici4n/moderndynamics/client/attachment/SetAttachmentUpgradesPacket.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/attachment/SetAttachmentUpgradesPacket.java rename to src/main/java/dev/technici4n/moderndynamics/client/attachment/SetAttachmentUpgradesPacket.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/ber/FluidPipeRendering.java b/src/main/java/dev/technici4n/moderndynamics/client/ber/FluidPipeRendering.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/ber/FluidPipeRendering.java rename to src/main/java/dev/technici4n/moderndynamics/client/ber/FluidPipeRendering.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/ber/PipeBlockEntityRenderer.java b/src/main/java/dev/technici4n/moderndynamics/client/ber/PipeBlockEntityRenderer.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/ber/PipeBlockEntityRenderer.java rename to src/main/java/dev/technici4n/moderndynamics/client/ber/PipeBlockEntityRenderer.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/compat/emi/DragDropHandler.java b/src/main/java/dev/technici4n/moderndynamics/client/compat/emi/DragDropHandler.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/compat/emi/DragDropHandler.java rename to src/main/java/dev/technici4n/moderndynamics/client/compat/emi/DragDropHandler.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/compat/emi/MdEmiPlugin.java b/src/main/java/dev/technici4n/moderndynamics/client/compat/emi/MdEmiPlugin.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/compat/emi/MdEmiPlugin.java rename to src/main/java/dev/technici4n/moderndynamics/client/compat/emi/MdEmiPlugin.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/compat/emi/UpgradeRecipe.java b/src/main/java/dev/technici4n/moderndynamics/client/compat/emi/UpgradeRecipe.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/compat/emi/UpgradeRecipe.java rename to src/main/java/dev/technici4n/moderndynamics/client/compat/emi/UpgradeRecipe.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/compat/jei/GhostIngredientHandler.java b/src/main/java/dev/technici4n/moderndynamics/client/compat/jei/GhostIngredientHandler.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/compat/jei/GhostIngredientHandler.java rename to src/main/java/dev/technici4n/moderndynamics/client/compat/jei/GhostIngredientHandler.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/compat/jei/MdJeiPlugin.java b/src/main/java/dev/technici4n/moderndynamics/client/compat/jei/MdJeiPlugin.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/compat/jei/MdJeiPlugin.java rename to src/main/java/dev/technici4n/moderndynamics/client/compat/jei/MdJeiPlugin.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/compat/jei/UpgradeCategory.java b/src/main/java/dev/technici4n/moderndynamics/client/compat/jei/UpgradeCategory.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/compat/jei/UpgradeCategory.java rename to src/main/java/dev/technici4n/moderndynamics/client/compat/jei/UpgradeCategory.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/compat/jei/UpgradeDisplay.java b/src/main/java/dev/technici4n/moderndynamics/client/compat/jei/UpgradeDisplay.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/compat/jei/UpgradeDisplay.java rename to src/main/java/dev/technici4n/moderndynamics/client/compat/jei/UpgradeDisplay.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/compat/rei/MdReiPlugin.java b/src/main/java/dev/technici4n/moderndynamics/client/compat/rei/MdReiPlugin.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/compat/rei/MdReiPlugin.java rename to src/main/java/dev/technici4n/moderndynamics/client/compat/rei/MdReiPlugin.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/compat/rei/UpgradeCategory.java b/src/main/java/dev/technici4n/moderndynamics/client/compat/rei/UpgradeCategory.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/compat/rei/UpgradeCategory.java rename to src/main/java/dev/technici4n/moderndynamics/client/compat/rei/UpgradeCategory.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/compat/rei/UpgradeDisplay.java b/src/main/java/dev/technici4n/moderndynamics/client/compat/rei/UpgradeDisplay.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/compat/rei/UpgradeDisplay.java rename to src/main/java/dev/technici4n/moderndynamics/client/compat/rei/UpgradeDisplay.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/model/AttachmentsBakedModel.java b/src/main/java/dev/technici4n/moderndynamics/client/model/AttachmentsBakedModel.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/model/AttachmentsBakedModel.java rename to src/main/java/dev/technici4n/moderndynamics/client/model/AttachmentsBakedModel.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/model/AttachmentsUnbakedModel.java b/src/main/java/dev/technici4n/moderndynamics/client/model/AttachmentsUnbakedModel.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/model/AttachmentsUnbakedModel.java rename to src/main/java/dev/technici4n/moderndynamics/client/model/AttachmentsUnbakedModel.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/model/MdModelLoader.java b/src/main/java/dev/technici4n/moderndynamics/client/model/MdModelLoader.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/model/MdModelLoader.java rename to src/main/java/dev/technici4n/moderndynamics/client/model/MdModelLoader.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/model/MdModels.java b/src/main/java/dev/technici4n/moderndynamics/client/model/MdModels.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/model/MdModels.java rename to src/main/java/dev/technici4n/moderndynamics/client/model/MdModels.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/model/PipeBakedModel.java b/src/main/java/dev/technici4n/moderndynamics/client/model/PipeBakedModel.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/model/PipeBakedModel.java rename to src/main/java/dev/technici4n/moderndynamics/client/model/PipeBakedModel.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/model/PipeUnbakedModel.java b/src/main/java/dev/technici4n/moderndynamics/client/model/PipeUnbakedModel.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/model/PipeUnbakedModel.java rename to src/main/java/dev/technici4n/moderndynamics/client/model/PipeUnbakedModel.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/screen/AttachedIoScreen.java b/src/main/java/dev/technici4n/moderndynamics/client/screen/AttachedIoScreen.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/screen/AttachedIoScreen.java rename to src/main/java/dev/technici4n/moderndynamics/client/screen/AttachedIoScreen.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/screen/CycleSetting.java b/src/main/java/dev/technici4n/moderndynamics/client/screen/CycleSetting.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/screen/CycleSetting.java rename to src/main/java/dev/technici4n/moderndynamics/client/screen/CycleSetting.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/screen/CycleSettingButton.java b/src/main/java/dev/technici4n/moderndynamics/client/screen/CycleSettingButton.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/screen/CycleSettingButton.java rename to src/main/java/dev/technici4n/moderndynamics/client/screen/CycleSettingButton.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/screen/FluidAttachedIoScreen.java b/src/main/java/dev/technici4n/moderndynamics/client/screen/FluidAttachedIoScreen.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/screen/FluidAttachedIoScreen.java rename to src/main/java/dev/technici4n/moderndynamics/client/screen/FluidAttachedIoScreen.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/screen/ItemAttachedIoScreen.java b/src/main/java/dev/technici4n/moderndynamics/client/screen/ItemAttachedIoScreen.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/screen/ItemAttachedIoScreen.java rename to src/main/java/dev/technici4n/moderndynamics/client/screen/ItemAttachedIoScreen.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/screen/PlusMinusButton.java b/src/main/java/dev/technici4n/moderndynamics/client/screen/PlusMinusButton.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/screen/PlusMinusButton.java rename to src/main/java/dev/technici4n/moderndynamics/client/screen/PlusMinusButton.java diff --git a/src/client/java/dev/technici4n/moderndynamics/client/screen/RedstoneModeButton.java b/src/main/java/dev/technici4n/moderndynamics/client/screen/RedstoneModeButton.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/client/screen/RedstoneModeButton.java rename to src/main/java/dev/technici4n/moderndynamics/client/screen/RedstoneModeButton.java diff --git a/src/client/java/dev/technici4n/moderndynamics/data/DataGenerators.java b/src/main/java/dev/technici4n/moderndynamics/data/DataGenerators.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/data/DataGenerators.java rename to src/main/java/dev/technici4n/moderndynamics/data/DataGenerators.java diff --git a/src/client/java/dev/technici4n/moderndynamics/data/SpriteSourceProvider.java b/src/main/java/dev/technici4n/moderndynamics/data/SpriteSourceProvider.java similarity index 100% rename from src/client/java/dev/technici4n/moderndynamics/data/SpriteSourceProvider.java rename to src/main/java/dev/technici4n/moderndynamics/data/SpriteSourceProvider.java