{"$schema":"http://json-schema.org/draft-07/schema#","title":"NTM 1.0.3 configured 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":{"config":{"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."},"yScale":{"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."},"debug_settings":{"description":"Vanilla carver debug settings; unused.","markdownDescription":"Vanilla carver debug settings; unused."},"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":{"type":"object","properties":{"Name":{"description":"Registered block ID.","markdownDescription":"Registered block ID."},"Properties":{"description":"Block-state property names and string values.","markdownDescription":"Block-state property names and string values."}},"required":["Name"],"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","yScale","lava_level","replaceable","horizontal_radius_multiplier","vertical_radius_multiplier","floor_level","lava","top","filler"]}},"required":["config"]}},{"if":{"properties":{"type":{"const":"hbmspace:experimental_cave"}},"required":["type"]},"then":{"type":"object","properties":{"config":{"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."},"yScale":{"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."},"debug_settings":{"description":"Vanilla carver debug settings; unused.","markdownDescription":"Vanilla carver debug settings; unused."},"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":{"type":"object","properties":{"Name":{"description":"Registered block ID.","markdownDescription":"Registered block ID."},"Properties":{"description":"Block-state property names and string values.","markdownDescription":"Block-state property names and string values."}},"required":["Name"],"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","yScale","lava_level","replaceable","carving_scale","depth_threshold","large_cave_size","small_cave_size","lava","top","filler"]}},"required":["config"]}},{"if":{"properties":{"type":{"const":"hbmspace:ravine"}},"required":["type"]},"then":{"type":"object","properties":{"config":{"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."},"yScale":{"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."},"debug_settings":{"description":"Vanilla carver debug settings; unused.","markdownDescription":"Vanilla carver debug settings; unused."},"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","yScale","lava_level","replaceable","strata_frequency","strata_scale","taper","width","underwater","top","filler"]}},"required":["config"]}},{"if":{"properties":{"type":{"const":"hbmspace:roots"}},"required":["type"]},"then":{"type":"object","properties":{"config":{"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."},"yScale":{"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."},"debug_settings":{"description":"Vanilla carver debug settings; unused.","markdownDescription":"Vanilla carver debug settings; unused."},"fill":{"type":"object","properties":{"Name":{"description":"Registered block ID.","markdownDescription":"Registered block ID."},"Properties":{"description":"Block-state property names and string values.","markdownDescription":"Block-state property names and string values."}},"required":["Name"],"description":"Tunnel fill.","markdownDescription":"Tunnel fill."},"lava_fill":{"type":"object","properties":{"Name":{"description":"Registered block ID.","markdownDescription":"Registered block ID."},"Properties":{"description":"Block-state property names and string values.","markdownDescription":"Block-state property names and string values."}},"required":["Name"],"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":{"type":"object","properties":{"Name":{"description":"Registered block ID.","markdownDescription":"Registered block ID."},"Properties":{"description":"Block-state property names and string values.","markdownDescription":"Block-state property names and string values."}},"required":["Name"],"description":"Covering block.","markdownDescription":"Covering block."}},"required":["probability","y","yScale","lava_level","replaceable","fill","lava_fill","top","filler","cover"]}},"required":["config"]}}]}