140 lines
5.4 KiB
Groovy
140 lines
5.4 KiB
Groovy
buildscript {
|
|
repositories {
|
|
maven { url = 'https://files.minecraftforge.net/maven' }
|
|
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 = '1.18.1-2.30'
|
|
group = 'nl.requios.effortlessbuilding' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
|
|
archivesBaseName = 'effortlessbuilding'
|
|
|
|
// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
|
|
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
|
|
|
|
minecraft {
|
|
// The mappings can be changed at any time, and must be in the following format.
|
|
// snapshot_YYYYMMDD Snapshot are built nightly.
|
|
// stable_# Stables are built at the discretion of the MCP team.
|
|
// Use non-default mappings at your own risk. they may not always work.
|
|
// Simply re-run your setup task after changing the mappings to update your workspace.
|
|
mappings channel: 'official', version: '1.18.1'
|
|
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
|
|
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
|
|
|
|
// Default run configurations.
|
|
// These can be tweaked, removed, or duplicated as needed.
|
|
runs {
|
|
client {
|
|
workingDirectory project.file('run')
|
|
|
|
// Recommended logging data for a userdev environment (SCAN,REGISTRIES,REGISTRYDUMP)
|
|
property 'forge.logging.markers', 'REGISTRIES'
|
|
|
|
// Recommended logging level for the console
|
|
property 'forge.logging.console.level', 'debug'
|
|
|
|
mods {
|
|
effortlessbuilding {
|
|
source sourceSets.main
|
|
}
|
|
}
|
|
}
|
|
|
|
server {
|
|
workingDirectory project.file('run')
|
|
|
|
// Recommended logging data for a userdev environment (SCAN,REGISTRIES,REGISTRYDUMP)
|
|
property 'forge.logging.markers', 'REGISTRIES'
|
|
|
|
// Recommended logging level for the console
|
|
property 'forge.logging.console.level', 'debug'
|
|
|
|
mods {
|
|
effortlessbuilding {
|
|
source sourceSets.main
|
|
}
|
|
}
|
|
}
|
|
|
|
data {
|
|
workingDirectory project.file('run')
|
|
|
|
// Recommended logging data for a userdev environment (SCAN,REGISTRIES,REGISTRYDUMP)
|
|
property 'forge.logging.markers', 'REGISTRIES'
|
|
|
|
// Recommended logging level for the console
|
|
property 'forge.logging.console.level', 'debug'
|
|
|
|
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
|
|
args '--mod', 'effortlessbuilding', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
|
|
|
|
mods {
|
|
effortlessbuilding {
|
|
source sourceSets.main
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed
|
|
// that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied.
|
|
// The userdev artifact is a special name and will get all sorts of transformations applied to it.
|
|
minecraft 'net.minecraftforge:forge:1.18.1-39.0.9'
|
|
|
|
// Real mod deobf dependency examples - these get remapped to your current mappings
|
|
// compileOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}:api") // Adds JEI API as a compile dependency
|
|
// runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}") // Adds the full JEI mod as a runtime dependency
|
|
// implementation fg.deobf("com.tterrag.registrate:Registrate:MC${mc_version}-${registrate_version}") // Adds registrate as a dependency
|
|
|
|
// Examples using mod jars from ./libs
|
|
// implementation fg.deobf("blank:coolmod-${mc_version}:${coolmod_version}")
|
|
|
|
// For more info...
|
|
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
|
|
// http://www.gradle.org/docs/current/userguide/dependency_management.html
|
|
|
|
}
|
|
|
|
// Example for how to get properties into the manifest for reading by the runtime..
|
|
jar {
|
|
manifest {
|
|
attributes([
|
|
"Specification-Title": "effortlessbuilding",
|
|
"Specification-Vendor": "requios",
|
|
"Specification-Version": "1", // We are version 1 of ourselves
|
|
"Implementation-Title": project.name,
|
|
"Implementation-Version": "${version}",
|
|
"Implementation-Vendor" :"requios",
|
|
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
|
|
])
|
|
}
|
|
}
|
|
|
|
// Example configuration to allow publishing using the maven-publish task
|
|
// This is the preferred method to reobfuscate your jar file
|
|
jar.finalizedBy('reobfJar')
|
|
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing
|
|
//publish.dependsOn('reobfJar')
|
|
|
|
publishing {
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
artifact jar
|
|
}
|
|
}
|
|
repositories {
|
|
maven {
|
|
url "file:///${project.projectDir}/mcmodsrepo"
|
|
}
|
|
}
|
|
} |