{
	"display": {
		"icon": {
			"id": "minecraft:structure_block"
		},
		"title": {"translate":"Raidin' Master"},
		"description": {"color":"dark_purple","translate":"Discover every structure type"},
		"announce_to_chat": true,
		"frame": "challenge"
	},
	"parent": "blazeandcave:adventure/secret_of_the_igloo",
	"rewards": {
		"function": "bacap_rewards:adventure/raidin_master"
	},		
	"criteria": {
		"dungeon": {
			"trigger": "minecraft:player_generates_container_loot",
			"conditions": {
				"loot_table": "minecraft:chests/simple_dungeon"
			}
		},
		"igloo": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "igloo"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},
		"desert_pyramid": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "desert_pyramid"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"jungle_pyramid": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "jungle_pyramid"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"swamp_hut": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "swamp_hut"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"village_desert": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "village_desert"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"village_plains": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "village_plains"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"village_savanna": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "village_savanna"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"village_snowy": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "village_snowy"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"village_taiga": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "village_taiga"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"mineshaft": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "mineshaft"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},
		"mineshaft_mesa": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "mineshaft_mesa"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"stronghold": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "stronghold"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"fortress": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "fortress"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"end_city": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "end_city"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"monument": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "monument"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"mansion": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "mansion"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"ocean_ruin_cold": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "ocean_ruin_cold"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},
		"ocean_ruin_warm": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "ocean_ruin_warm"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},
		"shipwreck": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:any_of",
						"terms": [
							{
								"condition": "minecraft:entity_properties",
								"entity": "this",
								"predicate": {
									"location": {
										"structures": "minecraft:shipwreck"
									}
								}
							},
							{
								"condition": "minecraft:entity_properties",
								"entity": "this",
								"predicate": {
									"location": {
										"structures": "minecraft:shipwreck_beached"
									}
								}
							}
						]
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},
		"buried_treasure": {
			"trigger": "minecraft:player_generates_container_loot",
			"conditions": {
				"loot_table": "minecraft:chests/buried_treasure"
			}
		},	
		"pillager_outpost": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "pillager_outpost"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},	
		"ruined_portal": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:any_of",
						"terms": [
							{
								"condition": "minecraft:entity_properties",
								"entity": "this",
								"predicate": {
									"location": {
										"structures": "minecraft:ruined_portal"
									}
								}
							},
							{
								"condition": "minecraft:entity_properties",
								"entity": "this",
								"predicate": {
									"location": {
										"structures": "minecraft:ruined_portal_desert"
									}
								}
							},
							{
								"condition": "minecraft:entity_properties",
								"entity": "this",
								"predicate": {
									"location": {
										"structures": "minecraft:ruined_portal_jungle"
									}
								}
							},
							{
								"condition": "minecraft:entity_properties",
								"entity": "this",
								"predicate": {
									"location": {
										"structures": "minecraft:ruined_portal_mountain"
									}
								}
							},
							{
								"condition": "minecraft:entity_properties",
								"entity": "this",
								"predicate": {
									"location": {
										"structures": "minecraft:ruined_portal_nether"
									}
								}
							},
							{
								"condition": "minecraft:entity_properties",
								"entity": "this",
								"predicate": {
									"location": {
										"structures": "minecraft:ruined_portal_ocean"
									}
								}
							},
							{
								"condition": "minecraft:entity_properties",
								"entity": "this",
								"predicate": {
									"location": {
										"structures": "minecraft:ruined_portal_swamp"
									}
								}
							}
						]
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},
		"bastion_remnant": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "bastion_remnant"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},
		"ancient_city": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "ancient_city"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},
		"trail_ruins": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "trail_ruins"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		},
		"trial_chambers": {
			"trigger": "minecraft:location",
			"conditions": {
				"player": [
					{
						"condition": "minecraft:entity_properties",
						"entity": "this",
						"predicate": {
							"location": {
								"structures": "trial_chambers"
							}
						}
					},
					{
						"condition": "minecraft:inverted",
						"term": {
							"condition": "minecraft:entity_properties",
							"entity": "this",
							"predicate": {
								"minecraft:type_specific/player": {

									"gamemode": ["spectator"]
								}
							}
						}
					}
				]
			}
		}
	}
}
