-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathbuild.gradle
More file actions
125 lines (106 loc) · 4.01 KB
/
build.gradle
File metadata and controls
125 lines (106 loc) · 4.01 KB
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
118
119
120
121
122
123
124
125
plugins {
id "dev.architectury.loom" version "0.12.0-SNAPSHOT"
id "maven-publish"
}
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
loom {
// use this if you are using the official mojang mappings
// and want loom to stop warning you about their license
silentMojangMappingsLicense()
// since loom 0.10, you are **required** to use the
// "forge" block to configure forge-specific features,
// such as the mixinConfigs array or datagen
forge {
// specify the mixin configs used in this mod
// this will be added to the jar manifest as well!
mixinConfigs = [
"outvoted.mixins.json"
]
// missing access transformers?
// don't worry, you can still use them!
// note that your AT *MUST* be located at
// src/main/resources/META-INF/accesstransformer.cfg
// to work as there is currently no config option to change this.
// also, any names used in your access transformer will need to be
// in SRG mapped ("func_" / "field_" with MCP class names) to work!
// (both of these things may be subject to change in the future)
// this will create a data generator configuration
// that you can use to automatically generate assets and data
// using architectury loom. Note that this currently *only* works
// for forge projects made with architectury loom!
dataGen {
mod project.mod_id
}
}
// This allows you to modify your launch configurations,
// for example to add custom arguments. In this case, we want
// the data generator to check our resources directory for
// existing files. (see Forge's ExistingFileHelper for more info)
launches {
data {
arg "--existing", file("src/main/resources").absolutePath
}
}
}
repositories {
// Add repositories to retrieve artifacts from in here.
// You should only use this when depending on other mods because
// Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
// See https://docs.gradle.org/current/userguide/declaring_repositories.html
// for more information about repositories.
maven { url 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/' }
maven { url 'https://maven.blamejared.com' }
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings loom.officialMojangMappings()
forge "net.minecraftforge:forge:${project.forge_version}"
modImplementation 'software.bernie.geckolib:geckolib-forge-1.18:3.0.30'
modImplementation "vazkii.patchouli:Patchouli:1.18.2-71.1"
}
processResources {
// define properties that can be used during resource processing
inputs.property "version", project.version
// this will replace the property "${version}" in your mods.toml
// with the version you've defined in your gradle.properties
filesMatching("META-INF/mods.toml") {
expand "version": project.version
}
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
options.release = 17
}
java {
withSourcesJar()
}
jar {
manifest {
attributes([
"Specification-Title" : project.mod_id,
"Specification-Vendor" : project.mod_author,
"Specification-Version" : "1",
"Implementation-Title" : project.name,
"Implementation-Version" : version,
"Implementation-Vendor" : project.mod_author,
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
}
publishing {
publications {
mavenJava(MavenPublication) {
artifact(remapJar) {
builtBy remapJar
}
artifact(sourcesJar) {
builtBy remapSourcesJar
}
}
}
repositories {
}
}