aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
blob: 3d2b6d97f1602bf48c6420c26f2744c3172e67f5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
buildscript {
	repositories {
		maven { url = 'https://maven.minecraftforge.net' }
		maven { url = 'https://repo.spongepowered.org/maven' }
		jcenter()
		mavenCentral()
	}
	dependencies {
		classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '5.1.+', changing: true
		classpath group: 'org.spongepowered', name: 'mixingradle', version: '0.7-SNAPSHOT'
	}
}
apply plugin: 'net.minecraftforge.gradle'
apply plugin: 'org.spongepowered.mixin'
apply plugin: 'eclipse'

archivesBaseName = project.name + '-' + project.mcVersion

java.toolchain.languageVersion = JavaLanguageVersion.of(17)

mixin {
	add sourceSets.main, "${project.name.toLowerCase()}.refmap.json"
}

minecraft {
	mappings channel: 'official', version: project.mcVersion
	accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')

	runs {
		client = {
			properties 'forge.logging.markers': ''
			properties 'forge.logging.console.level': 'debug'
			properties 'terminal.ansi': 'true'
			workingDirectory project.file('run').canonicalPath
			source sourceSets.main

			property 'mixin.debug', 'true'
			property 'mixin.checks.interfaces', 'true'
			property 'mixin.config', "${project.name}.mixins.json".toLowerCase()
		}
	}
}

sourceSets {
	main {
		resources {
			srcDir 'src/generated/resources'
		}
	}
}

dependencies {
	minecraft "net.minecraftforge:forge:${project.mcVersion}-${project.forgeVersion}"
	annotationProcessor 'org.spongepowered:mixin:0.8.5:processor'
}

jar {
	manifest {
		attributes(["Specification-Title": project.name,
					"Specification-Vendor": project.author,
					"Specification-Version": "24.0",
					"Implementation-Title": project.name,
					"Implementation-Version": project.version,
					"Implementation-Vendor" : project.author,
					"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
					"MixinConfigs": "${project.name.toLowerCase()}.mixins.json"],)
	}
}