forked from Zeno410/UndergroundBiomesConstructs1.10
-
Notifications
You must be signed in to change notification settings - Fork 3
/
asset_templates.gradle
142 lines (139 loc) · 6.62 KB
/
asset_templates.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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
def variant_textures = [
stone : """""",
brick : "brick",
cobble: "cobble"
]
def stones = [
sedimentary: [
variants : ["stone"],
create : ["fullslab", "halfslab", "wall", "stairs"],
create_for: ["stone": ["button"]],
types : ["limestone", "chalk", "shale", "siltstone", "lignite", "dolomite", "greywacke", "chert"]
],
metamorphic: [
variants : ["brick", "cobble", "stone"],
create : ["fullslab", "halfslab", "wall", "stairs"],
create_for: ["stone" : ["button", "halfslab_alt", "fullslab_alt"],
"cobble": ["button"]],
types : ["gneiss", "eclogite", "marble", "quartzite", "blueschist", "greenschist", "soapstone", "migmatite"]
],
igneous : [
variants : ["brick", "cobble", "stone"],
create : ["fullslab", "halfslab", "wall", "stairs"],
create_for: ["stone" : ["button", "halfslab_alt", "fullslab_alt"],
"cobble": ["button"]],
types : ["red_granite", "black_granite", "rhyolite", "andesite", "gabbro", "basalt", "komatiite", "dacite"]
]
]
task processResourceTemplates(type: Copy, group: "build", description: "Creates Resources from templates") {
doLast {
println sourceSets.main.resources.srcDirs
}
}
stones.each { key, value ->
value.variants.each { variant ->
task "processBlockstateTemplatesFor${key.capitalize()}${variant.capitalize()}"(type: Copy) {
from "src/main/resources_templates"
into "build/resources/main"
include "**/blockstates/block.json"
rename "(.*)", "${key}_${variant}.json"
expand(types: value.types, texture_name: variant_textures[variant])
}
processResourceTemplates.dependsOn "processBlockstateTemplatesFor${key.capitalize()}${variant.capitalize()}"
value.create.each { item_type ->
task "processBlockstateTemplatesFor${key.capitalize()}${variant.capitalize()}${item_type.capitalize()}"(type: Copy) {
from "src/main/resources_templates"
into "build/resources/main"
include "**/blockstates/${item_type}.json"
rename "(.*)", "${key}_${variant}_${item_type}.json"
expand(types: value.types, texture_name: variant_textures[variant])
}
processResourceTemplates.dependsOn "processBlockstateTemplatesFor${key.capitalize()}${variant.capitalize()}${item_type.capitalize()}"
}
}
value.create_for.each { variant, items ->
items.each { item_type ->
task "processBlockstateTemplatesFor${key.capitalize()}${variant.capitalize()}${item_type.capitalize()}"(type: Copy) {
from "src/main/resources_templates"
into "build/resources/main"
include "**/blockstates/${item_type}.json"
rename "(.*)", "${key}_${variant}_${item_type}.json"
expand(types: value.types, texture_name: variant_textures[variant])
}
processResourceTemplates.dependsOn "processBlockstateTemplatesFor${key.capitalize()}${variant.capitalize()}${item_type.capitalize()}"
}
}
}
stones.each { stone_type, value ->
// if(value.variants.contains("cobble")) {
// for(int index = 0; index < value.types.size(); index++) {
// String type = value.types[index]
// task "processSmeltRecipeTemplatesFor${stone_type.capitalize()}${type.capitalize()}"(type: Copy) {
// from "src/main/resources_templates"
// into "build/resources/main"
// include "**/recipes/smelt.json"
// rename "(.*).json", "smelt_${type}_cobble.json"
// expand(input: {item: stone_type + "_cobble", meta: index}, result: {item: stone_type + "_stone", meta: index})
// }
// processResourceTemplates.dependsOn "processSmeltRecipeTemplatesFor${stone_type.capitalize()}${type.capitalize()}"
// }
// }
if (value.variants.contains("brick")) {
for (int index = 0; index < value.types.size(); index++) {
String type = value.types[index]
task "processBrickRecipeTemplatesFor${type.capitalize()}"(type: Copy) {
from "src/main/resources_templates"
into "build/resources/main"
include "**/recipes/brick.json"
rename "(.*).json", "${type}_brick.json"
expand(input: stone_type + "_stone", output: stone_type + "_brick", meta: index)
}
processResourceTemplates.dependsOn "processBrickRecipeTemplatesFor${type.capitalize()}"
}
}
value.variants.each { variant ->
value.create.each { item_type ->
for (int index = 0; index < value.types.size(); index++) {
String type = value.types[index]
task "process${variant.capitalize()}${item_type.capitalize()}RecipeTemplatesFor${stone_type.capitalize()}${type.capitalize()}"(type: Copy) {
from "src/main/resources_templates"
into "build/resources/main"
include "**/recipes/${item_type}.json"
rename "(.*).json", "${type}_${variant}_${item_type}.json"
expand(input: stone_type + "_" + variant, output: stone_type + "_" + variant + "_${item_type}", meta: index)
}
processResourceTemplates.dependsOn "process${variant.capitalize()}${item_type.capitalize()}RecipeTemplatesFor${stone_type.capitalize()}${type.capitalize()}"
}
}
}
value.create_for.each { variant, items ->
items.each { item_type ->
for (int index = 0; index < value.types.size(); index++) {
String type = value.types[index]
task "process${variant.capitalize()}${item_type.capitalize()}RecipeTemplatesFor${stone_type.capitalize()}${type.capitalize()}"(type: Copy) {
from "src/main/resources_templates"
into "build/resources/main"
include "**/recipes/${item_type}.json"
rename "(.*).json", "${type}_${variant}_${item_type}.json"
expand(input: stone_type + "_" + variant, output: stone_type + "_" + variant + "_${item_type}", meta: index)
}
processResourceTemplates.dependsOn "process${variant.capitalize()}${item_type.capitalize()}RecipeTemplatesFor${stone_type.capitalize()}${type.capitalize()}"
}
}
}
if (value.types.contains("brick")) {
for (int index = 0; index < value.types.size(); index++) {
String type = value.types[index]
String item_type = "brick"
task "process${item_type.capitalize()}RecipeTemplatesFor${stone_type.capitalize()}${type.capitalize()}"(type: Copy) {
from "src/main/resources_templates"
into "build/resources/main"
include "**/recipes/${item_type}.json"
rename "(.*).json", "${type}_${item_type}.json"
expand(input: stone_type + "_stone", output: stone_type + "_${item_type}", meta: index)
}
processResourceTemplates.dependsOn "process${item_type.capitalize()}RecipeTemplatesFor${stone_type.capitalize()}${type.capitalize()}"
}
}
}
processResources.dependsOn processResourceTemplates