buildscript { repositories { maven { url = 'https://maven.minecraftforge.net' } maven { url = 'https://repo.spongepowered.org/repository/maven-public/' } maven { url = 'https://maven.parchmentmc.org' } mavenCentral() } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: "${forgegradle_version}", changing: true classpath group: 'org.spongepowered', name: 'mixingradle', version: "${mixingradle_version}" classpath group: 'org.parchmentmc', name: 'librarian', version: "${librarian_version}" } } plugins { id 'com.matthewprenger.cursegradle' version '1.4.0' } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'org.spongepowered.mixin' apply plugin: 'org.parchmentmc.librarian.forgegradle' apply plugin: 'maven-publish' apply plugin: 'idea' apply from: 'https://raw.githubusercontent.com/SizableShrimp/Forge-Class-Remapper/main/classremapper.gradle' group = 'com.teammoeg' version = "${minecraft_version}-${mod_version}" archivesBaseName = 'steampowered' java.toolchain.languageVersion = JavaLanguageVersion.of(17) minecraft { mappings channel: 'parchment', version: "${parchment_mappings}" // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') runs { client { workingDirectory project.file('run') arg '-mixin.config=steampowered.mixins.json' property 'forge.logging.console.level', 'info' property 'fml.earlyprogresswindow', 'false' property 'mixin.env.remapRefMap', 'true' property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" mods { steampowered { source sourceSets.main } } } server { workingDirectory project.file('run') arg '-mixin.config=steampowered.mixins.json' property 'forge.logging.console.level', 'info' property 'mixin.env.remapRefMap', 'true' property 'mixin.env.refMapRemappingFile', "${buildDir}/createSrgToMcp/output.srg" mods { steampowered { source sourceSets.main } } } data { workingDirectory project.file('run') property 'forge.logging.markers', 'REGISTRIES,REGISTRYDUMP' property 'forge.logging.console.level', 'debug' property 'fml.earlyprogresswindow', 'false' property 'mixin.env.remapRefMap', 'true' property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg" args '--mod', 'steampowered', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') mods { steampowered { source sourceSets.main } } } } } sourceSets.main.resources { srcDir 'src/generated/resources' } mixin { add sourceSets.main, "steampowered.refmap.json" } repositories { mavenLocal() maven { //location of the maven for mixed mappings, registrate, and Flywheel name = "tilera maven" url = "https://maven.tilera.xyz/" } maven { // location of the maven that hosts JEI files (And TiC) name "Progwml6 maven" url "https://dvs1.progwml6.com/files/maven/" } maven { //location of the maven for mixed mappings, registrate, and Flywheel name = "tterrag maven" url = "https://maven.tterrag.com/" } maven { // location of the maven for Curios API url = "https://maven.theillusivec4.top/" } maven { // location of maven for CC: Tweaked name = "squiddev" url = "https://squiddev.cc/maven/" content { includeGroup "org.squiddev" } } maven { //location of the maven for vazkii's mods name "blamejared" url "https://maven.blamejared.com/" } maven { url "https://www.cursemaven.com" content { includeGroup "curse.maven" } } } dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" implementation fg.deobf("curse.maven:create-328085:4625533") //implementation fg.deobf("curse.maven:flywheel-486392:3737402") //implementation fg.deobf("com.simibubi.create:create-1.18.2:0.5.1.c:all") implementation fg.deobf("com.jozufozu.flywheel:flywheel-forge-1.18.2:0.6.9-101") implementation fg.deobf("com.tterrag.registrate:Registrate:MC1.18.2-1.1.3") //implementation fg.deobf("curse.maven:immersive-engineering-231951:3377691") //implementation fg.deobf("curse.maven:create-alloyed-564792:3602444") //compileOnly fg.deobf("mezz.jei:jei-1.16.5:7.6.4.88:api") //runtimeOnly fg.deobf("mezz.jei:jei-1.16.5:7.6.4.88") // FG5 requires 0.8.3 annotationProcessor "org.spongepowered:mixin:0.8.3:processor" testAnnotationProcessor "org.spongepowered:mixin:0.8.3:processor" } jar { manifest { attributes([ "Specification-Title" : "steampowered", "Specification-Vendor" : "TeamMoeg", "Specification-Version" : "1", "Implementation-Title" : project.name, "Implementation-Version" : "${version}", "Implementation-Vendor" : "TeamMoeg", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"), "MixinConfigs": "steampowered.mixins.json" ]) } } jar.finalizedBy('reobfJar') task sourcesJar(type: Jar) { from sourceSets.main.allSource archiveBaseName.set(project.archivesBaseName) archiveVersion.set("${project.version}") archiveClassifier.set('sources') } artifacts { archives jar, sourcesJar } String getChangelogText() { def changelogFile = file('changelog.txt') String str = '' int lineCount = 0 boolean done = false changelogFile.eachLine { if (done || it == null) { return } if (it.size() > 1) { def temp = it if (lineCount == 0) { temp = "Create: Steam Powered ${version}" temp = "Create: Steam Powered v${mod_version}  for Minecraft ${minecraft_version}
" } else if (it.startsWith('-')) { temp = "   $temp
" temp = temp.replaceAll("(\\S+\\/\\S+)#([0-9]+)\\b", "\$0"); temp = temp.replaceAll("#([0-9]+)\\b(?!<\\/a>)", "\$0"); } else { temp = "

$temp

" } str += temp lineCount++ } else { str += "

Please submit any Issues you come across on the Issue Tracker.

" done = true } } return str } // changelog debugging //new File("changelog.html").write getChangelogText() curseforge { project { def envApiKey = System.getenv('CURSEFORGE_API_KEY') apiKey = envApiKey == null ? 'nope' : envApiKey id = project.projectId changelog = getChangelogText() changelogType = 'html' releaseType = project.curse_type addGameVersion project.minecraft_version mainArtifact (jar) { relations { requiredDependency 'create' requiredDependency 'flywheel' optionalDependency 'create-alloyed' } } } } publishing { tasks.publish.dependsOn 'build' publications { mavenJava(MavenPublication) { artifactId = project.archivesBaseName artifact sourcesJar artifact jar } } repositories { if (project.hasProperty('mvnURL')) { maven { credentials { username findProperty("mvnUsername") password findProperty("mvnPassword") } url = findProperty("mvnURL") } } else { mavenLocal() } } }