-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy pathbuild.gradle
117 lines (102 loc) · 4.43 KB
/
build.gradle
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
import java.time.Instant
buildscript {
repositories {
maven { url = 'https://files.minecraftforge.net/maven' }
jcenter()
mavenCentral()
}
dependencies {
classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
}
}
plugins {
id 'java'
id 'eclipse'
id 'idea'
}
apply plugin: 'net.minecraftforge.gradle'
idea {
module {
//Exclude directories from being managed
for (String excludeDirName in ["run", "out", "logs", "gradle"]) {
File excludeDir = new File(projectDir, excludeDirName)
excludeDirs.add(excludeDir)
}
}
}
version = "${mod_version}"
group = 'com.unascribed'
archivesBaseName = 'BlockRenderer'
sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
minecraft {
mappings channel: 'snapshot', version: "${mappings_version}"
runs {
client {
workingDirectory file('run')
//The below if statements are to add args to your gradle.properties file in user home
// (DO NOT add them directly to the gradle.properties file for this project)
// Setting the below properties allows use of your normal Minecraft account in the
// dev environment including having your skin load. Each property also has a comment
// explaining what information to set the value to/format it expects
// One thing to note is because of the caching that goes on, after changing these
// variables, you need to refresh the project and rerun genIntellijRuns/genEclipseRuns
if (project.hasProperty('mc_uuid')) {
//Your uuid without any dashes in the middle
args '--uuid', project.getProperty('mc_uuid')
}
if (project.hasProperty('mc_username')) {
//Your username/display name, this is the name that shows up in chat
// Note: This is not your email, even if you have a Mojang account
args '--username', project.getProperty('mc_username')
}
if (project.hasProperty('mc_accessToken')) {
//Your access token, you can find it in your '.minecraft/launcher_profiles.json' file
args '--accessToken', project.getProperty('mc_accessToken')
}
if (project.hasProperty('forge_force_ansi')) {
//Force ansi if declared as a gradle variable, as the auto detection doesn't detect IntelliJ properly
// or eclipse's plugin that adds support for ansi escape in console
jvmArg('-Dterminal.ansi=' + project.getProperty('forge_force_ansi'))
}
mods {
blockrenderer.source((SourceSet) sourceSets.main)
}
}
server {
workingDirectory file("run")
if (project.hasProperty('forge_force_ansi')) {
//Force ansi if declared as a gradle variable, as the auto detection doesn't detect IntelliJ properly
// or eclipse's plugin that adds support for ansi escape in console
jvmArg('-Dterminal.ansi=' + project.getProperty('forge_force_ansi'))
}
mods {
blockrenderer.source((SourceSet) sourceSets.main)
}
}
}
}
dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
}
jar.manifest.attributes([
'Specification-Title' : rootProject.name,
'Specification-Vendor' : project.group,
'Specification-Version' : "${project.mod_version}",
'Implementation-Title' : rootProject.name,
'Implementation-Version' : "${project.mod_version}",
'Implementation-Vendor' : project.group,
'Implementation-Timestamp': Instant.now()
])
task replaceResources(type: Copy) {
outputs.upToDateWhen { false }
from(sourceSets.main.resources) {
include "META-INF/mods.toml"
expand "version": mod_version, "mc_version": minecraft_version_range, "forge_version": forge_version_range, "loader_version": loader_version_range
}
into "$buildDir/resources/main/"
}
processResources {
//Exclude the mods.toml file as we manually handle that and don't want it to invalidate our cache
exclude 'META-INF/mods.toml'
finalizedBy replaceResources
}