Interface BreedingLogicFactory
- All Known Implementing Classes:
- PixelmonBreedingLogic
public interface BreedingLogicFactory
Interface for switching out the breeding logic implementations in the 
BreedingLogicProxy- Since:
- 24/06/2022
- 
Method SummaryModifier and TypeMethodDescriptioncalculateForm(Pokemon parentOne, Pokemon parentTwo, Species child) Calculates the form of the child using the two parentscalculatePalette(Pokemon parentOne, Pokemon parentTwo, Species child) Calculates the palette of the child using the two parentscalculateSpecies(Pokemon parentOne, Pokemon parentTwo) Calculates the species created by the two parent PokemonsbooleanChecks if the two Pokemon can breedbooleancanLearnVoltTackle(Species species, Pokemon parentOne, Pokemon parentTwo) If the pokemon can learn volt tackle movebooleancheckIncense(net.minecraft.world.item.Item itemTypeParent, net.minecraft.world.item.Item itemTypeOther, Pokemon parentForEggLine, net.minecraft.world.item.Item neededItem, RegistryValue<Species> baby, RegistryValue<Species>... parents) Checks the incensefindFather(Pokemon parentOne, Pokemon parentTwo) Obtains the father of the two parentsfindMother(Pokemon parentOne, Pokemon parentTwo) Obtains the mother of the two parentsgetEggAbility(Stats form, Pokemon parentOne, Pokemon parentTwo) Calculates the new Ability for the Pokemon from the two parentsgetEggAbilitySlot(Stats form, Pokemon parentOne, Pokemon parentTwo) Calculates the new Ability slot for the Pokemon from the two parentsgetEggMoves(Stats egg, Pokemon parent, Set<ImmutableAttack> allEggMoves) Gets the egg movesgetEggMoveset(Stats egg, Pokemon parentOne, Pokemon parentTwo) Calculates the egg move setdoublegetEggSize(Pokemon parentOne, Pokemon parentTwo) Calculates the new size for the Pokemon from the two parentsgetFathersTMHMTutorMoves(Stats egg, Pokemon father) Gets the father's TM, HM and Tutor movesgetFirstFourMoves(List<ImmutableAttack> masterAttackList) Gets the first four moves from the attack list givengetIVsForEgg(Pokemon parentOne, Pokemon parentTwo) Calculates the new IVs for the Pokemon from the two parentsgetNatureForEgg(Pokemon parentOne, Pokemon parentTwo) Calculates the new Nature for the Pokemon from the two parentsgetPokeBall(Pokemon parentOne, Pokemon parentTwo) Calculates the new PokeBall for the Pokemon from the two parentsgetPokemonLevelupMoves(Stats egg, Pokemon parentOne, Pokemon parentTwo) Gets the level up moves for the eggAttempts to make an egg using the two given PokemonmakeRandomEgg(Pokemon parentOne, Pokemon parentTwo) Makes a random Pokemon egg using the two parents for stats such as IVs and abilitiesbooleanshouldEggBeShiny(Pokemon parentOne, Pokemon parentTwo) Check used to determine if the child should be shiny
- 
Method Details- 
makeEggAttempts to make an egg using the two given Pokemon- Parameters:
- parentOne- The first parent
- parentTwo- The second parent
- Returns:
- The potential egg
 
- 
calculateFormCalculates the form of the child using the two parents- Parameters:
- parentOne- The first parent
- parentTwo- The second parent
- child- The child species
- Returns:
- The relevant form
 
- 
calculatePaletteCalculates the palette of the child using the two parents- Parameters:
- parentOne- The first parent
- parentTwo- The second parent
- child- The child species
- Returns:
- The relevant palette
 
- 
canBreedChecks if the two Pokemon can breed- Parameters:
- parentOne- The first parent
- parentTwo- The second parent
- Returns:
- true if they can breed
 
