{
  "format_version": "1.10.0",
  "render_controllers": {
    "controller.render.super_rod.player.mnp_ci": {
      "geometry": "v.is_first_person ? geometry.fp_base : geometry.tp_base",
      "textures": ["texture.default"],
      "materials": [{ "*": "material.default" }, { "*_line": "material.line" }, { "*bobber*": "material.bobber" }],
      // "materials": [{ "*": "material.default" }],
      "part_visibility": [
        { "*": "!v.is_holding_fish" },

        { "*line*": false },

        { "rod_line1_2": false }, // the short fishing line + bobber directly on the rod
        { "rod_line2_2": false },
        { "rod_bobber": "!v.is_casted && !v.is_holding_fish" },

        { "line_bobber1": "v.is_casted && !q.is_in_ui && !v.is_paperdoll && !v.is_holding_fish" }, // the bobber of the long fishing line

        { "spin_reel0": "v.reel_mod <= 0.25 && !v.is_holding_fish" },
        { "spin_reel1": "v.reel_mod > 0.25 && v.reel_mod <= 0.5 && !v.is_holding_fish" },
        { "spin_reel2": "v.reel_mod > 0.5 && v.reel_mod <= 0.75 && !v.is_holding_fish" },
        { "spin_reel3": "v.reel_mod > 0.75 && !v.is_holding_fish" },

        { "spin_reel0_line": "v.reel_mod2 <= 0.25 && !v.is_holding_fish" },
        { "spin_reel1_line": "v.reel_mod2 > 0.25 && v.reel_mod2 <= 0.5 && !v.is_holding_fish" },
        { "spin_reel2_line": "v.reel_mod2 > 0.5 && v.reel_mod2 <= 0.75 && !v.is_holding_fish" },
        { "spin_reel3_line": "v.reel_mod2 > 0.75 && !v.is_holding_fish" },

        { "*cancel": false },{ "*cancel1": false },{ "*test": false },
        { "*cancel2": false },{ "*cancel3": false },{ "*test2": false },
        { "debug_line": false }
      ]
    },
    "controller.render.super_rod_line.player.mnp_ci": {
      "arrays": {
        "geometries": {
          "array.fp_lines": [
            "geometry.fp_line_01",
            "geometry.fp_line_02",
            "geometry.fp_line_03",
            "geometry.fp_line_04",
            "geometry.fp_line_05",
            "geometry.fp_line_06",
            "geometry.fp_line_07",
            "geometry.fp_line_08",
            "geometry.fp_line_09",
            "geometry.fp_line_10",
            "geometry.fp_line_11",
            "geometry.fp_line_12",
            "geometry.fp_line_13",
            "geometry.fp_line_14",
            "geometry.fp_line_15",
            "geometry.fp_line_16",
            "geometry.fp_line_17",
            "geometry.fp_line_18",
            "geometry.fp_line_19",
            "geometry.fp_line_20",
            "geometry.fp_line_21",
            "geometry.fp_line_22",
            "geometry.fp_line_23",
            "geometry.fp_line_24",
            "geometry.fp_line_25",
            "geometry.fp_line_26",
            "geometry.fp_line_27",
            "geometry.fp_line_28",
            "geometry.fp_line_29",
            "geometry.fp_line_30",
            "geometry.fp_line_31",
            "geometry.fp_line_32"
          ],
          "array.tp_lines": [
            "geometry.tp_line_01",
            "geometry.tp_line_02",
            "geometry.tp_line_03",
            "geometry.tp_line_04",
            "geometry.tp_line_05",
            "geometry.tp_line_06",
            "geometry.tp_line_07",
            "geometry.tp_line_08",
            "geometry.tp_line_09",
            "geometry.tp_line_10",
            "geometry.tp_line_11",
            "geometry.tp_line_12",
            "geometry.tp_line_13",
            "geometry.tp_line_14",
            "geometry.tp_line_15",
            "geometry.tp_line_16",
            "geometry.tp_line_17",
            "geometry.tp_line_18",
            "geometry.tp_line_19",
            "geometry.tp_line_20",
            "geometry.tp_line_21",
            "geometry.tp_line_22",
            "geometry.tp_line_23",
            "geometry.tp_line_24",
            "geometry.tp_line_25",
            "geometry.tp_line_26",
            "geometry.tp_line_27",
            "geometry.tp_line_28",
            "geometry.tp_line_29",
            "geometry.tp_line_30",
            "geometry.tp_line_31",
            "geometry.tp_line_32"
          ]
        },
        "textures": {
          "array.lines": [
            "texture.line_001",
            "texture.line_002",
            "texture.line_003",
            "texture.line_004",
            "texture.line_005",
            "texture.line_006",
            "texture.line_007",
            "texture.line_008",
            "texture.line_009",
            "texture.line_010",
            "texture.line_011",
            "texture.line_012",
            "texture.line_013",
            "texture.line_014",
            "texture.line_015",
            "texture.line_016",
            "texture.line_017",
            "texture.line_018",
            "texture.line_019",
            "texture.line_020",
            "texture.line_021",
            "texture.line_022",
            "texture.line_023",
            "texture.line_024",
            "texture.line_025",
            "texture.line_026",
            "texture.line_027",
            "texture.line_028",
            "texture.line_029",
            "texture.line_030",
            "texture.line_031",
            "texture.line_032",
            "texture.line_033",
            "texture.line_034",
            "texture.line_035",
            "texture.line_036",
            "texture.line_037",
            "texture.line_038",
            "texture.line_039",
            "texture.line_040",
            "texture.line_041",
            "texture.line_042",
            "texture.line_043",
            "texture.line_044",
            "texture.line_045",
            "texture.line_046",
            "texture.line_047",
            "texture.line_048",
            "texture.line_049",
            "texture.line_050",
            "texture.line_051",
            "texture.line_052",
            "texture.line_053",
            "texture.line_054",
            "texture.line_055",
            "texture.line_056",
            "texture.line_057",
            "texture.line_058",
            "texture.line_059",
            "texture.line_060",
            "texture.line_061",
            "texture.line_062",
            "texture.line_063",
            "texture.line_064",
            "texture.line_065",
            "texture.line_066",
            "texture.line_067",
            "texture.line_068",
            "texture.line_069",
            "texture.line_070",
            "texture.line_071",
            "texture.line_072",
            "texture.line_073",
            "texture.line_074",
            "texture.line_075",
            "texture.line_076",
            "texture.line_077",
            "texture.line_078",
            "texture.line_079",
            "texture.line_080",
            "texture.line_081",
            "texture.line_082",
            "texture.line_083",
            "texture.line_084",
            "texture.line_085",
            "texture.line_086",
            "texture.line_087",
            "texture.line_088",
            "texture.line_089",
            "texture.line_090",
            "texture.line_091",
            "texture.line_092",
            "texture.line_093",
            "texture.line_094",
            "texture.line_095",
            "texture.line_096",
            "texture.line_097",
            "texture.line_098",
            "texture.line_099",
            "texture.line_100",
            "texture.line_101",
            "texture.line_102",
            "texture.line_103",
            "texture.line_104",
            "texture.line_105",
            "texture.line_106",
            "texture.line_107",
            "texture.line_108",
            "texture.line_109",
            "texture.line_110",
            "texture.line_111",
            "texture.line_112",
            "texture.line_113",
            "texture.line_114",
            "texture.line_115",
            "texture.line_116",
            "texture.line_117",
            "texture.line_118",
            "texture.line_119",
            "texture.line_120",
            "texture.line_121",
            "texture.line_122",
            "texture.line_123",
            "texture.line_124",
            "texture.line_125",
            "texture.line_126",
            "texture.line_127",
            "texture.line_128"
          ]
        }
      },
      "geometry": "v.is_casted ? (v.is_first_person ? array.fp_lines[math.clamp(v.line_magn-1, 0, 31)] : array.tp_lines[math.clamp(v.line_magn-1, 0, 31)]) : geometry.line",
      "textures": ["array.lines[math.mod(v.line_scroll, 128)]"],
      "materials": [{ "*": "material.line" }],
      "part_visibility": [
        { "*": "!v.is_holding_fish" },

        { "rod_line1_2": "!v.is_casted && !v.is_holding_fish" }, // the short fishing line
        { "rod_line2_2": "!v.is_casted && !v.is_holding_fish" },

        { "line*": "v.is_casted && !q.is_in_ui && !v.is_paperdoll && !v.is_holding_fish" } // the long fishing line segments
      ]
    },
    "controller.render.super_rod.mnp_ci": {
      "geometry": "v.is_first_person ? geometry.default : geometry.tp_base",
      "textures": ["texture.default"],
      "materials": [{ "*": "material.default" }, { "*_line": "material.line" }, { "*bobber*": "material.bobber" }],
      "part_visibility": [
        { "*line*": false },

        { "rod_line1_2": false }, // the short fishing line + bobber directly on the rod
        { "rod_line2_2": false },
        { "rod_bobber": true },

        { "line_bobber1": false }, // the bobber of the long fishing line

        { "spin_reel0": true },
        { "spin_reel1": false },
        { "spin_reel2": false },
        { "spin_reel3": false },

        { "spin_reel0_line": true },
        { "spin_reel1_line": false },
        { "spin_reel2_line": false },
        { "spin_reel3_line": false },

        { "*cancel": false },{ "*cancel1": false },{ "*test": false },
        { "*cancel2": false },{ "*cancel3": false },{ "*test2": false },
        { "debug_line": false }
      ]
    },
    "controller.render.super_rod_line.mnp_ci": {
      "geometry": "geometry.line",
      "textures": ["texture.line"],
      "materials": [{ "*": "material.line" }],
      "part_visibility": [
        { "rod_line1_2": true }, // the short fishing line
        { "rod_line2_2": false },

        { "line*": false } // the long fishing line segments
      ]
    }
  }
}
