55import java .util .List ;
66import java .util .Map ;
77
8- import POGOProtos .Enums .PokemonIdOuterClass ;
98
9+ import static POGOProtos .Enums .PokemonIdOuterClass .*;
1010import static POGOProtos .Enums .PokemonIdOuterClass .PokemonId .ABRA ;
1111import static POGOProtos .Enums .PokemonIdOuterClass .PokemonId .AERODACTYL ;
1212import static POGOProtos .Enums .PokemonIdOuterClass .PokemonId .ALAKAZAM ;
161161import static java .util .Arrays .asList ;
162162
163163class EvolutionInfo {
164- private static final PokemonIdOuterClass . PokemonId [] BULBASAUR_EVOLUTION = {BULBASAUR , IVYSAUR , VENUSAUR };
165- private static final PokemonIdOuterClass . PokemonId [] CHARMANDER_EVOLUTION = {CHARMANDER , CHARMELEON , CHARIZARD };
166- private static final PokemonIdOuterClass . PokemonId [] SQUIRTLE_EVOLUTION = {SQUIRTLE , WARTORTLE , BLASTOISE };
167- private static final PokemonIdOuterClass . PokemonId [] CATERPIE_EVOLUTION = {CATERPIE , METAPOD , BUTTERFREE };
168- private static final PokemonIdOuterClass . PokemonId [] WEEDLE_EVOLUTION = {WEEDLE , KAKUNA , BEEDRILL };
169- private static final PokemonIdOuterClass . PokemonId [] PIDGEY_EVOLUTION = {PIDGEY , PIDGEOTTO , PIDGEOT };
170- private static final PokemonIdOuterClass . PokemonId [] RATTATA_EVOLUTION = {RATTATA , RATICATE };
171- private static final PokemonIdOuterClass . PokemonId [] SPEAROW_EVOLUTION = {SPEAROW , FEAROW };
172- private static final PokemonIdOuterClass . PokemonId [] EKANS_EVOLUTION = {EKANS , ARBOK };
173- private static final PokemonIdOuterClass . PokemonId [] PIKACHU_EVOLUTION = {PIKACHU , RAICHU };
174- private static final PokemonIdOuterClass . PokemonId [] SANDSHREW_EVOLUTION = {SANDSHREW , SANDSLASH };
175- private static final PokemonIdOuterClass . PokemonId [] NIDORAN_FEMALE_EVOLUTION = {NIDORAN_FEMALE , NIDORINA , NIDOQUEEN };
176- private static final PokemonIdOuterClass . PokemonId [] NIDORAN_MALE_EVOLUTION = {NIDORAN_MALE , NIDORINO , NIDOKING };
177- private static final PokemonIdOuterClass . PokemonId [] CLEFAIRY_EVOLUTION = {CLEFAIRY , CLEFABLE };
178- private static final PokemonIdOuterClass . PokemonId [] VULPIX_EVOLUTION = {VULPIX , NINETALES };
179- private static final PokemonIdOuterClass . PokemonId [] JIGGLYPUFF_EVOLUTION = {JIGGLYPUFF , WIGGLYTUFF };
180- private static final PokemonIdOuterClass . PokemonId [] ZUBAT_EVOLUTION = {ZUBAT , GOLBAT };
181- private static final PokemonIdOuterClass . PokemonId [] ODDISH_EVOLUTION = {ODDISH , GLOOM , VILEPLUME };
182- private static final PokemonIdOuterClass . PokemonId [] PARAS_EVOLUTION = {PARAS , PARASECT };
183- private static final PokemonIdOuterClass . PokemonId [] VENONAT_EVOLUTION = {VENONAT , VENOMOTH };
184- private static final PokemonIdOuterClass . PokemonId [] DIGLETT_EVOLUTION = {DIGLETT , DUGTRIO };
185- private static final PokemonIdOuterClass . PokemonId [] MEOWTH_EVOLUTION = {MEOWTH , PERSIAN };
186- private static final PokemonIdOuterClass . PokemonId [] PSYDUCK_EVOLUTION = {PSYDUCK , GOLDUCK };
187- private static final PokemonIdOuterClass . PokemonId [] MANKEY_EVOLUTION = {MANKEY , PRIMEAPE };
188- private static final PokemonIdOuterClass . PokemonId [] GROWLITHE_EVOLUTION = {GROWLITHE , ARCANINE };
189- private static final PokemonIdOuterClass . PokemonId [] POLIWAG_EVOLUTION = {POLIWAG , POLIWHIRL , POLIWRATH };
190- private static final PokemonIdOuterClass . PokemonId [] ABRA_EVOLUTION = {ABRA , KADABRA , ALAKAZAM };
191- private static final PokemonIdOuterClass . PokemonId [] MACHOP_EVOLUTION = {MACHOP , MACHOKE , MACHAMP };
192- private static final PokemonIdOuterClass . PokemonId [] BELLSPROUT_EVOLUTION = {BELLSPROUT , WEEPINBELL , VICTREEBEL };
193- private static final PokemonIdOuterClass . PokemonId [] TENTACOOL_EVOLUTION = {TENTACOOL , TENTACRUEL };
194- private static final PokemonIdOuterClass . PokemonId [] GEODUDE_EVOLUTION = {GEODUDE , GRAVELER , GOLEM };
195- private static final PokemonIdOuterClass . PokemonId [] PONYTA_EVOLUTION = {PONYTA , RAPIDASH };
196- private static final PokemonIdOuterClass . PokemonId [] SLOWPOKE_EVOLUTION = {SLOWPOKE , SLOWBRO };
197- private static final PokemonIdOuterClass . PokemonId [] MAGNEMITE_EVOLUTION = {MAGNEMITE , MAGNETON };
198- private static final PokemonIdOuterClass . PokemonId [] FARFETCHD_EVOLUTION = {FARFETCHD };
199- private static final PokemonIdOuterClass . PokemonId [] DODUO_EVOLUTION = {DODUO , DODRIO };
200- private static final PokemonIdOuterClass . PokemonId [] SEEL_EVOLUTION = {SEEL , DEWGONG };
201- private static final PokemonIdOuterClass . PokemonId [] GRIMER_EVOLUTION = {GRIMER , MUK };
202- private static final PokemonIdOuterClass . PokemonId [] SHELLDER_EVOLUTION = {SHELLDER , CLOYSTER };
203- private static final PokemonIdOuterClass . PokemonId [] GASTLY_EVOLUTION = {GASTLY , HAUNTER , GENGAR };
204- private static final PokemonIdOuterClass . PokemonId [] ONIX_EVOLUTION = {ONIX };
205- private static final PokemonIdOuterClass . PokemonId [] DROWZEE_EVOLUTION = {DROWZEE , HYPNO };
206- private static final PokemonIdOuterClass . PokemonId [] KRABBY_EVOLUTION = {KRABBY , KINGLER };
207- private static final PokemonIdOuterClass . PokemonId [] VOLTORB_EVOLUTION = {VOLTORB , ELECTRODE };
208- private static final PokemonIdOuterClass . PokemonId [] EXEGGCUTE_EVOLUTION = {EXEGGCUTE , EXEGGUTOR };
209- private static final PokemonIdOuterClass . PokemonId [] CUBONE_EVOLUTION = {CUBONE , MAROWAK };
210- private static final PokemonIdOuterClass . PokemonId [] HITMONLEE_EVOLUTION = {HITMONLEE , HITMONCHAN };
211- private static final PokemonIdOuterClass . PokemonId [] LICKITUNG_EVOLUTION = {LICKITUNG };
212- private static final PokemonIdOuterClass . PokemonId [] KOFFING_EVOLUTION = {KOFFING , WEEZING };
213- private static final PokemonIdOuterClass . PokemonId [] RHYHORN_EVOLUTION = {RHYHORN , RHYDON };
214- private static final PokemonIdOuterClass . PokemonId [] CHANSEY_EVOLUTION = {CHANSEY };
215- private static final PokemonIdOuterClass . PokemonId [] TANGELA_EVOLUTION = {TANGELA };
216- private static final PokemonIdOuterClass . PokemonId [] KANGASKHAN_EVOLUTION = {KANGASKHAN };
217- private static final PokemonIdOuterClass . PokemonId [] HORSEA_EVOLUTION = {HORSEA , SEADRA };
218- private static final PokemonIdOuterClass . PokemonId [] GOLDEEN_EVOLUTION = {GOLDEEN , SEAKING };
219- private static final PokemonIdOuterClass . PokemonId [] STARYU_EVOLUTION = {STARYU , STARMIE };
220- private static final PokemonIdOuterClass . PokemonId [] MR_MIME_EVOLUTION = {MR_MIME };
221- private static final PokemonIdOuterClass . PokemonId [] SCYTHER_EVOLUTION = {SCYTHER };
222- private static final PokemonIdOuterClass . PokemonId [] JYNX_EVOLUTION = {JYNX };
223- private static final PokemonIdOuterClass . PokemonId [] ELECTABUZZ_EVOLUTION = {ELECTABUZZ };
224- private static final PokemonIdOuterClass . PokemonId [] MAGMAR_EVOLUTION = {MAGMAR };
225- private static final PokemonIdOuterClass . PokemonId [] PINSIR_EVOLUTION = {PINSIR };
226- private static final PokemonIdOuterClass . PokemonId [] TAUROS_EVOLUTION = {TAUROS };
227- private static final PokemonIdOuterClass . PokemonId [] MAGIKARP_EVOLUTION = {MAGIKARP , GYARADOS };
228- private static final PokemonIdOuterClass . PokemonId [] LAPRAS_EVOLUTION = {LAPRAS };
229- private static final PokemonIdOuterClass . PokemonId [] DITTO_EVOLUTION = {DITTO };
164+ private static final PokemonId [] BULBASAUR_EVOLUTION = {BULBASAUR , IVYSAUR , VENUSAUR };
165+ private static final PokemonId [] CHARMANDER_EVOLUTION = {CHARMANDER , CHARMELEON , CHARIZARD };
166+ private static final PokemonId [] SQUIRTLE_EVOLUTION = {SQUIRTLE , WARTORTLE , BLASTOISE };
167+ private static final PokemonId [] CATERPIE_EVOLUTION = {CATERPIE , METAPOD , BUTTERFREE };
168+ private static final PokemonId [] WEEDLE_EVOLUTION = {WEEDLE , KAKUNA , BEEDRILL };
169+ private static final PokemonId [] PIDGEY_EVOLUTION = {PIDGEY , PIDGEOTTO , PIDGEOT };
170+ private static final PokemonId [] RATTATA_EVOLUTION = {RATTATA , RATICATE };
171+ private static final PokemonId [] SPEAROW_EVOLUTION = {SPEAROW , FEAROW };
172+ private static final PokemonId [] EKANS_EVOLUTION = {EKANS , ARBOK };
173+ private static final PokemonId [] PIKACHU_EVOLUTION = {PIKACHU , RAICHU };
174+ private static final PokemonId [] SANDSHREW_EVOLUTION = {SANDSHREW , SANDSLASH };
175+ private static final PokemonId [] NIDORAN_FEMALE_EVOLUTION = {NIDORAN_FEMALE , NIDORINA , NIDOQUEEN };
176+ private static final PokemonId [] NIDORAN_MALE_EVOLUTION = {NIDORAN_MALE , NIDORINO , NIDOKING };
177+ private static final PokemonId [] CLEFAIRY_EVOLUTION = {CLEFAIRY , CLEFABLE };
178+ private static final PokemonId [] VULPIX_EVOLUTION = {VULPIX , NINETALES };
179+ private static final PokemonId [] JIGGLYPUFF_EVOLUTION = {JIGGLYPUFF , WIGGLYTUFF };
180+ private static final PokemonId [] ZUBAT_EVOLUTION = {ZUBAT , GOLBAT };
181+ private static final PokemonId [] ODDISH_EVOLUTION = {ODDISH , GLOOM , VILEPLUME };
182+ private static final PokemonId [] PARAS_EVOLUTION = {PARAS , PARASECT };
183+ private static final PokemonId [] VENONAT_EVOLUTION = {VENONAT , VENOMOTH };
184+ private static final PokemonId [] DIGLETT_EVOLUTION = {DIGLETT , DUGTRIO };
185+ private static final PokemonId [] MEOWTH_EVOLUTION = {MEOWTH , PERSIAN };
186+ private static final PokemonId [] PSYDUCK_EVOLUTION = {PSYDUCK , GOLDUCK };
187+ private static final PokemonId [] MANKEY_EVOLUTION = {MANKEY , PRIMEAPE };
188+ private static final PokemonId [] GROWLITHE_EVOLUTION = {GROWLITHE , ARCANINE };
189+ private static final PokemonId [] POLIWAG_EVOLUTION = {POLIWAG , POLIWHIRL , POLIWRATH };
190+ private static final PokemonId [] ABRA_EVOLUTION = {ABRA , KADABRA , ALAKAZAM };
191+ private static final PokemonId [] MACHOP_EVOLUTION = {MACHOP , MACHOKE , MACHAMP };
192+ private static final PokemonId [] BELLSPROUT_EVOLUTION = {BELLSPROUT , WEEPINBELL , VICTREEBEL };
193+ private static final PokemonId [] TENTACOOL_EVOLUTION = {TENTACOOL , TENTACRUEL };
194+ private static final PokemonId [] GEODUDE_EVOLUTION = {GEODUDE , GRAVELER , GOLEM };
195+ private static final PokemonId [] PONYTA_EVOLUTION = {PONYTA , RAPIDASH };
196+ private static final PokemonId [] SLOWPOKE_EVOLUTION = {SLOWPOKE , SLOWBRO };
197+ private static final PokemonId [] MAGNEMITE_EVOLUTION = {MAGNEMITE , MAGNETON };
198+ private static final PokemonId [] FARFETCHD_EVOLUTION = {FARFETCHD };
199+ private static final PokemonId [] DODUO_EVOLUTION = {DODUO , DODRIO };
200+ private static final PokemonId [] SEEL_EVOLUTION = {SEEL , DEWGONG };
201+ private static final PokemonId [] GRIMER_EVOLUTION = {GRIMER , MUK };
202+ private static final PokemonId [] SHELLDER_EVOLUTION = {SHELLDER , CLOYSTER };
203+ private static final PokemonId [] GASTLY_EVOLUTION = {GASTLY , HAUNTER , GENGAR };
204+ private static final PokemonId [] ONIX_EVOLUTION = {ONIX };
205+ private static final PokemonId [] DROWZEE_EVOLUTION = {DROWZEE , HYPNO };
206+ private static final PokemonId [] KRABBY_EVOLUTION = {KRABBY , KINGLER };
207+ private static final PokemonId [] VOLTORB_EVOLUTION = {VOLTORB , ELECTRODE };
208+ private static final PokemonId [] EXEGGCUTE_EVOLUTION = {EXEGGCUTE , EXEGGUTOR };
209+ private static final PokemonId [] CUBONE_EVOLUTION = {CUBONE , MAROWAK };
210+ private static final PokemonId [] HITMONLEE_EVOLUTION = {HITMONLEE , HITMONCHAN };
211+ private static final PokemonId [] LICKITUNG_EVOLUTION = {LICKITUNG };
212+ private static final PokemonId [] KOFFING_EVOLUTION = {KOFFING , WEEZING };
213+ private static final PokemonId [] RHYHORN_EVOLUTION = {RHYHORN , RHYDON };
214+ private static final PokemonId [] CHANSEY_EVOLUTION = {CHANSEY };
215+ private static final PokemonId [] TANGELA_EVOLUTION = {TANGELA };
216+ private static final PokemonId [] KANGASKHAN_EVOLUTION = {KANGASKHAN };
217+ private static final PokemonId [] HORSEA_EVOLUTION = {HORSEA , SEADRA };
218+ private static final PokemonId [] GOLDEEN_EVOLUTION = {GOLDEEN , SEAKING };
219+ private static final PokemonId [] STARYU_EVOLUTION = {STARYU , STARMIE };
220+ private static final PokemonId [] MR_MIME_EVOLUTION = {MR_MIME };
221+ private static final PokemonId [] SCYTHER_EVOLUTION = {SCYTHER };
222+ private static final PokemonId [] JYNX_EVOLUTION = {JYNX };
223+ private static final PokemonId [] ELECTABUZZ_EVOLUTION = {ELECTABUZZ };
224+ private static final PokemonId [] MAGMAR_EVOLUTION = {MAGMAR };
225+ private static final PokemonId [] PINSIR_EVOLUTION = {PINSIR };
226+ private static final PokemonId [] TAUROS_EVOLUTION = {TAUROS };
227+ private static final PokemonId [] MAGIKARP_EVOLUTION = {MAGIKARP , GYARADOS };
228+ private static final PokemonId [] LAPRAS_EVOLUTION = {LAPRAS };
229+ private static final PokemonId [] DITTO_EVOLUTION = {DITTO };
230230
231231 // needs to be handled exceptionally
232- private static final PokemonIdOuterClass . PokemonId [] EEVEE_EVOLUTION = {EEVEE , VAPOREON , JOLTEON , FLAREON };
232+ private static final PokemonId [] EEVEE_EVOLUTION = {EEVEE , VAPOREON , JOLTEON , FLAREON };
233233
234- private static final PokemonIdOuterClass . PokemonId [] PORYGON_EVOLUTION = {PORYGON };
235- private static final PokemonIdOuterClass . PokemonId [] OMANYTE_EVOLUTION = {OMANYTE , OMASTAR };
236- private static final PokemonIdOuterClass . PokemonId [] KABUTO_EVOLUTION = {KABUTO , KABUTOPS };
237- private static final PokemonIdOuterClass . PokemonId [] AERODACTYL_EVOLUTION = {AERODACTYL };
238- private static final PokemonIdOuterClass . PokemonId [] SNORLAX_EVOLUTION = {SNORLAX };
239- private static final PokemonIdOuterClass . PokemonId [] ARTICUNO_EVOLUTION = {ARTICUNO };
240- private static final PokemonIdOuterClass . PokemonId [] ZAPDOS_EVOLUTION = {ZAPDOS };
241- private static final PokemonIdOuterClass . PokemonId [] MOLTRES_EVOLUTION = {MOLTRES };
242- private static final PokemonIdOuterClass . PokemonId [] DRATINI_EVOLUTION = {DRATINI , DRAGONAIR , DRAGONITE };
243- private static final PokemonIdOuterClass . PokemonId [] MEWTWO_EVOLUTION = {MEWTWO };
244- private static final PokemonIdOuterClass . PokemonId [] MEW_EVOLUTION = {MEW };
234+ private static final PokemonId [] PORYGON_EVOLUTION = {PORYGON };
235+ private static final PokemonId [] OMANYTE_EVOLUTION = {OMANYTE , OMASTAR };
236+ private static final PokemonId [] KABUTO_EVOLUTION = {KABUTO , KABUTOPS };
237+ private static final PokemonId [] AERODACTYL_EVOLUTION = {AERODACTYL };
238+ private static final PokemonId [] SNORLAX_EVOLUTION = {SNORLAX };
239+ private static final PokemonId [] ARTICUNO_EVOLUTION = {ARTICUNO };
240+ private static final PokemonId [] ZAPDOS_EVOLUTION = {ZAPDOS };
241+ private static final PokemonId [] MOLTRES_EVOLUTION = {MOLTRES };
242+ private static final PokemonId [] DRATINI_EVOLUTION = {DRATINI , DRAGONAIR , DRAGONITE };
243+ private static final PokemonId [] MEWTWO_EVOLUTION = {MEWTWO };
244+ private static final PokemonId [] MEW_EVOLUTION = {MEW };
245245
246- private static final Map <PokemonIdOuterClass . PokemonId , PokemonIdOuterClass . PokemonId []> EVOLUTION_INFO = new HashMap <>();
246+ private static final Map <PokemonId , PokemonId []> EVOLUTION_INFO = new HashMap <>();
247247
248248 static {
249249 EVOLUTION_INFO .put (BULBASAUR , BULBASAUR_EVOLUTION );
@@ -408,9 +408,9 @@ class EvolutionInfo {
408408 * @param pokemonId pokemon id
409409 * @return ordered evolution forms
410410 */
411- public static List <EvolutionForm > getEvolutionForms (PokemonIdOuterClass . PokemonId pokemonId ) {
411+ public static List <EvolutionForm > getEvolutionForms (PokemonId pokemonId ) {
412412 List <EvolutionForm > evolutionForms = new ArrayList <>();
413- for (PokemonIdOuterClass . PokemonId id : EVOLUTION_INFO .get (pokemonId )) {
413+ for (PokemonId id : EVOLUTION_INFO .get (pokemonId )) {
414414 evolutionForms .add (new EvolutionForm (id ));
415415 }
416416 return evolutionForms ;
@@ -422,8 +422,8 @@ public static List<EvolutionForm> getEvolutionForms(PokemonIdOuterClass.PokemonI
422422 * @param pokemonId pokemon id
423423 * @return true if a pokemon is fully evolved, false otherwise
424424 */
425- public static boolean isFullyEvolved (PokemonIdOuterClass . PokemonId pokemonId ) {
426- PokemonIdOuterClass . PokemonId [] info = EVOLUTION_INFO .get (pokemonId );
425+ public static boolean isFullyEvolved (PokemonId pokemonId ) {
426+ PokemonId [] info = EVOLUTION_INFO .get (pokemonId );
427427 return info [info .length ] == pokemonId ;
428428 }
429429
@@ -433,7 +433,7 @@ public static boolean isFullyEvolved(PokemonIdOuterClass.PokemonId pokemonId) {
433433 * @param pokemonId pokemon id
434434 * @return 0 based evolution stage number
435435 */
436- public static int getEvolutionStage (PokemonIdOuterClass . PokemonId pokemonId ) {
436+ public static int getEvolutionStage (PokemonId pokemonId ) {
437437 return asList (VAPOREON , JOLTEON , FLAREON ).contains (pokemonId )
438438 ? 1
439439 : asList (EVOLUTION_INFO .get (pokemonId )).indexOf (pokemonId );
0 commit comments