diff --git a/.gitignore b/.gitignore index ccb0c56..27264ca 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,6 @@ classes/ .metadata .vscode .settings -*.launch \ No newline at end of file +*.launch + +.DS_Store diff --git a/CHANGELOG.md b/CHANGELOG.md index 5662a28..c437399 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ -## [3.0.1] +## [84.0.0] ### Changed -- Improved multi-threading safety and performance thanks to [(#7)](https://github.com/ErrorMikey/AcceleratedDecay/pull/7) [BumbleTree](https://github.com/BumbleTree) +- Ported to 1.20.4 diff --git a/build.gradle b/build.gradle index 529ffa6..80ba12f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ plugins { id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "1.3-SNAPSHOT" apply false - id "me.modmuss50.mod-publish-plugin" version "0.3.5" + id "dev.architectury.loom" version "1.4-SNAPSHOT" apply false + id "me.modmuss50.mod-publish-plugin" version "0.4.5" } architectury { @@ -45,7 +45,7 @@ allprojects { apply plugin: "maven-publish" archivesBaseName = rootProject.archives_base_name - version = "${rootProject.mod_version}+mc${rootProject.minecraft_version}" + version = "${rootProject.mod_version}" group = rootProject.maven_group @@ -67,13 +67,19 @@ publishMods { def fabricOptions = publishOptions { file = project.provider { project(":fabric").tasks.remapJar }.flatMap { it.archiveFile } - displayName = "${project.name} Fabric ${mod_version}+mc${minecraft_version}" + displayName = "[FABRIC][${rootProject.minecraft_version}] ${project.name} ${mod_version}" modLoaders.add("fabric") } + def neoforgeOptions = publishOptions { + file = project.provider { project(":neoforge").tasks.remapJar }.flatMap { it.archiveFile } + displayName = "[NEOFORGE][${rootProject.minecraft_version}] ${project.name} ${mod_version}" + modLoaders.add("forge") + } + def forgeOptions = publishOptions { file = project.provider { project(":forge").tasks.remapJar }.flatMap { it.archiveFile } - displayName = "${project.name} Forge ${mod_version}+mc${minecraft_version}" + displayName = "[FORGE][${rootProject.minecraft_version}] ${project.name} ${mod_version}" modLoaders.add("neoforge") } @@ -97,6 +103,13 @@ publishMods { } } + curseforge("curseforgeNeoforge") { + from(curseForgeOptions, neoforgeOptions) + requires { + slug = "architectury-api" + } + } + curseforge("curseforgeForge") { from(curseForgeOptions, forgeOptions) requires { @@ -113,6 +126,13 @@ publishMods { } modrinth("modrinthForge") { + from(modrinthOptions, neoforgeOptions) + requires { + slug = "architectury-api" + } + } + + modrinth("modrinthNeoforge") { from(modrinthOptions, forgeOptions) requires { slug = "architectury-api" @@ -120,8 +140,9 @@ publishMods { } github { - file = project.provider { project(":forge").tasks.remapJar }.flatMap { it.archiveFile } + file = project.provider { project(":neoforge").tasks.remapJar }.flatMap { it.archiveFile } additionalFiles.from project.provider { project(":fabric").tasks.remapJar }.flatMap { it.archiveFile } + additionalFiles.from project.provider { project(":forge").tasks.remapJar }.flatMap { it.archiveFile } repository = "${project.github_repo}" accessToken = providers.environmentVariable("GITHUB_TOKEN") diff --git a/fabric/src/main/resources/accelerateddecay.mixins.json b/fabric/src/main/resources/accelerateddecay.mixins.json index 8397e44..daecf87 100644 --- a/fabric/src/main/resources/accelerateddecay.mixins.json +++ b/fabric/src/main/resources/accelerateddecay.mixins.json @@ -2,6 +2,7 @@ "required": true, "package": "pro.mikey.accelerateddecay.mixin.fabric", "compatibilityLevel": "JAVA_17", + "minVersion": "0.7", "client": [], "mixins": [], "injectors": { diff --git a/forge/build.gradle b/forge/build.gradle index e92d14d..0a28dc9 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -8,7 +8,7 @@ architectury { } repositories { - maven { url "https://maven.neoforged.net/releases" } + maven { url "https://files.minecraftforge.net/" } maven { url "https://maven.creeperhost.net/" } } @@ -33,7 +33,7 @@ configurations { } dependencies { - forge "net.neoforged:forge:${rootProject.minecraft_version}-${rootProject.forge_version}" + forge "net.minecraftforge:forge:${rootProject.minecraft_version}-${rootProject.forge_version}" // Remove the next line if you don't want to depend on the API modApi "dev.architectury:architectury-forge:${rootProject.architectury_version}" diff --git a/forge/src/main/resources/accelerateddecay.mixins.json b/forge/src/main/resources/accelerateddecay.mixins.json index 8cbf179..df08133 100644 --- a/forge/src/main/resources/accelerateddecay.mixins.json +++ b/forge/src/main/resources/accelerateddecay.mixins.json @@ -1,7 +1,8 @@ { "required": true, - "package": "pro.mikey.accelerateddecay.mixin.forge", + "package": "pro.mikey.accelerateddecay.mixin.neoforge", "compatibilityLevel": "JAVA_17", + "minVersion": "0.7", "client": [], "mixins": [], "injectors": { diff --git a/gradle.properties b/gradle.properties index 57b2b88..7239913 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,17 +1,18 @@ org.gradle.jvmargs=-Xmx2048M -minecraft_version=1.20.1 -enabled_platforms=fabric,forge +minecraft_version=1.20.4 +enabled_platforms=fabric,forge,neoforge archives_base_name=accelerated-decay -mod_version=3.0.1 +mod_version=84.0.0 maven_group=pro.mikey.mods -architectury_version=9.1.12 +fabric_loader_version=0.15.3 +fabric_api_version=0.92.0+1.20.4 +forge_version=49.0.12 +neoforge_version=20.4.62-beta -fabric_loader_version=0.14.22 -fabric_api_version=0.88.1+1.20.1 -forge_version=47.1.76 +architectury_version=11.0.9 curseforge_id=699872 modrinth_id=laX5CckD diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 15de902..a595206 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-8.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/neoforge/build.gradle b/neoforge/build.gradle new file mode 100644 index 0000000..e1303c3 --- /dev/null +++ b/neoforge/build.gradle @@ -0,0 +1,91 @@ +plugins { + id "com.github.johnrengelman.shadow" version "7.1.2" +} + +architectury { + platformSetupLoomIde() + neoForge() +} + +repositories { + maven { url "https://maven.neoforged.net/releases" } + maven { url "https://maven.creeperhost.net/" } +} + +loom { + accessWidenerPath = project(":common").loom.accessWidenerPath + + neoForge {} +} + +configurations { + common + shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this. + compileClasspath.extendsFrom common + runtimeClasspath.extendsFrom common + developmentNeoForge.extendsFrom common +} + +dependencies { + neoForge "net.neoforged:neoforge:${rootProject.neoforge_version}" + // Remove the next line if you don't want to depend on the API + modApi "dev.architectury:architectury-neoforge:${rootProject.architectury_version}" + + common(project(path: ":common", configuration: "namedElements")) { transitive false } + shadowCommon(project(path: ":common", configuration: "transformProductionNeoForge")) { transitive = false } +} + +processResources { + inputs.property "version", project.version + + filesMatching("META-INF/mods.toml") { + expand "version": project.version + } +} + +shadowJar { + exclude "fabric.mod.json" + exclude "architectury.common.json" + + configurations = [project.configurations.shadowCommon] + setArchiveClassifier "dev-shadow" +} + +remapJar { + input.set shadowJar.archiveFile + dependsOn shadowJar + setArchiveClassifier null + setArchivesBaseName("${rootProject.archivesBaseName}-${project.name}") // adds fabric to the maven and curse name + atAccessWideners.add('accelerateddecay.accesswidener') +} + +jar { + setArchiveClassifier "dev" +} + +sourcesJar { + def commonSources = project(":common").sourcesJar + dependsOn commonSources + from commonSources.archiveFile.map { zipTree(it) } +} + +components.java { + withVariantsFromConfiguration(project.configurations.shadowRuntimeElements) { + skip() + } +} + +publishing { + publications { + mavenForge(MavenPublication) { + artifactId = "${rootProject.archivesBaseName}-${project.name}" + from components.java + } + } +} + +sourceSets.each { + def dir = layout.buildDirectory.dir("sourcesSets/$it.name") + it.output.resourcesDir = dir + it.java.destinationDirectory = dir +} diff --git a/neoforge/gradle.properties b/neoforge/gradle.properties new file mode 100644 index 0000000..7da18ea --- /dev/null +++ b/neoforge/gradle.properties @@ -0,0 +1 @@ +loom.platform=neoforge diff --git a/neoforge/src/main/java/pro/mikey/accelerateddecay/neoforge/AcceleratedDecayNeoforge.java b/neoforge/src/main/java/pro/mikey/accelerateddecay/neoforge/AcceleratedDecayNeoforge.java new file mode 100644 index 0000000..10dd7dd --- /dev/null +++ b/neoforge/src/main/java/pro/mikey/accelerateddecay/neoforge/AcceleratedDecayNeoforge.java @@ -0,0 +1,12 @@ +package pro.mikey.accelerateddecay.neoforge; + +import net.neoforged.fml.common.Mod; +import pro.mikey.accelerateddecay.AcceleratedDecay; + +@Mod(AcceleratedDecay.MOD_ID) +public class AcceleratedDecayNeoforge { + public AcceleratedDecayNeoforge() { +// EventBuses.registerModEventBus(AcceleratedDecay.MOD_ID, FMLJavaModLoadingContext.get().getModEventBus()); + AcceleratedDecay.init(); + } +} diff --git a/neoforge/src/main/resources/META-INF/mods.toml b/neoforge/src/main/resources/META-INF/mods.toml new file mode 100644 index 0000000..2d8df43 --- /dev/null +++ b/neoforge/src/main/resources/META-INF/mods.toml @@ -0,0 +1,41 @@ +modLoader = "javafml" +loaderVersion = "[1,)" +#issueTrackerURL = "" +license = "GPL3" + +[[mods]] +modId = "accelerateddecay" +version = "${version}" +displayName = "Accelerated Decay" +authors = "ErrorMikey" +description = ''' +Speeds up the decay of leaves +''' +#logoFile = "" + +[[dependencies.accelerateddecay]] +modId = "neoforge" +required = true +versionRange = "[20.2,)" +ordering = "NONE" +side = "BOTH" + +[[dependencies.accelerateddecay]] +modId = "minecraft" +required = true +versionRange = "[1.20.2,)" +ordering = "NONE" +side = "BOTH" + +[[dependencies.accelerateddecay]] +modId = "architectury" +required = true +versionRange = "[9.1.12,)" +ordering = "AFTER" +side = "BOTH" + +[[mixins]] +config = "accelerateddecay-common.mixins.json" + +[[mixins]] +config = "accelerateddecay.mixins.json" diff --git a/neoforge/src/main/resources/accelerateddecay.mixins.json b/neoforge/src/main/resources/accelerateddecay.mixins.json new file mode 100644 index 0000000..fa1ba19 --- /dev/null +++ b/neoforge/src/main/resources/accelerateddecay.mixins.json @@ -0,0 +1,10 @@ +{ + "required": true, + "package": "pro.mikey.accelerateddecay.mixin.neoforge", + "compatibilityLevel": "JAVA_17", + "client": [], + "mixins": [], + "injectors": { + "defaultRequire": 1 + } +} diff --git a/neoforge/src/main/resources/pack.mcmeta b/neoforge/src/main/resources/pack.mcmeta new file mode 100644 index 0000000..e53603f --- /dev/null +++ b/neoforge/src/main/resources/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "accelerateddecay Mod", + "pack_format": 8 + } +} diff --git a/settings.gradle b/settings.gradle index d50ee5b..f1699d7 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,23 +1,17 @@ pluginManagement { repositories { gradlePluginPortal() + + maven { + url "https://files.minecraftforge.net/" + } + maven { url "https://maven.neoforged.net/releases" - content { - includeGroup "net.neoforged" - } } maven { url "https://maven.creeperhost.net/" - content { - includeGroup "net.minecraftforge" - includeGroup "net.fabricmc" - includeGroup "de.oceanlabs.mcp" - includeGroup "dev.architectury" - includeGroup "dev.architectury.loom" - includeGroup "architectury-plugin" - } } } } @@ -25,5 +19,6 @@ pluginManagement { include("common") include("fabric") include("forge") +include("neoforge") rootProject.name = "accelerated-decay"