{"$schema":"http://json-schema.org/draft-07/schema#","title":"NTM 1.0.4 processor lists","type":"object","properties":{"processors":{"type":"array","items":{"type":"object","properties":{"processor_type":{"type":"string","anyOf":[{"enum":["hbm:bobble_randomizer","hbm:duct_fluid","hbm:ground_height","hbm:impact_village","hbm:lock_pins","hbm:loot_pile","hbm:marker_table","hbm:maybe_place","hbm:multiblock_assembly","hbm:pick_one","hbm:spawner_entity","hbm:weighted_place","leafia:pwr_bunker_palette","leafia:pwr_spaceship_palette","leafia:sellacity_road_height"]},{"type":"string"}]}},"required":["processor_type"],"allOf":[{"if":{"properties":{"processor_type":{"const":"hbm:bobble_randomizer"}},"required":["processor_type"]},"then":{"type":"object"}},{"if":{"properties":{"processor_type":{"const":"hbm:duct_fluid"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"hbm:duct_fluid.","markdownDescription":"`hbm:duct_fluid`."}},"required":["processor_type"]}},{"if":{"properties":{"processor_type":{"const":"hbm:ground_height"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."},"offset":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Y offset from the projected terrain height; default 0.\n\nRange: i32","markdownDescription":"Y offset from the projected terrain height; default 0.\n\nRange: `i32`"}},"required":["processor_type"]}},{"if":{"properties":{"processor_type":{"const":"hbm:impact_village"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."}},"required":["processor_type"]}},{"if":{"properties":{"processor_type":{"const":"hbm:lock_pins"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."}},"required":["processor_type"]}},{"if":{"properties":{"processor_type":{"const":"hbm:loot_pile"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."}},"required":["processor_type"]}},{"if":{"properties":{"processor_type":{"const":"hbm:marker_table"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"type":"string","description":"hbm:marker_table.","markdownDescription":"`hbm:marker_table`."},"processors":{"type":"array","items":{"type":"object","properties":{"processor_type":{"type":"string","anyOf":[{"enum":["hbm:maybe_place","hbm:weighted_place"]},{"type":"string"}]}},"required":["processor_type"],"allOf":[{"if":{"properties":{"processor_type":{"const":"hbm:maybe_place"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."},"marker":{"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 tested in the template.","markdownDescription":"Block state tested in the template."},"result":{"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":"Replacement block state.","markdownDescription":"Replacement block state."},"probability":{"type":"number","minimum":0,"maximum":1,"description":"Chance from [0, 1] of placing result.\n\nRange: [0, 1]","markdownDescription":"Chance from [0, 1] of placing `result`.\n\nRange: [0, 1]"}},"required":["processor_type","marker","result","probability"]}},{"if":{"properties":{"processor_type":{"const":"hbm:weighted_place"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."},"marker":{"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 tested in the template.","markdownDescription":"Block state tested in the template."},"options":{"type":"array","items":{"type":"object","properties":{"data":{"description":"Block state selected for replacement.","markdownDescription":"Block state selected for replacement."},"weight":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Relative selection weight; positive total at most i32::MAX.\n\nRange: [0, i32::MAX]","markdownDescription":"Relative selection weight; positive total at most `i32::MAX`.\n\nRange: [0, `i32::MAX`]"}},"required":["data","weight"]},"description":"Weighted replacement choices.","markdownDescription":"Weighted replacement choices."},"seed_offset_y":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Y offset used in the choice seed; default 0.\n\nRange: i32","markdownDescription":"Y offset used in the choice seed; default 0.\n\nRange: `i32`"}},"required":["processor_type","marker","options"]}}],"not":{"properties":{"processor_type":{"anyOf":[{"pattern":"^minecraft:"},{"enum":["leafia:pwr_bunker_palette","leafia:pwr_spaceship_palette","leafia:sellacity_road_height","hbm:bobble_randomizer","hbm:duct_fluid","hbm:ground_height","hbm:impact_village","hbm:lock_pins","hbm:loot_pile","hbm:marker_table","hbm:multiblock_assembly","hbm:pick_one","hbm:spawner_entity"]}]}},"required":["processor_type"]}},"description":"Ordered marker processors. An empty array passes every cell unchanged.","markdownDescription":"Ordered marker processors. An empty array passes every cell unchanged."}},"required":["processor_type","processors"]}},{"if":{"properties":{"processor_type":{"const":"hbm:maybe_place"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."},"marker":{"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 tested in the template.","markdownDescription":"Block state tested in the template."},"result":{"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":"Replacement block state.","markdownDescription":"Replacement block state."},"probability":{"type":"number","minimum":0,"maximum":1,"description":"Chance from [0, 1] of placing result.\n\nRange: [0, 1]","markdownDescription":"Chance from [0, 1] of placing `result`.\n\nRange: [0, 1]"}},"required":["processor_type","marker","result","probability"]}},{"if":{"properties":{"processor_type":{"const":"hbm:multiblock_assembly"}},"required":["processor_type"]},"then":{"type":"object"}},{"if":{"properties":{"processor_type":{"const":"hbm:pick_one"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."},"marker":{"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 marking candidate positions.","markdownDescription":"Block state marking candidate positions."},"result":{"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 placed at one selected marker.","markdownDescription":"Block state placed at one selected marker."},"fallback":{"type":"array","items":{"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 choices for the remaining markers; an empty list leaves them in place.","markdownDescription":"Block-state choices for the remaining markers; an empty list leaves them in place."}},"required":["processor_type","marker","result","fallback"]}},{"if":{"properties":{"processor_type":{"const":"hbm:spawner_entity"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"hbm:spawner_entity.","markdownDescription":"`hbm:spawner_entity`."},"mobs":{"type":"array","items":{"type":"object","properties":{"data":{"description":"Entity-type ID selected for the spawner.","markdownDescription":"Entity-type ID selected for the spawner."},"weight":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Relative selection weight; positive total at most i32::MAX.\n\nRange: [0, i32::MAX]","markdownDescription":"Relative selection weight; positive total at most `i32::MAX`.\n\nRange: [0, `i32::MAX`]"}},"required":["data","weight"]},"description":"Nonempty weighted entity-type choices; use a positive total weight.","markdownDescription":"Nonempty weighted entity-type choices; use a positive total weight."}},"required":["processor_type","mobs"]}},{"if":{"properties":{"processor_type":{"const":"hbm:weighted_place"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."},"marker":{"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 tested in the template.","markdownDescription":"Block state tested in the template."},"options":{"type":"array","items":{"type":"object","properties":{"data":{"description":"Block state selected for replacement.","markdownDescription":"Block state selected for replacement."},"weight":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Relative selection weight; positive total at most i32::MAX.\n\nRange: [0, i32::MAX]","markdownDescription":"Relative selection weight; positive total at most `i32::MAX`.\n\nRange: [0, `i32::MAX`]"}},"required":["data","weight"]},"description":"Weighted replacement choices.","markdownDescription":"Weighted replacement choices."},"seed_offset_y":{"type":"integer","minimum":-2147483648,"maximum":2147483647,"description":"Y offset used in the choice seed; default 0.\n\nRange: i32","markdownDescription":"Y offset used in the choice seed; default 0.\n\nRange: `i32`"}},"required":["processor_type","marker","options"]}},{"if":{"properties":{"processor_type":{"const":"leafia:pwr_bunker_palette"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."}},"required":["processor_type"]}},{"if":{"properties":{"processor_type":{"const":"leafia:pwr_spaceship_palette"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."}},"required":["processor_type"]}},{"if":{"properties":{"processor_type":{"const":"leafia:sellacity_road_height"}},"required":["processor_type"]},"then":{"type":"object","properties":{"processor_type":{"description":"Selects this processor.","markdownDescription":"Selects this processor."}},"required":["processor_type"]}}]}}}}