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.spongepowered.mixin' version '0.7.+'
- }
- version = '1.20.2-1.0.0'
- group = 'yisusarj'
- base {
- archivesName = 'healthywatermod'
- }
- // Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
- 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 {
- // Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
- 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/')
- }
- }
- }
- // Include resources generated by data generators.
- sourceSets.main.resources { srcDir 'src/generated/resources' }
- mixin {
- // MixinGradle Settings
- add sourceSets.main, 'mixins.healthywater.refmap.json'
- config 'mixins.healthywater.json'
- showMessageTypes = true
- }
- repositories {
- }
- dependencies {
- minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
- // Apply Mixin AP
- annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
- tasks.named('processResources', ProcessResources).configure {
- var 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]
- }
- }
- // Example for how to get properties into the manifest for reading at runtime.
- tasks.named('jar', Jar).configure {
- manifest {
- attributes([
- 'Specification-Title' : mod_id,
- 'Specification-Vendor' : mod_authors,
- 'Specification-Version' : '1', // We are version 1 of ourselves
- '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")
- ])
- }
- // This is the preferred method to reobfuscate your jar file
- 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:
- // tasks.named('publish').configure {
- // dependsOn 'reobfJar'
- // }
- // Example configuration to allow publishing using the maven-publish plugin
- publishing {
- publications {
- register('mavenJava', MavenPublication) {
- artifact jar
- }
- }
- repositories {
- maven {
- url "file://${project.projectDir}/mcmodsrepo"
- }
- }
- }
- tasks.withType(JavaCompile).configureEach {
- options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
- }
Advertisement
Add Comment
Please, Sign In to add comment