java.lang.Object
com.pixelmonmod.pixelmon.battles.controller.participants.BattleParticipant
com.pixelmonmod.pixelmon.battles.controller.participants.PlayerParticipant
All Implemented Interfaces:
BattleViewer

public class PlayerParticipant extends BattleParticipant
A battle participant representing a player.
  • Field Details

    • player

      public net.minecraft.server.level.ServerPlayer player
      The player that this participant is representing.
    • party

      public PlayerPartyStorage party
      The player's Pokémon.
    • hasAmuletCoin

      public boolean hasAmuletCoin
      Whether an Amulet Coin will double prize money.
    • hasHappyHour

      public boolean hasHappyHour
      Whether Happy Hour will double prize money.
    • payDay

      public int payDay
      The amount of money earned from Pay Day after the battle ends.
    • maxEntityBattleDistance

      public float maxEntityBattleDistance
      The max distance this player is from the farthest away opponent's Pokemon.
  • Constructor Details

    • PlayerParticipant

      public PlayerParticipant(net.minecraft.server.level.ServerPlayer p, Pokemon... startingPixelmon)
      Initializes the player participant.
      Parameters:
      p - The player.
      startingPixelmon - The Pokémon to send out at the start of the battle.
    • PlayerParticipant

      public PlayerParticipant(boolean raid, net.minecraft.server.level.ServerPlayer p, Pokemon... startingPixelmon)
      Initializes the player participant for a raid.
      Parameters:
      raid - Whether this participant is in a raid.
      p - The player.
      startingPixelmon - The Pokémon to send out at the start of the battle.
    • PlayerParticipant

      public PlayerParticipant(net.minecraft.server.level.ServerPlayer p, List<Pokemon> teamSelection, int numControlledPokemon)
      Initializes the player participant.
      Parameters:
      p - The player.
      teamSelection - The Pokémon that the player has selected for battle.
      numControlledPokemon - The number of active Pokémon that the participant has at once.
  • Method Details

    • getPlayer

      @Nullable public @Nullable net.minecraft.server.level.ServerPlayer getPlayer()
      Description copied from interface: BattleViewer
      Gets the player this is representing.
      Note: this method may return null if the entity is not a player.
      Returns:
      The player this is representing.
    • startBattle

      public void startBattle()
      Overrides:
      startBattle in class BattleParticipant
    • preBattleChecks

      public void preBattleChecks()
      Description copied from class: BattleParticipant
      Adds the participant to a battle.
      Overrides:
      preBattleChecks in class BattleParticipant
    • endBattle

      public void endBattle(BattleEndCause cause)
      Description copied from class: BattleParticipant
      Ends the battle the participant is in.
      Specified by:
      endBattle in class BattleParticipant
    • getNextPokemon

      public void getNextPokemon(int position)
      Description copied from class: BattleParticipant
      Sends out the next unfainted Pokémon in the participant's party.
      Overrides:
      getNextPokemon in class BattleParticipant
      Parameters:
      position - The position to send out the Pokémon at.
    • getPrizeMoneyMultiplier

      public int getPrizeMoneyMultiplier()
      Gets the multiplier for end-of-battle prize money awarded.
      Returns:
      The multiplier for end-of-battle prize money awarded.
    • selectAction

      public void selectAction()
      Description copied from class: BattleParticipant
      Chooses an action for the participant's Pokémon.
      Overrides:
      selectAction in class BattleParticipant
    • getMove

      public MoveChoice getMove(PixelmonWrapper pokemon)
      Description copied from class: BattleParticipant
      Gets the move to be used by the specified Pokémon.
      Overrides:
      getMove in class BattleParticipant
      Parameters:
      pokemon - The Pokémon to get a move for.
      Returns:
      The move to be used by the specified Pokémon.
    • updateBattlingPokemon

      public void updateBattlingPokemon()
      Description copied from class: BattleParticipant
      Updates the opponent's Pokémon client-side.
      Overrides:
      updateBattlingPokemon in class BattleParticipant
    • getOpponentData

      public PixelmonClientData[] getOpponentData()
      Gets data about the player's opponents.
      Returns:
      Data about the player's opponents.
    • updateOpponentPokemon

      public void updateOpponentPokemon()
      Updates the player's opponents client-side.
    • checkPlayerItems

      public void checkPlayerItems()
      Increments orbs in the player's inventory upon defeating a Pokémon.
    • tick

      public void tick()
      Description copied from class: BattleParticipant
      Updates the participant every tick.
      Overrides:
      tick in class BattleParticipant
    • givePlayerExp

      public void givePlayerExp(PixelmonWrapper pixelmon)
      Awards experience to the player when a Pokémon faints. Experience is based on the pokemonLevel of the Pokémon that fainted.
      Parameters:
      pixelmon - The Pokémon that fainted.
    • openGui

      public void openGui()
      Opens the battle GUI if it didn't just get opened already.
    • getBattleMusicType

      public BattleMusicType getBattleMusicType()
    • sendDamagePacket

      public void sendDamagePacket(PixelmonWrapper user, int damage)
      Description copied from class: BattleParticipant
      Updates the client when a Pokémon takes damage.
      Specified by:
      sendDamagePacket in interface BattleViewer
      Overrides:
      sendDamagePacket in class BattleParticipant
      Parameters:
      user - The Pokémon who took damage.
      damage - The amount of damage dealt.
    • sendHealPacket

      public void sendHealPacket(PixelmonWrapper target, int amount)
      Description copied from class: BattleParticipant
      Updates the client when a Pokémon heals.
      Specified by:
      sendHealPacket in interface BattleViewer
      Overrides:
      sendHealPacket in class BattleParticipant
      Parameters:
      target - The Pokémon who healed.
      amount - The amount of hp healed.
    • getDisplayName

      public net.minecraft.network.chat.MutableComponent getDisplayName()
      Description copied from class: BattleParticipant
      Returns the name of the entity the participant is representing.
      Overrides:
      getDisplayName in class BattleParticipant
      Returns:
      The name of the entity the participant is representing.
    • getStorage

      public PlayerPartyStorage getStorage()
      Description copied from class: BattleParticipant
      Returns the Pokémon storage of the participant.
      Overrides:
      getStorage in class BattleParticipant
      Returns:
      The Pokémon storage of the participant.
    • canMegaEvolve

      public boolean canMegaEvolve()
      Description copied from class: BattleParticipant
      Checks if the participant is allowed to Mega Evolve Pokémon.
      Overrides:
      canMegaEvolve in class BattleParticipant
      Returns:
      Whether the participant is allowed to Mega Evolve Pokémon.
    • canDynamax

      public boolean canDynamax()
      Description copied from class: BattleParticipant
      Checks if the participant is allowed to Dynamax Pokémon.
      Overrides:
      canDynamax in class BattleParticipant
      Returns:
      Whether the participant is allowed to Dynamax Pokémon.
    • revivePokemon

      public void revivePokemon(float healthPercentage)
      Overrides:
      revivePokemon in class BattleParticipant
    • completeRevival

      public void completeRevival(UUID selectedPokemon)
    • sendPacket

      public void sendPacket(PixelmonPacket message)
      Description copied from class: BattleParticipant
      Sends a packet to this participant, wont do anything if its not a player.
      Specified by:
      sendPacket in interface BattleViewer
      Overrides:
      sendPacket in class BattleParticipant
      Parameters:
      message - The packet to send to this player
    • getAmuletCoinMultiplier

      public int getAmuletCoinMultiplier()
    • setAmuletCoinMultiplier

      public void setAmuletCoinMultiplier(int multiplier)
    • getHappyHourMultiplier

      public int getHappyHourMultiplier()
    • setHappyHourMultiplier

      public void setHappyHourMultiplier(int multiplier)
    • resetPayDay

      public void resetPayDay()
    • isPlayer

      public boolean isPlayer()
      Description copied from class: BattleParticipant
      If the participant is a player.
      Overrides:
      isPlayer in class BattleParticipant
      Returns:
      Whether the participant is a player.
    • sendBattleMessage

      public void sendBattleMessage(net.minecraft.network.chat.Component component)
      Description copied from class: BattleParticipant
      Sends a battle message to this participant.
      Specified by:
      sendBattleMessage in interface BattleViewer
      Overrides:
      sendBattleMessage in class BattleParticipant
      Parameters:
      component - The message to send.
    • setFreeRoamKey

      public void setFreeRoamKey(net.minecraft.network.chat.Component freeRoamKey)