- 
makeRandomEggMakes a random Pokemon egg using the two parents for stats such as IVs and abilities- Parameters:
- parentOne- The first parent
- parentTwo- The second parent
- Returns:
- The new Pokemon egg
 
- 
calculateSpeciesCalculates the species created by the two parent Pokemons- Parameters:
- parentOne- The first parent
- parentTwo- The second parent
- Returns:
- The created species
 
- 
getIVsForEggCalculates the new IVs for the Pokemon from the two parents- Parameters:
- parentOne- First parent
- parentTwo- Second parent
- Returns:
- The new IVs
 
- 
getNatureForEggCalculates the new Nature for the Pokemon from the two parents- Parameters:
- parentOne- First parent
- parentTwo- Second parent
- Returns:
- The new Nature
 
- 
getPokeBallCalculates the new PokeBall for the Pokemon from the two parents- Parameters:
- parentOne- First parent
- parentTwo- Second parent
- Returns:
- The new PokeBall
 
- 
getEggSizeCalculates the new size for the Pokemon from the two parents- Parameters:
- parentOne- First parent
- parentTwo- Second parent
- Returns:
- The new size
 
- 
getEggAbilityCalculates the new Ability for the Pokemon from the two parents- Parameters:
- parentOne- First parent
- parentTwo- Second parent
- Returns:
- The new Ability
 
- 
getEggAbilitySlotcom.mojang.datafixers.util.Pair<Integer,Boolean> getEggAbilitySlot(Stats form, Pokemon parentOne, Pokemon parentTwo) Calculates the new Ability slot for the Pokemon from the two parents- Parameters:
- parentOne- First parent
- parentTwo- Second parent
- Returns:
- The new slot and whether it inherits the hidden ability
 
- 
shouldEggBeShinyCheck used to determine if the child should be shiny- Parameters:
- parentOne- The first parent
- parentTwo- The second parent
- Returns:
- True if shiny
 
- 
getEggMovesetCalculates the egg move set- Parameters:
- egg- The egg's form
- parentOne- The first parent
- parentTwo- The second parent
- Returns:
- The moveset of the child
 
- 
getPokemonLevelupMovesGets the level up moves for the egg- Parameters:
- egg- The form of the egg
- parentOne- The first parent
- parentTwo- The second parent
- Returns:
- The level up moves
 
- 
getFirstFourMovesGets the first four moves from the attack list given- Parameters:
- masterAttackList- The attack list
- Returns:
- The move set equivalent of the attack list
 
- 
getEggMovesGets the egg moves- Parameters:
- egg- The egg's form
- parent- The parent
- allEggMoves- The child's egg moves
- Returns:
- The egg moves
 
- 
canLearnVoltTackleIf the pokemon can learn volt tackle move- Parameters:
- species- The egg species
- parentOne- The first parent
- parentTwo- The second parent
- Returns:
- True if it can learn volt tackle
 
- 
getFathersTMHMTutorMovesGets the father's TM, HM and Tutor moves- Parameters:
- egg- The egg
- father- The father
- Returns:
- The TM, HM and Tutor moves
 
- 
findFatherObtains the father of the two parents- Parameters:
- parentOne- The first parent
- parentTwo- The second parent
- Returns:
- The father
 
- 
findMotherObtains the mother of the two parents- Parameters:
- parentOne- The first parent
- parentTwo- The second parent
- Returns:
- The mother
 
- 
checkIncenseboolean checkIncense(net.minecraft.world.item.Item itemTypeParent, net.minecraft.world.item.Item itemTypeOther, Pokemon parentForEggLine, net.minecraft.world.item.Item neededItem, RegistryValue<Species> baby, RegistryValue<Species>... parents) Checks the incense- Parameters:
- itemTypeParent- The parent's item
- itemTypeOther- The other item
- parentForEggLine- The egg line item
- neededItem- The required item
- baby- The baby type
- parents- The parents types
- Returns:
- If the incense is used
 
 
-