The current biome ("tile") format is repetitive and uses excessive boilerplate and powers less of the mod than it could.
minecraft:swamp.json
{
"textures": {
"valley": "antique_atlas:swamp"
"high": "antique_atlas:swamp_hills"
}
"fallback": {
"c:swamps": 10
}
}
There's little reason to use a "default" key when the more common use of multi-textured biomes selects ranges of elevations for each texture - so we just use each elevation to mean "for this elevation and above".
Biome tag fallbacks weren't data driven, but there's no reason they can't be - so they are here.
for brevity, { "textures": "antique_atlas:swamp" }
should also be valid.
if stitching is moved to mcmeta as suggested in #34, biomes could also define their own texture groups:
minecraft:swamp.json
{
"textures": {
"valley": {
"antique_atlas:swamp": 3
"antique_atlas:swamp_2": 1
}
"high": "antique_atlas:swamp_hills"
}
}
which would remove the need for TextureSets entirely. Because this adds more complexity to each biome file, a parent field could be considered as well.
Structures should receive the same treatment to directly reference textures, but that can be covered as part of #37.