Class BreedingLogicProxy
java.lang.Object
com.pixelmonmod.pixelmon.api.pokemon.egg.BreedingLogicProxy
Static proxy for using the
BreedingLogicProxy
instance- Since:
- 24/06/2022
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Species
calculateSpecies
(Pokemon parentOne, Pokemon parentTwo) Calculates the species created by the two parent Pokemonsstatic boolean
Checks if the two Pokemon can breedstatic boolean
canLearnVoltTackle
(Species species, Pokemon parentOne, Pokemon parentTwo) If the pokemon can learn volt tackle movestatic Pokemon
findFather
(Pokemon parentOne, Pokemon parentTwo) Obtains the father of the two parentsstatic Pokemon
findMother
(Pokemon parentOne, Pokemon parentTwo) Obtains the mother of the two parentsstatic Ability
getEggAbility
(Stats form, Pokemon parentOne, Pokemon parentTwo) Calculates the new Ability for the Pokemon from the two parentsstatic List<ImmutableAttack>
getEggMoves
(Stats egg, Pokemon parent, Set<ImmutableAttack> allEggMoves) Gets the egg movesstatic Moveset
getEggMoveset
(Stats egg, Pokemon parentOne, Pokemon parentTwo) Calculates the egg move setstatic double
getEggSize
(Pokemon parentOne, Pokemon parentTwo) Calculates the new size for the Pokemon from the two parentsstatic List<ImmutableAttack>
getFathersTMHMTutorMoves
(Stats egg, Pokemon father) Gets the father's TM, HM and Tutor movesstatic Moveset
getFirstFourMoves
(List<ImmutableAttack> masterAttackList) Gets the first four moves from the attack list givenstatic BreedingLogicFactory
Gets the breeding logic instancestatic IVStore
getIVsForEgg
(Pokemon parentOne, Pokemon parentTwo) Calculates the new IVs for the Pokemon from the two parentsstatic Nature
getNatureForEgg
(Pokemon parentOne, Pokemon parentTwo) Calculates the new Nature for the Pokemon from the two parentsstatic PokeBall
getPokeBall
(Pokemon parentOne, Pokemon parentTwo) Calculates the new PokeBall for the Pokemon from the two parentsstatic List<ImmutableAttack>
getPokemonLevelupMoves
(Stats egg, Pokemon parentOne, Pokemon parentTwo) Gets the level up moves for the eggstatic boolean
Used to check if an implementation of the breeding logic is setAttempts to make an egg using the two given Pokemonstatic Pokemon
makeRandomEgg
(Pokemon parentOne, Pokemon parentTwo) Makes a random Pokemon egg using the two parents for stats such as IVs and abilitiesstatic void
setInstance
(BreedingLogicFactory instance) Sets the instance of the breeding logicstatic boolean
shouldEggBeShiny
(Pokemon parentOne, Pokemon parentTwo) Check used to determine if the child should be shiny
-
Constructor Details
-
BreedingLogicProxy
public BreedingLogicProxy()
-
-
Method Details
-
hasImplementation
public static boolean hasImplementation()Used to check if an implementation of the breeding logic is set- Returns:
- True if set
-
setInstance
Sets the instance of the breeding logic- Parameters:
instance
- The breeding logic instance
-
getInstance
Gets the breeding logic instance- Returns:
- The current breeding logic instance
-
makeEgg
Attempts to make an egg using the two given Pokemon- Parameters:
parentOne
- The first parentparentTwo
- The second parent- Returns:
- The potential egg
-
canBreed
Checks if the two Pokemon can breed- Parameters:
parentOne
- The first parentparentTwo
- The second parent- Returns:
- true if they can breed
-
makeRandomEgg
Makes a random Pokemon egg using the two parents for stats such as IVs and abilities- Parameters:
parentOne
- The first parentparentTwo
- The second parent- Returns:
- The new Pokemon egg
-
calculateSpecies
Calculates the species created by the two parent Pokemons- Parameters:
parentOne
- The first parentparentTwo
- The second parent- Returns:
- The created species
-
getIVsForEgg
Calculates the new IVs for the Pokemon from the two parents- Parameters:
parentOne
- First parentparentTwo
- Second parent- Returns:
- The new IVs
-
getNatureForEgg
Calculates the new Nature for the Pokemon from the two parents- Parameters:
parentOne
- First parentparentTwo
- Second parent- Returns:
- The new Nature
-
getPokeBall
Calculates the new PokeBall for the Pokemon from the two parents- Parameters:
parentOne
- First parentparentTwo
- Second parent- Returns:
- The new PokeBall
-
getEggSize
Calculates the new size for the Pokemon from the two parents- Parameters:
parentOne
- First parentparentTwo
- Second parent- Returns:
- The new size
-
getEggAbility
Calculates the new Ability for the Pokemon from the two parents- Parameters:
parentOne
- First parentparentTwo
- Second parent- Returns:
- The new Ability
-
shouldEggBeShiny
Check used to determine if the child should be shiny- Parameters:
parentOne
- The first parentparentTwo
- The second parent- Returns:
- True if shiny
-
getEggMoveset
Calculates the egg move set- Parameters:
egg
- The egg's formparentOne
- The first parentparentTwo
- The second parent- Returns:
- The moveset of the child
-
getPokemonLevelupMoves
public static List<ImmutableAttack> getPokemonLevelupMoves(Stats egg, Pokemon parentOne, Pokemon parentTwo) Gets the level up moves for the egg- Parameters:
egg
- The form of the eggparentOne
- The first parentparentTwo
- The second parent- Returns:
- The level up moves
-
getFirstFourMoves
Gets the first four moves from the attack list given- Parameters:
masterAttackList
- The attack list- Returns:
- The move set equivalent of the attack list
-
getEggMoves
public static List<ImmutableAttack> getEggMoves(Stats egg, Pokemon parent, Set<ImmutableAttack> allEggMoves) Gets the egg moves- Parameters:
egg
- The egg's formparent
- The parentallEggMoves
- The child's egg moves- Returns:
- The egg moves
-
canLearnVoltTackle
If the pokemon can learn volt tackle move- Parameters:
species
- The egg speciesparentOne
- The first parentparentTwo
- The second parent- Returns:
- True if it can learn volt tackle
-
getFathersTMHMTutorMoves
Gets the father's TM, HM and Tutor moves- Parameters:
egg
- The eggfather
- The father- Returns:
- The TM, HM and Tutor moves
-
findFather
Obtains the father of the two parents- Parameters:
parentOne
- The first parentparentTwo
- The second parent- Returns:
- The father
-
findMother
Obtains the mother of the two parents- Parameters:
parentOne
- The first parentparentTwo
- The second parent- Returns:
- The mother
-