templates:
  # axis based blocks
  default:block_state/pillar:
    properties:
      axis:
        type: axis
        default: y
    appearances:
      axisY:
        auto-state: solid
        model:
          path: ${model_vertical_path}
          generation:
            parent: minecraft:block/cube_column
            textures:
              end: ${texture_top_path}
              side: ${texture_side_path}
      axisX:
        auto-state: solid
        model:
          x: 90
          y: 90
          path: ${model_horizontal_path}
          generation:
            parent: minecraft:block/cube_column_horizontal
            textures:
              end: ${texture_top_path}
              side: ${texture_side_path}
      axisZ:
        auto-state: solid
        model:
          x: 90
          path: ${model_horizontal_path}
          generation:
            parent: minecraft:block/cube_column_horizontal
            textures:
              end: ${texture_top_path}
              side: ${texture_side_path}
    variants:
      axis=x:
        appearance: axisX
      axis=y:
        appearance: axisY
      axis=z:
        appearance: axisZ
  default:block_state/__leaves__:
    properties:
      waterlogged:
        type: boolean
        default: false
      persistent:
        type: boolean
        default: true
      distance:
        type: int
        default: 7
        range: 1~7
    appearances:
      default:
        auto-state: ${auto_state}
        model:
          path: ${model_path}
          generation:
            parent: minecraft:block/${leaves_base_model}
            textures:
              all: ${texture_path}
      waterlogged:
        auto-state: waterlogged_${auto_state}
        model:
          path: ${model_path}
    variants:
      waterlogged=false:
        appearance: default
      waterlogged=true:
        appearance: waterlogged
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      distance=7,persistent=false:
        settings:
          is-randomly-ticking: true
  # any leaves block
  default:block_state/leaves:
    template: default:block_state/__leaves__
    arguments:
      auto_state: leaves
      leaves_base_model:
        type: condition
        condition: ${tintable:-false}
        on-true: leaves
        on-false: cube_all
  # tintable leaves block
  default:block_state/tintable_leaves:
    template: default:block_state/__leaves__
    arguments:
      auto_state: tintable_leaves
      leaves_base_model: leaves
  # non-tintable leaves block
  default:block_state/non_tintable_leaves:
    template: default:block_state/__leaves__
    arguments:
      auto_state: non_tintable_leaves
      leaves_base_model: cube_all
  # trapdoor block
  default:block_state/trapdoor:
    properties:
      waterlogged:
        type: boolean
        default: false
      open:
        type: boolean
        default: false
      powered:
        type: boolean
        default: false
      facing:
        type: horizontal_direction
      half:
        type: single_block_half
    appearances:
      facing=east,half=bottom,open=false,waterlogged=false:
        state: ${base_block}[facing=east,half=bottom,open=false,powered=true,waterlogged=false]
        model:
          path: ${model_bottom_path}
          y: 90
          generation: ${model_bottom_generation}
      facing=east,half=bottom,open=true,waterlogged=false:
        state: ${base_block}[facing=east,half=bottom,open=true,powered=true,waterlogged=false]
        model:
          path: ${model_open_path}
          y: 90
          generation: ${model_open_generation}
      facing=east,half=top,open=false,waterlogged=false:
        state: ${base_block}[facing=east,half=top,open=false,powered=true,waterlogged=false]
        model:
          path: ${model_top_path}
          y: 90
          generation: ${model_top_generation}
      facing=east,half=top,open=true,waterlogged=false:
        state: ${base_block}[facing=east,half=top,open=true,powered=true,waterlogged=false]
        model:
          path: ${model_open_path}
          x: 180
          y: 270
      facing=north,half=bottom,open=false,waterlogged=false:
        state: ${base_block}[facing=north,half=bottom,open=false,powered=true,waterlogged=false]
        model:
          path: ${model_bottom_path}
      facing=north,half=bottom,open=true,waterlogged=false:
        state: ${base_block}[facing=north,half=bottom,open=true,powered=true,waterlogged=false]
        model:
          path: ${model_open_path}
      facing=north,half=top,open=false,waterlogged=false:
        state: ${base_block}[facing=north,half=top,open=false,powered=true,waterlogged=false]
        model:
          path: ${model_top_path}
      facing=north,half=top,open=true,waterlogged=false:
        state: ${base_block}[facing=north,half=top,open=true,powered=true,waterlogged=false]
        model:
          path: ${model_open_path}
          x: 180
          y: 180
      facing=south,half=bottom,open=false,waterlogged=false:
        state: ${base_block}[facing=south,half=bottom,open=false,powered=true,waterlogged=false]
        model:
          path: ${model_bottom_path}
          y: 180
      facing=south,half=bottom,open=true,waterlogged=false:
        state: ${base_block}[facing=south,half=bottom,open=true,powered=true,waterlogged=false]
        model:
          path: ${model_open_path}
          y: 180
      facing=south,half=top,open=false,waterlogged=false:
        state: ${base_block}[facing=south,half=top,open=false,powered=true,waterlogged=false]
        model:
          path: ${model_top_path}
          y: 180
      facing=south,half=top,open=true,waterlogged=false:
        state: ${base_block}[facing=south,half=top,open=true,powered=true,waterlogged=false]
        model:
          path: ${model_open_path}
          x: 180
          y: 0
      facing=west,half=bottom,open=false,waterlogged=false:
        state: ${base_block}[facing=west,half=bottom,open=false,powered=true,waterlogged=false]
        model:
          path: ${model_bottom_path}
          y: 270
      facing=west,half=bottom,open=true,waterlogged=false:
        state: ${base_block}[facing=west,half=bottom,open=true,powered=true,waterlogged=false]
        model:
          path: ${model_open_path}
          y: 270
      facing=west,half=top,open=false,waterlogged=false:
        state: ${base_block}[facing=west,half=top,open=false,powered=true,waterlogged=false]
        model:
          path: ${model_top_path}
          y: 270
      facing=west,half=top,open=true,waterlogged=false:
        state: ${base_block}[facing=west,half=top,open=true,powered=true,waterlogged=false]
        model:
          path: ${model_open_path}
          x: 180
          y: 90
      facing=east,half=bottom,open=false,waterlogged=true:
        state: ${base_block}[facing=east,half=bottom,open=false,powered=true,waterlogged=true]
        model:
          path: ${model_bottom_path}
          y: 90
      facing=east,half=bottom,open=true,waterlogged=true:
        state: ${base_block}[facing=east,half=bottom,open=true,powered=true,waterlogged=true]
        model:
          path: ${model_open_path}
          y: 90
      facing=east,half=top,open=false,waterlogged=true:
        state: ${base_block}[facing=east,half=top,open=false,powered=true,waterlogged=true]
        model:
          path: ${model_top_path}
          y: 90
      facing=east,half=top,open=true,waterlogged=true:
        state: ${base_block}[facing=east,half=top,open=true,powered=true,waterlogged=true]
        model:
          path: ${model_open_path}
          x: 180
          y: 270
      facing=north,half=bottom,open=false,waterlogged=true:
        state: ${base_block}[facing=north,half=bottom,open=false,powered=true,waterlogged=true]
        model:
          path: ${model_bottom_path}
      facing=north,half=bottom,open=true,waterlogged=true:
        state: ${base_block}[facing=north,half=bottom,open=true,powered=true,waterlogged=true]
        model:
          path: ${model_open_path}
      facing=north,half=top,open=false,waterlogged=true:
        state: ${base_block}[facing=north,half=top,open=false,powered=true,waterlogged=true]
        model:
          path: ${model_top_path}
      facing=north,half=top,open=true,waterlogged=true:
        state: ${base_block}[facing=north,half=top,open=true,powered=true,waterlogged=true]
        model:
          path: ${model_open_path}
          x: 180
          y: 180
      facing=south,half=bottom,open=false,waterlogged=true:
        state: ${base_block}[facing=south,half=bottom,open=false,powered=true,waterlogged=true]
        model:
          path: ${model_bottom_path}
          y: 180
      facing=south,half=bottom,open=true,waterlogged=true:
        state: ${base_block}[facing=south,half=bottom,open=true,powered=true,waterlogged=true]
        model:
          path: ${model_open_path}
          y: 180
      facing=south,half=top,open=false,waterlogged=true:
        state: ${base_block}[facing=south,half=top,open=false,powered=true,waterlogged=true]
        model:
          path: ${model_top_path}
          y: 180
      facing=south,half=top,open=true,waterlogged=true:
        state: ${base_block}[facing=south,half=top,open=true,powered=true,waterlogged=true]
        model:
          path: ${model_open_path}
          x: 180
          y: 0
      facing=west,half=bottom,open=false,waterlogged=true:
        state: ${base_block}[facing=west,half=bottom,open=false,powered=true,waterlogged=true]
        model:
          path: ${model_bottom_path}
          y: 270
      facing=west,half=bottom,open=true,waterlogged=true:
        state: ${base_block}[facing=west,half=bottom,open=true,powered=true,waterlogged=true]
        model:
          path: ${model_open_path}
          y: 270
      facing=west,half=top,open=false,waterlogged=true:
        state: ${base_block}[facing=west,half=top,open=false,powered=true,waterlogged=true]
        model:
          path: ${model_top_path}
          y: 270
      facing=west,half=top,open=true,waterlogged=true:
        state: ${base_block}[facing=west,half=top,open=true,powered=true,waterlogged=true]
        model:
          path: ${model_open_path}
          x: 180
          y: 90
    variants:
      facing=east,half=bottom,open=false,waterlogged=false:
        appearance: facing=east,half=bottom,open=false,waterlogged=false
      facing=east,half=bottom,open=true,waterlogged=false:
        appearance: facing=east,half=bottom,open=true,waterlogged=false
      facing=east,half=top,open=false,waterlogged=false:
        appearance: facing=east,half=top,open=false,waterlogged=false
      facing=east,half=top,open=true,waterlogged=false:
        appearance: facing=east,half=top,open=true,waterlogged=false
      facing=north,half=bottom,open=false,waterlogged=false:
        appearance: facing=north,half=bottom,open=false,waterlogged=false
      facing=north,half=bottom,open=true,waterlogged=false:
        appearance: facing=north,half=bottom,open=true,waterlogged=false
      facing=north,half=top,open=false,waterlogged=false:
        appearance: facing=north,half=top,open=false,waterlogged=false
      facing=north,half=top,open=true,waterlogged=false:
        appearance: facing=north,half=top,open=true,waterlogged=false
      facing=south,half=bottom,open=false,waterlogged=false:
        appearance: facing=south,half=bottom,open=false,waterlogged=false
      facing=south,half=bottom,open=true,waterlogged=false:
        appearance: facing=south,half=bottom,open=true,waterlogged=false
      facing=south,half=top,open=false,waterlogged=false:
        appearance: facing=south,half=top,open=false,waterlogged=false
      facing=south,half=top,open=true,waterlogged=false:
        appearance: facing=south,half=top,open=true,waterlogged=false
      facing=west,half=bottom,open=false,waterlogged=false:
        appearance: facing=west,half=bottom,open=false,waterlogged=false
      facing=west,half=bottom,open=true,waterlogged=false:
        appearance: facing=west,half=bottom,open=true,waterlogged=false
      facing=west,half=top,open=false,waterlogged=false:
        appearance: facing=west,half=top,open=false,waterlogged=false
      facing=west,half=top,open=true,waterlogged=false:
        appearance: facing=west,half=top,open=true,waterlogged=false
      facing=east,half=bottom,open=false,waterlogged=true:
        appearance: facing=east,half=bottom,open=false,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=east,half=bottom,open=true,waterlogged=true:
        appearance: facing=east,half=bottom,open=true,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=east,half=top,open=false,waterlogged=true:
        appearance: facing=east,half=top,open=false,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=east,half=top,open=true,waterlogged=true:
        appearance: facing=east,half=top,open=true,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=north,half=bottom,open=false,waterlogged=true:
        appearance: facing=north,half=bottom,open=false,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=north,half=bottom,open=true,waterlogged=true:
        appearance: facing=north,half=bottom,open=true,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=north,half=top,open=false,waterlogged=true:
        appearance: facing=north,half=top,open=false,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=north,half=top,open=true,waterlogged=true:
        appearance: facing=north,half=top,open=true,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=south,half=bottom,open=false,waterlogged=true:
        appearance: facing=south,half=bottom,open=false,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=south,half=bottom,open=true,waterlogged=true:
        appearance: facing=south,half=bottom,open=true,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=south,half=top,open=false,waterlogged=true:
        appearance: facing=south,half=top,open=false,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=south,half=top,open=true,waterlogged=true:
        appearance: facing=south,half=top,open=true,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=west,half=bottom,open=false,waterlogged=true:
        appearance: facing=west,half=bottom,open=false,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=west,half=bottom,open=true,waterlogged=true:
        appearance: facing=west,half=bottom,open=true,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=west,half=top,open=false,waterlogged=true:
        appearance: facing=west,half=top,open=false,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=west,half=top,open=true,waterlogged=true:
        appearance: facing=west,half=top,open=true,waterlogged=true
        settings:
          fluid-state: water
  # door block
  default:block_state/door:
    properties:
      facing:
        type: horizontal_direction
      half:
        type: double_block_half
      hinge:
        type: hinge
      open:
        type: boolean
        default: false
      powered:
        type: boolean
        default: false
    appearances:
      facing=east,half=lower,hinge=left,open=false:
        state: ${base_block}[facing=east,half=lower,hinge=left,open=false,powered=true]
        model:
          path: ${model_bottom_left_path}
          generation: ${model_bottom_left_generation}
      facing=east,half=lower,hinge=left,open=true:
        state: ${base_block}[facing=east,half=lower,hinge=left,open=true,powered=true]
        model:
          path: ${model_bottom_left_open_path}
          y: 90
          generation: ${model_bottom_left_open_generation}
      facing=east,half=lower,hinge=right,open=false:
        state: ${base_block}[facing=east,half=lower,hinge=right,open=false,powered=true]
        model:
          path: ${model_bottom_right_path}
          generation: ${model_bottom_right_generation}
      facing=east,half=lower,hinge=right,open=true:
        state: ${base_block}[facing=east,half=lower,hinge=right,open=true,powered=true]
        model:
          path: ${model_bottom_right_open_path}
          y: 270
          generation: ${model_bottom_right_open_generation}
      facing=east,half=upper,hinge=left,open=false:
        state: ${base_block}[facing=east,half=upper,hinge=left,open=false,powered=true]
        model:
          path: ${model_top_left_path}
          generation: ${model_top_left_generation}
      facing=east,half=upper,hinge=left,open=true:
        state: ${base_block}[facing=east,half=upper,hinge=left,open=true,powered=true]
        model:
          path: ${model_top_left_open_path}
          y: 90
          generation: ${model_top_left_open_generation}
      facing=east,half=upper,hinge=right,open=false:
        state: ${base_block}[facing=east,half=upper,hinge=right,open=false,powered=true]
        model:
          path: ${model_top_right_path}
          generation: ${model_top_right_generation}
      facing=east,half=upper,hinge=right,open=true:
        state: ${base_block}[facing=east,half=upper,hinge=right,open=true,powered=true]
        model:
          path: ${model_top_right_open_path}
          y: 270
          generation: ${model_top_right_open_generation}
      facing=north,half=lower,hinge=left,open=false:
        state: ${base_block}[facing=north,half=lower,hinge=left,open=false,powered=true]
        model:
          path: ${model_bottom_left_path}
          y: 270
      facing=north,half=lower,hinge=left,open=true:
        state: ${base_block}[facing=north,half=lower,hinge=left,open=true,powered=true]
        model:
          path: ${model_bottom_left_open_path}
      facing=north,half=lower,hinge=right,open=false:
        state: ${base_block}[facing=north,half=lower,hinge=right,open=false,powered=true]
        model:
          path: ${model_bottom_right_path}
          y: 270
      facing=north,half=lower,hinge=right,open=true:
        state: ${base_block}[facing=north,half=lower,hinge=right,open=true,powered=true]
        model:
          path: ${model_bottom_right_open_path}
          y: 180
      facing=north,half=upper,hinge=left,open=false:
        state: ${base_block}[facing=north,half=upper,hinge=left,open=false,powered=true]
        model:
          path: ${model_top_left_path}
          y: 270
      facing=north,half=upper,hinge=left,open=true:
        state: ${base_block}[facing=north,half=upper,hinge=left,open=true,powered=true]
        model:
          path: ${model_top_left_open_path}
      facing=north,half=upper,hinge=right,open=false:
        state: ${base_block}[facing=north,half=upper,hinge=right,open=false,powered=true]
        model:
          path: ${model_top_right_path}
          y: 270
      facing=north,half=upper,hinge=right,open=true:
        state: ${base_block}[facing=north,half=upper,hinge=right,open=true,powered=true]
        model:
          path: ${model_top_right_open_path}
          y: 180
      facing=south,half=lower,hinge=left,open=false:
        state: ${base_block}[facing=south,half=lower,hinge=left,open=false,powered=true]
        model:
          path: ${model_bottom_left_path}
          y: 90
      facing=south,half=lower,hinge=left,open=true:
        state: ${base_block}[facing=south,half=lower,hinge=left,open=true,powered=true]
        model:
          path: ${model_bottom_left_open_path}
          y: 180
      facing=south,half=lower,hinge=right,open=false:
        state: ${base_block}[facing=south,half=lower,hinge=right,open=false,powered=true]
        model:
          path: ${model_bottom_right_path}
          y: 90
      facing=south,half=lower,hinge=right,open=true:
        state: ${base_block}[facing=south,half=lower,hinge=right,open=true,powered=true]
        model:
          path: ${model_bottom_right_open_path}
      facing=south,half=upper,hinge=left,open=false:
        state: ${base_block}[facing=south,half=upper,hinge=left,open=false,powered=true]
        model:
          path: ${model_top_left_path}
          y: 90
      facing=south,half=upper,hinge=left,open=true:
        state: ${base_block}[facing=south,half=upper,hinge=left,open=true,powered=true]
        model:
          path: ${model_top_left_open_path}
          y: 180
      facing=south,half=upper,hinge=right,open=false:
        state: ${base_block}[facing=south,half=upper,hinge=right,open=false,powered=true]
        model:
          path: ${model_top_right_path}
          y: 90
      facing=south,half=upper,hinge=right,open=true:
        state: ${base_block}[facing=south,half=upper,hinge=right,open=true,powered=true]
        model:
          path: ${model_top_right_open_path}
      facing=west,half=lower,hinge=left,open=false:
        state: ${base_block}[facing=west,half=lower,hinge=left,open=false,powered=true]
        model:
          path: ${model_bottom_left_path}
          y: 180
      facing=west,half=lower,hinge=left,open=true:
        state: ${base_block}[facing=west,half=lower,hinge=left,open=true,powered=true]
        model:
          path: ${model_bottom_left_open_path}
          y: 270
      facing=west,half=lower,hinge=right,open=false:
        state: ${base_block}[facing=west,half=lower,hinge=right,open=false,powered=true]
        model:
          path: ${model_bottom_right_path}
          y: 180
      facing=west,half=lower,hinge=right,open=true:
        state: ${base_block}[facing=west,half=lower,hinge=right,open=true,powered=true]
        model:
          path: ${model_bottom_right_open_path}
          y: 90
      facing=west,half=upper,hinge=left,open=false:
        state: ${base_block}[facing=west,half=upper,hinge=left,open=false,powered=true]
        model:
          path: ${model_top_left_path}
          y: 180
      facing=west,half=upper,hinge=left,open=true:
        state: ${base_block}[facing=west,half=upper,hinge=left,open=true,powered=true]
        model:
          path: ${model_top_left_open_path}
          y: 270
      facing=west,half=upper,hinge=right,open=false:
        state: ${base_block}[facing=west,half=upper,hinge=right,open=false,powered=true]
        model:
          path: ${model_top_right_path}
          y: 180
      facing=west,half=upper,hinge=right,open=true:
        state: ${base_block}[facing=west,half=upper,hinge=right,open=true,powered=true]
        model:
          path: ${model_top_right_open_path}
          y: 90
    variants:
      facing=east,half=lower,hinge=left,open=false:
        appearance: facing=east,half=lower,hinge=left,open=false
      facing=east,half=lower,hinge=right,open=false:
        appearance: facing=east,half=lower,hinge=right,open=false
      facing=east,half=upper,hinge=left,open=false:
        appearance: facing=east,half=upper,hinge=left,open=false
      facing=east,half=upper,hinge=right,open=false:
        appearance: facing=east,half=upper,hinge=right,open=false
      facing=north,half=lower,hinge=left,open=false:
        appearance: facing=north,half=lower,hinge=left,open=false
      facing=north,half=lower,hinge=right,open=false:
        appearance: facing=north,half=lower,hinge=right,open=false
      facing=north,half=upper,hinge=left,open=false:
        appearance: facing=north,half=upper,hinge=left,open=false
      facing=north,half=upper,hinge=right,open=false:
        appearance: facing=north,half=upper,hinge=right,open=false
      facing=south,half=lower,hinge=left,open=false:
        appearance: facing=south,half=lower,hinge=left,open=false
      facing=south,half=lower,hinge=right,open=false:
        appearance: facing=south,half=lower,hinge=right,open=false
      facing=south,half=upper,hinge=left,open=false:
        appearance: facing=south,half=upper,hinge=left,open=false
      facing=south,half=upper,hinge=right,open=false:
        appearance: facing=south,half=upper,hinge=right,open=false
      facing=west,half=lower,hinge=left,open=false:
        appearance: facing=west,half=lower,hinge=left,open=false
      facing=west,half=lower,hinge=right,open=false:
        appearance: facing=west,half=lower,hinge=right,open=false
      facing=west,half=upper,hinge=left,open=false:
        appearance: facing=west,half=upper,hinge=left,open=false
      facing=west,half=upper,hinge=right,open=false:
        appearance: facing=west,half=upper,hinge=right,open=false
      facing=east,half=lower,hinge=left,open=true:
        appearance: facing=east,half=lower,hinge=left,open=true
      facing=east,half=lower,hinge=right,open=true:
        appearance: facing=east,half=lower,hinge=right,open=true
      facing=east,half=upper,hinge=left,open=true:
        appearance: facing=east,half=upper,hinge=left,open=true
      facing=east,half=upper,hinge=right,open=true:
        appearance: facing=east,half=upper,hinge=right,open=true
      facing=north,half=lower,hinge=left,open=true:
        appearance: facing=north,half=lower,hinge=left,open=true
      facing=north,half=lower,hinge=right,open=true:
        appearance: facing=north,half=lower,hinge=right,open=true
      facing=north,half=upper,hinge=left,open=true:
        appearance: facing=north,half=upper,hinge=left,open=true
      facing=north,half=upper,hinge=right,open=true:
        appearance: facing=north,half=upper,hinge=right,open=true
      facing=south,half=lower,hinge=left,open=true:
        appearance: facing=south,half=lower,hinge=left,open=true
      facing=south,half=lower,hinge=right,open=true:
        appearance: facing=south,half=lower,hinge=right,open=true
      facing=south,half=upper,hinge=left,open=true:
        appearance: facing=south,half=upper,hinge=left,open=true
      facing=south,half=upper,hinge=right,open=true:
        appearance: facing=south,half=upper,hinge=right,open=true
      facing=west,half=lower,hinge=left,open=true:
        appearance: facing=west,half=lower,hinge=left,open=true
      facing=west,half=lower,hinge=right,open=true:
        appearance: facing=west,half=lower,hinge=right,open=true
      facing=west,half=upper,hinge=left,open=true:
        appearance: facing=west,half=upper,hinge=left,open=true
      facing=west,half=upper,hinge=right,open=true:
        appearance: facing=west,half=upper,hinge=right,open=true
  # fence gate block
  default:block_state/fence_gate:
    properties:
      facing:
        type: horizontal_direction
      in_wall:
        type: boolean
        default: false
      open:
        type: boolean
        default: false
      powered:
        type: boolean
        default: false
    appearances:
      facing=east,in_wall=false,open=false:
        state: ${base_block}[facing=east,in_wall=false,open=false,powered=true]
        model:
          path: ${model_fence_gate_path}
          y: 270
          uvlock: true
          generation: ${model_fence_gate_generation}
      facing=east,in_wall=false,open=true:
        state: ${base_block}[facing=east,in_wall=false,open=true,powered=true]
        model:
          path: ${model_fence_gate_open_path}
          y: 270
          uvlock: true
          generation: ${model_fence_gate_open_generation}
      facing=east,in_wall=true,open=false:
        state: ${base_block}[facing=east,in_wall=true,open=false,powered=true]
        model:
          path: ${model_fence_gate_wall_path}
          y: 270
          uvlock: true
          generation: ${model_fence_gate_wall_generation}
      facing=east,in_wall=true,open=true:
        state: ${base_block}[facing=east,in_wall=true,open=true,powered=true]
        model:
          path: ${model_fence_gate_wall_open_path}
          y: 270
          uvlock: true
          generation: ${model_fence_gate_wall_open_generation}
      facing=north,in_wall=false,open=false:
        state: ${base_block}[facing=north,in_wall=false,open=false,powered=true]
        model:
          path: ${model_fence_gate_path}
          y: 180
          uvlock: true
      facing=north,in_wall=false,open=true:
        state: ${base_block}[facing=north,in_wall=false,open=true,powered=true]
        model:
          path: ${model_fence_gate_open_path}
          y: 180
          uvlock: true
      facing=north,in_wall=true,open=false:
        state: ${base_block}[facing=north,in_wall=true,open=false,powered=true]
        model:
          path: ${model_fence_gate_wall_path}
          y: 180
          uvlock: true
      facing=north,in_wall=true,open=true:
        state: ${base_block}[facing=north,in_wall=true,open=true,powered=true]
        model:
          path: ${model_fence_gate_wall_open_path}
          y: 180
          uvlock: true
      facing=south,in_wall=false,open=false:
        state: ${base_block}[facing=south,in_wall=false,open=false,powered=true]
        model:
          path: ${model_fence_gate_path}
          uvlock: true
      facing=south,in_wall=false,open=true:
        state: ${base_block}[facing=south,in_wall=false,open=true,powered=true]
        model:
          path: ${model_fence_gate_open_path}
          uvlock: true
      facing=south,in_wall=true,open=false:
        state: ${base_block}[facing=south,in_wall=true,open=false,powered=true]
        model:
          path: ${model_fence_gate_wall_path}
          uvlock: true
      facing=south,in_wall=true,open=true:
        state: ${base_block}[facing=south,in_wall=true,open=true,powered=true]
        model:
          path: ${model_fence_gate_wall_open_path}
          uvlock: true
      facing=west,in_wall=false,open=false:
        state: ${base_block}[facing=west,in_wall=false,open=false,powered=true]
        model:
          path: ${model_fence_gate_path}
          y: 90
          uvlock: true
      facing=west,in_wall=false,open=true:
        state: ${base_block}[facing=west,in_wall=false,open=true,powered=true]
        model:
          path: ${model_fence_gate_open_path}
          y: 90
          uvlock: true
      facing=west,in_wall=true,open=false:
        state: ${base_block}[facing=west,in_wall=true,open=false,powered=true]
        model:
          path: ${model_fence_gate_wall_path}
          y: 90
          uvlock: true
      facing=west,in_wall=true,open=true:
        state: ${base_block}[facing=west,in_wall=true,open=true,powered=true]
        model:
          path: ${model_fence_gate_wall_open_path}
          y: 90
          uvlock: true
    variants:
      facing=east,in_wall=false,open=false,powered=true:
        appearance: facing=east,in_wall=false,open=false
      facing=east,in_wall=false,open=false,powered=false:
        appearance: facing=east,in_wall=false,open=false
      facing=east,in_wall=false,open=true,powered=true:
        appearance: facing=east,in_wall=false,open=true
      facing=east,in_wall=false,open=true,powered=false:
        appearance: facing=east,in_wall=false,open=true
      facing=east,in_wall=true,open=false,powered=true:
        appearance: facing=east,in_wall=true,open=false
      facing=east,in_wall=true,open=false,powered=false:
        appearance: facing=east,in_wall=true,open=false
      facing=east,in_wall=true,open=true,powered=true:
        appearance: facing=east,in_wall=true,open=true
      facing=east,in_wall=true,open=true,powered=false:
        appearance: facing=east,in_wall=true,open=true
      facing=south,in_wall=false,open=false,powered=true:
        appearance: facing=south,in_wall=false,open=false
      facing=south,in_wall=false,open=false,powered=false:
        appearance: facing=south,in_wall=false,open=false
      facing=south,in_wall=false,open=true,powered=true:
        appearance: facing=south,in_wall=false,open=true
      facing=south,in_wall=false,open=true,powered=false:
        appearance: facing=south,in_wall=false,open=true
      facing=south,in_wall=true,open=false,powered=true:
        appearance: facing=south,in_wall=true,open=false
      facing=south,in_wall=true,open=false,powered=false:
        appearance: facing=south,in_wall=true,open=false
      facing=south,in_wall=true,open=true,powered=true:
        appearance: facing=south,in_wall=true,open=true
      facing=south,in_wall=true,open=true,powered=false:
        appearance: facing=south,in_wall=true,open=true
      facing=west,in_wall=false,open=false,powered=true:
        appearance: facing=west,in_wall=false,open=false
      facing=west,in_wall=false,open=false,powered=false:
        appearance: facing=west,in_wall=false,open=false
      facing=west,in_wall=false,open=true,powered=true:
        appearance: facing=west,in_wall=false,open=true
      facing=west,in_wall=false,open=true,powered=false:
        appearance: facing=west,in_wall=false,open=true
      facing=west,in_wall=true,open=false,powered=true:
        appearance: facing=west,in_wall=true,open=false
      facing=west,in_wall=true,open=false,powered=false:
        appearance: facing=west,in_wall=true,open=false
      facing=west,in_wall=true,open=true,powered=true:
        appearance: facing=west,in_wall=true,open=true
      facing=west,in_wall=true,open=true,powered=false:
        appearance: facing=west,in_wall=true,open=true
      facing=north,in_wall=false,open=false,powered=true:
        appearance: facing=north,in_wall=false,open=false
      facing=north,in_wall=false,open=false,powered=false:
        appearance: facing=north,in_wall=false,open=false
      facing=north,in_wall=false,open=true,powered=true:
        appearance: facing=north,in_wall=false,open=true
      facing=north,in_wall=false,open=true,powered=false:
        appearance: facing=north,in_wall=false,open=true
      facing=north,in_wall=true,open=false,powered=true:
        appearance: facing=north,in_wall=true,open=false
      facing=north,in_wall=true,open=false,powered=false:
        appearance: facing=north,in_wall=true,open=false
      facing=north,in_wall=true,open=true,powered=true:
        appearance: facing=north,in_wall=true,open=true
      facing=north,in_wall=true,open=true,powered=false:
        appearance: facing=north,in_wall=true,open=true
  # slab block
  default:block_state/slab:
    properties:
      type:
        type: slab_type
        default: bottom
      waterlogged:
        type: boolean
        default: false
    appearances:
      type=top,waterlogged=false:
        state: ${base_block}[type=top,waterlogged=false]
        model:
          path: ${model_top_path}
          generation: ${model_top_generation:-null}
      type=bottom,waterlogged=false:
        state: ${base_block}[type=bottom,waterlogged=false]
        model:
          path: ${model_bottom_path}
          generation: ${model_bottom_generation:-null}
      type=double,waterlogged=false:
        state: ${base_block}[type=double,waterlogged=false]
        model:
          path: ${model_double_path}
          generation: ${model_double_generation:-null}
      type=top,waterlogged=true:
        state: ${base_block}[type=top,waterlogged=true]
        model:
          path: ${model_top_path}
      type=bottom,waterlogged=true:
        state: ${base_block}[type=bottom,waterlogged=true]
        model:
          path: ${model_bottom_path}
      type=double,waterlogged=true:
        state: ${base_block}[type=double,waterlogged=true]
        model:
          path: ${model_double_path}
    variants:
      type=top,waterlogged=false:
        appearance: type=top,waterlogged=false
      type=bottom,waterlogged=false:
        appearance: type=bottom,waterlogged=false
      type=double,waterlogged=false:
        appearance: type=double,waterlogged=false
      type=top,waterlogged=true:
        appearance: type=top,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      type=bottom,waterlogged=true:
        appearance: type=bottom,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      type=double,waterlogged=true:
        appearance: type=double,waterlogged=true
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
  # stairs block
  default:block_state/stairs:
    properties:
      facing:
        type: horizontal_direction
      half:
        type: single_block_half
      shape:
        type: stairs_shape
      waterlogged:
        type: boolean
        default: false
    appearances:
      facing=east,half=bottom,shape=inner_left,waterlogged=false:
        state: ${base_block}[facing=east,half=bottom,shape=inner_left,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 270
          generation: ${model_stairs_inner_generation}
      facing=east,half=bottom,shape=inner_right,waterlogged=false:
        state: ${base_block}[facing=east,half=bottom,shape=inner_right,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
      facing=east,half=bottom,shape=outer_left,waterlogged=false:
        state: ${base_block}[facing=east,half=bottom,shape=outer_left,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 270
          generation: ${model_stairs_outer_generation}
      facing=east,half=bottom,shape=outer_right,waterlogged=false:
        state: ${base_block}[facing=east,half=bottom,shape=outer_right,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
      facing=east,half=bottom,shape=straight,waterlogged=false:
        state: ${base_block}[facing=east,half=bottom,shape=straight,waterlogged=false]
        model:
          path: ${model_stairs_path}
          generation: ${model_stairs_generation}
      facing=east,half=top,shape=inner_left,waterlogged=false:
        state: ${base_block}[facing=east,half=top,shape=inner_left,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
      facing=east,half=top,shape=inner_right,waterlogged=false:
        state: ${base_block}[facing=east,half=top,shape=inner_right,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 90
      facing=east,half=top,shape=outer_left,waterlogged=false:
        state: ${base_block}[facing=east,half=top,shape=outer_left,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
      facing=east,half=top,shape=outer_right,waterlogged=false:
        state: ${base_block}[facing=east,half=top,shape=outer_right,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 90
      facing=east,half=top,shape=straight,waterlogged=false:
        state: ${base_block}[facing=east,half=top,shape=straight,waterlogged=false]
        model:
          path: ${model_stairs_path}
          uvlock: true
          x: 180
      facing=north,half=bottom,shape=inner_left,waterlogged=false:
        state: ${base_block}[facing=north,half=bottom,shape=inner_left,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 180
      facing=north,half=bottom,shape=inner_right,waterlogged=false:
        state: ${base_block}[facing=north,half=bottom,shape=inner_right,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 270
      facing=north,half=bottom,shape=outer_left,waterlogged=false:
        state: ${base_block}[facing=north,half=bottom,shape=outer_left,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 180
      facing=north,half=bottom,shape=outer_right,waterlogged=false:
        state: ${base_block}[facing=north,half=bottom,shape=outer_right,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 270
      facing=north,half=bottom,shape=straight,waterlogged=false:
        state: ${base_block}[facing=north,half=bottom,shape=straight,waterlogged=false]
        model:
          path: ${model_stairs_path}
          uvlock: true
          y: 270
      facing=north,half=top,shape=inner_left,waterlogged=false:
        state: ${base_block}[facing=north,half=top,shape=inner_left,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 270
      facing=north,half=top,shape=inner_right,waterlogged=false:
        state: ${base_block}[facing=north,half=top,shape=inner_right,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
      facing=north,half=top,shape=outer_left,waterlogged=false:
        state: ${base_block}[facing=north,half=top,shape=outer_left,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 270
      facing=north,half=top,shape=outer_right,waterlogged=false:
        state: ${base_block}[facing=north,half=top,shape=outer_right,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
      facing=north,half=top,shape=straight,waterlogged=false:
        state: ${base_block}[facing=north,half=top,shape=straight,waterlogged=false]
        model:
          path: ${model_stairs_path}
          uvlock: true
          x: 180
          y: 270
      facing=south,half=bottom,shape=inner_left,waterlogged=false:
        state: ${base_block}[facing=south,half=bottom,shape=inner_left,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
      facing=south,half=bottom,shape=inner_right,waterlogged=false:
        state: ${base_block}[facing=south,half=bottom,shape=inner_right,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 90
      facing=south,half=bottom,shape=outer_left,waterlogged=false:
        state: ${base_block}[facing=south,half=bottom,shape=outer_left,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
      facing=south,half=bottom,shape=outer_right,waterlogged=false:
        state: ${base_block}[facing=south,half=bottom,shape=outer_right,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 90
      facing=south,half=bottom,shape=straight,waterlogged=false:
        state: ${base_block}[facing=south,half=bottom,shape=straight,waterlogged=false]
        model:
          path: ${model_stairs_path}
          uvlock: true
          y: 90
      facing=south,half=top,shape=inner_left,waterlogged=false:
        state: ${base_block}[facing=south,half=top,shape=inner_left,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 90
      facing=south,half=top,shape=inner_right,waterlogged=false:
        state: ${base_block}[facing=south,half=top,shape=inner_right,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 180
      facing=south,half=top,shape=outer_left,waterlogged=false:
        state: ${base_block}[facing=south,half=top,shape=outer_left,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 90
      facing=south,half=top,shape=outer_right,waterlogged=false:
        state: ${base_block}[facing=south,half=top,shape=outer_right,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 180
      facing=south,half=top,shape=straight,waterlogged=false:
        state: ${base_block}[facing=south,half=top,shape=straight,waterlogged=false]
        model:
          path: ${model_stairs_path}
          uvlock: true
          x: 180
          y: 90
      facing=west,half=bottom,shape=inner_left,waterlogged=false:
        state: ${base_block}[facing=west,half=bottom,shape=inner_left,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 90
      facing=west,half=bottom,shape=inner_right,waterlogged=false:
        state: ${base_block}[facing=west,half=bottom,shape=inner_right,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 180
      facing=west,half=bottom,shape=outer_left,waterlogged=false:
        state: ${base_block}[facing=west,half=bottom,shape=outer_left,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 90
      facing=west,half=bottom,shape=outer_right,waterlogged=false:
        state: ${base_block}[facing=west,half=bottom,shape=outer_right,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 180
      facing=west,half=bottom,shape=straight,waterlogged=false:
        state: ${base_block}[facing=west,half=bottom,shape=straight,waterlogged=false]
        model:
          path: ${model_stairs_path}
          uvlock: true
          y: 180
      facing=west,half=top,shape=inner_left,waterlogged=false:
        state: ${base_block}[facing=west,half=top,shape=inner_left,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 180
      facing=west,half=top,shape=inner_right,waterlogged=false:
        state: ${base_block}[facing=west,half=top,shape=inner_right,waterlogged=false]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 270
      facing=west,half=top,shape=outer_left,waterlogged=false:
        state: ${base_block}[facing=west,half=top,shape=outer_left,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 180
      facing=west,half=top,shape=outer_right,waterlogged=false:
        state: ${base_block}[facing=west,half=top,shape=outer_right,waterlogged=false]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 270
      facing=west,half=top,shape=straight,waterlogged=false:
        state: ${base_block}[facing=west,half=top,shape=straight,waterlogged=false]
        model:
          path: ${model_stairs_path}
          uvlock: true
          x: 180
          y: 180
      facing=east,half=bottom,shape=inner_left,waterlogged=true:
        state: ${base_block}[facing=east,half=bottom,shape=inner_left,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 270
      facing=east,half=bottom,shape=inner_right,waterlogged=true:
        state: ${base_block}[facing=east,half=bottom,shape=inner_right,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
      facing=east,half=bottom,shape=outer_left,waterlogged=true:
        state: ${base_block}[facing=east,half=bottom,shape=outer_left,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 270
      facing=east,half=bottom,shape=outer_right,waterlogged=true:
        state: ${base_block}[facing=east,half=bottom,shape=outer_right,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
      facing=east,half=bottom,shape=straight,waterlogged=true:
        state: ${base_block}[facing=east,half=bottom,shape=straight,waterlogged=true]
        model:
          path: ${model_stairs_path}
      facing=east,half=top,shape=inner_left,waterlogged=true:
        state: ${base_block}[facing=east,half=top,shape=inner_left,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
      facing=east,half=top,shape=inner_right,waterlogged=true:
        state: ${base_block}[facing=east,half=top,shape=inner_right,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 90
      facing=east,half=top,shape=outer_left,waterlogged=true:
        state: ${base_block}[facing=east,half=top,shape=outer_left,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
      facing=east,half=top,shape=outer_right,waterlogged=true:
        state: ${base_block}[facing=east,half=top,shape=outer_right,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 90
      facing=east,half=top,shape=straight,waterlogged=true:
        state: ${base_block}[facing=east,half=top,shape=straight,waterlogged=true]
        model:
          path: ${model_stairs_path}
          uvlock: true
          x: 180
      facing=north,half=bottom,shape=inner_left,waterlogged=true:
        state: ${base_block}[facing=north,half=bottom,shape=inner_left,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 180
      facing=north,half=bottom,shape=inner_right,waterlogged=true:
        state: ${base_block}[facing=north,half=bottom,shape=inner_right,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 270
      facing=north,half=bottom,shape=outer_left,waterlogged=true:
        state: ${base_block}[facing=north,half=bottom,shape=outer_left,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 180
      facing=north,half=bottom,shape=outer_right,waterlogged=true:
        state: ${base_block}[facing=north,half=bottom,shape=outer_right,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 270
      facing=north,half=bottom,shape=straight,waterlogged=true:
        state: ${base_block}[facing=north,half=bottom,shape=straight,waterlogged=true]
        model:
          path: ${model_stairs_path}
          uvlock: true
          y: 270
      facing=north,half=top,shape=inner_left,waterlogged=true:
        state: ${base_block}[facing=north,half=top,shape=inner_left,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 270
      facing=north,half=top,shape=inner_right,waterlogged=true:
        state: ${base_block}[facing=north,half=top,shape=inner_right,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
      facing=north,half=top,shape=outer_left,waterlogged=true:
        state: ${base_block}[facing=north,half=top,shape=outer_left,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 270
      facing=north,half=top,shape=outer_right,waterlogged=true:
        state: ${base_block}[facing=north,half=top,shape=outer_right,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
      facing=north,half=top,shape=straight,waterlogged=true:
        state: ${base_block}[facing=north,half=top,shape=straight,waterlogged=true]
        model:
          path: ${model_stairs_path}
          uvlock: true
          x: 180
          y: 270
      facing=south,half=bottom,shape=inner_left,waterlogged=true:
        state: ${base_block}[facing=south,half=bottom,shape=inner_left,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
      facing=south,half=bottom,shape=inner_right,waterlogged=true:
        state: ${base_block}[facing=south,half=bottom,shape=inner_right,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 90
      facing=south,half=bottom,shape=outer_left,waterlogged=true:
        state: ${base_block}[facing=south,half=bottom,shape=outer_left,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
      facing=south,half=bottom,shape=outer_right,waterlogged=true:
        state: ${base_block}[facing=south,half=bottom,shape=outer_right,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 90
      facing=south,half=bottom,shape=straight,waterlogged=true:
        state: ${base_block}[facing=south,half=bottom,shape=straight,waterlogged=true]
        model:
          path: ${model_stairs_path}
          uvlock: true
          y: 90
      facing=south,half=top,shape=inner_left,waterlogged=true:
        state: ${base_block}[facing=south,half=top,shape=inner_left,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 90
      facing=south,half=top,shape=inner_right,waterlogged=true:
        state: ${base_block}[facing=south,half=top,shape=inner_right,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 180
      facing=south,half=top,shape=outer_left,waterlogged=true:
        state: ${base_block}[facing=south,half=top,shape=outer_left,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 90
      facing=south,half=top,shape=outer_right,waterlogged=true:
        state: ${base_block}[facing=south,half=top,shape=outer_right,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 180
      facing=south,half=top,shape=straight,waterlogged=true:
        state: ${base_block}[facing=south,half=top,shape=straight,waterlogged=true]
        model:
          path: ${model_stairs_path}
          uvlock: true
          x: 180
          y: 90
      facing=west,half=bottom,shape=inner_left,waterlogged=true:
        state: ${base_block}[facing=west,half=bottom,shape=inner_left,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 90
      facing=west,half=bottom,shape=inner_right,waterlogged=true:
        state: ${base_block}[facing=west,half=bottom,shape=inner_right,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          y: 180
      facing=west,half=bottom,shape=outer_left,waterlogged=true:
        state: ${base_block}[facing=west,half=bottom,shape=outer_left,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 90
      facing=west,half=bottom,shape=outer_right,waterlogged=true:
        state: ${base_block}[facing=west,half=bottom,shape=outer_right,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          y: 180
      facing=west,half=bottom,shape=straight,waterlogged=true:
        state: ${base_block}[facing=west,half=bottom,shape=straight,waterlogged=true]
        model:
          path: ${model_stairs_path}
          uvlock: true
          y: 180
      facing=west,half=top,shape=inner_left,waterlogged=true:
        state: ${base_block}[facing=west,half=top,shape=inner_left,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 180
      facing=west,half=top,shape=inner_right,waterlogged=true:
        state: ${base_block}[facing=west,half=top,shape=inner_right,waterlogged=true]
        model:
          path: ${model_stairs_inner_path}
          uvlock: true
          x: 180
          y: 270
      facing=west,half=top,shape=outer_left,waterlogged=true:
        state: ${base_block}[facing=west,half=top,shape=outer_left,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 180
      facing=west,half=top,shape=outer_right,waterlogged=true:
        state: ${base_block}[facing=west,half=top,shape=outer_right,waterlogged=true]
        model:
          path: ${model_stairs_outer_path}
          uvlock: true
          x: 180
          y: 270
      facing=west,half=top,shape=straight,waterlogged=true:
        state: ${base_block}[facing=west,half=top,shape=straight,waterlogged=true]
        model:
          path: ${model_stairs_path}
          uvlock: true
          x: 180
          y: 180
    variants:
      waterlogged=true:
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      facing=east,half=bottom,shape=inner_left,waterlogged=false:
        appearance: facing=east,half=bottom,shape=inner_left,waterlogged=false
      facing=east,half=bottom,shape=inner_right,waterlogged=false:
        appearance: facing=east,half=bottom,shape=inner_right,waterlogged=false
      facing=east,half=bottom,shape=outer_left,waterlogged=false:
        appearance: facing=east,half=bottom,shape=outer_left,waterlogged=false
      facing=east,half=bottom,shape=outer_right,waterlogged=false:
        appearance: facing=east,half=bottom,shape=outer_right,waterlogged=false
      facing=east,half=bottom,shape=straight,waterlogged=false:
        appearance: facing=east,half=bottom,shape=straight,waterlogged=false
      facing=east,half=top,shape=inner_left,waterlogged=false:
        appearance: facing=east,half=top,shape=inner_left,waterlogged=false
      facing=east,half=top,shape=inner_right,waterlogged=false:
        appearance: facing=east,half=top,shape=inner_right,waterlogged=false
      facing=east,half=top,shape=outer_left,waterlogged=false:
        appearance: facing=east,half=top,shape=outer_left,waterlogged=false
      facing=east,half=top,shape=outer_right,waterlogged=false:
        appearance: facing=east,half=top,shape=outer_right,waterlogged=false
      facing=east,half=top,shape=straight,waterlogged=false:
        appearance: facing=east,half=top,shape=straight,waterlogged=false
      facing=north,half=bottom,shape=inner_left,waterlogged=false:
        appearance: facing=north,half=bottom,shape=inner_left,waterlogged=false
      facing=north,half=bottom,shape=inner_right,waterlogged=false:
        appearance: facing=north,half=bottom,shape=inner_right,waterlogged=false
      facing=north,half=bottom,shape=outer_left,waterlogged=false:
        appearance: facing=north,half=bottom,shape=outer_left,waterlogged=false
      facing=north,half=bottom,shape=outer_right,waterlogged=false:
        appearance: facing=north,half=bottom,shape=outer_right,waterlogged=false
      facing=north,half=bottom,shape=straight,waterlogged=false:
        appearance: facing=north,half=bottom,shape=straight,waterlogged=false
      facing=north,half=top,shape=inner_left,waterlogged=false:
        appearance: facing=north,half=top,shape=inner_left,waterlogged=false
      facing=north,half=top,shape=inner_right,waterlogged=false:
        appearance: facing=north,half=top,shape=inner_right,waterlogged=false
      facing=north,half=top,shape=outer_left,waterlogged=false:
        appearance: facing=north,half=top,shape=outer_left,waterlogged=false
      facing=north,half=top,shape=outer_right,waterlogged=false:
        appearance: facing=north,half=top,shape=outer_right,waterlogged=false
      facing=north,half=top,shape=straight,waterlogged=false:
        appearance: facing=north,half=top,shape=straight,waterlogged=false
      facing=south,half=bottom,shape=inner_left,waterlogged=false:
        appearance: facing=south,half=bottom,shape=inner_left,waterlogged=false
      facing=south,half=bottom,shape=inner_right,waterlogged=false:
        appearance: facing=south,half=bottom,shape=inner_right,waterlogged=false
      facing=south,half=bottom,shape=outer_left,waterlogged=false:
        appearance: facing=south,half=bottom,shape=outer_left,waterlogged=false
      facing=south,half=bottom,shape=outer_right,waterlogged=false:
        appearance: facing=south,half=bottom,shape=outer_right,waterlogged=false
      facing=south,half=bottom,shape=straight,waterlogged=false:
        appearance: facing=south,half=bottom,shape=straight,waterlogged=false
      facing=south,half=top,shape=inner_left,waterlogged=false:
        appearance: facing=south,half=top,shape=inner_left,waterlogged=false
      facing=south,half=top,shape=inner_right,waterlogged=false:
        appearance: facing=south,half=top,shape=inner_right,waterlogged=false
      facing=south,half=top,shape=outer_left,waterlogged=false:
        appearance: facing=south,half=top,shape=outer_left,waterlogged=false
      facing=south,half=top,shape=outer_right,waterlogged=false:
        appearance: facing=south,half=top,shape=outer_right,waterlogged=false
      facing=south,half=top,shape=straight,waterlogged=false:
        appearance: facing=south,half=top,shape=straight,waterlogged=false
      facing=west,half=bottom,shape=inner_left,waterlogged=false:
        appearance: facing=west,half=bottom,shape=inner_left,waterlogged=false
      facing=west,half=bottom,shape=inner_right,waterlogged=false:
        appearance: facing=west,half=bottom,shape=inner_right,waterlogged=false
      facing=west,half=bottom,shape=outer_left,waterlogged=false:
        appearance: facing=west,half=bottom,shape=outer_left,waterlogged=false
      facing=west,half=bottom,shape=outer_right,waterlogged=false:
        appearance: facing=west,half=bottom,shape=outer_right,waterlogged=false
      facing=west,half=bottom,shape=straight,waterlogged=false:
        appearance: facing=west,half=bottom,shape=straight,waterlogged=false
      facing=west,half=top,shape=inner_left,waterlogged=false:
        appearance: facing=west,half=top,shape=inner_left,waterlogged=false
      facing=west,half=top,shape=inner_right,waterlogged=false:
        appearance: facing=west,half=top,shape=inner_right,waterlogged=false
      facing=west,half=top,shape=outer_left,waterlogged=false:
        appearance: facing=west,half=top,shape=outer_left,waterlogged=false
      facing=west,half=top,shape=outer_right,waterlogged=false:
        appearance: facing=west,half=top,shape=outer_right,waterlogged=false
      facing=west,half=top,shape=straight,waterlogged=false:
        appearance: facing=west,half=top,shape=straight,waterlogged=false
      facing=east,half=bottom,shape=inner_left,waterlogged=true:
        appearance: facing=east,half=bottom,shape=inner_left,waterlogged=true
      facing=east,half=bottom,shape=inner_right,waterlogged=true:
        appearance: facing=east,half=bottom,shape=inner_right,waterlogged=true
      facing=east,half=bottom,shape=outer_left,waterlogged=true:
        appearance: facing=east,half=bottom,shape=outer_left,waterlogged=true
      facing=east,half=bottom,shape=outer_right,waterlogged=true:
        appearance: facing=east,half=bottom,shape=outer_right,waterlogged=true
      facing=east,half=bottom,shape=straight,waterlogged=true:
        appearance: facing=east,half=bottom,shape=straight,waterlogged=true
      facing=east,half=top,shape=inner_left,waterlogged=true:
        appearance: facing=east,half=top,shape=inner_left,waterlogged=true
      facing=east,half=top,shape=inner_right,waterlogged=true:
        appearance: facing=east,half=top,shape=inner_right,waterlogged=true
      facing=east,half=top,shape=outer_left,waterlogged=true:
        appearance: facing=east,half=top,shape=outer_left,waterlogged=true
      facing=east,half=top,shape=outer_right,waterlogged=true:
        appearance: facing=east,half=top,shape=outer_right,waterlogged=true
      facing=east,half=top,shape=straight,waterlogged=true:
        appearance: facing=east,half=top,shape=straight,waterlogged=true
      facing=north,half=bottom,shape=inner_left,waterlogged=true:
        appearance: facing=north,half=bottom,shape=inner_left,waterlogged=true
      facing=north,half=bottom,shape=inner_right,waterlogged=true:
        appearance: facing=north,half=bottom,shape=inner_right,waterlogged=true
      facing=north,half=bottom,shape=outer_left,waterlogged=true:
        appearance: facing=north,half=bottom,shape=outer_left,waterlogged=true
      facing=north,half=bottom,shape=outer_right,waterlogged=true:
        appearance: facing=north,half=bottom,shape=outer_right,waterlogged=true
      facing=north,half=bottom,shape=straight,waterlogged=true:
        appearance: facing=north,half=bottom,shape=straight,waterlogged=true
      facing=north,half=top,shape=inner_left,waterlogged=true:
        appearance: facing=north,half=top,shape=inner_left,waterlogged=true
      facing=north,half=top,shape=inner_right,waterlogged=true:
        appearance: facing=north,half=top,shape=inner_right,waterlogged=true
      facing=north,half=top,shape=outer_left,waterlogged=true:
        appearance: facing=north,half=top,shape=outer_left,waterlogged=true
      facing=north,half=top,shape=outer_right,waterlogged=true:
        appearance: facing=north,half=top,shape=outer_right,waterlogged=true
      facing=north,half=top,shape=straight,waterlogged=true:
        appearance: facing=north,half=top,shape=straight,waterlogged=true
      facing=south,half=bottom,shape=inner_left,waterlogged=true:
        appearance: facing=south,half=bottom,shape=inner_left,waterlogged=true
      facing=south,half=bottom,shape=inner_right,waterlogged=true:
        appearance: facing=south,half=bottom,shape=inner_right,waterlogged=true
      facing=south,half=bottom,shape=outer_left,waterlogged=true:
        appearance: facing=south,half=bottom,shape=outer_left,waterlogged=true
      facing=south,half=bottom,shape=outer_right,waterlogged=true:
        appearance: facing=south,half=bottom,shape=outer_right,waterlogged=true
      facing=south,half=bottom,shape=straight,waterlogged=true:
        appearance: facing=south,half=bottom,shape=straight,waterlogged=true
      facing=south,half=top,shape=inner_left,waterlogged=true:
        appearance: facing=south,half=top,shape=inner_left,waterlogged=true
      facing=south,half=top,shape=inner_right,waterlogged=true:
        appearance: facing=south,half=top,shape=inner_right,waterlogged=true
      facing=south,half=top,shape=outer_left,waterlogged=true:
        appearance: facing=south,half=top,shape=outer_left,waterlogged=true
      facing=south,half=top,shape=outer_right,waterlogged=true:
        appearance: facing=south,half=top,shape=outer_right,waterlogged=true
      facing=south,half=top,shape=straight,waterlogged=true:
        appearance: facing=south,half=top,shape=straight,waterlogged=true
      facing=west,half=bottom,shape=inner_left,waterlogged=true:
        appearance: facing=west,half=bottom,shape=inner_left,waterlogged=true
      facing=west,half=bottom,shape=inner_right,waterlogged=true:
        appearance: facing=west,half=bottom,shape=inner_right,waterlogged=true
      facing=west,half=bottom,shape=outer_left,waterlogged=true:
        appearance: facing=west,half=bottom,shape=outer_left,waterlogged=true
      facing=west,half=bottom,shape=outer_right,waterlogged=true:
        appearance: facing=west,half=bottom,shape=outer_right,waterlogged=true
      facing=west,half=bottom,shape=straight,waterlogged=true:
        appearance: facing=west,half=bottom,shape=straight,waterlogged=true
      facing=west,half=top,shape=inner_left,waterlogged=true:
        appearance: facing=west,half=top,shape=inner_left,waterlogged=true
      facing=west,half=top,shape=inner_right,waterlogged=true:
        appearance: facing=west,half=top,shape=inner_right,waterlogged=true
      facing=west,half=top,shape=outer_left,waterlogged=true:
        appearance: facing=west,half=top,shape=outer_left,waterlogged=true
      facing=west,half=top,shape=outer_right,waterlogged=true:
        appearance: facing=west,half=top,shape=outer_right,waterlogged=true
      facing=west,half=top,shape=straight,waterlogged=true:
        appearance: facing=west,half=top,shape=straight,waterlogged=true

  # pressure plate block
  default:block_state/pressure_plate:
    properties:
      powered:
        type: boolean
        default: false
    appearances:
      normal:
        state: ${normal_state}
        model:
          path: ${model_normal_path}
          generation: ${model_normal_generation}
      powered:
        state: ${powered_state}
        model:
          path: ${model_powered_path}
          generation: ${model_powered_generation}
    variants:
      powered=false:
        appearance: normal
      powered=true:
        appearance: powered
  default:block_state/button:
    properties:
      powered:
        type: boolean
        default: false
      face:
        type: anchor_type
        default: floor
      facing:
        type: 4-direction
        default: north
    appearances:
      face=floor,facing=east,powered=true:
        state: ${base_block}[face=floor,facing=east,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: 0,90,0
          scale: 1.0005
          translation: 0,0.00023,0
      face=floor,facing=west,powered=true:
        state: ${base_block}[face=floor,facing=west,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: 0,-90,0
          scale: 1.0005
          translation: 0,0.00023,0
      face=floor,facing=east,powered=false:
        state: ${base_block}[face=floor,facing=east,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: 0,90,0
          scale: 1.0005
          translation: 0,0.00023,0
      face=floor,facing=west,powered=false:
        state: ${base_block}[face=floor,facing=west,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: 0,-90,0
          scale: 1.0005
          translation: 0,0.00023,0
      face=floor,facing=south,powered=true:
        state: ${base_block}[face=floor,facing=south,powered=true]
        entity-renderer:
          item: ${pressed_item}
          scale: 1.0005
          translation: 0,0.00023,0
      face=floor,facing=north,powered=true:
        state: ${base_block}[face=floor,facing=north,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: 0,180,0
          scale: 1.0005
          translation: 0,0.00023,0
      face=floor,facing=south,powered=false:
        state: ${base_block}[face=floor,facing=south,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          scale: 1.0005
          translation: 0,0.00023,0
      face=floor,facing=north,powered=false:
        state: ${base_block}[face=floor,facing=north,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: 0,180,0
          scale: 1.0005
          translation: 0,0.00023,0
      face=wall,facing=north,powered=true:
        state: ${base_block}[face=wall,facing=north,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: -90,0,0
          scale: 1.0005
          translation: 0,0,-0.00023
      face=wall,facing=south,powered=true:
        state: ${base_block}[face=wall,facing=south,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: 90,0,180
          scale: 1.0005
          translation: 0,0,0.00023
      face=wall,facing=north,powered=false:
        state: ${base_block}[face=wall,facing=north,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: -90,0,0
          scale: 1.0005
          translation: 0,0,-0.00023
      face=wall,facing=south,powered=false:
        state: ${base_block}[face=wall,facing=south,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: 90,0,180
          scale: 1.0005
          translation: 0,0,0.00023
      face=wall,facing=west,powered=true:
        state: ${base_block}[face=wall,facing=west,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: 0,90,90
          scale: 1.0005
          translation: -0.00023,0,0
      face=wall,facing=east,powered=true:
        state: ${base_block}[face=wall,facing=east,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: 0,270,-90
          scale: 1.0005
          translation: 0.00023,0,0
      face=wall,facing=west,powered=false:
        state: ${base_block}[face=wall,facing=west,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: 0,90,90
          scale: 1.0005
          translation: -0.00023,0,0
      face=wall,facing=east,powered=false:
        state: ${base_block}[face=wall,facing=east,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: 0,270,-90
          scale: 1.0005
          translation: 0.00023,0,0
      face=ceiling,facing=north,powered=true:
        state: ${base_block}[face=ceiling,facing=north,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: 0,180,180
          scale: 1.0005
          translation: 0,-0.00023,0
      face=ceiling,facing=south,powered=true:
        state: ${base_block}[face=ceiling,facing=south,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: 0,0,180
          scale: 1.0005
          translation: 0,-0.00023,0
      face=ceiling,facing=north,powered=false:
        state: ${base_block}[face=ceiling,facing=north,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: 0,180,180
          scale: 1.0005
          translation: 0,-0.00023,0
      face=ceiling,facing=south,powered=false:
        state: ${base_block}[face=ceiling,facing=south,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: 0,0,180
          scale: 1.0005
          translation: 0,-0.00023,0
      face=ceiling,facing=west,powered=true:
        state: ${base_block}[face=ceiling,facing=west,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: 0,90,180
          scale: 1.0005
          translation: 0,-0.00023,0
      face=ceiling,facing=east,powered=true:
        state: ${base_block}[face=ceiling,facing=east,powered=true]
        entity-renderer:
          item: ${pressed_item}
          rotation: -90,-90,-90
          scale: 1.0005
          translation: 0,-0.00023,0
      face=ceiling,facing=west,powered=false:
        state: ${base_block}[face=ceiling,facing=west,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: 0,90,180
          scale: 1.0005
          translation: 0,-0.00023,0
      face=ceiling,facing=east,powered=false:
        state: ${base_block}[face=ceiling,facing=east,powered=false]
        entity-renderer:
          item: ${not_pressed_item}
          rotation: -90,-90,-90
          scale: 1.0005
          translation: 0,-0.00023,0
    variants:
      face=floor,facing=east,powered=true:
        appearance: face=floor,facing=east,powered=true
      face=floor,facing=west,powered=true:
        appearance: face=floor,facing=west,powered=true
      face=floor,facing=east,powered=false:
        appearance: face=floor,facing=east,powered=false
      face=floor,facing=west,powered=false:
        appearance: face=floor,facing=west,powered=false
      face=floor,facing=south,powered=true:
        appearance: face=floor,facing=south,powered=true
      face=floor,facing=north,powered=true:
        appearance: face=floor,facing=north,powered=true
      face=floor,facing=south,powered=false:
        appearance: face=floor,facing=south,powered=false
      face=floor,facing=north,powered=false:
        appearance: face=floor,facing=north,powered=false
      face=wall,facing=north,powered=true:
        appearance: face=wall,facing=north,powered=true
      face=wall,facing=south,powered=true:
        appearance: face=wall,facing=south,powered=true
      face=wall,facing=north,powered=false:
        appearance: face=wall,facing=north,powered=false
      face=wall,facing=south,powered=false:
        appearance: face=wall,facing=south,powered=false
      face=wall,facing=west,powered=true:
        appearance: face=wall,facing=west,powered=true
      face=wall,facing=east,powered=true:
        appearance: face=wall,facing=east,powered=true
      face=wall,facing=west,powered=false:
        appearance: face=wall,facing=west,powered=false
      face=wall,facing=east,powered=false:
        appearance: face=wall,facing=east,powered=false
      face=ceiling,facing=north,powered=true:
        appearance: face=ceiling,facing=north,powered=true
      face=ceiling,facing=south,powered=true:
        appearance: face=ceiling,facing=south,powered=true
      face=ceiling,facing=north,powered=false:
        appearance: face=ceiling,facing=north,powered=false
      face=ceiling,facing=south,powered=false:
        appearance: face=ceiling,facing=south,powered=false
      face=ceiling,facing=west,powered=true:
        appearance: face=ceiling,facing=west,powered=true
      face=ceiling,facing=east,powered=true:
        appearance: face=ceiling,facing=east,powered=true
      face=ceiling,facing=west,powered=false:
        appearance: face=ceiling,facing=west,powered=false
      face=ceiling,facing=east,powered=false:
        appearance: face=ceiling,facing=east,powered=false
  default:block_state/fence:
    properties:
      north:
        type: boolean
        default: false
      east:
        type: boolean
        default: false
      south:
        type: boolean
        default: false
      west:
        type: boolean
        default: false
      waterlogged:
        type: boolean
        default: false
    appearances:
      east=false,north=false,south=false,waterlogged=false,west=false:
        state: ${base_block}[east=false,north=false,south=false,waterlogged=false,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
      east=true,north=false,south=false,waterlogged=false,west=false:
        state: ${base_block}[east=true,north=false,south=false,waterlogged=false,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 270
      east=false,north=true,south=false,waterlogged=false,west=false:
        state: ${base_block}[east=false,north=true,south=false,waterlogged=false,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 180
      east=false,north=false,south=true,waterlogged=false,west=false:
        state: ${base_block}[east=false,north=false,south=true,waterlogged=false,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
      east=false,north=false,south=false,waterlogged=false,west=true:
        state: ${base_block}[east=false,north=false,south=false,waterlogged=false,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 90
      east=true,north=true,south=false,waterlogged=false,west=false:
        state: ${base_block}[east=true,north=true,south=false,waterlogged=false,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 180
          - item: ${fence_side_item}
            rotation: 270
      east=true,north=false,south=true,waterlogged=false,west=false:
        state: ${base_block}[east=true,north=false,south=true,waterlogged=false,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 270
      east=true,north=false,south=false,waterlogged=false,west=true:
        state: ${base_block}[east=true,north=false,south=false,waterlogged=false,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 270
      east=false,north=true,south=true,waterlogged=false,west=false:
        state: ${base_block}[east=false,north=true,south=true,waterlogged=false,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 180
      east=false,north=true,south=false,waterlogged=false,west=true:
        state: ${base_block}[east=false,north=true,south=false,waterlogged=false,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 180
      east=false,north=false,south=true,waterlogged=false,west=true:
        state: ${base_block}[east=false,north=false,south=true,waterlogged=false,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 90
      east=true,north=true,south=true,waterlogged=false,west=false:
        state: ${base_block}[east=true,north=true,south=true,waterlogged=false,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 180
          - item: ${fence_side_item}
            rotation: 270
      east=true,north=true,south=false,waterlogged=false,west=true:
        state: ${base_block}[east=true,north=true,south=false,waterlogged=false,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 180
          - item: ${fence_side_item}
            rotation: 270
      east=true,north=false,south=true,waterlogged=false,west=true:
        state: ${base_block}[east=true,north=false,south=true,waterlogged=false,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 270
      east=false,north=true,south=true,waterlogged=false,west=true:
        state: ${base_block}[east=false,north=true,south=true,waterlogged=false,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 180
      east=true,north=true,south=true,waterlogged=false,west=true:
        state: ${base_block}[east=true,north=true,south=true,waterlogged=false,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 180
          - item: ${fence_side_item}
            rotation: 270
      east=false,north=false,south=false,waterlogged=true,west=false:
        state: ${base_block}[east=false,north=false,south=false,waterlogged=true,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
      east=true,north=false,south=false,waterlogged=true,west=false:
        state: ${base_block}[east=true,north=false,south=false,waterlogged=true,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 270
      east=false,north=true,south=false,waterlogged=true,west=false:
        state: ${base_block}[east=false,north=true,south=false,waterlogged=true,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 180
      east=false,north=false,south=true,waterlogged=true,west=false:
        state: ${base_block}[east=false,north=false,south=true,waterlogged=true,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
      east=false,north=false,south=false,waterlogged=true,west=true:
        state: ${base_block}[east=false,north=false,south=false,waterlogged=true,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 90
      east=true,north=true,south=false,waterlogged=true,west=false:
        state: ${base_block}[east=true,north=true,south=false,waterlogged=true,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 180
          - item: ${fence_side_item}
            rotation: 270
      east=true,north=false,south=true,waterlogged=true,west=false:
        state: ${base_block}[east=true,north=false,south=true,waterlogged=true,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 270
      east=true,north=false,south=false,waterlogged=true,west=true:
        state: ${base_block}[east=true,north=false,south=false,waterlogged=true,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 270
      east=false,north=true,south=true,waterlogged=true,west=false:
        state: ${base_block}[east=false,north=true,south=true,waterlogged=true,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 180
      east=false,north=true,south=false,waterlogged=true,west=true:
        state: ${base_block}[east=false,north=true,south=false,waterlogged=true,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 180
      east=false,north=false,south=true,waterlogged=true,west=true:
        state: ${base_block}[east=false,north=false,south=true,waterlogged=true,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 90
      east=true,north=true,south=true,waterlogged=true,west=false:
        state: ${base_block}[east=true,north=true,south=true,waterlogged=true,west=false]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 180
          - item: ${fence_side_item}
            rotation: 270
      east=true,north=true,south=false,waterlogged=true,west=true:
        state: ${base_block}[east=true,north=true,south=false,waterlogged=true,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 180
          - item: ${fence_side_item}
            rotation: 270
      east=true,north=false,south=true,waterlogged=true,west=true:
        state: ${base_block}[east=true,north=false,south=true,waterlogged=true,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 270
      east=false,north=true,south=true,waterlogged=true,west=true:
        state: ${base_block}[east=false,north=true,south=true,waterlogged=true,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 180
      east=true,north=true,south=true,waterlogged=true,west=true:
        state: ${base_block}[east=true,north=true,south=true,waterlogged=true,west=true]
        entity-renderer:
          - item: ${fence_post_item}
            rotation: 180
            scale: 1.0003
            translation: 0,0.0001,0
          - item: ${fence_side_item}
            rotation: 0
          - item: ${fence_side_item}
            rotation: 90
          - item: ${fence_side_item}
            rotation: 180
          - item: ${fence_side_item}
            rotation: 270
    variants:
      waterlogged=true:
        settings:
          resistance: 1200.0
          burnable: false
          fluid-state: water
      east=false,north=false,south=false,waterlogged=false,west=false:
        appearance: east=false,north=false,south=false,waterlogged=false,west=false
      east=true,north=false,south=false,waterlogged=false,west=false:
        appearance: east=true,north=false,south=false,waterlogged=false,west=false
      east=false,north=true,south=false,waterlogged=false,west=false:
        appearance: east=false,north=true,south=false,waterlogged=false,west=false
      east=false,north=false,south=true,waterlogged=false,west=false:
        appearance: east=false,north=false,south=true,waterlogged=false,west=false
      east=false,north=false,south=false,waterlogged=false,west=true:
        appearance: east=false,north=false,south=false,waterlogged=false,west=true
      east=true,north=true,south=false,waterlogged=false,west=false:
        appearance: east=true,north=true,south=false,waterlogged=false,west=false
      east=true,north=false,south=true,waterlogged=false,west=false:
        appearance: east=true,north=false,south=true,waterlogged=false,west=false
      east=true,north=false,south=false,waterlogged=false,west=true:
        appearance: east=true,north=false,south=false,waterlogged=false,west=true
      east=false,north=true,south=true,waterlogged=false,west=false:
        appearance: east=false,north=true,south=true,waterlogged=false,west=false
      east=false,north=true,south=false,waterlogged=false,west=true:
        appearance: east=false,north=true,south=false,waterlogged=false,west=true
      east=false,north=false,south=true,waterlogged=false,west=true:
        appearance: east=false,north=false,south=true,waterlogged=false,west=true
      east=true,north=true,south=true,waterlogged=false,west=false:
        appearance: east=true,north=true,south=true,waterlogged=false,west=false
      east=true,north=true,south=false,waterlogged=false,west=true:
        appearance: east=true,north=true,south=false,waterlogged=false,west=true
      east=true,north=false,south=true,waterlogged=false,west=true:
        appearance: east=true,north=false,south=true,waterlogged=false,west=true
      east=false,north=true,south=true,waterlogged=false,west=true:
        appearance: east=false,north=true,south=true,waterlogged=false,west=true
      east=true,north=true,south=true,waterlogged=false,west=true:
        appearance: east=true,north=true,south=true,waterlogged=false,west=true
      east=false,north=false,south=false,waterlogged=true,west=false:
        appearance: east=false,north=false,south=false,waterlogged=true,west=false
      east=true,north=false,south=false,waterlogged=true,west=false:
        appearance: east=true,north=false,south=false,waterlogged=true,west=false
      east=false,north=true,south=false,waterlogged=true,west=false:
        appearance: east=false,north=true,south=false,waterlogged=true,west=false
      east=false,north=false,south=true,waterlogged=true,west=false:
        appearance: east=false,north=false,south=true,waterlogged=true,west=false
      east=false,north=false,south=false,waterlogged=true,west=true:
        appearance: east=false,north=false,south=false,waterlogged=true,west=true
      east=true,north=true,south=false,waterlogged=true,west=false:
        appearance: east=true,north=true,south=false,waterlogged=true,west=false
      east=true,north=false,south=true,waterlogged=true,west=false:
        appearance: east=true,north=false,south=true,waterlogged=true,west=false
      east=true,north=false,south=false,waterlogged=true,west=true:
        appearance: east=true,north=false,south=false,waterlogged=true,west=true
      east=false,north=true,south=true,waterlogged=true,west=false:
        appearance: east=false,north=true,south=true,waterlogged=true,west=false
      east=false,north=true,south=false,waterlogged=true,west=true:
        appearance: east=false,north=true,south=false,waterlogged=true,west=true
      east=false,north=false,south=true,waterlogged=true,west=true:
        appearance: east=false,north=false,south=true,waterlogged=true,west=true
      east=true,north=true,south=true,waterlogged=true,west=false:
        appearance: east=true,north=true,south=true,waterlogged=true,west=false
      east=true,north=true,south=false,waterlogged=true,west=true:
        appearance: east=true,north=true,south=false,waterlogged=true,west=true
      east=true,north=false,south=true,waterlogged=true,west=true:
        appearance: east=true,north=false,south=true,waterlogged=true,west=true
      east=false,north=true,south=true,waterlogged=true,west=true:
        appearance: east=false,north=true,south=true,waterlogged=true,west=true
      east=true,north=true,south=true,waterlogged=true,west=true:
        appearance: east=true,north=true,south=true,waterlogged=true,west=true