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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
buildscript {
repositories {
maven { url = 'https://files.minecraftforge.net/maven' }
maven { url = "https://repo.spongepowered.org/maven" }
jcenter()
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', 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 = name + '-' + mcVersion
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'
mixin {
add sourceSets.main, "${project.name.toLowerCase()}.refmap.json"
}
minecraft {
mappings channel: 'official', version: project.mcVersion
runs {
client = {
properties 'forge.logging.markers': ''
properties 'forge.logging.console.level': 'debug'
properties 'terminal.ansi': 'true'
workingDirectory project.file('run').canonicalPath
source sourceSets.main
arg "-mixin.debug=true"
arg "-mixin.checks.interfaces=true"
arg "-mixin.config=${project.name}.mixins.json".toLowerCase()
}
}
}
// Process resources on build
processResources {
// This will ensure that this task is redone when the versions change.
inputs.property 'version', project.version
// Replace stuff in mods.toml, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'META-INF/mods.toml'
// Replace version
expand 'version':project.version
}
// Copy everything else except the mods.toml
from(sourceSets.main.resources.srcDirs) {
exclude 'META-INF/mods.toml'
}
}
sourceSets {
main {
resources {
srcDir 'src/generated/resources'
}
}
}
dependencies {
minecraft 'net.minecraftforge:forge:' + project.properties.mcVersion + '-' + forgeVersion
annotationProcessor 'org.spongepowered:mixin:0.8: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"],)
}
}
|