{"$schema":"http://json-schema.org/draft-07/schema#","title":"NTM 1.0.4 carvers","type":"object","properties":{"type":{"type":"string","anyOf":[{"enum":["hbmspace:cave","hbmspace:experimental_cave","hbmspace:ravine","hbmspace:roots"]},{"type":"string"}]}},"required":["type"],"allOf":[{"if":{"properties":{"type":{"const":"hbmspace:cave"}},"required":["type"]},"then":{"type":"object","properties":{"probability":{"type":"number","minimum":0,"maximum":1,"description":"Chance that a source chunk starts the carver.\n\nRange: [0, 1]","markdownDescription":"Chance that a source chunk starts the carver.\n\nRange: [0, 1]"},"y":{"description":"Vanilla height provider for start heights.","markdownDescription":"Vanilla height provider for start heights."},"y_scale":{"description":"Vanilla float provider: vertical scale of rooms.","markdownDescription":"Vanilla float provider: vertical scale of rooms."},"lava_level":{"description":"Vertical anchor at and below which cuts fill with the lava block.","markdownDescription":"Vertical anchor at and below which cuts fill with the lava block."},"replaceable":{"description":"Block ID, #tag or ID list: blocks the carver may cut.","markdownDescription":"Block ID, `#tag` or ID list: blocks the carver may cut."},"horizontal_radius_multiplier":{"description":"Vanilla float provider.","markdownDescription":"Vanilla float provider."},"vertical_radius_multiplier":{"description":"Vanilla float provider.","markdownDescription":"Vanilla float provider."},"floor_level":{"description":"Vanilla float provider within [-1, 1].","markdownDescription":"Vanilla float provider within [-1, 1]."},"lava":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}}},"required":["id"],"additionalProperties":false}],"description":"Fill at and below lava_level.","markdownDescription":"Fill at and below `lava_level`."},"top":{"description":"Block ID, #tag or ID list: surface blocks.","markdownDescription":"Block ID, `#tag` or ID list: surface blocks."},"filler":{"description":"Block ID, #tag or ID list: blocks re-topped when exposed.","markdownDescription":"Block ID, `#tag` or ID list: blocks re-topped when exposed."}},"required":["probability","y","y_scale","lava_level","replaceable","horizontal_radius_multiplier","vertical_radius_multiplier","floor_level","lava","top","filler"]}},{"if":{"properties":{"type":{"const":"hbmspace:experimental_cave"}},"required":["type"]},"then":{"type":"object","properties":{"probability":{"type":"number","minimum":0,"maximum":1,"description":"Chance that a source chunk starts the carver.\n\nRange: [0, 1]","markdownDescription":"Chance that a source chunk starts the carver.\n\nRange: [0, 1]"},"y":{"description":"Vanilla height provider for start heights.","markdownDescription":"Vanilla height provider for start heights."},"y_scale":{"description":"Vanilla float provider: vertical scale of rooms.","markdownDescription":"Vanilla float provider: vertical scale of rooms."},"lava_level":{"description":"Vertical anchor at and below which cuts fill with the lava block.","markdownDescription":"Vertical anchor at and below which cuts fill with the lava block."},"replaceable":{"description":"Block ID, #tag or ID list: blocks the carver may cut.","markdownDescription":"Block ID, `#tag` or ID list: blocks the carver may cut."},"carving_scale":{"type":"number","description":"Accepted; unused.\n\nRange: f32","markdownDescription":"Accepted; unused.\n\nRange: `f32`"},"depth_threshold":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Y below which tunnels widen and bend more.\n\nRange: i32","markdownDescription":"Y below which tunnels widen and bend more.\n\nRange: `i32`"},"large_cave_size":{"type":"number","description":"Room size factor.\n\nRange: f32","markdownDescription":"Room size factor.\n\nRange: `f32`"},"small_cave_size":{"type":"number","description":"Size factor of one in ten tunnels.\n\nRange: f32","markdownDescription":"Size factor of one in ten tunnels.\n\nRange: `f32`"},"lava":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}}},"required":["id"],"additionalProperties":false}],"description":"Fill at and below lava_level.","markdownDescription":"Fill at and below `lava_level`."},"top":{"description":"Block ID, #tag or ID list: surface blocks.","markdownDescription":"Block ID, `#tag` or ID list: surface blocks."},"filler":{"description":"Block ID, #tag or ID list: blocks re-topped when exposed.","markdownDescription":"Block ID, `#tag` or ID list: blocks re-topped when exposed."},"biomes":{"description":"Biome ID, #tag or ID list: positions the carver cuts; default all.","markdownDescription":"Biome ID, `#tag` or ID list: positions the carver cuts; default all."}},"required":["probability","y","y_scale","lava_level","replaceable","carving_scale","depth_threshold","large_cave_size","small_cave_size","lava","top","filler"]}},{"if":{"properties":{"type":{"const":"hbmspace:ravine"}},"required":["type"]},"then":{"type":"object","properties":{"probability":{"type":"number","minimum":0,"maximum":1,"description":"Chance that a source chunk starts the carver.\n\nRange: [0, 1]","markdownDescription":"Chance that a source chunk starts the carver.\n\nRange: [0, 1]"},"y":{"description":"Vanilla height provider for start heights.","markdownDescription":"Vanilla height provider for start heights."},"y_scale":{"description":"Vanilla float provider: vertical scale of rooms.","markdownDescription":"Vanilla float provider: vertical scale of rooms."},"lava_level":{"description":"Vertical anchor at and below which cuts fill with the lava block.","markdownDescription":"Vertical anchor at and below which cuts fill with the lava block."},"replaceable":{"description":"Block ID, #tag or ID list: blocks the carver may cut.","markdownDescription":"Block ID, `#tag` or ID list: blocks the carver may cut."},"strata_frequency":{"type":"number","minimum":1,"maximum":256,"description":"Inverse chance of a new stratum per layer.\n\nRange: [1, 256]","markdownDescription":"Inverse chance of a new stratum per layer.\n\nRange: [1, 256]"},"strata_scale":{"type":"number","description":"Stratum size: (1 + r^2 strata\\_scale)^2.\n\nRange: f32","markdownDescription":"Stratum size: (1 + r^2 strata\\_scale)^2.\n\nRange: `f32`"},"taper":{"type":"number","description":"Vertical taper.\n\nRange: f64","markdownDescription":"Vertical taper.\n\nRange: `f64`"},"width":{"type":"number","description":"Cut threshold.\n\nRange: f64","markdownDescription":"Cut threshold.\n\nRange: `f64`"},"underwater":{"type":"boolean","description":"Cuts through water-bearing shells.","markdownDescription":"Cuts through water-bearing shells."},"top":{"description":"Block ID, #tag or ID list: surface blocks.","markdownDescription":"Block ID, `#tag` or ID list: surface blocks."},"filler":{"description":"Block ID, #tag or ID list: blocks re-topped when exposed.","markdownDescription":"Block ID, `#tag` or ID list: blocks re-topped when exposed."}},"required":["probability","y","y_scale","lava_level","replaceable","strata_frequency","strata_scale","taper","width","underwater","top","filler"]}},{"if":{"properties":{"type":{"const":"hbmspace:roots"}},"required":["type"]},"then":{"type":"object","properties":{"probability":{"type":"number","minimum":0,"maximum":1,"description":"Chance that a source chunk starts the carver.\n\nRange: [0, 1]","markdownDescription":"Chance that a source chunk starts the carver.\n\nRange: [0, 1]"},"y":{"description":"Vanilla height provider for start heights.","markdownDescription":"Vanilla height provider for start heights."},"y_scale":{"description":"Vanilla float provider: vertical scale of rooms.","markdownDescription":"Vanilla float provider: vertical scale of rooms."},"lava_level":{"description":"Vertical anchor at and below which cuts fill with the lava block.","markdownDescription":"Vertical anchor at and below which cuts fill with the lava block."},"replaceable":{"description":"Block ID, #tag or ID list: blocks the carver may cut.","markdownDescription":"Block ID, `#tag` or ID list: blocks the carver may cut."},"fill":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}}},"required":["id"],"additionalProperties":false}],"description":"Tunnel fill.","markdownDescription":"Tunnel fill."},"lava_fill":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}}},"required":["id"],"additionalProperties":false}],"description":"Fill at and below lava_level.","markdownDescription":"Fill at and below `lava_level`."},"top":{"description":"Block ID, #tag or ID list: surface blocks.","markdownDescription":"Block ID, `#tag` or ID list: surface blocks."},"filler":{"description":"Block ID, #tag or ID list: blocks covered when above a cut.","markdownDescription":"Block ID, `#tag` or ID list: blocks covered when above a cut."},"cover":{"anyOf":[{"type":"string"},{"type":"object","properties":{"id":{"type":"string"},"properties":{"type":"object","additionalProperties":{"type":"string"}}},"required":["id"],"additionalProperties":false}],"description":"Covering block.","markdownDescription":"Covering block."}},"required":["probability","y","y_scale","lava_level","replaceable","fill","lava_fill","top","filler","cover"]}}]}