-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.gradle
111 lines (94 loc) · 3.04 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
plugins {
id 'fabric-loom' version '0.8-SNAPSHOT'
id 'maven-publish'
}
sourceCompatibility = JavaVersion.VERSION_16
targetCompatibility = JavaVersion.VERSION_16
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
repositories {
maven {
name "rei"
url "https://maven.shedaniel.me"
}
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modRuntime "me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}"
}
task generateTemplates {
inputs.property "modid", project.mod_identifier
def crushers = ['stone', 'copper', 'bronze', 'iron', 'steel']
def furnaces = ['copper', 'bronze', 'iron', 'steel']
def chests = ['brass', 'silver', 'gold', 'electrum', 'platinum']
def utilities = ['sulfur', 'phosphorite', 'saltpeter', 'magnesium', 'bitumen', 'potash']
def metals = ['silver', 'platinum', 'ignatius', 'shadow_iron', 'midasium', 'vyroxeres', 'ceruclase', 'kalendrite', 'vulcanite', 'sanguinite', 'prometheum', 'deep_iron', 'oureclase', 'astral_silver', 'carmot', 'mithril', 'orichalcum', 'adamantine', 'atlarus', 'eximite']
def catalysts = ['tin', 'manganese', 'zinc', 'lemurite', 'lemurite', 'adluorite', 'infuscolium', 'rubracium', 'meutoite']
def alloys = ['bronze', 'hepatizon', 'damascus_steel', 'angmallen', 'steel', 'brass', 'electrum', 'shadow_steel', 'inolashite', 'amordrine', 'black_steel', 'quicksilver', 'haderoth', 'celenegil', 'tartarite', 'desichalkos']
def stone = ['stone', 'granite', 'andesite', 'diorite', 'deepslate', 'netherrack', 'smooth_basalt', 'end_stone']
def smeltable = metals + catalysts
def ores = metals + catalysts + utilities
def items = metals + catalysts + alloys
def tools = metals + alloys
def templates = [
"ore": ores,
"metal": items,
"tool": tools,
//"utility": utilities,
"furnace": furnaces,
"chest": chests,
"crusher": crushers,
"smeltable": smeltable
]
//noinspection GroovyAssignabilityCheck
templates.each { type, metal_list ->
metal_list.each { metal ->
copy {
from "$projectDir/src/main/templates"
include "**/*\${${type}}*.json"
into "$buildDir/resources/main/"
expand "modid": project.mod_identifier, (type): metal
rename { String filename ->
filename.replace("\${${type}}", metal)
}
}
}
}
}
processResources {
dependsOn(generateTemplates)
inputs.property "version", project.version
filesMatching("fabric.mod.json") {
expand "version": project.version
}
}
tasks.withType(JavaCompile).configureEach {
it.options.encoding = "UTF-8"
it.options.release = 16
}
java {
withSourcesJar()
}
jar {
from("LICENSE") {
rename { "${it}_${project.archivesBaseName}"}
}
}
publishing {
publications {
mavenJava(MavenPublication) {
artifact(remapJar) {
builtBy remapJar
}
artifact(sourcesJar) {
builtBy remapSourcesJar
}
}
}
repositories {
}
}