1use std::collections::HashMap;
10
11pub mod accessor;
12#[cfg(feature = "async")]
13pub mod builder;
14pub mod error;
15pub mod fetcher;
16mod masterfile;
17
18#[cfg(feature = "blocking")]
19pub mod blocking;
20
21#[cfg(feature = "async")]
22pub use crate::builder::MasterfileBuilder;
23pub use crate::error::{Error, Result};
24pub use crate::fetcher::DEFAULT_MASTERFILE_URL;
25#[cfg(feature = "async")]
26pub use crate::fetcher::{Fetcher, ReqwestFetcher};
27pub use crate::masterfile::Masterfile;
28
29pub use pogo_masterfile_types::{MasterfileEntry, UnknownTemplateId, parse_masterfile};
30
31mod template_ids {
34 pub use pogo_masterfile_types::avatar_customization::AvatarCustomizationTemplateId;
35 pub use pogo_masterfile_types::avatar_group_order_settings::AvatarGroupOrderSettingsTemplateId;
36 pub use pogo_masterfile_types::avatar_item_display::AvatarItemDisplayTemplateId;
37 pub use pogo_masterfile_types::badge_settings::BadgeSettingsTemplateId;
38 pub use pogo_masterfile_types::bread_move_level_settings::BreadMoveLevelSettingsTemplateId;
39 pub use pogo_masterfile_types::buddy_activity_category_settings::BuddyActivityCategorySettingsTemplateId;
40 pub use pogo_masterfile_types::buddy_emotion_level_settings::BuddyEmotionLevelSettingsTemplateId;
41 pub use pogo_masterfile_types::buddy_level_settings::BuddyLevelSettingsTemplateId;
42 pub use pogo_masterfile_types::client_quest_template::ClientQuestTemplateTemplateId;
43 pub use pogo_masterfile_types::code_gate_proto::CodeGateProtoTemplateId;
44 pub use pogo_masterfile_types::combat_league::CombatLeagueTemplateId;
45 pub use pogo_masterfile_types::combat_move::CombatMoveTemplateId;
46 pub use pogo_masterfile_types::combat_npc_personality::CombatNpcPersonalityTemplateId;
47 pub use pogo_masterfile_types::combat_npc_trainer::CombatNpcTrainerTemplateId;
48 pub use pogo_masterfile_types::combat_ranking_proto_settings::CombatRankingProtoSettingsTemplateId;
49 pub use pogo_masterfile_types::combat_type::CombatTypeTemplateId;
50 pub use pogo_masterfile_types::event_pass_settings::EventPassSettingsTemplateId;
51 pub use pogo_masterfile_types::event_pass_tier_settings::EventPassTierSettingsTemplateId;
52 pub use pogo_masterfile_types::evolution_chain_display_settings::EvolutionChainDisplaySettingsTemplateId;
53 pub use pogo_masterfile_types::evolution_quest_template::EvolutionQuestTemplateTemplateId;
54 pub use pogo_masterfile_types::feature_gate::FeatureGateTemplateId;
55 pub use pogo_masterfile_types::form_settings::FormSettingsTemplateId;
56 pub use pogo_masterfile_types::fort_power_up_level_settings::FortPowerUpLevelSettingsTemplateId;
57 pub use pogo_masterfile_types::friendship_milestone_settings::FriendshipMilestoneSettingsTemplateId;
58 pub use pogo_masterfile_types::gender_settings::GenderSettingsTemplateId;
59 pub use pogo_masterfile_types::iap_category_display::IapCategoryDisplayTemplateId;
60 pub use pogo_masterfile_types::iap_item_display::IapItemDisplayTemplateId;
61 pub use pogo_masterfile_types::invasion_npc_display_settings::InvasionNpcDisplaySettingsTemplateId;
62 pub use pogo_masterfile_types::item_expiration_settings::ItemExpirationSettingsTemplateId;
63 pub use pogo_masterfile_types::item_settings::ItemSettingsTemplateId;
64 pub use pogo_masterfile_types::language_settings::LanguageSettingsTemplateId;
65 pub use pogo_masterfile_types::level_up_rewards::LevelUpRewardsTemplateId;
66 pub use pogo_masterfile_types::limited_purchase_sku_settings::LimitedPurchaseSkuSettingsTemplateId;
67 pub use pogo_masterfile_types::location_card_settings::LocationCardSettingsTemplateId;
68 pub use pogo_masterfile_types::mega_evo_level_settings::MegaEvoLevelSettingsTemplateId;
69 pub use pogo_masterfile_types::move_sequence_settings::MoveSequenceSettingsTemplateId;
70 pub use pogo_masterfile_types::move_settings::MoveSettingsTemplateId;
71 pub use pogo_masterfile_types::non_combat_move_settings::NonCombatMoveSettingsTemplateId;
72 pub use pogo_masterfile_types::party_play_general_settings::PartyPlayGeneralSettingsTemplateId;
73 pub use pogo_masterfile_types::photo_sets_settings_proto::PhotoSetsSettingsProtoTemplateId;
74 pub use pogo_masterfile_types::pokemon_extended_settings::PokemonExtendedSettingsTemplateId;
75 pub use pogo_masterfile_types::pokemon_family::PokemonFamilyTemplateId;
76 pub use pogo_masterfile_types::pokemon_home_energy_costs::PokemonHomeEnergyCostsTemplateId;
77 pub use pogo_masterfile_types::pokemon_home_form_reversions::PokemonHomeFormReversionsTemplateId;
78 pub use pogo_masterfile_types::pokemon_scale_settings::PokemonScaleSettingsTemplateId;
79 pub use pogo_masterfile_types::pokemon_settings::PokemonSettingsTemplateId;
80 pub use pogo_masterfile_types::pokemon_upgrades::PokemonUpgradesTemplateId;
81 pub use pogo_masterfile_types::pokestop_invasion_availability_settings::PokestopInvasionAvailabilitySettingsTemplateId;
82 pub use pogo_masterfile_types::quest_settings::QuestSettingsTemplateId;
83 pub use pogo_masterfile_types::recommended_search_settings::RecommendedSearchSettingsTemplateId;
84 pub use pogo_masterfile_types::roll_back::RollBackTemplateId;
85 pub use pogo_masterfile_types::settings_override_rule::SettingsOverrideRuleTemplateId;
86 pub use pogo_masterfile_types::sticker_metadata::StickerMetadataTemplateId;
87 pub use pogo_masterfile_types::tappable_settings::TappableSettingsTemplateId;
88 pub use pogo_masterfile_types::temporary_evolution_settings::TemporaryEvolutionSettingsTemplateId;
89 pub use pogo_masterfile_types::type_effective::TypeEffectiveTemplateId;
90 pub use pogo_masterfile_types::vs_seeker_loot::VsSeekerLootTemplateId;
91 pub use pogo_masterfile_types::vs_seeker_pokemon_rewards::VsSeekerPokemonRewardsTemplateId;
92 pub use pogo_masterfile_types::weather_affinities::WeatherAffinitiesTemplateId;
93}
94use template_ids::*;
95
96pub(crate) struct GroupIndexes {
101 pub(crate) avatar_customization_index: HashMap<AvatarCustomizationTemplateId, usize>,
102 pub(crate) avatar_customization_order: Vec<usize>,
103 pub(crate) avatar_group_order_settings_index:
104 HashMap<AvatarGroupOrderSettingsTemplateId, usize>,
105 pub(crate) avatar_group_order_settings_order: Vec<usize>,
106 pub(crate) avatar_item_display_index: HashMap<AvatarItemDisplayTemplateId, usize>,
107 pub(crate) avatar_item_display_order: Vec<usize>,
108 pub(crate) badge_settings_index: HashMap<BadgeSettingsTemplateId, usize>,
109 pub(crate) badge_settings_order: Vec<usize>,
110 pub(crate) bread_move_level_settings_index: HashMap<BreadMoveLevelSettingsTemplateId, usize>,
111 pub(crate) bread_move_level_settings_order: Vec<usize>,
112 pub(crate) buddy_activity_category_settings_index:
113 HashMap<BuddyActivityCategorySettingsTemplateId, usize>,
114 pub(crate) buddy_activity_category_settings_order: Vec<usize>,
115 pub(crate) buddy_emotion_level_settings_index:
116 HashMap<BuddyEmotionLevelSettingsTemplateId, usize>,
117 pub(crate) buddy_emotion_level_settings_order: Vec<usize>,
118 pub(crate) buddy_level_settings_index: HashMap<BuddyLevelSettingsTemplateId, usize>,
119 pub(crate) buddy_level_settings_order: Vec<usize>,
120 pub(crate) client_quest_template_index: HashMap<ClientQuestTemplateTemplateId, usize>,
121 pub(crate) client_quest_template_order: Vec<usize>,
122 pub(crate) code_gate_proto_index: HashMap<CodeGateProtoTemplateId, usize>,
123 pub(crate) code_gate_proto_order: Vec<usize>,
124 pub(crate) combat_league_index: HashMap<CombatLeagueTemplateId, usize>,
125 pub(crate) combat_league_order: Vec<usize>,
126 pub(crate) combat_move_index: HashMap<CombatMoveTemplateId, usize>,
127 pub(crate) combat_move_order: Vec<usize>,
128 pub(crate) combat_npc_personality_index: HashMap<CombatNpcPersonalityTemplateId, usize>,
129 pub(crate) combat_npc_personality_order: Vec<usize>,
130 pub(crate) combat_npc_trainer_index: HashMap<CombatNpcTrainerTemplateId, usize>,
131 pub(crate) combat_npc_trainer_order: Vec<usize>,
132 pub(crate) combat_ranking_proto_settings_index:
133 HashMap<CombatRankingProtoSettingsTemplateId, usize>,
134 pub(crate) combat_ranking_proto_settings_order: Vec<usize>,
135 pub(crate) combat_type_index: HashMap<CombatTypeTemplateId, usize>,
136 pub(crate) combat_type_order: Vec<usize>,
137 pub(crate) event_pass_settings_index: HashMap<EventPassSettingsTemplateId, usize>,
138 pub(crate) event_pass_settings_order: Vec<usize>,
139 pub(crate) event_pass_tier_settings_index: HashMap<EventPassTierSettingsTemplateId, usize>,
140 pub(crate) event_pass_tier_settings_order: Vec<usize>,
141 pub(crate) evolution_chain_display_settings_index:
142 HashMap<EvolutionChainDisplaySettingsTemplateId, usize>,
143 pub(crate) evolution_chain_display_settings_order: Vec<usize>,
144 pub(crate) evolution_quest_template_index: HashMap<EvolutionQuestTemplateTemplateId, usize>,
145 pub(crate) evolution_quest_template_order: Vec<usize>,
146 pub(crate) feature_gate_index: HashMap<FeatureGateTemplateId, usize>,
147 pub(crate) feature_gate_order: Vec<usize>,
148 pub(crate) form_settings_index: HashMap<FormSettingsTemplateId, usize>,
149 pub(crate) form_settings_order: Vec<usize>,
150 pub(crate) fort_power_up_level_settings_index:
151 HashMap<FortPowerUpLevelSettingsTemplateId, usize>,
152 pub(crate) fort_power_up_level_settings_order: Vec<usize>,
153 pub(crate) friendship_milestone_settings_index:
154 HashMap<FriendshipMilestoneSettingsTemplateId, usize>,
155 pub(crate) friendship_milestone_settings_order: Vec<usize>,
156 pub(crate) gender_settings_index: HashMap<GenderSettingsTemplateId, usize>,
157 pub(crate) gender_settings_order: Vec<usize>,
158 pub(crate) iap_category_display_index: HashMap<IapCategoryDisplayTemplateId, usize>,
159 pub(crate) iap_category_display_order: Vec<usize>,
160 pub(crate) iap_item_display_index: HashMap<IapItemDisplayTemplateId, usize>,
161 pub(crate) iap_item_display_order: Vec<usize>,
162 pub(crate) invasion_npc_display_settings_index:
163 HashMap<InvasionNpcDisplaySettingsTemplateId, usize>,
164 pub(crate) invasion_npc_display_settings_order: Vec<usize>,
165 pub(crate) item_expiration_settings_index: HashMap<ItemExpirationSettingsTemplateId, usize>,
166 pub(crate) item_expiration_settings_order: Vec<usize>,
167 pub(crate) item_settings_index: HashMap<ItemSettingsTemplateId, usize>,
168 pub(crate) item_settings_order: Vec<usize>,
169 pub(crate) language_settings_index: HashMap<LanguageSettingsTemplateId, usize>,
170 pub(crate) language_settings_order: Vec<usize>,
171 pub(crate) level_up_rewards_index: HashMap<LevelUpRewardsTemplateId, usize>,
172 pub(crate) level_up_rewards_order: Vec<usize>,
173 pub(crate) limited_purchase_sku_settings_index:
174 HashMap<LimitedPurchaseSkuSettingsTemplateId, usize>,
175 pub(crate) limited_purchase_sku_settings_order: Vec<usize>,
176 pub(crate) location_card_settings_index: HashMap<LocationCardSettingsTemplateId, usize>,
177 pub(crate) location_card_settings_order: Vec<usize>,
178 pub(crate) mega_evo_level_settings_index: HashMap<MegaEvoLevelSettingsTemplateId, usize>,
179 pub(crate) mega_evo_level_settings_order: Vec<usize>,
180 pub(crate) move_sequence_settings_index: HashMap<MoveSequenceSettingsTemplateId, usize>,
181 pub(crate) move_sequence_settings_order: Vec<usize>,
182 pub(crate) move_settings_index: HashMap<MoveSettingsTemplateId, usize>,
183 pub(crate) move_settings_order: Vec<usize>,
184 pub(crate) non_combat_move_settings_index: HashMap<NonCombatMoveSettingsTemplateId, usize>,
185 pub(crate) non_combat_move_settings_order: Vec<usize>,
186 pub(crate) party_play_general_settings_index:
187 HashMap<PartyPlayGeneralSettingsTemplateId, usize>,
188 pub(crate) party_play_general_settings_order: Vec<usize>,
189 pub(crate) photo_sets_settings_proto_index: HashMap<PhotoSetsSettingsProtoTemplateId, usize>,
190 pub(crate) photo_sets_settings_proto_order: Vec<usize>,
191 pub(crate) pokemon_extended_settings_index: HashMap<PokemonExtendedSettingsTemplateId, usize>,
192 pub(crate) pokemon_extended_settings_order: Vec<usize>,
193 pub(crate) pokemon_family_index: HashMap<PokemonFamilyTemplateId, usize>,
194 pub(crate) pokemon_family_order: Vec<usize>,
195 pub(crate) pokemon_home_energy_costs_index: HashMap<PokemonHomeEnergyCostsTemplateId, usize>,
196 pub(crate) pokemon_home_energy_costs_order: Vec<usize>,
197 pub(crate) pokemon_home_form_reversions_index:
198 HashMap<PokemonHomeFormReversionsTemplateId, usize>,
199 pub(crate) pokemon_home_form_reversions_order: Vec<usize>,
200 pub(crate) pokemon_scale_settings_index: HashMap<PokemonScaleSettingsTemplateId, usize>,
201 pub(crate) pokemon_scale_settings_order: Vec<usize>,
202 pub(crate) pokemon_settings_index: HashMap<PokemonSettingsTemplateId, usize>,
203 pub(crate) pokemon_settings_order: Vec<usize>,
204 pub(crate) pokemon_upgrades_index: HashMap<PokemonUpgradesTemplateId, usize>,
205 pub(crate) pokemon_upgrades_order: Vec<usize>,
206 pub(crate) pokestop_invasion_availability_settings_index:
207 HashMap<PokestopInvasionAvailabilitySettingsTemplateId, usize>,
208 pub(crate) pokestop_invasion_availability_settings_order: Vec<usize>,
209 pub(crate) quest_settings_index: HashMap<QuestSettingsTemplateId, usize>,
210 pub(crate) quest_settings_order: Vec<usize>,
211 pub(crate) recommended_search_settings_index:
212 HashMap<RecommendedSearchSettingsTemplateId, usize>,
213 pub(crate) recommended_search_settings_order: Vec<usize>,
214 pub(crate) roll_back_index: HashMap<RollBackTemplateId, usize>,
215 pub(crate) roll_back_order: Vec<usize>,
216 pub(crate) settings_override_rule_index: HashMap<SettingsOverrideRuleTemplateId, usize>,
217 pub(crate) settings_override_rule_order: Vec<usize>,
218 pub(crate) sticker_metadata_index: HashMap<StickerMetadataTemplateId, usize>,
219 pub(crate) sticker_metadata_order: Vec<usize>,
220 pub(crate) tappable_settings_index: HashMap<TappableSettingsTemplateId, usize>,
221 pub(crate) tappable_settings_order: Vec<usize>,
222 pub(crate) temporary_evolution_settings_index:
223 HashMap<TemporaryEvolutionSettingsTemplateId, usize>,
224 pub(crate) temporary_evolution_settings_order: Vec<usize>,
225 pub(crate) type_effective_index: HashMap<TypeEffectiveTemplateId, usize>,
226 pub(crate) type_effective_order: Vec<usize>,
227 pub(crate) vs_seeker_loot_index: HashMap<VsSeekerLootTemplateId, usize>,
228 pub(crate) vs_seeker_loot_order: Vec<usize>,
229 pub(crate) vs_seeker_pokemon_rewards_index: HashMap<VsSeekerPokemonRewardsTemplateId, usize>,
230 pub(crate) vs_seeker_pokemon_rewards_order: Vec<usize>,
231 pub(crate) weather_affinities_index: HashMap<WeatherAffinitiesTemplateId, usize>,
232 pub(crate) weather_affinities_order: Vec<usize>,
233}
234
235impl GroupIndexes {
236 pub(crate) fn build(entries: &[MasterfileEntry]) -> Self {
240 let mut avatar_customization_index: HashMap<AvatarCustomizationTemplateId, usize> =
241 HashMap::new();
242 let mut avatar_customization_order: Vec<usize> = Vec::new();
243 let mut avatar_group_order_settings_index: HashMap<
244 AvatarGroupOrderSettingsTemplateId,
245 usize,
246 > = HashMap::new();
247 let mut avatar_group_order_settings_order: Vec<usize> = Vec::new();
248 let mut avatar_item_display_index: HashMap<AvatarItemDisplayTemplateId, usize> =
249 HashMap::new();
250 let mut avatar_item_display_order: Vec<usize> = Vec::new();
251 let mut badge_settings_index: HashMap<BadgeSettingsTemplateId, usize> = HashMap::new();
252 let mut badge_settings_order: Vec<usize> = Vec::new();
253 let mut bread_move_level_settings_index: HashMap<BreadMoveLevelSettingsTemplateId, usize> =
254 HashMap::new();
255 let mut bread_move_level_settings_order: Vec<usize> = Vec::new();
256 let mut buddy_activity_category_settings_index: HashMap<
257 BuddyActivityCategorySettingsTemplateId,
258 usize,
259 > = HashMap::new();
260 let mut buddy_activity_category_settings_order: Vec<usize> = Vec::new();
261 let mut buddy_emotion_level_settings_index: HashMap<
262 BuddyEmotionLevelSettingsTemplateId,
263 usize,
264 > = HashMap::new();
265 let mut buddy_emotion_level_settings_order: Vec<usize> = Vec::new();
266 let mut buddy_level_settings_index: HashMap<BuddyLevelSettingsTemplateId, usize> =
267 HashMap::new();
268 let mut buddy_level_settings_order: Vec<usize> = Vec::new();
269 let mut client_quest_template_index: HashMap<ClientQuestTemplateTemplateId, usize> =
270 HashMap::new();
271 let mut client_quest_template_order: Vec<usize> = Vec::new();
272 let mut code_gate_proto_index: HashMap<CodeGateProtoTemplateId, usize> = HashMap::new();
273 let mut code_gate_proto_order: Vec<usize> = Vec::new();
274 let mut combat_league_index: HashMap<CombatLeagueTemplateId, usize> = HashMap::new();
275 let mut combat_league_order: Vec<usize> = Vec::new();
276 let mut combat_move_index: HashMap<CombatMoveTemplateId, usize> = HashMap::new();
277 let mut combat_move_order: Vec<usize> = Vec::new();
278 let mut combat_npc_personality_index: HashMap<CombatNpcPersonalityTemplateId, usize> =
279 HashMap::new();
280 let mut combat_npc_personality_order: Vec<usize> = Vec::new();
281 let mut combat_npc_trainer_index: HashMap<CombatNpcTrainerTemplateId, usize> =
282 HashMap::new();
283 let mut combat_npc_trainer_order: Vec<usize> = Vec::new();
284 let mut combat_ranking_proto_settings_index: HashMap<
285 CombatRankingProtoSettingsTemplateId,
286 usize,
287 > = HashMap::new();
288 let mut combat_ranking_proto_settings_order: Vec<usize> = Vec::new();
289 let mut combat_type_index: HashMap<CombatTypeTemplateId, usize> = HashMap::new();
290 let mut combat_type_order: Vec<usize> = Vec::new();
291 let mut event_pass_settings_index: HashMap<EventPassSettingsTemplateId, usize> =
292 HashMap::new();
293 let mut event_pass_settings_order: Vec<usize> = Vec::new();
294 let mut event_pass_tier_settings_index: HashMap<EventPassTierSettingsTemplateId, usize> =
295 HashMap::new();
296 let mut event_pass_tier_settings_order: Vec<usize> = Vec::new();
297 let mut evolution_chain_display_settings_index: HashMap<
298 EvolutionChainDisplaySettingsTemplateId,
299 usize,
300 > = HashMap::new();
301 let mut evolution_chain_display_settings_order: Vec<usize> = Vec::new();
302 let mut evolution_quest_template_index: HashMap<EvolutionQuestTemplateTemplateId, usize> =
303 HashMap::new();
304 let mut evolution_quest_template_order: Vec<usize> = Vec::new();
305 let mut feature_gate_index: HashMap<FeatureGateTemplateId, usize> = HashMap::new();
306 let mut feature_gate_order: Vec<usize> = Vec::new();
307 let mut form_settings_index: HashMap<FormSettingsTemplateId, usize> = HashMap::new();
308 let mut form_settings_order: Vec<usize> = Vec::new();
309 let mut fort_power_up_level_settings_index: HashMap<
310 FortPowerUpLevelSettingsTemplateId,
311 usize,
312 > = HashMap::new();
313 let mut fort_power_up_level_settings_order: Vec<usize> = Vec::new();
314 let mut friendship_milestone_settings_index: HashMap<
315 FriendshipMilestoneSettingsTemplateId,
316 usize,
317 > = HashMap::new();
318 let mut friendship_milestone_settings_order: Vec<usize> = Vec::new();
319 let mut gender_settings_index: HashMap<GenderSettingsTemplateId, usize> = HashMap::new();
320 let mut gender_settings_order: Vec<usize> = Vec::new();
321 let mut iap_category_display_index: HashMap<IapCategoryDisplayTemplateId, usize> =
322 HashMap::new();
323 let mut iap_category_display_order: Vec<usize> = Vec::new();
324 let mut iap_item_display_index: HashMap<IapItemDisplayTemplateId, usize> = HashMap::new();
325 let mut iap_item_display_order: Vec<usize> = Vec::new();
326 let mut invasion_npc_display_settings_index: HashMap<
327 InvasionNpcDisplaySettingsTemplateId,
328 usize,
329 > = HashMap::new();
330 let mut invasion_npc_display_settings_order: Vec<usize> = Vec::new();
331 let mut item_expiration_settings_index: HashMap<ItemExpirationSettingsTemplateId, usize> =
332 HashMap::new();
333 let mut item_expiration_settings_order: Vec<usize> = Vec::new();
334 let mut item_settings_index: HashMap<ItemSettingsTemplateId, usize> = HashMap::new();
335 let mut item_settings_order: Vec<usize> = Vec::new();
336 let mut language_settings_index: HashMap<LanguageSettingsTemplateId, usize> =
337 HashMap::new();
338 let mut language_settings_order: Vec<usize> = Vec::new();
339 let mut level_up_rewards_index: HashMap<LevelUpRewardsTemplateId, usize> = HashMap::new();
340 let mut level_up_rewards_order: Vec<usize> = Vec::new();
341 let mut limited_purchase_sku_settings_index: HashMap<
342 LimitedPurchaseSkuSettingsTemplateId,
343 usize,
344 > = HashMap::new();
345 let mut limited_purchase_sku_settings_order: Vec<usize> = Vec::new();
346 let mut location_card_settings_index: HashMap<LocationCardSettingsTemplateId, usize> =
347 HashMap::new();
348 let mut location_card_settings_order: Vec<usize> = Vec::new();
349 let mut mega_evo_level_settings_index: HashMap<MegaEvoLevelSettingsTemplateId, usize> =
350 HashMap::new();
351 let mut mega_evo_level_settings_order: Vec<usize> = Vec::new();
352 let mut move_sequence_settings_index: HashMap<MoveSequenceSettingsTemplateId, usize> =
353 HashMap::new();
354 let mut move_sequence_settings_order: Vec<usize> = Vec::new();
355 let mut move_settings_index: HashMap<MoveSettingsTemplateId, usize> = HashMap::new();
356 let mut move_settings_order: Vec<usize> = Vec::new();
357 let mut non_combat_move_settings_index: HashMap<NonCombatMoveSettingsTemplateId, usize> =
358 HashMap::new();
359 let mut non_combat_move_settings_order: Vec<usize> = Vec::new();
360 let mut party_play_general_settings_index: HashMap<
361 PartyPlayGeneralSettingsTemplateId,
362 usize,
363 > = HashMap::new();
364 let mut party_play_general_settings_order: Vec<usize> = Vec::new();
365 let mut photo_sets_settings_proto_index: HashMap<PhotoSetsSettingsProtoTemplateId, usize> =
366 HashMap::new();
367 let mut photo_sets_settings_proto_order: Vec<usize> = Vec::new();
368 let mut pokemon_extended_settings_index: HashMap<PokemonExtendedSettingsTemplateId, usize> =
369 HashMap::new();
370 let mut pokemon_extended_settings_order: Vec<usize> = Vec::new();
371 let mut pokemon_family_index: HashMap<PokemonFamilyTemplateId, usize> = HashMap::new();
372 let mut pokemon_family_order: Vec<usize> = Vec::new();
373 let mut pokemon_home_energy_costs_index: HashMap<PokemonHomeEnergyCostsTemplateId, usize> =
374 HashMap::new();
375 let mut pokemon_home_energy_costs_order: Vec<usize> = Vec::new();
376 let mut pokemon_home_form_reversions_index: HashMap<
377 PokemonHomeFormReversionsTemplateId,
378 usize,
379 > = HashMap::new();
380 let mut pokemon_home_form_reversions_order: Vec<usize> = Vec::new();
381 let mut pokemon_scale_settings_index: HashMap<PokemonScaleSettingsTemplateId, usize> =
382 HashMap::new();
383 let mut pokemon_scale_settings_order: Vec<usize> = Vec::new();
384 let mut pokemon_settings_index: HashMap<PokemonSettingsTemplateId, usize> = HashMap::new();
385 let mut pokemon_settings_order: Vec<usize> = Vec::new();
386 let mut pokemon_upgrades_index: HashMap<PokemonUpgradesTemplateId, usize> = HashMap::new();
387 let mut pokemon_upgrades_order: Vec<usize> = Vec::new();
388 let mut pokestop_invasion_availability_settings_index: HashMap<
389 PokestopInvasionAvailabilitySettingsTemplateId,
390 usize,
391 > = HashMap::new();
392 let mut pokestop_invasion_availability_settings_order: Vec<usize> = Vec::new();
393 let mut quest_settings_index: HashMap<QuestSettingsTemplateId, usize> = HashMap::new();
394 let mut quest_settings_order: Vec<usize> = Vec::new();
395 let mut recommended_search_settings_index: HashMap<
396 RecommendedSearchSettingsTemplateId,
397 usize,
398 > = HashMap::new();
399 let mut recommended_search_settings_order: Vec<usize> = Vec::new();
400 let mut roll_back_index: HashMap<RollBackTemplateId, usize> = HashMap::new();
401 let mut roll_back_order: Vec<usize> = Vec::new();
402 let mut settings_override_rule_index: HashMap<SettingsOverrideRuleTemplateId, usize> =
403 HashMap::new();
404 let mut settings_override_rule_order: Vec<usize> = Vec::new();
405 let mut sticker_metadata_index: HashMap<StickerMetadataTemplateId, usize> = HashMap::new();
406 let mut sticker_metadata_order: Vec<usize> = Vec::new();
407 let mut tappable_settings_index: HashMap<TappableSettingsTemplateId, usize> =
408 HashMap::new();
409 let mut tappable_settings_order: Vec<usize> = Vec::new();
410 let mut temporary_evolution_settings_index: HashMap<
411 TemporaryEvolutionSettingsTemplateId,
412 usize,
413 > = HashMap::new();
414 let mut temporary_evolution_settings_order: Vec<usize> = Vec::new();
415 let mut type_effective_index: HashMap<TypeEffectiveTemplateId, usize> = HashMap::new();
416 let mut type_effective_order: Vec<usize> = Vec::new();
417 let mut vs_seeker_loot_index: HashMap<VsSeekerLootTemplateId, usize> = HashMap::new();
418 let mut vs_seeker_loot_order: Vec<usize> = Vec::new();
419 let mut vs_seeker_pokemon_rewards_index: HashMap<VsSeekerPokemonRewardsTemplateId, usize> =
420 HashMap::new();
421 let mut vs_seeker_pokemon_rewards_order: Vec<usize> = Vec::new();
422 let mut weather_affinities_index: HashMap<WeatherAffinitiesTemplateId, usize> =
423 HashMap::new();
424 let mut weather_affinities_order: Vec<usize> = Vec::new();
425
426 for (idx, entry) in entries.iter().enumerate() {
427 match entry {
428 MasterfileEntry::AvatarCustomization(_) => {
429 if let Ok(typed) = entry.template_id().parse::<AvatarCustomizationTemplateId>()
430 {
431 avatar_customization_index.insert(typed, idx);
432 avatar_customization_order.push(idx);
433 }
434 }
435 MasterfileEntry::AvatarGroupOrderSettings(_) => {
436 if let Ok(typed) = entry
437 .template_id()
438 .parse::<AvatarGroupOrderSettingsTemplateId>()
439 {
440 avatar_group_order_settings_index.insert(typed, idx);
441 avatar_group_order_settings_order.push(idx);
442 }
443 }
444 MasterfileEntry::AvatarItemDisplay(_) => {
445 if let Ok(typed) = entry.template_id().parse::<AvatarItemDisplayTemplateId>() {
446 avatar_item_display_index.insert(typed, idx);
447 avatar_item_display_order.push(idx);
448 }
449 }
450 MasterfileEntry::BadgeSettings(_) => {
451 if let Ok(typed) = entry.template_id().parse::<BadgeSettingsTemplateId>() {
452 badge_settings_index.insert(typed, idx);
453 badge_settings_order.push(idx);
454 }
455 }
456 MasterfileEntry::BreadMoveLevelSettings(_) => {
457 if let Ok(typed) = entry
458 .template_id()
459 .parse::<BreadMoveLevelSettingsTemplateId>()
460 {
461 bread_move_level_settings_index.insert(typed, idx);
462 bread_move_level_settings_order.push(idx);
463 }
464 }
465 MasterfileEntry::BuddyActivityCategorySettings(_) => {
466 if let Ok(typed) = entry
467 .template_id()
468 .parse::<BuddyActivityCategorySettingsTemplateId>()
469 {
470 buddy_activity_category_settings_index.insert(typed, idx);
471 buddy_activity_category_settings_order.push(idx);
472 }
473 }
474 MasterfileEntry::BuddyEmotionLevelSettings(_) => {
475 if let Ok(typed) = entry
476 .template_id()
477 .parse::<BuddyEmotionLevelSettingsTemplateId>()
478 {
479 buddy_emotion_level_settings_index.insert(typed, idx);
480 buddy_emotion_level_settings_order.push(idx);
481 }
482 }
483 MasterfileEntry::BuddyLevelSettings(_) => {
484 if let Ok(typed) = entry.template_id().parse::<BuddyLevelSettingsTemplateId>() {
485 buddy_level_settings_index.insert(typed, idx);
486 buddy_level_settings_order.push(idx);
487 }
488 }
489 MasterfileEntry::ClientQuestTemplate(_) => {
490 if let Ok(typed) = entry.template_id().parse::<ClientQuestTemplateTemplateId>()
491 {
492 client_quest_template_index.insert(typed, idx);
493 client_quest_template_order.push(idx);
494 }
495 }
496 MasterfileEntry::CodeGateProto(_) => {
497 if let Ok(typed) = entry.template_id().parse::<CodeGateProtoTemplateId>() {
498 code_gate_proto_index.insert(typed, idx);
499 code_gate_proto_order.push(idx);
500 }
501 }
502 MasterfileEntry::CombatLeague(_) => {
503 if let Ok(typed) = entry.template_id().parse::<CombatLeagueTemplateId>() {
504 combat_league_index.insert(typed, idx);
505 combat_league_order.push(idx);
506 }
507 }
508 MasterfileEntry::CombatMove(_) => {
509 if let Ok(typed) = entry.template_id().parse::<CombatMoveTemplateId>() {
510 combat_move_index.insert(typed, idx);
511 combat_move_order.push(idx);
512 }
513 }
514 MasterfileEntry::CombatNpcPersonality(_) => {
515 if let Ok(typed) = entry
516 .template_id()
517 .parse::<CombatNpcPersonalityTemplateId>()
518 {
519 combat_npc_personality_index.insert(typed, idx);
520 combat_npc_personality_order.push(idx);
521 }
522 }
523 MasterfileEntry::CombatNpcTrainer(_) => {
524 if let Ok(typed) = entry.template_id().parse::<CombatNpcTrainerTemplateId>() {
525 combat_npc_trainer_index.insert(typed, idx);
526 combat_npc_trainer_order.push(idx);
527 }
528 }
529 MasterfileEntry::CombatRankingProtoSettings(_) => {
530 if let Ok(typed) = entry
531 .template_id()
532 .parse::<CombatRankingProtoSettingsTemplateId>()
533 {
534 combat_ranking_proto_settings_index.insert(typed, idx);
535 combat_ranking_proto_settings_order.push(idx);
536 }
537 }
538 MasterfileEntry::CombatType(_) => {
539 if let Ok(typed) = entry.template_id().parse::<CombatTypeTemplateId>() {
540 combat_type_index.insert(typed, idx);
541 combat_type_order.push(idx);
542 }
543 }
544 MasterfileEntry::EventPassSettings(_) => {
545 if let Ok(typed) = entry.template_id().parse::<EventPassSettingsTemplateId>() {
546 event_pass_settings_index.insert(typed, idx);
547 event_pass_settings_order.push(idx);
548 }
549 }
550 MasterfileEntry::EventPassTierSettings(_) => {
551 if let Ok(typed) = entry
552 .template_id()
553 .parse::<EventPassTierSettingsTemplateId>()
554 {
555 event_pass_tier_settings_index.insert(typed, idx);
556 event_pass_tier_settings_order.push(idx);
557 }
558 }
559 MasterfileEntry::EvolutionChainDisplaySettings(_) => {
560 if let Ok(typed) = entry
561 .template_id()
562 .parse::<EvolutionChainDisplaySettingsTemplateId>()
563 {
564 evolution_chain_display_settings_index.insert(typed, idx);
565 evolution_chain_display_settings_order.push(idx);
566 }
567 }
568 MasterfileEntry::EvolutionQuestTemplate(_) => {
569 if let Ok(typed) = entry
570 .template_id()
571 .parse::<EvolutionQuestTemplateTemplateId>()
572 {
573 evolution_quest_template_index.insert(typed, idx);
574 evolution_quest_template_order.push(idx);
575 }
576 }
577 MasterfileEntry::FeatureGate(_) => {
578 if let Ok(typed) = entry.template_id().parse::<FeatureGateTemplateId>() {
579 feature_gate_index.insert(typed, idx);
580 feature_gate_order.push(idx);
581 }
582 }
583 MasterfileEntry::FormSettings(_) => {
584 if let Ok(typed) = entry.template_id().parse::<FormSettingsTemplateId>() {
585 form_settings_index.insert(typed, idx);
586 form_settings_order.push(idx);
587 }
588 }
589 MasterfileEntry::FortPowerUpLevelSettings(_) => {
590 if let Ok(typed) = entry
591 .template_id()
592 .parse::<FortPowerUpLevelSettingsTemplateId>()
593 {
594 fort_power_up_level_settings_index.insert(typed, idx);
595 fort_power_up_level_settings_order.push(idx);
596 }
597 }
598 MasterfileEntry::FriendshipMilestoneSettings(_) => {
599 if let Ok(typed) = entry
600 .template_id()
601 .parse::<FriendshipMilestoneSettingsTemplateId>()
602 {
603 friendship_milestone_settings_index.insert(typed, idx);
604 friendship_milestone_settings_order.push(idx);
605 }
606 }
607 MasterfileEntry::GenderSettings(_) => {
608 if let Ok(typed) = entry.template_id().parse::<GenderSettingsTemplateId>() {
609 gender_settings_index.insert(typed, idx);
610 gender_settings_order.push(idx);
611 }
612 }
613 MasterfileEntry::IapCategoryDisplay(_) => {
614 if let Ok(typed) = entry.template_id().parse::<IapCategoryDisplayTemplateId>() {
615 iap_category_display_index.insert(typed, idx);
616 iap_category_display_order.push(idx);
617 }
618 }
619 MasterfileEntry::IapItemDisplay(_) => {
620 if let Ok(typed) = entry.template_id().parse::<IapItemDisplayTemplateId>() {
621 iap_item_display_index.insert(typed, idx);
622 iap_item_display_order.push(idx);
623 }
624 }
625 MasterfileEntry::InvasionNpcDisplaySettings(_) => {
626 if let Ok(typed) = entry
627 .template_id()
628 .parse::<InvasionNpcDisplaySettingsTemplateId>()
629 {
630 invasion_npc_display_settings_index.insert(typed, idx);
631 invasion_npc_display_settings_order.push(idx);
632 }
633 }
634 MasterfileEntry::ItemExpirationSettings(_) => {
635 if let Ok(typed) = entry
636 .template_id()
637 .parse::<ItemExpirationSettingsTemplateId>()
638 {
639 item_expiration_settings_index.insert(typed, idx);
640 item_expiration_settings_order.push(idx);
641 }
642 }
643 MasterfileEntry::ItemSettings(_) => {
644 if let Ok(typed) = entry.template_id().parse::<ItemSettingsTemplateId>() {
645 item_settings_index.insert(typed, idx);
646 item_settings_order.push(idx);
647 }
648 }
649 MasterfileEntry::LanguageSettings(_) => {
650 if let Ok(typed) = entry.template_id().parse::<LanguageSettingsTemplateId>() {
651 language_settings_index.insert(typed, idx);
652 language_settings_order.push(idx);
653 }
654 }
655 MasterfileEntry::LevelUpRewards(_) => {
656 if let Ok(typed) = entry.template_id().parse::<LevelUpRewardsTemplateId>() {
657 level_up_rewards_index.insert(typed, idx);
658 level_up_rewards_order.push(idx);
659 }
660 }
661 MasterfileEntry::LimitedPurchaseSkuSettings(_) => {
662 if let Ok(typed) = entry
663 .template_id()
664 .parse::<LimitedPurchaseSkuSettingsTemplateId>()
665 {
666 limited_purchase_sku_settings_index.insert(typed, idx);
667 limited_purchase_sku_settings_order.push(idx);
668 }
669 }
670 MasterfileEntry::LocationCardSettings(_) => {
671 if let Ok(typed) = entry
672 .template_id()
673 .parse::<LocationCardSettingsTemplateId>()
674 {
675 location_card_settings_index.insert(typed, idx);
676 location_card_settings_order.push(idx);
677 }
678 }
679 MasterfileEntry::MegaEvoLevelSettings(_) => {
680 if let Ok(typed) = entry
681 .template_id()
682 .parse::<MegaEvoLevelSettingsTemplateId>()
683 {
684 mega_evo_level_settings_index.insert(typed, idx);
685 mega_evo_level_settings_order.push(idx);
686 }
687 }
688 MasterfileEntry::MoveSequenceSettings(_) => {
689 if let Ok(typed) = entry
690 .template_id()
691 .parse::<MoveSequenceSettingsTemplateId>()
692 {
693 move_sequence_settings_index.insert(typed, idx);
694 move_sequence_settings_order.push(idx);
695 }
696 }
697 MasterfileEntry::MoveSettings(_) => {
698 if let Ok(typed) = entry.template_id().parse::<MoveSettingsTemplateId>() {
699 move_settings_index.insert(typed, idx);
700 move_settings_order.push(idx);
701 }
702 }
703 MasterfileEntry::NonCombatMoveSettings(_) => {
704 if let Ok(typed) = entry
705 .template_id()
706 .parse::<NonCombatMoveSettingsTemplateId>()
707 {
708 non_combat_move_settings_index.insert(typed, idx);
709 non_combat_move_settings_order.push(idx);
710 }
711 }
712 MasterfileEntry::PartyPlayGeneralSettings(_) => {
713 if let Ok(typed) = entry
714 .template_id()
715 .parse::<PartyPlayGeneralSettingsTemplateId>()
716 {
717 party_play_general_settings_index.insert(typed, idx);
718 party_play_general_settings_order.push(idx);
719 }
720 }
721 MasterfileEntry::PhotoSetsSettingsProto(_) => {
722 if let Ok(typed) = entry
723 .template_id()
724 .parse::<PhotoSetsSettingsProtoTemplateId>()
725 {
726 photo_sets_settings_proto_index.insert(typed, idx);
727 photo_sets_settings_proto_order.push(idx);
728 }
729 }
730 MasterfileEntry::PokemonExtendedSettings(_) => {
731 if let Ok(typed) = entry
732 .template_id()
733 .parse::<PokemonExtendedSettingsTemplateId>()
734 {
735 pokemon_extended_settings_index.insert(typed, idx);
736 pokemon_extended_settings_order.push(idx);
737 }
738 }
739 MasterfileEntry::PokemonFamily(_) => {
740 if let Ok(typed) = entry.template_id().parse::<PokemonFamilyTemplateId>() {
741 pokemon_family_index.insert(typed, idx);
742 pokemon_family_order.push(idx);
743 }
744 }
745 MasterfileEntry::PokemonHomeEnergyCosts(_) => {
746 if let Ok(typed) = entry
747 .template_id()
748 .parse::<PokemonHomeEnergyCostsTemplateId>()
749 {
750 pokemon_home_energy_costs_index.insert(typed, idx);
751 pokemon_home_energy_costs_order.push(idx);
752 }
753 }
754 MasterfileEntry::PokemonHomeFormReversions(_) => {
755 if let Ok(typed) = entry
756 .template_id()
757 .parse::<PokemonHomeFormReversionsTemplateId>()
758 {
759 pokemon_home_form_reversions_index.insert(typed, idx);
760 pokemon_home_form_reversions_order.push(idx);
761 }
762 }
763 MasterfileEntry::PokemonScaleSettings(_) => {
764 if let Ok(typed) = entry
765 .template_id()
766 .parse::<PokemonScaleSettingsTemplateId>()
767 {
768 pokemon_scale_settings_index.insert(typed, idx);
769 pokemon_scale_settings_order.push(idx);
770 }
771 }
772 MasterfileEntry::PokemonSettings(_) => {
773 if let Ok(typed) = entry.template_id().parse::<PokemonSettingsTemplateId>() {
774 pokemon_settings_index.insert(typed, idx);
775 pokemon_settings_order.push(idx);
776 }
777 }
778 MasterfileEntry::PokemonUpgrades(_) => {
779 if let Ok(typed) = entry.template_id().parse::<PokemonUpgradesTemplateId>() {
780 pokemon_upgrades_index.insert(typed, idx);
781 pokemon_upgrades_order.push(idx);
782 }
783 }
784 MasterfileEntry::PokestopInvasionAvailabilitySettings(_) => {
785 if let Ok(typed) = entry
786 .template_id()
787 .parse::<PokestopInvasionAvailabilitySettingsTemplateId>()
788 {
789 pokestop_invasion_availability_settings_index.insert(typed, idx);
790 pokestop_invasion_availability_settings_order.push(idx);
791 }
792 }
793 MasterfileEntry::QuestSettings(_) => {
794 if let Ok(typed) = entry.template_id().parse::<QuestSettingsTemplateId>() {
795 quest_settings_index.insert(typed, idx);
796 quest_settings_order.push(idx);
797 }
798 }
799 MasterfileEntry::RecommendedSearchSettings(_) => {
800 if let Ok(typed) = entry
801 .template_id()
802 .parse::<RecommendedSearchSettingsTemplateId>()
803 {
804 recommended_search_settings_index.insert(typed, idx);
805 recommended_search_settings_order.push(idx);
806 }
807 }
808 MasterfileEntry::RollBack(_) => {
809 if let Ok(typed) = entry.template_id().parse::<RollBackTemplateId>() {
810 roll_back_index.insert(typed, idx);
811 roll_back_order.push(idx);
812 }
813 }
814 MasterfileEntry::SettingsOverrideRule(_) => {
815 if let Ok(typed) = entry
816 .template_id()
817 .parse::<SettingsOverrideRuleTemplateId>()
818 {
819 settings_override_rule_index.insert(typed, idx);
820 settings_override_rule_order.push(idx);
821 }
822 }
823 MasterfileEntry::StickerMetadata(_) => {
824 if let Ok(typed) = entry.template_id().parse::<StickerMetadataTemplateId>() {
825 sticker_metadata_index.insert(typed, idx);
826 sticker_metadata_order.push(idx);
827 }
828 }
829 MasterfileEntry::TappableSettings(_) => {
830 if let Ok(typed) = entry.template_id().parse::<TappableSettingsTemplateId>() {
831 tappable_settings_index.insert(typed, idx);
832 tappable_settings_order.push(idx);
833 }
834 }
835 MasterfileEntry::TemporaryEvolutionSettings(_) => {
836 if let Ok(typed) = entry
837 .template_id()
838 .parse::<TemporaryEvolutionSettingsTemplateId>()
839 {
840 temporary_evolution_settings_index.insert(typed, idx);
841 temporary_evolution_settings_order.push(idx);
842 }
843 }
844 MasterfileEntry::TypeEffective(_) => {
845 if let Ok(typed) = entry.template_id().parse::<TypeEffectiveTemplateId>() {
846 type_effective_index.insert(typed, idx);
847 type_effective_order.push(idx);
848 }
849 }
850 MasterfileEntry::VsSeekerLoot(_) => {
851 if let Ok(typed) = entry.template_id().parse::<VsSeekerLootTemplateId>() {
852 vs_seeker_loot_index.insert(typed, idx);
853 vs_seeker_loot_order.push(idx);
854 }
855 }
856 MasterfileEntry::VsSeekerPokemonRewards(_) => {
857 if let Ok(typed) = entry
858 .template_id()
859 .parse::<VsSeekerPokemonRewardsTemplateId>()
860 {
861 vs_seeker_pokemon_rewards_index.insert(typed, idx);
862 vs_seeker_pokemon_rewards_order.push(idx);
863 }
864 }
865 MasterfileEntry::WeatherAffinities(_) => {
866 if let Ok(typed) = entry.template_id().parse::<WeatherAffinitiesTemplateId>() {
867 weather_affinities_index.insert(typed, idx);
868 weather_affinities_order.push(idx);
869 }
870 }
871 _ => {}
872 }
873 }
874
875 Self {
876 avatar_customization_index,
877 avatar_customization_order,
878 avatar_group_order_settings_index,
879 avatar_group_order_settings_order,
880 avatar_item_display_index,
881 avatar_item_display_order,
882 badge_settings_index,
883 badge_settings_order,
884 bread_move_level_settings_index,
885 bread_move_level_settings_order,
886 buddy_activity_category_settings_index,
887 buddy_activity_category_settings_order,
888 buddy_emotion_level_settings_index,
889 buddy_emotion_level_settings_order,
890 buddy_level_settings_index,
891 buddy_level_settings_order,
892 client_quest_template_index,
893 client_quest_template_order,
894 code_gate_proto_index,
895 code_gate_proto_order,
896 combat_league_index,
897 combat_league_order,
898 combat_move_index,
899 combat_move_order,
900 combat_npc_personality_index,
901 combat_npc_personality_order,
902 combat_npc_trainer_index,
903 combat_npc_trainer_order,
904 combat_ranking_proto_settings_index,
905 combat_ranking_proto_settings_order,
906 combat_type_index,
907 combat_type_order,
908 event_pass_settings_index,
909 event_pass_settings_order,
910 event_pass_tier_settings_index,
911 event_pass_tier_settings_order,
912 evolution_chain_display_settings_index,
913 evolution_chain_display_settings_order,
914 evolution_quest_template_index,
915 evolution_quest_template_order,
916 feature_gate_index,
917 feature_gate_order,
918 form_settings_index,
919 form_settings_order,
920 fort_power_up_level_settings_index,
921 fort_power_up_level_settings_order,
922 friendship_milestone_settings_index,
923 friendship_milestone_settings_order,
924 gender_settings_index,
925 gender_settings_order,
926 iap_category_display_index,
927 iap_category_display_order,
928 iap_item_display_index,
929 iap_item_display_order,
930 invasion_npc_display_settings_index,
931 invasion_npc_display_settings_order,
932 item_expiration_settings_index,
933 item_expiration_settings_order,
934 item_settings_index,
935 item_settings_order,
936 language_settings_index,
937 language_settings_order,
938 level_up_rewards_index,
939 level_up_rewards_order,
940 limited_purchase_sku_settings_index,
941 limited_purchase_sku_settings_order,
942 location_card_settings_index,
943 location_card_settings_order,
944 mega_evo_level_settings_index,
945 mega_evo_level_settings_order,
946 move_sequence_settings_index,
947 move_sequence_settings_order,
948 move_settings_index,
949 move_settings_order,
950 non_combat_move_settings_index,
951 non_combat_move_settings_order,
952 party_play_general_settings_index,
953 party_play_general_settings_order,
954 photo_sets_settings_proto_index,
955 photo_sets_settings_proto_order,
956 pokemon_extended_settings_index,
957 pokemon_extended_settings_order,
958 pokemon_family_index,
959 pokemon_family_order,
960 pokemon_home_energy_costs_index,
961 pokemon_home_energy_costs_order,
962 pokemon_home_form_reversions_index,
963 pokemon_home_form_reversions_order,
964 pokemon_scale_settings_index,
965 pokemon_scale_settings_order,
966 pokemon_settings_index,
967 pokemon_settings_order,
968 pokemon_upgrades_index,
969 pokemon_upgrades_order,
970 pokestop_invasion_availability_settings_index,
971 pokestop_invasion_availability_settings_order,
972 quest_settings_index,
973 quest_settings_order,
974 recommended_search_settings_index,
975 recommended_search_settings_order,
976 roll_back_index,
977 roll_back_order,
978 settings_override_rule_index,
979 settings_override_rule_order,
980 sticker_metadata_index,
981 sticker_metadata_order,
982 tappable_settings_index,
983 tappable_settings_order,
984 temporary_evolution_settings_index,
985 temporary_evolution_settings_order,
986 type_effective_index,
987 type_effective_order,
988 vs_seeker_loot_index,
989 vs_seeker_loot_order,
990 vs_seeker_pokemon_rewards_index,
991 vs_seeker_pokemon_rewards_order,
992 weather_affinities_index,
993 weather_affinities_order,
994 }
995 }
996}
997
998impl Masterfile {
999 pub fn avatar_customization(&self) -> accessor::AvatarCustomizationAccessor<'_> {
1000 accessor::AvatarCustomizationAccessor {
1001 entries: &self.entries,
1002 index: &self.groups.avatar_customization_index,
1003 order: &self.groups.avatar_customization_order,
1004 }
1005 }
1006
1007 pub fn avatar_group_order_settings(&self) -> accessor::AvatarGroupOrderSettingsAccessor<'_> {
1008 accessor::AvatarGroupOrderSettingsAccessor {
1009 entries: &self.entries,
1010 index: &self.groups.avatar_group_order_settings_index,
1011 order: &self.groups.avatar_group_order_settings_order,
1012 }
1013 }
1014
1015 pub fn avatar_item_display(&self) -> accessor::AvatarItemDisplayAccessor<'_> {
1016 accessor::AvatarItemDisplayAccessor {
1017 entries: &self.entries,
1018 index: &self.groups.avatar_item_display_index,
1019 order: &self.groups.avatar_item_display_order,
1020 }
1021 }
1022
1023 pub fn badge_settings(&self) -> accessor::BadgeSettingsAccessor<'_> {
1024 accessor::BadgeSettingsAccessor {
1025 entries: &self.entries,
1026 index: &self.groups.badge_settings_index,
1027 order: &self.groups.badge_settings_order,
1028 }
1029 }
1030
1031 pub fn bread_move_level_settings(&self) -> accessor::BreadMoveLevelSettingsAccessor<'_> {
1032 accessor::BreadMoveLevelSettingsAccessor {
1033 entries: &self.entries,
1034 index: &self.groups.bread_move_level_settings_index,
1035 order: &self.groups.bread_move_level_settings_order,
1036 }
1037 }
1038
1039 pub fn buddy_activity_category_settings(
1040 &self,
1041 ) -> accessor::BuddyActivityCategorySettingsAccessor<'_> {
1042 accessor::BuddyActivityCategorySettingsAccessor {
1043 entries: &self.entries,
1044 index: &self.groups.buddy_activity_category_settings_index,
1045 order: &self.groups.buddy_activity_category_settings_order,
1046 }
1047 }
1048
1049 pub fn buddy_emotion_level_settings(&self) -> accessor::BuddyEmotionLevelSettingsAccessor<'_> {
1050 accessor::BuddyEmotionLevelSettingsAccessor {
1051 entries: &self.entries,
1052 index: &self.groups.buddy_emotion_level_settings_index,
1053 order: &self.groups.buddy_emotion_level_settings_order,
1054 }
1055 }
1056
1057 pub fn buddy_level_settings(&self) -> accessor::BuddyLevelSettingsAccessor<'_> {
1058 accessor::BuddyLevelSettingsAccessor {
1059 entries: &self.entries,
1060 index: &self.groups.buddy_level_settings_index,
1061 order: &self.groups.buddy_level_settings_order,
1062 }
1063 }
1064
1065 pub fn client_quest_template(&self) -> accessor::ClientQuestTemplateAccessor<'_> {
1066 accessor::ClientQuestTemplateAccessor {
1067 entries: &self.entries,
1068 index: &self.groups.client_quest_template_index,
1069 order: &self.groups.client_quest_template_order,
1070 }
1071 }
1072
1073 pub fn code_gate_proto(&self) -> accessor::CodeGateProtoAccessor<'_> {
1074 accessor::CodeGateProtoAccessor {
1075 entries: &self.entries,
1076 index: &self.groups.code_gate_proto_index,
1077 order: &self.groups.code_gate_proto_order,
1078 }
1079 }
1080
1081 pub fn combat_league(&self) -> accessor::CombatLeagueAccessor<'_> {
1082 accessor::CombatLeagueAccessor {
1083 entries: &self.entries,
1084 index: &self.groups.combat_league_index,
1085 order: &self.groups.combat_league_order,
1086 }
1087 }
1088
1089 pub fn combat_move(&self) -> accessor::CombatMoveAccessor<'_> {
1090 accessor::CombatMoveAccessor {
1091 entries: &self.entries,
1092 index: &self.groups.combat_move_index,
1093 order: &self.groups.combat_move_order,
1094 }
1095 }
1096
1097 pub fn combat_npc_personality(&self) -> accessor::CombatNpcPersonalityAccessor<'_> {
1098 accessor::CombatNpcPersonalityAccessor {
1099 entries: &self.entries,
1100 index: &self.groups.combat_npc_personality_index,
1101 order: &self.groups.combat_npc_personality_order,
1102 }
1103 }
1104
1105 pub fn combat_npc_trainer(&self) -> accessor::CombatNpcTrainerAccessor<'_> {
1106 accessor::CombatNpcTrainerAccessor {
1107 entries: &self.entries,
1108 index: &self.groups.combat_npc_trainer_index,
1109 order: &self.groups.combat_npc_trainer_order,
1110 }
1111 }
1112
1113 pub fn combat_ranking_proto_settings(
1114 &self,
1115 ) -> accessor::CombatRankingProtoSettingsAccessor<'_> {
1116 accessor::CombatRankingProtoSettingsAccessor {
1117 entries: &self.entries,
1118 index: &self.groups.combat_ranking_proto_settings_index,
1119 order: &self.groups.combat_ranking_proto_settings_order,
1120 }
1121 }
1122
1123 pub fn combat_type(&self) -> accessor::CombatTypeAccessor<'_> {
1124 accessor::CombatTypeAccessor {
1125 entries: &self.entries,
1126 index: &self.groups.combat_type_index,
1127 order: &self.groups.combat_type_order,
1128 }
1129 }
1130
1131 pub fn event_pass_settings(&self) -> accessor::EventPassSettingsAccessor<'_> {
1132 accessor::EventPassSettingsAccessor {
1133 entries: &self.entries,
1134 index: &self.groups.event_pass_settings_index,
1135 order: &self.groups.event_pass_settings_order,
1136 }
1137 }
1138
1139 pub fn event_pass_tier_settings(&self) -> accessor::EventPassTierSettingsAccessor<'_> {
1140 accessor::EventPassTierSettingsAccessor {
1141 entries: &self.entries,
1142 index: &self.groups.event_pass_tier_settings_index,
1143 order: &self.groups.event_pass_tier_settings_order,
1144 }
1145 }
1146
1147 pub fn evolution_chain_display_settings(
1148 &self,
1149 ) -> accessor::EvolutionChainDisplaySettingsAccessor<'_> {
1150 accessor::EvolutionChainDisplaySettingsAccessor {
1151 entries: &self.entries,
1152 index: &self.groups.evolution_chain_display_settings_index,
1153 order: &self.groups.evolution_chain_display_settings_order,
1154 }
1155 }
1156
1157 pub fn evolution_quest_template(&self) -> accessor::EvolutionQuestTemplateAccessor<'_> {
1158 accessor::EvolutionQuestTemplateAccessor {
1159 entries: &self.entries,
1160 index: &self.groups.evolution_quest_template_index,
1161 order: &self.groups.evolution_quest_template_order,
1162 }
1163 }
1164
1165 pub fn feature_gate(&self) -> accessor::FeatureGateAccessor<'_> {
1166 accessor::FeatureGateAccessor {
1167 entries: &self.entries,
1168 index: &self.groups.feature_gate_index,
1169 order: &self.groups.feature_gate_order,
1170 }
1171 }
1172
1173 pub fn form_settings(&self) -> accessor::FormSettingsAccessor<'_> {
1174 accessor::FormSettingsAccessor {
1175 entries: &self.entries,
1176 index: &self.groups.form_settings_index,
1177 order: &self.groups.form_settings_order,
1178 }
1179 }
1180
1181 pub fn fort_power_up_level_settings(&self) -> accessor::FortPowerUpLevelSettingsAccessor<'_> {
1182 accessor::FortPowerUpLevelSettingsAccessor {
1183 entries: &self.entries,
1184 index: &self.groups.fort_power_up_level_settings_index,
1185 order: &self.groups.fort_power_up_level_settings_order,
1186 }
1187 }
1188
1189 pub fn friendship_milestone_settings(
1190 &self,
1191 ) -> accessor::FriendshipMilestoneSettingsAccessor<'_> {
1192 accessor::FriendshipMilestoneSettingsAccessor {
1193 entries: &self.entries,
1194 index: &self.groups.friendship_milestone_settings_index,
1195 order: &self.groups.friendship_milestone_settings_order,
1196 }
1197 }
1198
1199 pub fn gender_settings(&self) -> accessor::GenderSettingsAccessor<'_> {
1200 accessor::GenderSettingsAccessor {
1201 entries: &self.entries,
1202 index: &self.groups.gender_settings_index,
1203 order: &self.groups.gender_settings_order,
1204 }
1205 }
1206
1207 pub fn iap_category_display(&self) -> accessor::IapCategoryDisplayAccessor<'_> {
1208 accessor::IapCategoryDisplayAccessor {
1209 entries: &self.entries,
1210 index: &self.groups.iap_category_display_index,
1211 order: &self.groups.iap_category_display_order,
1212 }
1213 }
1214
1215 pub fn iap_item_display(&self) -> accessor::IapItemDisplayAccessor<'_> {
1216 accessor::IapItemDisplayAccessor {
1217 entries: &self.entries,
1218 index: &self.groups.iap_item_display_index,
1219 order: &self.groups.iap_item_display_order,
1220 }
1221 }
1222
1223 pub fn invasion_npc_display_settings(
1224 &self,
1225 ) -> accessor::InvasionNpcDisplaySettingsAccessor<'_> {
1226 accessor::InvasionNpcDisplaySettingsAccessor {
1227 entries: &self.entries,
1228 index: &self.groups.invasion_npc_display_settings_index,
1229 order: &self.groups.invasion_npc_display_settings_order,
1230 }
1231 }
1232
1233 pub fn item_expiration_settings(&self) -> accessor::ItemExpirationSettingsAccessor<'_> {
1234 accessor::ItemExpirationSettingsAccessor {
1235 entries: &self.entries,
1236 index: &self.groups.item_expiration_settings_index,
1237 order: &self.groups.item_expiration_settings_order,
1238 }
1239 }
1240
1241 pub fn item_settings(&self) -> accessor::ItemSettingsAccessor<'_> {
1242 accessor::ItemSettingsAccessor {
1243 entries: &self.entries,
1244 index: &self.groups.item_settings_index,
1245 order: &self.groups.item_settings_order,
1246 }
1247 }
1248
1249 pub fn language_settings(&self) -> accessor::LanguageSettingsAccessor<'_> {
1250 accessor::LanguageSettingsAccessor {
1251 entries: &self.entries,
1252 index: &self.groups.language_settings_index,
1253 order: &self.groups.language_settings_order,
1254 }
1255 }
1256
1257 pub fn level_up_rewards(&self) -> accessor::LevelUpRewardsAccessor<'_> {
1258 accessor::LevelUpRewardsAccessor {
1259 entries: &self.entries,
1260 index: &self.groups.level_up_rewards_index,
1261 order: &self.groups.level_up_rewards_order,
1262 }
1263 }
1264
1265 pub fn limited_purchase_sku_settings(
1266 &self,
1267 ) -> accessor::LimitedPurchaseSkuSettingsAccessor<'_> {
1268 accessor::LimitedPurchaseSkuSettingsAccessor {
1269 entries: &self.entries,
1270 index: &self.groups.limited_purchase_sku_settings_index,
1271 order: &self.groups.limited_purchase_sku_settings_order,
1272 }
1273 }
1274
1275 pub fn location_card_settings(&self) -> accessor::LocationCardSettingsAccessor<'_> {
1276 accessor::LocationCardSettingsAccessor {
1277 entries: &self.entries,
1278 index: &self.groups.location_card_settings_index,
1279 order: &self.groups.location_card_settings_order,
1280 }
1281 }
1282
1283 pub fn mega_evo_level_settings(&self) -> accessor::MegaEvoLevelSettingsAccessor<'_> {
1284 accessor::MegaEvoLevelSettingsAccessor {
1285 entries: &self.entries,
1286 index: &self.groups.mega_evo_level_settings_index,
1287 order: &self.groups.mega_evo_level_settings_order,
1288 }
1289 }
1290
1291 pub fn move_sequence_settings(&self) -> accessor::MoveSequenceSettingsAccessor<'_> {
1292 accessor::MoveSequenceSettingsAccessor {
1293 entries: &self.entries,
1294 index: &self.groups.move_sequence_settings_index,
1295 order: &self.groups.move_sequence_settings_order,
1296 }
1297 }
1298
1299 pub fn move_settings(&self) -> accessor::MoveSettingsAccessor<'_> {
1300 accessor::MoveSettingsAccessor {
1301 entries: &self.entries,
1302 index: &self.groups.move_settings_index,
1303 order: &self.groups.move_settings_order,
1304 }
1305 }
1306
1307 pub fn non_combat_move_settings(&self) -> accessor::NonCombatMoveSettingsAccessor<'_> {
1308 accessor::NonCombatMoveSettingsAccessor {
1309 entries: &self.entries,
1310 index: &self.groups.non_combat_move_settings_index,
1311 order: &self.groups.non_combat_move_settings_order,
1312 }
1313 }
1314
1315 pub fn party_play_general_settings(&self) -> accessor::PartyPlayGeneralSettingsAccessor<'_> {
1316 accessor::PartyPlayGeneralSettingsAccessor {
1317 entries: &self.entries,
1318 index: &self.groups.party_play_general_settings_index,
1319 order: &self.groups.party_play_general_settings_order,
1320 }
1321 }
1322
1323 pub fn photo_sets_settings_proto(&self) -> accessor::PhotoSetsSettingsProtoAccessor<'_> {
1324 accessor::PhotoSetsSettingsProtoAccessor {
1325 entries: &self.entries,
1326 index: &self.groups.photo_sets_settings_proto_index,
1327 order: &self.groups.photo_sets_settings_proto_order,
1328 }
1329 }
1330
1331 pub fn pokemon_extended_settings(&self) -> accessor::PokemonExtendedSettingsAccessor<'_> {
1332 accessor::PokemonExtendedSettingsAccessor {
1333 entries: &self.entries,
1334 index: &self.groups.pokemon_extended_settings_index,
1335 order: &self.groups.pokemon_extended_settings_order,
1336 }
1337 }
1338
1339 pub fn pokemon_family(&self) -> accessor::PokemonFamilyAccessor<'_> {
1340 accessor::PokemonFamilyAccessor {
1341 entries: &self.entries,
1342 index: &self.groups.pokemon_family_index,
1343 order: &self.groups.pokemon_family_order,
1344 }
1345 }
1346
1347 pub fn pokemon_home_energy_costs(&self) -> accessor::PokemonHomeEnergyCostsAccessor<'_> {
1348 accessor::PokemonHomeEnergyCostsAccessor {
1349 entries: &self.entries,
1350 index: &self.groups.pokemon_home_energy_costs_index,
1351 order: &self.groups.pokemon_home_energy_costs_order,
1352 }
1353 }
1354
1355 pub fn pokemon_home_form_reversions(&self) -> accessor::PokemonHomeFormReversionsAccessor<'_> {
1356 accessor::PokemonHomeFormReversionsAccessor {
1357 entries: &self.entries,
1358 index: &self.groups.pokemon_home_form_reversions_index,
1359 order: &self.groups.pokemon_home_form_reversions_order,
1360 }
1361 }
1362
1363 pub fn pokemon_scale_settings(&self) -> accessor::PokemonScaleSettingsAccessor<'_> {
1364 accessor::PokemonScaleSettingsAccessor {
1365 entries: &self.entries,
1366 index: &self.groups.pokemon_scale_settings_index,
1367 order: &self.groups.pokemon_scale_settings_order,
1368 }
1369 }
1370
1371 pub fn pokemon_settings(&self) -> accessor::PokemonSettingsAccessor<'_> {
1372 accessor::PokemonSettingsAccessor {
1373 entries: &self.entries,
1374 index: &self.groups.pokemon_settings_index,
1375 order: &self.groups.pokemon_settings_order,
1376 }
1377 }
1378
1379 pub fn pokemon_upgrades(&self) -> accessor::PokemonUpgradesAccessor<'_> {
1380 accessor::PokemonUpgradesAccessor {
1381 entries: &self.entries,
1382 index: &self.groups.pokemon_upgrades_index,
1383 order: &self.groups.pokemon_upgrades_order,
1384 }
1385 }
1386
1387 pub fn pokestop_invasion_availability_settings(
1388 &self,
1389 ) -> accessor::PokestopInvasionAvailabilitySettingsAccessor<'_> {
1390 accessor::PokestopInvasionAvailabilitySettingsAccessor {
1391 entries: &self.entries,
1392 index: &self.groups.pokestop_invasion_availability_settings_index,
1393 order: &self.groups.pokestop_invasion_availability_settings_order,
1394 }
1395 }
1396
1397 pub fn quest_settings(&self) -> accessor::QuestSettingsAccessor<'_> {
1398 accessor::QuestSettingsAccessor {
1399 entries: &self.entries,
1400 index: &self.groups.quest_settings_index,
1401 order: &self.groups.quest_settings_order,
1402 }
1403 }
1404
1405 pub fn recommended_search_settings(&self) -> accessor::RecommendedSearchSettingsAccessor<'_> {
1406 accessor::RecommendedSearchSettingsAccessor {
1407 entries: &self.entries,
1408 index: &self.groups.recommended_search_settings_index,
1409 order: &self.groups.recommended_search_settings_order,
1410 }
1411 }
1412
1413 pub fn roll_back(&self) -> accessor::RollBackAccessor<'_> {
1414 accessor::RollBackAccessor {
1415 entries: &self.entries,
1416 index: &self.groups.roll_back_index,
1417 order: &self.groups.roll_back_order,
1418 }
1419 }
1420
1421 pub fn settings_override_rule(&self) -> accessor::SettingsOverrideRuleAccessor<'_> {
1422 accessor::SettingsOverrideRuleAccessor {
1423 entries: &self.entries,
1424 index: &self.groups.settings_override_rule_index,
1425 order: &self.groups.settings_override_rule_order,
1426 }
1427 }
1428
1429 pub fn sticker_metadata(&self) -> accessor::StickerMetadataAccessor<'_> {
1430 accessor::StickerMetadataAccessor {
1431 entries: &self.entries,
1432 index: &self.groups.sticker_metadata_index,
1433 order: &self.groups.sticker_metadata_order,
1434 }
1435 }
1436
1437 pub fn tappable_settings(&self) -> accessor::TappableSettingsAccessor<'_> {
1438 accessor::TappableSettingsAccessor {
1439 entries: &self.entries,
1440 index: &self.groups.tappable_settings_index,
1441 order: &self.groups.tappable_settings_order,
1442 }
1443 }
1444
1445 pub fn temporary_evolution_settings(&self) -> accessor::TemporaryEvolutionSettingsAccessor<'_> {
1446 accessor::TemporaryEvolutionSettingsAccessor {
1447 entries: &self.entries,
1448 index: &self.groups.temporary_evolution_settings_index,
1449 order: &self.groups.temporary_evolution_settings_order,
1450 }
1451 }
1452
1453 pub fn type_effective(&self) -> accessor::TypeEffectiveAccessor<'_> {
1454 accessor::TypeEffectiveAccessor {
1455 entries: &self.entries,
1456 index: &self.groups.type_effective_index,
1457 order: &self.groups.type_effective_order,
1458 }
1459 }
1460
1461 pub fn vs_seeker_loot(&self) -> accessor::VsSeekerLootAccessor<'_> {
1462 accessor::VsSeekerLootAccessor {
1463 entries: &self.entries,
1464 index: &self.groups.vs_seeker_loot_index,
1465 order: &self.groups.vs_seeker_loot_order,
1466 }
1467 }
1468
1469 pub fn vs_seeker_pokemon_rewards(&self) -> accessor::VsSeekerPokemonRewardsAccessor<'_> {
1470 accessor::VsSeekerPokemonRewardsAccessor {
1471 entries: &self.entries,
1472 index: &self.groups.vs_seeker_pokemon_rewards_index,
1473 order: &self.groups.vs_seeker_pokemon_rewards_order,
1474 }
1475 }
1476
1477 pub fn weather_affinities(&self) -> accessor::WeatherAffinitiesAccessor<'_> {
1478 accessor::WeatherAffinitiesAccessor {
1479 entries: &self.entries,
1480 index: &self.groups.weather_affinities_index,
1481 order: &self.groups.weather_affinities_order,
1482 }
1483 }
1484}
1485
1486#[cfg(feature = "blocking")]
1487impl blocking::Masterfile {
1488 pub fn avatar_customization(&self) -> accessor::AvatarCustomizationAccessor<'_> {
1489 accessor::AvatarCustomizationAccessor {
1490 entries: &self.entries,
1491 index: &self.groups.avatar_customization_index,
1492 order: &self.groups.avatar_customization_order,
1493 }
1494 }
1495
1496 pub fn avatar_group_order_settings(&self) -> accessor::AvatarGroupOrderSettingsAccessor<'_> {
1497 accessor::AvatarGroupOrderSettingsAccessor {
1498 entries: &self.entries,
1499 index: &self.groups.avatar_group_order_settings_index,
1500 order: &self.groups.avatar_group_order_settings_order,
1501 }
1502 }
1503
1504 pub fn avatar_item_display(&self) -> accessor::AvatarItemDisplayAccessor<'_> {
1505 accessor::AvatarItemDisplayAccessor {
1506 entries: &self.entries,
1507 index: &self.groups.avatar_item_display_index,
1508 order: &self.groups.avatar_item_display_order,
1509 }
1510 }
1511
1512 pub fn badge_settings(&self) -> accessor::BadgeSettingsAccessor<'_> {
1513 accessor::BadgeSettingsAccessor {
1514 entries: &self.entries,
1515 index: &self.groups.badge_settings_index,
1516 order: &self.groups.badge_settings_order,
1517 }
1518 }
1519
1520 pub fn bread_move_level_settings(&self) -> accessor::BreadMoveLevelSettingsAccessor<'_> {
1521 accessor::BreadMoveLevelSettingsAccessor {
1522 entries: &self.entries,
1523 index: &self.groups.bread_move_level_settings_index,
1524 order: &self.groups.bread_move_level_settings_order,
1525 }
1526 }
1527
1528 pub fn buddy_activity_category_settings(
1529 &self,
1530 ) -> accessor::BuddyActivityCategorySettingsAccessor<'_> {
1531 accessor::BuddyActivityCategorySettingsAccessor {
1532 entries: &self.entries,
1533 index: &self.groups.buddy_activity_category_settings_index,
1534 order: &self.groups.buddy_activity_category_settings_order,
1535 }
1536 }
1537
1538 pub fn buddy_emotion_level_settings(&self) -> accessor::BuddyEmotionLevelSettingsAccessor<'_> {
1539 accessor::BuddyEmotionLevelSettingsAccessor {
1540 entries: &self.entries,
1541 index: &self.groups.buddy_emotion_level_settings_index,
1542 order: &self.groups.buddy_emotion_level_settings_order,
1543 }
1544 }
1545
1546 pub fn buddy_level_settings(&self) -> accessor::BuddyLevelSettingsAccessor<'_> {
1547 accessor::BuddyLevelSettingsAccessor {
1548 entries: &self.entries,
1549 index: &self.groups.buddy_level_settings_index,
1550 order: &self.groups.buddy_level_settings_order,
1551 }
1552 }
1553
1554 pub fn client_quest_template(&self) -> accessor::ClientQuestTemplateAccessor<'_> {
1555 accessor::ClientQuestTemplateAccessor {
1556 entries: &self.entries,
1557 index: &self.groups.client_quest_template_index,
1558 order: &self.groups.client_quest_template_order,
1559 }
1560 }
1561
1562 pub fn code_gate_proto(&self) -> accessor::CodeGateProtoAccessor<'_> {
1563 accessor::CodeGateProtoAccessor {
1564 entries: &self.entries,
1565 index: &self.groups.code_gate_proto_index,
1566 order: &self.groups.code_gate_proto_order,
1567 }
1568 }
1569
1570 pub fn combat_league(&self) -> accessor::CombatLeagueAccessor<'_> {
1571 accessor::CombatLeagueAccessor {
1572 entries: &self.entries,
1573 index: &self.groups.combat_league_index,
1574 order: &self.groups.combat_league_order,
1575 }
1576 }
1577
1578 pub fn combat_move(&self) -> accessor::CombatMoveAccessor<'_> {
1579 accessor::CombatMoveAccessor {
1580 entries: &self.entries,
1581 index: &self.groups.combat_move_index,
1582 order: &self.groups.combat_move_order,
1583 }
1584 }
1585
1586 pub fn combat_npc_personality(&self) -> accessor::CombatNpcPersonalityAccessor<'_> {
1587 accessor::CombatNpcPersonalityAccessor {
1588 entries: &self.entries,
1589 index: &self.groups.combat_npc_personality_index,
1590 order: &self.groups.combat_npc_personality_order,
1591 }
1592 }
1593
1594 pub fn combat_npc_trainer(&self) -> accessor::CombatNpcTrainerAccessor<'_> {
1595 accessor::CombatNpcTrainerAccessor {
1596 entries: &self.entries,
1597 index: &self.groups.combat_npc_trainer_index,
1598 order: &self.groups.combat_npc_trainer_order,
1599 }
1600 }
1601
1602 pub fn combat_ranking_proto_settings(
1603 &self,
1604 ) -> accessor::CombatRankingProtoSettingsAccessor<'_> {
1605 accessor::CombatRankingProtoSettingsAccessor {
1606 entries: &self.entries,
1607 index: &self.groups.combat_ranking_proto_settings_index,
1608 order: &self.groups.combat_ranking_proto_settings_order,
1609 }
1610 }
1611
1612 pub fn combat_type(&self) -> accessor::CombatTypeAccessor<'_> {
1613 accessor::CombatTypeAccessor {
1614 entries: &self.entries,
1615 index: &self.groups.combat_type_index,
1616 order: &self.groups.combat_type_order,
1617 }
1618 }
1619
1620 pub fn event_pass_settings(&self) -> accessor::EventPassSettingsAccessor<'_> {
1621 accessor::EventPassSettingsAccessor {
1622 entries: &self.entries,
1623 index: &self.groups.event_pass_settings_index,
1624 order: &self.groups.event_pass_settings_order,
1625 }
1626 }
1627
1628 pub fn event_pass_tier_settings(&self) -> accessor::EventPassTierSettingsAccessor<'_> {
1629 accessor::EventPassTierSettingsAccessor {
1630 entries: &self.entries,
1631 index: &self.groups.event_pass_tier_settings_index,
1632 order: &self.groups.event_pass_tier_settings_order,
1633 }
1634 }
1635
1636 pub fn evolution_chain_display_settings(
1637 &self,
1638 ) -> accessor::EvolutionChainDisplaySettingsAccessor<'_> {
1639 accessor::EvolutionChainDisplaySettingsAccessor {
1640 entries: &self.entries,
1641 index: &self.groups.evolution_chain_display_settings_index,
1642 order: &self.groups.evolution_chain_display_settings_order,
1643 }
1644 }
1645
1646 pub fn evolution_quest_template(&self) -> accessor::EvolutionQuestTemplateAccessor<'_> {
1647 accessor::EvolutionQuestTemplateAccessor {
1648 entries: &self.entries,
1649 index: &self.groups.evolution_quest_template_index,
1650 order: &self.groups.evolution_quest_template_order,
1651 }
1652 }
1653
1654 pub fn feature_gate(&self) -> accessor::FeatureGateAccessor<'_> {
1655 accessor::FeatureGateAccessor {
1656 entries: &self.entries,
1657 index: &self.groups.feature_gate_index,
1658 order: &self.groups.feature_gate_order,
1659 }
1660 }
1661
1662 pub fn form_settings(&self) -> accessor::FormSettingsAccessor<'_> {
1663 accessor::FormSettingsAccessor {
1664 entries: &self.entries,
1665 index: &self.groups.form_settings_index,
1666 order: &self.groups.form_settings_order,
1667 }
1668 }
1669
1670 pub fn fort_power_up_level_settings(&self) -> accessor::FortPowerUpLevelSettingsAccessor<'_> {
1671 accessor::FortPowerUpLevelSettingsAccessor {
1672 entries: &self.entries,
1673 index: &self.groups.fort_power_up_level_settings_index,
1674 order: &self.groups.fort_power_up_level_settings_order,
1675 }
1676 }
1677
1678 pub fn friendship_milestone_settings(
1679 &self,
1680 ) -> accessor::FriendshipMilestoneSettingsAccessor<'_> {
1681 accessor::FriendshipMilestoneSettingsAccessor {
1682 entries: &self.entries,
1683 index: &self.groups.friendship_milestone_settings_index,
1684 order: &self.groups.friendship_milestone_settings_order,
1685 }
1686 }
1687
1688 pub fn gender_settings(&self) -> accessor::GenderSettingsAccessor<'_> {
1689 accessor::GenderSettingsAccessor {
1690 entries: &self.entries,
1691 index: &self.groups.gender_settings_index,
1692 order: &self.groups.gender_settings_order,
1693 }
1694 }
1695
1696 pub fn iap_category_display(&self) -> accessor::IapCategoryDisplayAccessor<'_> {
1697 accessor::IapCategoryDisplayAccessor {
1698 entries: &self.entries,
1699 index: &self.groups.iap_category_display_index,
1700 order: &self.groups.iap_category_display_order,
1701 }
1702 }
1703
1704 pub fn iap_item_display(&self) -> accessor::IapItemDisplayAccessor<'_> {
1705 accessor::IapItemDisplayAccessor {
1706 entries: &self.entries,
1707 index: &self.groups.iap_item_display_index,
1708 order: &self.groups.iap_item_display_order,
1709 }
1710 }
1711
1712 pub fn invasion_npc_display_settings(
1713 &self,
1714 ) -> accessor::InvasionNpcDisplaySettingsAccessor<'_> {
1715 accessor::InvasionNpcDisplaySettingsAccessor {
1716 entries: &self.entries,
1717 index: &self.groups.invasion_npc_display_settings_index,
1718 order: &self.groups.invasion_npc_display_settings_order,
1719 }
1720 }
1721
1722 pub fn item_expiration_settings(&self) -> accessor::ItemExpirationSettingsAccessor<'_> {
1723 accessor::ItemExpirationSettingsAccessor {
1724 entries: &self.entries,
1725 index: &self.groups.item_expiration_settings_index,
1726 order: &self.groups.item_expiration_settings_order,
1727 }
1728 }
1729
1730 pub fn item_settings(&self) -> accessor::ItemSettingsAccessor<'_> {
1731 accessor::ItemSettingsAccessor {
1732 entries: &self.entries,
1733 index: &self.groups.item_settings_index,
1734 order: &self.groups.item_settings_order,
1735 }
1736 }
1737
1738 pub fn language_settings(&self) -> accessor::LanguageSettingsAccessor<'_> {
1739 accessor::LanguageSettingsAccessor {
1740 entries: &self.entries,
1741 index: &self.groups.language_settings_index,
1742 order: &self.groups.language_settings_order,
1743 }
1744 }
1745
1746 pub fn level_up_rewards(&self) -> accessor::LevelUpRewardsAccessor<'_> {
1747 accessor::LevelUpRewardsAccessor {
1748 entries: &self.entries,
1749 index: &self.groups.level_up_rewards_index,
1750 order: &self.groups.level_up_rewards_order,
1751 }
1752 }
1753
1754 pub fn limited_purchase_sku_settings(
1755 &self,
1756 ) -> accessor::LimitedPurchaseSkuSettingsAccessor<'_> {
1757 accessor::LimitedPurchaseSkuSettingsAccessor {
1758 entries: &self.entries,
1759 index: &self.groups.limited_purchase_sku_settings_index,
1760 order: &self.groups.limited_purchase_sku_settings_order,
1761 }
1762 }
1763
1764 pub fn location_card_settings(&self) -> accessor::LocationCardSettingsAccessor<'_> {
1765 accessor::LocationCardSettingsAccessor {
1766 entries: &self.entries,
1767 index: &self.groups.location_card_settings_index,
1768 order: &self.groups.location_card_settings_order,
1769 }
1770 }
1771
1772 pub fn mega_evo_level_settings(&self) -> accessor::MegaEvoLevelSettingsAccessor<'_> {
1773 accessor::MegaEvoLevelSettingsAccessor {
1774 entries: &self.entries,
1775 index: &self.groups.mega_evo_level_settings_index,
1776 order: &self.groups.mega_evo_level_settings_order,
1777 }
1778 }
1779
1780 pub fn move_sequence_settings(&self) -> accessor::MoveSequenceSettingsAccessor<'_> {
1781 accessor::MoveSequenceSettingsAccessor {
1782 entries: &self.entries,
1783 index: &self.groups.move_sequence_settings_index,
1784 order: &self.groups.move_sequence_settings_order,
1785 }
1786 }
1787
1788 pub fn move_settings(&self) -> accessor::MoveSettingsAccessor<'_> {
1789 accessor::MoveSettingsAccessor {
1790 entries: &self.entries,
1791 index: &self.groups.move_settings_index,
1792 order: &self.groups.move_settings_order,
1793 }
1794 }
1795
1796 pub fn non_combat_move_settings(&self) -> accessor::NonCombatMoveSettingsAccessor<'_> {
1797 accessor::NonCombatMoveSettingsAccessor {
1798 entries: &self.entries,
1799 index: &self.groups.non_combat_move_settings_index,
1800 order: &self.groups.non_combat_move_settings_order,
1801 }
1802 }
1803
1804 pub fn party_play_general_settings(&self) -> accessor::PartyPlayGeneralSettingsAccessor<'_> {
1805 accessor::PartyPlayGeneralSettingsAccessor {
1806 entries: &self.entries,
1807 index: &self.groups.party_play_general_settings_index,
1808 order: &self.groups.party_play_general_settings_order,
1809 }
1810 }
1811
1812 pub fn photo_sets_settings_proto(&self) -> accessor::PhotoSetsSettingsProtoAccessor<'_> {
1813 accessor::PhotoSetsSettingsProtoAccessor {
1814 entries: &self.entries,
1815 index: &self.groups.photo_sets_settings_proto_index,
1816 order: &self.groups.photo_sets_settings_proto_order,
1817 }
1818 }
1819
1820 pub fn pokemon_extended_settings(&self) -> accessor::PokemonExtendedSettingsAccessor<'_> {
1821 accessor::PokemonExtendedSettingsAccessor {
1822 entries: &self.entries,
1823 index: &self.groups.pokemon_extended_settings_index,
1824 order: &self.groups.pokemon_extended_settings_order,
1825 }
1826 }
1827
1828 pub fn pokemon_family(&self) -> accessor::PokemonFamilyAccessor<'_> {
1829 accessor::PokemonFamilyAccessor {
1830 entries: &self.entries,
1831 index: &self.groups.pokemon_family_index,
1832 order: &self.groups.pokemon_family_order,
1833 }
1834 }
1835
1836 pub fn pokemon_home_energy_costs(&self) -> accessor::PokemonHomeEnergyCostsAccessor<'_> {
1837 accessor::PokemonHomeEnergyCostsAccessor {
1838 entries: &self.entries,
1839 index: &self.groups.pokemon_home_energy_costs_index,
1840 order: &self.groups.pokemon_home_energy_costs_order,
1841 }
1842 }
1843
1844 pub fn pokemon_home_form_reversions(&self) -> accessor::PokemonHomeFormReversionsAccessor<'_> {
1845 accessor::PokemonHomeFormReversionsAccessor {
1846 entries: &self.entries,
1847 index: &self.groups.pokemon_home_form_reversions_index,
1848 order: &self.groups.pokemon_home_form_reversions_order,
1849 }
1850 }
1851
1852 pub fn pokemon_scale_settings(&self) -> accessor::PokemonScaleSettingsAccessor<'_> {
1853 accessor::PokemonScaleSettingsAccessor {
1854 entries: &self.entries,
1855 index: &self.groups.pokemon_scale_settings_index,
1856 order: &self.groups.pokemon_scale_settings_order,
1857 }
1858 }
1859
1860 pub fn pokemon_settings(&self) -> accessor::PokemonSettingsAccessor<'_> {
1861 accessor::PokemonSettingsAccessor {
1862 entries: &self.entries,
1863 index: &self.groups.pokemon_settings_index,
1864 order: &self.groups.pokemon_settings_order,
1865 }
1866 }
1867
1868 pub fn pokemon_upgrades(&self) -> accessor::PokemonUpgradesAccessor<'_> {
1869 accessor::PokemonUpgradesAccessor {
1870 entries: &self.entries,
1871 index: &self.groups.pokemon_upgrades_index,
1872 order: &self.groups.pokemon_upgrades_order,
1873 }
1874 }
1875
1876 pub fn pokestop_invasion_availability_settings(
1877 &self,
1878 ) -> accessor::PokestopInvasionAvailabilitySettingsAccessor<'_> {
1879 accessor::PokestopInvasionAvailabilitySettingsAccessor {
1880 entries: &self.entries,
1881 index: &self.groups.pokestop_invasion_availability_settings_index,
1882 order: &self.groups.pokestop_invasion_availability_settings_order,
1883 }
1884 }
1885
1886 pub fn quest_settings(&self) -> accessor::QuestSettingsAccessor<'_> {
1887 accessor::QuestSettingsAccessor {
1888 entries: &self.entries,
1889 index: &self.groups.quest_settings_index,
1890 order: &self.groups.quest_settings_order,
1891 }
1892 }
1893
1894 pub fn recommended_search_settings(&self) -> accessor::RecommendedSearchSettingsAccessor<'_> {
1895 accessor::RecommendedSearchSettingsAccessor {
1896 entries: &self.entries,
1897 index: &self.groups.recommended_search_settings_index,
1898 order: &self.groups.recommended_search_settings_order,
1899 }
1900 }
1901
1902 pub fn roll_back(&self) -> accessor::RollBackAccessor<'_> {
1903 accessor::RollBackAccessor {
1904 entries: &self.entries,
1905 index: &self.groups.roll_back_index,
1906 order: &self.groups.roll_back_order,
1907 }
1908 }
1909
1910 pub fn settings_override_rule(&self) -> accessor::SettingsOverrideRuleAccessor<'_> {
1911 accessor::SettingsOverrideRuleAccessor {
1912 entries: &self.entries,
1913 index: &self.groups.settings_override_rule_index,
1914 order: &self.groups.settings_override_rule_order,
1915 }
1916 }
1917
1918 pub fn sticker_metadata(&self) -> accessor::StickerMetadataAccessor<'_> {
1919 accessor::StickerMetadataAccessor {
1920 entries: &self.entries,
1921 index: &self.groups.sticker_metadata_index,
1922 order: &self.groups.sticker_metadata_order,
1923 }
1924 }
1925
1926 pub fn tappable_settings(&self) -> accessor::TappableSettingsAccessor<'_> {
1927 accessor::TappableSettingsAccessor {
1928 entries: &self.entries,
1929 index: &self.groups.tappable_settings_index,
1930 order: &self.groups.tappable_settings_order,
1931 }
1932 }
1933
1934 pub fn temporary_evolution_settings(&self) -> accessor::TemporaryEvolutionSettingsAccessor<'_> {
1935 accessor::TemporaryEvolutionSettingsAccessor {
1936 entries: &self.entries,
1937 index: &self.groups.temporary_evolution_settings_index,
1938 order: &self.groups.temporary_evolution_settings_order,
1939 }
1940 }
1941
1942 pub fn type_effective(&self) -> accessor::TypeEffectiveAccessor<'_> {
1943 accessor::TypeEffectiveAccessor {
1944 entries: &self.entries,
1945 index: &self.groups.type_effective_index,
1946 order: &self.groups.type_effective_order,
1947 }
1948 }
1949
1950 pub fn vs_seeker_loot(&self) -> accessor::VsSeekerLootAccessor<'_> {
1951 accessor::VsSeekerLootAccessor {
1952 entries: &self.entries,
1953 index: &self.groups.vs_seeker_loot_index,
1954 order: &self.groups.vs_seeker_loot_order,
1955 }
1956 }
1957
1958 pub fn vs_seeker_pokemon_rewards(&self) -> accessor::VsSeekerPokemonRewardsAccessor<'_> {
1959 accessor::VsSeekerPokemonRewardsAccessor {
1960 entries: &self.entries,
1961 index: &self.groups.vs_seeker_pokemon_rewards_index,
1962 order: &self.groups.vs_seeker_pokemon_rewards_order,
1963 }
1964 }
1965
1966 pub fn weather_affinities(&self) -> accessor::WeatherAffinitiesAccessor<'_> {
1967 accessor::WeatherAffinitiesAccessor {
1968 entries: &self.entries,
1969 index: &self.groups.weather_affinities_index,
1970 order: &self.groups.weather_affinities_order,
1971 }
1972 }
1973}