java.lang.Object
java.lang.Record
com.pixelmonmod.pixelmon.battles.controller.ai.evaluation.settings.ActionGeneration
Record Components:
memoryMode - the opponent/team knowledge model used when generating possible actions
considerSwitches - whether legal switch choices should be included as candidate actions
checkForcedMoves - whether forced battle states, such as locked or mandatory moves, should be handled before normal action generation
checkImmediateTacticalOptions - whether immediate tactical options, such as guaranteed knockouts or urgent defensive responses, should be checked before falling back to full search evaluation

public record ActionGeneration(MemoryMode memoryMode, boolean considerSwitches, boolean checkForcedMoves, boolean checkImmediateTacticalOptions) extends Record
Configuration for how Kingfisher generates and filters candidate battle actions during search.

This controls which actions are available to the AI before a board state is evaluated. It determines how much opponent information is assumed to be known, whether switching is considered, and whether special action-selection shortcuts such as forced moves or immediate tactical options are checked before normal move evaluation.

The action generation step is intentionally separate from board evaluation. This record does not score a battle state directly; it only controls which choices the AI is allowed or encouraged to consider while exploring possible future turns.

Used by KingfisherAI
  • Field Details

  • Constructor Details

    • ActionGeneration

      public ActionGeneration(MemoryMode memoryMode, boolean considerSwitches, boolean checkForcedMoves, boolean checkImmediateTacticalOptions)
      Creates an instance of a ActionGeneration record class.
      Parameters:
      memoryMode - the value for the memoryMode record component
      considerSwitches - the value for the considerSwitches record component
      checkForcedMoves - the value for the checkForcedMoves record component
      checkImmediateTacticalOptions - the value for the checkImmediateTacticalOptions record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • memoryMode

      public MemoryMode memoryMode()
      Returns the value of the memoryMode record component.
      Returns:
      the value of the memoryMode record component
    • considerSwitches

      public boolean considerSwitches()
      Returns the value of the considerSwitches record component.
      Returns:
      the value of the considerSwitches record component
    • checkForcedMoves

      public boolean checkForcedMoves()
      Returns the value of the checkForcedMoves record component.
      Returns:
      the value of the checkForcedMoves record component
    • checkImmediateTacticalOptions

      public boolean checkImmediateTacticalOptions()
      Returns the value of the checkImmediateTacticalOptions record component.
      Returns:
      the value of the checkImmediateTacticalOptions record component