buildscript { repositories { // These repositories are only for Gradle plugins, put any other repositories in the repository block further below maven { url = 'https://maven.minecraftforge.net' } mavenCentral() } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true } } apply plugin: 'net.minecraftforge.gradle' // Only edit below this line, the above code adds and enables the necessary things for Forge to be setup. apply plugin: 'eclipse' apply plugin: 'maven-publish' version = '36.2' group = 'de.ellpeck.naturesaura' // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = 'NaturesAura' if (System.getenv('BUILD_NUMBER') != null) { version += "." + System.getenv('BUILD_NUMBER') } java.toolchain.languageVersion = JavaLanguageVersion.of(17) minecraft { mappings channel: 'official', version: '1.18.2' runs { client { workingDirectory project.file('run') // Recommended logging data for a userdev environment property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' // Recommended logging level for the console property 'forge.logging.console.level', 'info' property 'mixin.env.disableRefMap', 'true' mods { naturesaura { source sourceSets.main } } } server { workingDirectory project.file('run') // Recommended logging data for a userdev environment property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' // Recommended logging level for the console property 'forge.logging.console.level', 'info' property 'mixin.env.disableRefMap', 'true' mods { naturesaura { source sourceSets.main } } } data { workingDirectory project.file('run') // Recommended logging data for a userdev environment property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP' // Recommended logging level for the console property 'forge.logging.console.level', 'info' property 'mixin.env.disableRefMap', 'true' args '--mod', 'naturesaura', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/'), '--existing', file('src/generated/resources') mods { naturesaura { source sourceSets.main } } } } } sourceSets.main.resources { srcDir 'src/generated/resources' } repositories { maven { url = "https://dvs1.progwml6.com/files/maven" } maven { url = "https://maven.blamejared.com" } maven { url = "https://maven.theillusivec4.top/" } maven { url = "https://maven.ellpeck.de" } } dependencies { minecraft 'net.minecraftforge:forge:1.18.2-40.0.3' compileOnly fg.deobf("mezz.jei:jei-1.18.2:9.4.1.117:api") runtimeOnly fg.deobf("mezz.jei:jei-1.18.2:9.4.1.117") compileOnly fg.deobf("vazkii.patchouli:Patchouli:1.18.2-66-SNAPSHOT:api") runtimeOnly fg.deobf("vazkii.patchouli:Patchouli:1.18.2-66-SNAPSHOT") runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.18.2-5.0.6.3") compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:1.18.2-5.0.6.3:api") // TODO Enchantability /* compile fg.deobf("quarris.enchantability:Enchantability:11.0.48")*/ } // Example for how to get properties into the manifest for reading by the runtime.. jar { manifest { attributes([ "Specification-Title" : "naturesaura", "Specification-Vendor" : "Ellpeck", "Specification-Version" : "1", // We are version 1 of ourselves "Implementation-Title" : project.name, "Implementation-Version" : "${version}", "Implementation-Vendor" : "Ellpeck", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) } } task deobfJar(type: Jar) { from(sourceSets.main.output) archiveName = "${baseName}-${version}-deobf.${extension}" } task sourcesJar(type: Jar) { from(sourceSets.main.allSource) archiveName = "${baseName}-${version}-sources.${extension}" } task apiJar(type: Jar) { from(sourceSets.main.output) from(sourceSets.main.java) include("de/ellpeck/naturesaura/api/**") archiveName = "${baseName}-${version}-api.${extension}" } artifacts { archives deobfJar archives sourcesJar archives apiJar } publishing { publications { mavenJava(MavenPublication) { groupId project.group artifactId project.archivesBaseName version project.version from components.java artifact deobfJar { classifier 'deobf' } artifact sourcesJar { classifier 'sources' } artifact apiJar { classifier 'api' } pom.withXml { def node = asNode() if (node.dependencies.size() > 0) node.remove(node.dependencies) } } } repositories { maven { url "file://" + System.getenv("local_maven") } } }