{
	"format_version": "1.21.0",
	"minecraft:entity": {
		"description": {
			"identifier": "shapescape:travel_location_selector",
			"is_spawnable": false,
			"is_summonable": true,
			"is_experimental": false,
			"scripts": {
				"animate": [
					"travel_location_selector"
				]
			},
			"animations": {
				"travel_location_selector": "controller.animation.travel_location_selector"
			}
		},
		"component_groups": {
			"shapescape:park_avenue": {
				"minecraft:variant": {
					"value": 0
				}
			},
			"shapescape:central_park_zoo": {
				"minecraft:variant": {
					"value": 1
				}
			},
			"shapescape:liberty_island": {
				"minecraft:variant": {
					"value": 2
				}
			},
			"shapescape:plaza_hotel": {
				"minecraft:variant": {
					"value": 3
				}
			},
			"shapescape:times_square": {
				"minecraft:variant": {
					"value": 4
				}
			},
			"shapescape:empire_state_building": {
				"minecraft:variant": {
					"value": 5
				}
			},
			"shapescape:type_toggle_left": {
				"minecraft:variant": {
					"value": 6
				},
				"minecraft:damage_sensor": {
					"triggers": [
						{
							"on_damage": {
								"event": "shapescape:on_interaction",
								"target": "self"
							},
							"on_damage_sound_event": "block.click",
							"deals_damage": false
						}
					]
				},
				"minecraft:interact": {
					"interactions": [
						{
							"on_interact": {
								"event": "shapescape:on_interaction"
							},
							"play_sounds": "block.click",
							"interact_text": "Previous",
							"cooldown": 0
						}
					]
				}
			},
			"shapescape:type_toggle_right": {
				"minecraft:variant": {
					"value": 7
				},
				"minecraft:damage_sensor": {
					"triggers": [
						{
							"on_damage": {
								"event": "shapescape:on_interaction",
								"target": "self"
							},
							"on_damage_sound_event": "block.click",
							"deals_damage": false
						}
					]
				},
				"minecraft:interact": {
					"interactions": [
						{
							"on_interact": {
								"event": "shapescape:on_interaction"
							},
							"play_sounds": "block.click",
							"interact_text": "Next",
							"cooldown": 0
						}
					]
				}
			},
			"shapescape:type_accept": {
				"minecraft:damage_sensor": {
					"triggers": [
						{
							"on_damage": {
								"event": "shapescape:on_interaction",
								"target": "self"
							},
							"on_damage_sound_event": "block.click",
							"deals_damage": false
						}
					]
				},
				"minecraft:interact": {
					"interactions": [
						{
							"on_interact": {
								"event": "shapescape:on_interaction"
							},
							"play_sounds": "block.click",
							"interact_text": "Select",
							"cooldown": 0
						}
					]
				}
			},
			"shapescape:detected_toggle_left": {
				"minecraft:mark_variant": {
					"value": 3
				}
			},
			"shapescape:detected_toggle_right": {
				"minecraft:mark_variant": {
					"value": 2
				}
			},
			"shapescape:no_toggle_detected": {
				"minecraft:mark_variant": {
					"value": 1
				},
				"minecraft:environment_sensor": {
					"triggers": [
						{
							"event": "shapescape:detected_toggle_left",
							"filters": {
								"test": "has_tag",
								"value": "toggle_left"
							}
						},
						{
							"event": "shapescape:detected_toggle_right",
							"filters": {
								"test": "has_tag",
								"value": "toggle_right"
							}
						}
					]
				}
			},
			"shapescape:on_interaction": {
				"minecraft:is_baby": {}
			},
			"shapescape:despawn": {
				"minecraft:instant_despawn": {}
			}
		},
		"components": {
			"minecraft:damage_sensor": {
				"triggers": [
					{
						"deals_damage": false
					}
				]
			},
			"minecraft:type_family": {
				"family": [
					"travel_location_selector",
					"shapescape",
					"shapescape_"
				]
			},
			"minecraft:collision_box": {
				"width": 0.5,
				"height": 1.3
			},
			"minecraft:despawn": {
				"filters": {
					"any_of": [
						{
							"test": "distance_to_nearest_player",
							"operator": ">",
							"value": 10
						},
						{
							"test": "has_tag",
							"value": "despawn"
						}
					]
				}
			},
			"minecraft:physics": {
				"has_collision": false,
				"has_gravity": false
			}
		},
		"events": {
			"shapescape:type_accept": {
				"sequence": [
					{
						"add": {
							"component_groups": [
								"shapescape:no_toggle_detected",
								"shapescape:type_accept"
							]
						}
					},
					{
						"randomize": [
							{
								"weight": 1,
								"add": {
									"component_groups": [
										"shapescape:park_avenue"
									]
								}
							},
							{
								"weight": 1,
								"add": {
									"component_groups": [
										"shapescape:central_park_zoo"
									]
								}
							},
							{
								"weight": 1,
								"add": {
									"component_groups": [
										"shapescape:liberty_island"
									]
								}
							},
							{
								"weight": 1,
								"add": {
									"component_groups": [
										"shapescape:times_square"
									]
								}
							},
							{
								"weight": 1,
								"add": {
									"component_groups": [
										"shapescape:plaza_hotel"
									]
								}
							},
							{
								"weight": 1,
								"add": {
									"component_groups": [
										"shapescape:empire_state_building"
									]
								}
							}
						]
					}
				]
			},
			"shapescape:type_toggle_left": {
				"add": {
					"component_groups": [
						"shapescape:type_toggle_left"
					]
				}
			},
			"shapescape:type_toggle_right": {
				"add": {
					"component_groups": [
						"shapescape:type_toggle_right"
					]
				}
			},
			"shapescape:park_avenue": {
				"remove": {
					"component_groups": [
						"shapescape:empire_state_building",
						"shapescape:park_avenue",
						"shapescape:central_park_zoo",
						"shapescape:liberty_island",
						"shapescape:times_square",
						"shapescape:plaza_hotel"
					]
				},
				"add": {
					"component_groups": [
						"shapescape:park_avenue"
					]
				}
			},
			"shapescape:central_park_zoo": {
				"remove": {
					"component_groups": [
						"shapescape:empire_state_building",
						"shapescape:park_avenue",
						"shapescape:central_park_zoo",
						"shapescape:liberty_island",
						"shapescape:times_square",
						"shapescape:plaza_hotel"
					]
				},
				"add": {
					"component_groups": [
						"shapescape:central_park_zoo"
					]
				}
			},
			"shapescape:liberty_island": {
				"remove": {
					"component_groups": [
						"shapescape:empire_state_building",
						"shapescape:park_avenue",
						"shapescape:central_park_zoo",
						"shapescape:liberty_island",
						"shapescape:times_square",
						"shapescape:plaza_hotel"
					]
				},
				"add": {
					"component_groups": [
						"shapescape:liberty_island"
					]
				}
			},
			"shapescape:times_square": {
				"remove": {
					"component_groups": [
						"shapescape:empire_state_building",
						"shapescape:park_avenue",
						"shapescape:central_park_zoo",
						"shapescape:liberty_island",
						"shapescape:times_square",
						"shapescape:plaza_hotel"
					]
				},
				"add": {
					"component_groups": [
						"shapescape:times_square"
					]
				}
			},
			"shapescape:plaza_hotel": {
				"remove": {
					"component_groups": [
						"shapescape:empire_state_building",
						"shapescape:park_avenue",
						"shapescape:central_park_zoo",
						"shapescape:liberty_island",
						"shapescape:times_square",
						"shapescape:plaza_hotel"
					]
				},
				"add": {
					"component_groups": [
						"shapescape:plaza_hotel"
					]
				}
			},
			"shapescape:empire_state_building": {
				"remove": {
					"component_groups": [
						"shapescape:empire_state_building",
						"shapescape:park_avenue",
						"shapescape:central_park_zoo",
						"shapescape:liberty_island",
						"shapescape:times_square",
						"shapescape:plaza_hotel"
					]
				},
				"add": {
					"component_groups": [
						"shapescape:empire_state_building"
					]
				}
			},
			"shapescape:on_interaction_clear": {
				"remove": {
					"component_groups": [
						"shapescape:on_interaction"
					]
				}
			},
			"shapescape:on_interaction": {
				"add": {
					"component_groups": [
						"shapescape:on_interaction"
					]
				}
			},
			"shapescape:detected_toggle_left": {
				"remove": {
					"component_groups": [
						"shapescape:no_toggle_detected"
					]
				},
				"add": {
					"component_groups": [
						"shapescape:detected_toggle_left"
					]
				}
			},
			"shapescape:detected_toggle_right": {
				"remove": {
					"component_groups": [
						"shapescape:no_toggle_detected"
					]
				},
				"add": {
					"component_groups": [
						"shapescape:detected_toggle_right"
					]
				}
			},
			"shapescape:no_toggle_detected": {
				"remove": {
					"component_groups": [
						"shapescape:detected_toggle_left",
						"shapescape:detected_toggle_right"
					]
				},
				"add": {
					"component_groups": [
						"shapescape:no_toggle_detected"
					]
				}
			},
			"shapescape:despawn": {
				"add": {
					"component_groups": [
						"shapescape:despawn"
					]
				}
			}
		}
	}
}