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)
BreedingLogicFactorymakeEgg in interface BreedingLogicFactoryparentOne - The first parentparentTwo - The second parentpublic boolean canBreed(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorycanBreed in interface BreedingLogicFactoryparentOne - The first parentparentTwo - The second parentpublic Stats calculateForm(Pokemon parentOne, Pokemon parentTwo, Species child)
BreedingLogicFactorycalculateForm in interface BreedingLogicFactoryparentOne - The first parentparentTwo - The second parentchild - The child speciespublic java.lang.String calculatePalette(Pokemon parentOne, Pokemon parentTwo, Species child)
BreedingLogicFactorycalculatePalette in interface BreedingLogicFactoryparentOne - The first parentparentTwo - The second parentchild - The child speciespublic Pokemon makeRandomEgg(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorymakeRandomEgg in interface BreedingLogicFactoryparentOne - The first parentparentTwo - The second parentpublic Species calculateSpecies(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorycalculateSpecies in interface BreedingLogicFactoryparentOne - The first parentparentTwo - The second parentpublic IVStore getIVsForEgg(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorygetIVsForEgg in interface BreedingLogicFactoryparentOne - First parentparentTwo - Second parentpublic Nature getNatureForEgg(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorygetNatureForEgg in interface BreedingLogicFactoryparentOne - First parentparentTwo - Second parentpublic PokeBall getPokeBall(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorygetPokeBall in interface BreedingLogicFactoryparentOne - First parentparentTwo - Second parentpublic EnumGrowth getEggGrowth(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorygetEggGrowth in interface BreedingLogicFactoryparentOne - First parentparentTwo - Second parentpublic Ability getEggAbility(Stats form, Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorygetEggAbility in interface BreedingLogicFactoryparentOne - First parentparentTwo - Second parentpublic com.mojang.datafixers.util.Pair<java.lang.Integer,java.lang.Boolean> getEggAbilitySlot(Stats form, Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorygetEggAbilitySlot in interface BreedingLogicFactoryparentOne - First parentparentTwo - Second parentpublic boolean shouldEggBeShiny(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactoryshouldEggBeShiny in interface BreedingLogicFactoryparentOne - The first parentparentTwo - The second parentpublic Moveset getEggMoveset(Stats egg, Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorygetEggMoveset in interface BreedingLogicFactoryegg - The egg's formparentOne - The first parentparentTwo - The second parentpublic java.util.List<ImmutableAttack> getPokemonLevelupMoves(Stats egg, Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorygetPokemonLevelupMoves in interface BreedingLogicFactoryegg - The form of the eggparentOne - The first parentparentTwo - The second parentpublic Moveset getFirstFourMoves(java.util.List<ImmutableAttack> masterAttackList)
BreedingLogicFactorygetFirstFourMoves in interface BreedingLogicFactorymasterAttackList - The attack listpublic java.util.List<ImmutableAttack> getEggMoves(Stats egg, Pokemon parent, java.util.Set<ImmutableAttack> allEggMoves)
BreedingLogicFactorygetEggMoves in interface BreedingLogicFactoryegg - The egg's formparent - The parentallEggMoves - The child's egg movespublic boolean canLearnVoltTackle(Species species, Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactorycanLearnVoltTackle in interface BreedingLogicFactoryspecies - The egg speciesparentOne - The first parentparentTwo - The second parentpublic java.util.List<ImmutableAttack> getFathersTMHMTutorMoves(Stats egg, Pokemon father)
BreedingLogicFactorygetFathersTMHMTutorMoves in interface BreedingLogicFactoryegg - The eggfather - The fatherpublic Pokemon findFather(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactoryfindFather in interface BreedingLogicFactoryparentOne - The first parentparentTwo - The second parentpublic Pokemon findMother(Pokemon parentOne, Pokemon parentTwo)
BreedingLogicFactoryfindMother in interface BreedingLogicFactoryparentOne - 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)
BreedingLogicFactorycheckIncense in interface BreedingLogicFactoryitemTypeParent - The parent's itemitemTypeOther - The other itemparentForEggLine - The egg line itemneededItem - The required itembaby - The baby typeparents - The parents types