{"$schema":"http://json-schema.org/draft-07/schema#","title":"NTM 1.0.1 fallout_table","type":"object","properties":{"rules":{"type":"array","items":{"type":"object","properties":{"targets":{"description":"Block ID, block tag, or ID list; default every block.","markdownDescription":"Block ID, block tag, or ID list; default every block."},"state":{"description":"Vanilla state-property predicate.","markdownDescription":"Vanilla state-property predicate."},"must_be_opaque":{"type":"boolean","description":"Restricts matches to occluding blocks; default false.","markdownDescription":"Restricts matches to occluding blocks; default false."},"restrict_depth":{"type":"boolean","description":"Counts a conversion toward the column stop; default false.","markdownDescription":"Counts a conversion toward the column stop; default false."},"primary":{"type":"array","items":{"type":"object","properties":{"state":{"description":"Block state placed by a primary outcome.","markdownDescription":"Block state placed by a primary outcome."},"weight":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Relative selection weight; positive total at most i32::MAX.\n\nRange: [1, i32::MAX]","markdownDescription":"Relative selection weight; positive total at most `i32::MAX`.\n\nRange: [1, `i32::MAX`]"}},"required":["state","weight"]},"description":"Weighted outcomes when chance succeeds; default empty.","markdownDescription":"Weighted outcomes when chance succeeds; default empty."},"secondary":{"type":"array","items":{"type":"object","properties":{"state":{"description":"Block state placed by a secondary outcome.","markdownDescription":"Block state placed by a secondary outcome."},"weight":{"type":"integer","minimum":1,"maximum":2147483647,"description":"Relative selection weight; positive total at most i32::MAX.\n\nRange: [1, i32::MAX]","markdownDescription":"Relative selection weight; positive total at most `i32::MAX`.\n\nRange: [1, `i32::MAX`]"}},"required":["state","weight"]},"description":"Weighted outcomes when chance fails; default empty.","markdownDescription":"Weighted outcomes when chance fails; default empty."},"chance":{"description":"Probability of drawing from primary; default 1.0.\n\nRange: [0, 1] for a useful probability","markdownDescription":"Probability of drawing from primary; default 1.0.\n\nRange: [0, 1] for a useful probability"},"min_distance_percent":{"description":"Inner distance bound; default 0.\n\nRange: [0, 100] for a useful distance","markdownDescription":"Inner distance bound; default 0.\n\nRange: [0, 100] for a useful distance"},"max_distance_percent":{"description":"Outer distance bound; default 100; at least min_distance_percent.\n\nRange: [0, 100] for a useful distance","markdownDescription":"Outer distance bound; default 100; at least min_distance_percent.\n\nRange: [0, 100] for a useful distance"},"falloff_start":{"description":"Fraction of the outer bound where conversions thin out; default 0.9.\n\nRange: [0, 1] for a useful fraction","markdownDescription":"Fraction of the outer bound where conversions thin out; default 0.9.\n\nRange: [0, 1] for a useful fraction"},"preserve":{"description":"State property names copied from the replaced block; default empty.","markdownDescription":"State property names copied from the replaced block; default empty."}}},"description":"Ordered replacement rules; the first matching conversion wins.","markdownDescription":"Ordered replacement rules; the first matching conversion wins."}},"required":["rules"]}