{
	"format_version": "1.8.0",
	"render_controllers": {
		"controller.render.shapescape_mb.yeti": {
			"geometry": "Geometry.default",
			"part_visibility": [
				{
					"*": true
				},
				{
					"weapon": false
				},
				{
					"block": false
				},
				{
					"meat": false
				}
			],
			"materials": [
				{
					"*": "Material.default"
				}
			],
			"textures": ["Array.skins[q.mark_variant == 2]"],
			"arrays": {
				"textures": {
					"Array.skins": ["Texture.blue", "Texture.red"]
				}
			},
			"overlay_color": {
				// dividing animation time sets the moment of the full overlay fpr the b color. Other colors and alpha channel are dividing by an 1.5*0.7 because
				// that's the time when you want to apply other colors. Otherwise, they'll be applied earlier and white overlay will appear for a second.
				// q.is_baby is a flag that returns 1 only during first few seconds of the existance of the entity, on BP side.
				"a": "q.is_baby ? (math.clamp(math.lerp(1, 0, q.life_time), 0, 1)) : (q.is_sheared ? math.clamp(q.anim_time/2.14, 0, 0.5) : 0)",
				"r": "q.is_baby ? 1 : (q.is_sheared ? math.clamp(q.anim_time/2.14, 0, 0.7) : 0)",
				"g": "q.is_baby ? 1 : (q.is_sheared ? math.clamp(q.anim_time/2.14, 0, 0.7) : 0)",
				"b": "q.is_baby ? 1 : (q.is_sheared ? math.clamp(q.anim_time/1.5, 0, 1) : 0)"
			}
		},
		"controller.render.shapescape_mb.yeti_no_hurt": {
			"geometry": "geometry.default",
			"materials": [
				{
					"*": "Material.default"
				}
			],
			"arrays": {
				"textures": {
					"Array.skins": ["Texture.blue", "Texture.red"]
				}
			},
			"textures": ["Array.skins[q.mark_variant == 2]"],
			"part_visibility": [
				{
					"*": false
				},
				{
					"weapon": true
				},
				{
					"block": true
				},
				{
					"meat": true
				}
			],
			"is_hurt_color": {
				"a": 0,
				"r": 0,
				"g": 0,
				"b": 0
			},
			"overlay_color": {
				// q.is_baby is a flag that returns 1 only during first few seconds of the existance of the entity, on BP side.
				"a": "q.is_baby ? (math.clamp(math.lerp(1, 0, q.life_time), 0, 1)) : 0",
				"r": "q.is_baby ? 1 : 0",
				"g": "q.is_baby ? 1 : 0",
				"b": "q.is_baby ? 1 : 0"
			}
		}
	}
}
