{"$schema":"http://json-schema.org/draft-07/schema#","title":"NTM 1.0.1 structures","type":"object","properties":{"type":{"type":"string","anyOf":[{"enum":["hbm:ancient_tomb","hbm:bunker","hbm:desert_atom","hbm:features","hbm:jungle_dungeon","hbm:null_spawn","hbm:oil_bubble","hbm:procedural","hbm:sellafield_crater","hbm:single_piece","hbm:spaceship"]},{"type":"string"}]}},"required":["type"],"allOf":[{"if":{"properties":{"type":{"const":"hbm:ancient_tomb"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."}},"required":["type","biomes","spawn_overrides","step"]}},{"if":{"properties":{"type":{"const":"hbm:bunker"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."}},"required":["type","biomes","spawn_overrides","step"]}},{"if":{"properties":{"type":{"const":"hbm:desert_atom"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."}},"required":["type","biomes","spawn_overrides","step"]}},{"if":{"properties":{"type":{"const":"hbm:features"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."}},"required":["type","biomes","spawn_overrides","step"]}},{"if":{"properties":{"type":{"const":"hbm:jungle_dungeon"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."}},"required":["type","biomes","spawn_overrides","step"]}},{"if":{"properties":{"type":{"const":"hbm:legacy_jigsaw"}},"required":["type"]},"then":{"not":{},"errorMessage":"`hbm:legacy_jigsaw` requires NTM ≥ 1.0.2; this schema targets NTM 1.0.1.","doNotSuggest":true}},{"if":{"properties":{"type":{"const":"hbm:null_spawn"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."}},"required":["type","biomes","spawn_overrides","step"]}},{"if":{"properties":{"type":{"const":"hbm:oil_bubble"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"core":{"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":"Block state filling the oil bubble.","markdownDescription":"Block state filling the oil bubble."},"fuzzy":{"description":"Adds random variation to the bubble boundary.","markdownDescription":"Adds random variation to the bubble boundary."},"max_size":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Exclusive upper radius bound; must exceed min_size.\n\nRange: [1, i32::MAX]","markdownDescription":"Exclusive upper radius bound; must exceed `min_size`.\n\nRange: [1, `i32::MAX`]"},"min_size":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Minimum bubble radius.\n\nRange: [0, i32::MAX]","markdownDescription":"Minimum bubble radius.\n\nRange: [0, `i32::MAX`]"},"min_y":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Lowest sampled bubble centre Y.\n\nRange: i32","markdownDescription":"Lowest sampled bubble centre Y.\n\nRange: `i32`"},"range_y":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Height of the sampled centre-Y interval.\n\nRange: [1, i32::MAX]","markdownDescription":"Height of the sampled centre-Y interval.\n\nRange: [1, `i32::MAX`]"},"replaceable":{"type":"object","properties":{"predicate_type":{"description":"Vanilla rule-test type.","markdownDescription":"Vanilla rule-test type."},"tag":{"description":"Block tag for tag_match.","markdownDescription":"Block tag for tag_match."},"block":{"description":"Block ID for block_match.","markdownDescription":"Block ID for block_match."}},"required":["predicate_type"],"description":"Vanilla rule test selecting blocks the bubble can replace.","markdownDescription":"Vanilla rule test selecting blocks the bubble can replace."},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."}},"required":["type","biomes","core","fuzzy","max_size","min_size","min_y","range_y","replaceable","spawn_overrides","step"]}},{"if":{"properties":{"type":{"const":"hbm:procedural"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."},"terrain_adaptation":{"description":"Vanilla terrain adaptation around the structure.","markdownDescription":"Vanilla terrain adaptation around the structure."}},"required":["type","biomes","spawn_overrides","step","terrain_adaptation"]}},{"if":{"properties":{"type":{"const":"hbm:sellafield_crater"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."},"min_size":{"type":"integer","minimum":1,"maximum":256,"description":"Minimum crater radius in blocks; default 8.\n\nRange: [1, 256]","markdownDescription":"Minimum crater radius in blocks; default 8.\n\nRange: [1, 256]","not":{},"errorMessage":"`min_size` requires NTM ≥ 1.0.2; this schema targets NTM 1.0.1.","doNotSuggest":true},"max_size":{"type":"integer","minimum":2,"maximum":256,"description":"Exclusive upper bound for the crater radius; default 64. Must exceed min_size.\n\nRange: [2, 256]","markdownDescription":"Exclusive upper bound for the crater radius; default 64. Must exceed `min_size`.\n\nRange: [2, 256]","not":{},"errorMessage":"`max_size` requires NTM ≥ 1.0.2; this schema targets NTM 1.0.1.","doNotSuggest":true},"exponent":{"type":"integer","minimum":1,"maximum":8,"description":"Radial profile exponent; default 2.\n\nRange: [1, 8]","markdownDescription":"Radial profile exponent; default 2.\n\nRange: [1, 8]","not":{},"errorMessage":"`exponent` requires NTM ≥ 1.0.2; this schema targets NTM 1.0.1.","doNotSuggest":true},"regolith":{"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":"Surface refill state; defaults to rock.","markdownDescription":"Surface refill state; defaults to `rock`.","not":{},"errorMessage":"`regolith` requires NTM ≥ 1.0.2; this schema targets NTM 1.0.1.","doNotSuggest":true},"rock":{"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":"Deeper refill state; defaults to hbm:sellafield_slaked.","markdownDescription":"Deeper refill state; defaults to `hbm:sellafield_slaked`.","not":{},"errorMessage":"`rock` requires NTM ≥ 1.0.2; this schema targets NTM 1.0.1.","doNotSuggest":true}},"required":["type","biomes","spawn_overrides","step"]}},{"if":{"properties":{"type":{"const":"hbm:single_piece"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"height_offset":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Y offset applied after averaging terrain across the rotated footprint.\n\nRange: i32","markdownDescription":"Y offset applied after averaging terrain across the rotated footprint.\n\nRange: `i32`"},"min_height":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Lower bound for the clamped average-ground height; default 1.\n\nRange: i32","markdownDescription":"Lower bound for the clamped average-ground height; default 1.\n\nRange: `i32`"},"max_height":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Upper bound for the clamped average-ground height; default 128. Must be at least min_height.\n\nRange: i32","markdownDescription":"Upper bound for the clamped average-ground height; default 128. Must be at least `min_height`.\n\nRange: `i32`"},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"start_pool":{"description":"Template pool from which the single piece is selected.","markdownDescription":"Template pool from which the single piece is selected."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."},"aquatic":{"type":"boolean","description":"When false, refuses a start whose footprint has a corner with ocean-floor height below sea level; default false.","markdownDescription":"When false, refuses a start whose footprint has a corner with ocean-floor height below sea level; default false."}},"required":["type","biomes","height_offset","spawn_overrides","start_pool","step"]}},{"if":{"properties":{"type":{"const":"hbm:spaceship"}},"required":["type"]},"then":{"type":"object","properties":{"type":{"description":"Selects the structure implementation.","markdownDescription":"Selects the structure implementation."},"biomes":{"description":"Vanilla biome set eligible for placement.","markdownDescription":"Vanilla biome set eligible for placement."},"spawn_overrides":{"description":"Vanilla mob-spawn overrides inside the structure.","markdownDescription":"Vanilla mob-spawn overrides inside the structure."},"step":{"description":"Vanilla generation step for the structure.","markdownDescription":"Vanilla generation step for the structure."}},"required":["type","biomes","spawn_overrides","step"]}},{"if":{"properties":{"type":{"const":"hbmspace:electric_volcano"}},"required":["type"]},"then":{"not":{},"errorMessage":"`hbmspace:electric_volcano` requires Space, which has no release for NTM 1.0.1.","doNotSuggest":true}},{"if":{"properties":{"type":{"const":"hbmspace:martian_base"}},"required":["type"]},"then":{"not":{},"errorMessage":"`hbmspace:martian_base` requires Space, which has no release for NTM 1.0.1.","doNotSuggest":true}},{"if":{"properties":{"type":{"const":"hbmspace:tilted_spire"}},"required":["type"]},"then":{"not":{},"errorMessage":"`hbmspace:tilted_spire` requires Space, which has no release for NTM 1.0.1.","doNotSuggest":true}},{"if":{"properties":{"type":{"const":"hbmspace:volcano"}},"required":["type"]},"then":{"not":{},"errorMessage":"`hbmspace:volcano` requires Space, which has no release for NTM 1.0.1.","doNotSuggest":true}}]}