{
  "format_version": "1.13.0",
  "minecraft:feature_rules": {
    "conditions": {
      "placement_pass": "final_pass",
      "minecraft:biome_filter": [
        {
          "all_of": [
            {
              "test": "has_biome_tag",
              "value": "beach",
              "operator": "=="
            },
            {
              "test": "has_biome_tag",
              "value": "cold",
              "operator": "!="
            }
          ]
        }
      ]
    },
    "description": {
      "identifier": "mnp_ci:struc_beach",
      "places_feature": "mnp_ci:mnp/ci/struc/struc_beach_group"
    },
    "distribution": {
      "coordinate_eval_order": "xyz",
      "iterations": "v.fc = math.mod(math.abs(v.originx),48)<5&&math.mod(math.abs(v.originz),48)<5?1:0; v.ct = q.heightmap((v.originx??0)-16,(v.originz??0)-16);v.p0 = math.abs(v.ct-q.heightmap((v.originx??0)+-16,(v.originz??0)+0));v.p1 = math.abs(v.ct-q.heightmap((v.originx??0)+-16,(v.originz??0)+16));v.p2 = math.abs(v.ct-q.heightmap((v.originx??0)+-16,(v.originz??0)+31));v.p3 = math.abs(v.ct-q.heightmap((v.originx??0)+0,(v.originz??0)+-16));v.p4 = math.abs(v.ct-q.heightmap((v.originx??0)+16,(v.originz??0)+-16));v.p5 = math.abs(v.ct-q.heightmap((v.originx??0)+31,(v.originz??0)+-16));v.p6 = math.abs(v.ct-q.heightmap((v.originx??0)+0,(v.originz??0)+31));v.p7 = math.abs(v.ct-q.heightmap((v.originx??0)+16,(v.originz??0)+31));v.p8 = math.abs(v.ct-q.heightmap((v.originx??0)+31,(v.originz??0)+31));v.p9 = math.abs(v.ct-q.heightmap((v.originx??0)+31,(v.originz??0)+16));v.p10 = math.abs(v.ct-q.heightmap((v.originx??0)+31,(v.originz??0)+0));v.p11 = math.abs(v.ct-q.heightmap((v.originx??0)+0,(v.originz??0)+0));v.p12 = math.abs(v.ct-q.heightmap((v.originx??0)+16,(v.originz??0)+0));v.p13 = math.abs(v.ct-q.heightmap((v.originx??0)+0,(v.originz??0)+16));v.p14 = math.abs(v.ct-q.heightmap((v.originx??0)+16,(v.originz??0)+16));return (v.fc&&(v.p0<5&&v.p1<5&&v.p2<5&&v.p3<5&&v.p4<5&&v.p5<5&&v.p6<5&&v.p7<5&&v.p8<5&&v.p9<5&&v.p10<5&&v.p11<5&&v.p12<5&&v.p13<5&&v.p14<5&&1))?1:0;",
      "scatter_chance": 20,
      "x": "-16",
      "y": "v.t=query.heightmap((v.originx??0)-16, (v.originz??0)-16); return v.t<64?-999:(v.t+-0);",
      "z": "-16"
    }
  }
}
