From 05bec834d54abd6a77dd933d588444e13b1f49c7 Mon Sep 17 00:00:00 2001 From: QuazChick Date: Wed, 8 Jan 2025 19:01:25 +0000 Subject: [PATCH] Added foliage and grass appearance components --- source/resource/biomes/biomes.json | 1 + .../format/components/foliage_appearance.json | 46 +++++++++++++++++++ .../format/components/grass_appearance.json | 46 +++++++++++++++++++ .../biomes/format/minecraft.client_biome.json | 7 ++- 4 files changed, 98 insertions(+), 2 deletions(-) create mode 100644 source/resource/biomes/format/components/foliage_appearance.json create mode 100644 source/resource/biomes/format/components/grass_appearance.json diff --git a/source/resource/biomes/biomes.json b/source/resource/biomes/biomes.json index 8ac91ecd..4c01a8db 100644 --- a/source/resource/biomes/biomes.json +++ b/source/resource/biomes/biomes.json @@ -1,4 +1,5 @@ { + "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.resource.biomes", "title": "Client Biome", "description": "Minecraft client_biome files define client-side settings for biomes in resource packs. This is the new preferred location for per-biome settings that used to be in biomes_client.json.", diff --git a/source/resource/biomes/format/components/foliage_appearance.json b/source/resource/biomes/format/components/foliage_appearance.json new file mode 100644 index 00000000..d5d48ff7 --- /dev/null +++ b/source/resource/biomes/format/components/foliage_appearance.json @@ -0,0 +1,46 @@ +{ + "$id": "blockception.minecraft.resource.biomes.minecraft.foliage_appearance", + "title": "Foliage Appearance", + "description": "Set the foliage color or color map used during rendering. Biomes without this component will have default foliage appearance.", + "type": "object", + "required": ["color"], + "additionalProperties": false, + "properties": { + "color": { + "title": "Color", + "description": "RGB color of foliage, or a Foliage Color Map object.", + "default": { "color_map": "foliage" }, + "examples": ["#FFFFFF", [255, 255, 255]], + "oneOf": [ + { + "type": "string", + "format": "color-hex" + }, + { + "type": "array", + "minItems": 3, + "maxItems": 3, + "additionalItems": false, + "items": { + "type": "integer", + "minimum": 0, + "maximum": 255 + } + }, + { + "type": "object", + "required": ["color_map"], + "additionalProperties": false, + "properties": { + "color_map": { + "title": "Color Map", + "description": "Color map from textures/colormap to determine color of foliage.", + "enum": ["birch", "evergreen", "foliage", "mangrove_swamp_foliage", "swamp_foliage"], + "default": "foliage" + } + } + } + ] + } + } +} diff --git a/source/resource/biomes/format/components/grass_appearance.json b/source/resource/biomes/format/components/grass_appearance.json new file mode 100644 index 00000000..29f6dfeb --- /dev/null +++ b/source/resource/biomes/format/components/grass_appearance.json @@ -0,0 +1,46 @@ +{ + "$id": "blockception.minecraft.resource.biomes.minecraft.grass_appearance", + "title": "Grass Appearance", + "description": "Set the grass color or color map used during rendering. Biomes without this component will have default grass appearance.", + "type": "object", + "required": ["color"], + "additionalProperties": false, + "properties": { + "color": { + "title": "Color", + "description": "RGB color of grass, or a Grass Color Map object.", + "default": { "color_map": "grass" }, + "examples": ["#FFFFFF", [255, 255, 255]], + "oneOf": [ + { + "type": "string", + "format": "color-hex" + }, + { + "type": "array", + "minItems": 3, + "maxItems": 3, + "additionalItems": false, + "items": { + "type": "integer", + "minimum": 0, + "maximum": 255 + } + }, + { + "type": "object", + "required": ["color_map"], + "additionalProperties": false, + "properties": { + "color_map": { + "title": "Color Map", + "description": "Color map from textures/colormap to determine color of grass.", + "enum": ["grass", "swamp_grass"], + "default": "grass" + } + } + } + ] + } + } +} diff --git a/source/resource/biomes/format/minecraft.client_biome.json b/source/resource/biomes/format/minecraft.client_biome.json index e1ed37e4..fafb218c 100644 --- a/source/resource/biomes/format/minecraft.client_biome.json +++ b/source/resource/biomes/format/minecraft.client_biome.json @@ -1,4 +1,5 @@ { + "$schema": "http://json-schema.org/draft-07/schema", "$id": "blockception.minecraft.resource.biomes", "title": "Client Biome Definitions", "description": "A client biome definition.", @@ -13,9 +14,11 @@ "additionalProperties": false, "properties": { // Components - "minecraft:ambient_sounds": {"$ref": "./components/ambient_sounds.json"}, - "minecraft:biome_music": {"$ref": "./components/biome_music.json"}, + "minecraft:ambient_sounds": { "$ref": "./components/ambient_sounds.json" }, + "minecraft:biome_music": { "$ref": "./components/biome_music.json" }, "minecraft:fog_appearance": { "$ref": "./components/fog_appearance.json" }, + "minecraft:foliage_appearance": { "$ref": "./components/foliage_appearance.json" }, + "minecraft:grass_appearance": { "$ref": "./components/grass_appearance.json" }, "minecraft:sky_color": { "$ref": "./components/sky_color.json" }, "minecraft:water_appearance": { "$ref": "./components/water_appearance.json" } }