{
  "format_version": "1.16.100",
  "minecraft:block": {
    "description": {
      "identifier": "darkgato:plush_snowman",
      "properties": {
        "block:rotation": [ 2, 3, 4, 5 ],
        "block:face": [ 1, 2, 3, 4 ],
        "block:pose": [ 0, 1, 2, 3, 4, 5 ]
      }
    },
    "components": {
      "minecraft:creative_category": {
        "group": "items",
        "category": "items"
      },
      "minecraft:material_instances": {
        "*": {
          "texture": "snowman_default_face",
          "render_method": "opaque"
        }
      },
      "minecraft:geometry": "geometry.plush_snowman_default",
      "minecraft:destroy_time": 0.5,
      "minecraft:explosion_resistance": 0,
      "minecraft:flammable": {
        "flame_odds": 15,
        "burn_odds": 15
      },
      "minecraft:block_light_absorption": 0,
      "minecraft:on_interact": {
        "event": "change_face_or_pose"
      },
      "minecraft:on_player_placing": {
        "event": "update_rotation"
      },
      "minecraft:placement_filter": {
        "conditions": [
          {
            "allowed_faces": [ "up" ]
          }
        ]
      },
      "minecraft:pick_collision": {
        "origin": [ -4, 0, -4 ],
        "size": [ 8, 16, 8 ]
      },
      "minecraft:entity_collision": {
        "origin": [ -4, 0, -4 ],
        "size": [ 8, 16, 8 ]
      },
      "minecraft:loot": "loot_tables/blocks/plush_snowman.json"
    },
    "permutations": [
      {
        "condition": "query.block_property('block:rotation') == 2",
        "components": {
          "minecraft:rotation": [ 0, 0, 0 ]
        }
      },
      {
        "condition": "query.block_property('block:rotation') == 3",
        "components": {
          "minecraft:rotation": [ 0, -180, 0 ]
        }
      },
      {
        "condition": "query.block_property('block:rotation') == 4",
        "components": {
          "minecraft:rotation": [ 0, 90, 0 ]
        }
      },
      {
        "condition": "query.block_property('block:rotation') == 5",
        "components": {
          "minecraft:rotation": [ 0, -90, 0 ]
        }
      },
      {
        "condition": "query.block_property('block:pose') == 0",
        "components": {
          "minecraft:geometry": "geometry.plush_snowman_default"
        }
      },
      {
        "condition": "query.block_property('block:pose') == 1",
        "components": {
          "minecraft:geometry": "geometry.plush_snowman_pose1"
        }
      },
      {
        "condition": "query.block_property('block:pose') == 2",
        "components": {
          "minecraft:geometry": "geometry.plush_snowman_pose2"
        }
      },
      {
        "condition": "query.block_property('block:pose') == 3",
        "components": {
          "minecraft:geometry": "geometry.plush_snowman_pose3"
        }
      },
      {
        "condition": "query.block_property('block:pose') == 4",
        "components": {
          "minecraft:geometry": "geometry.plush_snowman_pose4"
        }
      },
      {
        "condition": "query.block_property('block:pose') == 5",
        "components": {
          "minecraft:geometry": "geometry.plush_snowman_pose5"
        }
      },
      {
        "condition": "query.block_property('block:face') == 1",
        "components": {
          "minecraft:material_instances": {
            "*": {
              "texture": "snowman_default_face",
              "render_method": "opaque"
            }
          }
        }
      },
      {
        "condition": "query.block_property('block:face') == 2",
        "components": {
          "minecraft:material_instances": {
            "*": {
              "texture": "snowman_happy_face",
              "render_method": "opaque"
            }
          }
        }
      },
      {
        "condition": "query.block_property('block:face') == 3",
        "components": {
          "minecraft:material_instances": {
            "*": {
              "texture": "snowman_calm_face",
              "render_method": "opaque"
            }
          }
        }
      },
      {
        "condition": "query.block_property('block:face') == 4",
        "components": {
          "minecraft:material_instances": {
            "*": {
              "texture": "snowman_smiling_face",
              "render_method": "opaque"
            }
          }
        }
      }
    ],
    "events": {
      "update_rotation": {
        "set_block_property": {
          "block:rotation": "query.cardinal_facing_2d"
        }
      },
      "change_face_or_pose": {
        "sequence": [
          {
            "condition": "query.block_property('block:pose') == 0 && query.get_equipped_item_name == 'stick'",
            "set_block_property": {
              "block:pose": 1
            }
          },
          {
            "condition": "query.block_property('block:pose') == 1 && query.get_equipped_item_name == 'stick'",
            "set_block_property": {
              "block:pose": 2
            }
          },
          {
            "condition": "query.block_property('block:pose') == 2 && query.get_equipped_item_name == 'stick'",
            "set_block_property": {
              "block:pose": 3
            }
          },
          {
            "condition": "query.block_property('block:pose') == 3 && query.get_equipped_item_name == 'stick'",
            "set_block_property": {
              "block:pose": 4
            }
          },
          {
            "condition": "query.block_property('block:pose') == 4 && query.get_equipped_item_name == 'stick'",
            "set_block_property": {
              "block:pose": 5
            }
          },
          {
            "condition": "query.block_property('block:pose') == 5 && query.get_equipped_item_name == 'stick'",
            "set_block_property": {
              "block:pose": 0
            }
          },
          {
            "condition": "query.block_property('block:face') == 1 && query.get_equipped_item_name == 'carrot'",
            "set_block_property": {
              "block:face": 2
            }
          },
          {
            "condition": "query.block_property('block:face') == 2 && query.get_equipped_item_name == 'carrot'",
            "set_block_property": {
              "block:face": 3
            }
          },
          {
            "condition": "query.block_property('block:face') == 3 && query.get_equipped_item_name == 'carrot'",
            "set_block_property": {
              "block:face": 4
            }
          },
          {
            "condition": "query.block_property('block:face') == 4 && query.get_equipped_item_name == 'carrot'",
            "set_block_property": {
              "block:face": 1
            }
          }
        ]
      }
    }
  }
}