All Known Implementing Classes:
CheatMemoryMode, StandardMemoryMode

public interface MemoryMode
Defines how much information the battle AI is allowed to access about an opponent during evaluation.

Memory modes control whether the AI uses only information that would normally be known during battle, or whether it can inspect hidden opponent information such as unrevealed moves or switch options. This allows the same AI logic to be run with different knowledge assumptions.

  • Field Details

    • REGISTRY

      static final net.minecraft.resources.ResourceKey<net.minecraft.core.Registry<MemoryMode>> REGISTRY
    • CODEC

      static final com.mojang.serialization.Codec<MemoryMode> CODEC
  • Method Details

    • getAttacks

      List<Attack> getAttacks(BattleParticipant participant, PixelmonWrapper opponent)
      Gets the moves the AI should consider known for the supplied opponent.
      Parameters:
      participant - The battle participant whose memory is being queried.
      opponent - The opposing Pokémon being evaluated.
      Returns:
      The attacks known or available under this memory mode.
    • getSwitches

      List<PixelmonWrapper> getSwitches(BattleParticipant participant, PixelmonWrapper opponent)
      Gets the switch options the AI should consider known for the supplied opponent.
      Parameters:
      participant - The battle participant whose memory is being queried.
      opponent - The opposing Pokémon being evaluated.
      Returns:
      The switch options known or available under this memory mode.
    • cheat

      static MemoryMode cheat()
      Gets the memory mode that exposes full opponent information to the AI.
      Returns:
      The cheat memory mode.
    • standard

      static MemoryMode standard()
      Gets the standard memory mode used for normal battle evaluation.
      Returns:
      The standard memory mode.