public class PixelmonBreedingLogic extends java.lang.Object implements BreedingLogicFactory
Constructor and Description |
---|
PixelmonBreedingLogic() |
Modifier and Type | Method and Description |
---|---|
Stats |
calculateForm(Pokemon parentOne,
Pokemon parentTwo,
Species child)
Calculates the form of the child using the two parents
|
java.lang.String |
calculatePalette(Pokemon parentOne,
Pokemon parentTwo,
Species child)
Calculates the palette of the child using the two parents
|
Species |
calculateSpecies(Pokemon parentOne,
Pokemon parentTwo)
Calculates the species created by the two parent Pokemons
|
boolean |
canBreed(Pokemon parentOne,
Pokemon parentTwo)
Checks if the two Pokemon can breed
|
boolean |
canLearnVoltTackle(Species species,
Pokemon parentOne,
Pokemon parentTwo)
If the pokemon can learn volt tackle move
|
boolean |
checkIncense(net.minecraft.item.Item itemTypeParent,
net.minecraft.item.Item itemTypeOther,
Pokemon parentForEggLine,
net.minecraft.item.Item neededItem,
RegistryValue<Species> baby,
RegistryValue<Species>... parents)
Checks the incense
|
Pokemon |
findFather(Pokemon parentOne,
Pokemon parentTwo)
Obtains the father of the two parents
|
Pokemon |
findMother(Pokemon parentOne,
Pokemon parentTwo)
Obtains the mother of the two parents
|
Ability |
getEggAbility(Stats form,
Pokemon parentOne,
Pokemon parentTwo)
Calculates the new Ability for the Pokemon from the two parents
|
com.mojang.datafixers.util.Pair<java.lang.Integer,java.lang.Boolean> |
getEggAbilitySlot(Stats form,
Pokemon parentOne,
Pokemon parentTwo)
Calculates the new Ability slot for the Pokemon from the two parents
|
EnumGrowth |
getEggGrowth(Pokemon parentOne,
Pokemon parentTwo)
Calculates the new Growth for the Pokemon from the two parents
|
java.util.List<ImmutableAttack> |
getEggMoves(Stats egg,
Pokemon parent,
java.util.Set<ImmutableAttack> allEggMoves)
Gets the egg moves
|
Moveset |
getEggMoveset(Stats egg,
Pokemon parentOne,
Pokemon parentTwo)
Calculates the egg move set
|
java.util.List<ImmutableAttack> |
getFathersTMHMTutorMoves(Stats egg,
Pokemon father)
Gets the father's TM, HM and Tutor moves
|
Moveset |
getFirstFourMoves(java.util.List<ImmutableAttack> masterAttackList)
Gets the first four moves from the attack list given
|
IVStore |
getIVsForEgg(Pokemon parentOne,
Pokemon parentTwo)
Calculates the new IVs for the Pokemon from the two parents
|
Nature |
getNatureForEgg(Pokemon parentOne,
Pokemon parentTwo)
Calculates the new Nature for the Pokemon from the two parents
|
PokeBall |
getPokeBall(Pokemon parentOne,
Pokemon parentTwo)
Calculates the new PokeBall for the Pokemon from the two parents
|
java.util.List<ImmutableAttack> |
getPokemonLevelupMoves(Stats egg,
Pokemon parentOne,
Pokemon parentTwo)
Gets the level up moves for the egg
|
java.util.Optional<Pokemon> |
makeEgg(Pokemon parentOne,
Pokemon parentTwo)
Attempts to make an egg using the two given Pokemon
|
Pokemon |
makeRandomEgg(Pokemon parentOne,
Pokemon parentTwo)
Makes a random Pokemon egg using the two parents for stats such as IVs and abilities
|
boolean |
shouldEggBeShiny(Pokemon parentOne,
Pokemon parentTwo)
Check used to determine if the child should be shiny
|
public java.util.Optional<Pokemon> makeEgg(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
makeEgg
in interface BreedingLogicFactory
parentOne
- The first parentparentTwo
- The second parentpublic boolean canBreed(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
canBreed
in interface BreedingLogicFactory
parentOne
- The first parentparentTwo
- The second parentpublic Stats calculateForm(Pokemon parentOne, Pokemon parentTwo, Species child)
BreedingLogicFactory
calculateForm
in interface BreedingLogicFactory
parentOne
- The first parentparentTwo
- The second parentchild
- The child speciespublic java.lang.String calculatePalette(Pokemon parentOne, Pokemon parentTwo, Species child)
BreedingLogicFactory
calculatePalette
in interface BreedingLogicFactory
parentOne
- The first parentparentTwo
- The second parentchild
- The child speciespublic Pokemon makeRandomEgg(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
makeRandomEgg
in interface BreedingLogicFactory
parentOne
- The first parentparentTwo
- The second parentpublic Species calculateSpecies(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
calculateSpecies
in interface BreedingLogicFactory
parentOne
- The first parentparentTwo
- The second parentpublic IVStore getIVsForEgg(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
getIVsForEgg
in interface BreedingLogicFactory
parentOne
- First parentparentTwo
- Second parentpublic Nature getNatureForEgg(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
getNatureForEgg
in interface BreedingLogicFactory
parentOne
- First parentparentTwo
- Second parentpublic PokeBall getPokeBall(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
getPokeBall
in interface BreedingLogicFactory
parentOne
- First parentparentTwo
- Second parentpublic EnumGrowth getEggGrowth(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
getEggGrowth
in interface BreedingLogicFactory
parentOne
- First parentparentTwo
- Second parentpublic Ability getEggAbility(Stats form, Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
getEggAbility
in interface BreedingLogicFactory
parentOne
- First parentparentTwo
- Second parentpublic com.mojang.datafixers.util.Pair<java.lang.Integer,java.lang.Boolean> getEggAbilitySlot(Stats form, Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
getEggAbilitySlot
in interface BreedingLogicFactory
parentOne
- First parentparentTwo
- Second parentpublic boolean shouldEggBeShiny(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
shouldEggBeShiny
in interface BreedingLogicFactory
parentOne
- The first parentparentTwo
- The second parentpublic Moveset getEggMoveset(Stats egg, Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
getEggMoveset
in interface BreedingLogicFactory
egg
- The egg's formparentOne
- The first parentparentTwo
- The second parentpublic java.util.List<ImmutableAttack> getPokemonLevelupMoves(Stats egg, Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
getPokemonLevelupMoves
in interface BreedingLogicFactory
egg
- The form of the eggparentOne
- The first parentparentTwo
- The second parentpublic Moveset getFirstFourMoves(java.util.List<ImmutableAttack> masterAttackList)
BreedingLogicFactory
getFirstFourMoves
in interface BreedingLogicFactory
masterAttackList
- The attack listpublic java.util.List<ImmutableAttack> getEggMoves(Stats egg, Pokemon parent, java.util.Set<ImmutableAttack> allEggMoves)
BreedingLogicFactory
getEggMoves
in interface BreedingLogicFactory
egg
- The egg's formparent
- The parentallEggMoves
- The child's egg movespublic boolean canLearnVoltTackle(Species species, Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
canLearnVoltTackle
in interface BreedingLogicFactory
species
- The egg speciesparentOne
- The first parentparentTwo
- The second parentpublic java.util.List<ImmutableAttack> getFathersTMHMTutorMoves(Stats egg, Pokemon father)
BreedingLogicFactory
getFathersTMHMTutorMoves
in interface BreedingLogicFactory
egg
- The eggfather
- The fatherpublic Pokemon findFather(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
findFather
in interface BreedingLogicFactory
parentOne
- The first parentparentTwo
- The second parentpublic Pokemon findMother(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactory
findMother
in interface BreedingLogicFactory
parentOne
- The first parentparentTwo
- The second parent@SafeVarargs public final boolean checkIncense(net.minecraft.item.Item itemTypeParent, net.minecraft.item.Item itemTypeOther, Pokemon parentForEggLine, net.minecraft.item.Item neededItem, RegistryValue<Species> baby, RegistryValue<Species>... parents)
BreedingLogicFactory
checkIncense
in interface BreedingLogicFactory
itemTypeParent
- The parent's itemitemTypeOther
- The other itemparentForEggLine
- The egg line itemneededItem
- The required itembaby
- The baby typeparents
- The parents types