Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- plugins {
- id 'eclipse'
- id 'idea'
- id 'maven-publish'
- id 'net.minecraftforge.gradle' version '[6.0,6.2)'
- id 'org.parchmentmc.librarian.forgegradle' version '1.+'
- }
- version = mod_version
- group = mod_group_id
- base {
- archivesName = mod_id
- }
- java {
- toolchain {
- languageVersion = JavaLanguageVersion.of(17)
- }
- }
- println "Java: ${System.getProperty('java.version')}, JVM: ${System.getProperty('java.vm.version')} (${System.getProperty('java.vendor')}), Arch: ${System.getProperty('os.arch')}"
- minecraft {
- mappings channel: mapping_channel, version: mapping_version
- copyIdeResources = true
- runs {
- configureEach {
- workingDirectory project.file('run')
- property 'forge.logging.markers', 'REGISTRIES'
- property 'forge.logging.console.level', 'debug'
- mods {
- "${mod_id}" {
- source sourceSets.main
- }
- }
- }
- client {
- property 'forge.enabledGameTestNamespaces', mod_id
- }
- server {
- property 'forge.enabledGameTestNamespaces', mod_id
- args '--nogui'
- }
- gameTestServer {
- property 'forge.enabledGameTestNamespaces', mod_id
- }
- data {
- workingDirectory project.file('run-data')
- args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
- }
- }
- }
- sourceSets.main.resources {
- srcDir 'src/generated/resources'
- }
- repositories {
- mavenCentral()
- maven { url = 'https://files.minecraftforge.net/maven' }
- maven { url = 'https://repo.spongepowered.org/repository/maven-public/' }
- maven { url = 'https://maven.theillusivec4.top/' } // Curios repository
- maven { url = 'https://maven.blamejared.com/' } // Lodestone
- }
- dependencies {
- minecraft "net.minecraftforge:forge:${project.minecraft_version}-${project.forge_version}"
- // Lodestone dependency from Blame Jared repository
- implementation fg.deobf("team.lodestar.lodestone:lodestone:1.20.1-1.6.4.252")
- // Curios dependency
- compileOnly fg.deobf("top.theillusivec4.curios:curios-forge:5.9.1+1.20.1:api")
- runtimeOnly fg.deobf("top.theillusivec4.curios:curios-forge:5.9.1+1.20.1")
- }
- tasks.named('processResources', ProcessResources).configure {
- def replaceProperties = [
- minecraft_version : minecraft_version,
- minecraft_version_range: minecraft_version_range,
- forge_version : forge_version,
- forge_version_range : forge_version_range,
- loader_version_range : loader_version_range,
- mod_id : mod_id,
- mod_name : mod_name,
- mod_license : mod_license,
- mod_version : mod_version,
- mod_authors : mod_authors,
- mod_description : mod_description
- ]
- inputs.properties replaceProperties
- filesMatching(['META-INF/mods.toml', 'pack.mcmeta']) {
- expand replaceProperties + [project: project]
- }
- }
- tasks.named('jar', Jar).configure {
- manifest {
- attributes(
- 'Specification-Title': mod_id,
- 'Specification-Vendor': mod_authors,
- 'Specification-Version': '1',
- 'Implementation-Title': project.name,
- 'Implementation-Version': project.jar.archiveVersion,
- 'Implementation-Vendor': mod_authors,
- 'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
- )
- }
- finalizedBy 'reobfJar'
- }
- publishing {
- publications {
- register('mavenJava', MavenPublication) {
- artifact jar
- }
- }
- repositories {
- maven {
- url = "file://${project.projectDir}/mcmodsrepo"
- }
- }
- }
- tasks.withType(JavaCompile).configureEach {
- options.encoding = 'UTF-8'
- }
Add Comment
Please, Sign In to add comment