Interface Loadout


public interface Loadout
Represents a complete loadout configuration for a player's inventory, equipment, and rune pouch.

A loadout defines a specific set of items that the player should have equipped and in their inventory for a particular activity. This interface provides methods to:

  • Query the items defined in the loadout
  • Fetch items from the bank to match the loadout
  • Check if the current player setup matches the loadout
  • Save loadouts to configuration for persistence

Loadouts can include:

  • Inventory items (28 slots)
  • Equipment items (all equipment slots)
  • Rune pouch contents (for spellcasting setups)

Each section (inventory, equipment, rune pouch) can be individually enabled or disabled, allowing for flexible partial loadouts.

See Also:
  • Method Details

    • getInventory

      LoadoutItem[] getInventory()
      Gets all inventory items defined in this loadout.

      Returns an array representing the 28 inventory slots. Slots without items will contain null values.

      Returns:
      an array of inventory LoadoutItems, never null
    • getEquipment

      LoadoutItem[] getEquipment()
      Gets all equipment items defined in this loadout.

      Returns an array representing all equipment slots. Slots without items will contain null values.

      Returns:
      an array of equipment LoadoutItems, never null
    • getRunePouch

      LoadoutItem[] getRunePouch()
      Gets all rune pouch items defined in this loadout.

      Returns an array representing the rune pouch slots (typically 3-4 slots depending on rune pouch tier). Slots without runes will contain null values.

      Returns:
      an array of rune pouch LoadoutItems, never null
    • getItems

      List<LoadoutItem> getItems()
      Gets all items in this loadout as a flat list.

      This includes all inventory, equipment, and rune pouch items combined into a single list.

      Returns:
      a list of all LoadoutItems in this loadout, never null
    • fetchFromBank

      void fetchFromBank(net.runelite.api.coords.WorldArea worldArea)
      Fetches all items from the bank to complete this loadout.

      This will navigate to the specified bank area if needed, open the bank, and withdraw all required items for inventory, equipment, and rune pouch.

      Parameters:
      worldArea - the world area containing a bank to use
    • fetchEquipmentFromBank

      void fetchEquipmentFromBank(net.runelite.api.coords.WorldArea worldArea)
      Fetches only equipment items from the bank.
      Parameters:
      worldArea - the world area containing a bank to use
    • fetchInventoryFromBank

      void fetchInventoryFromBank(net.runelite.api.coords.WorldArea worldArea)
      Fetches only inventory items from the bank.
      Parameters:
      worldArea - the world area containing a bank to use
    • fetchRunePouchFromBank

      void fetchRunePouchFromBank(net.runelite.api.coords.WorldArea worldArea)
      Fetches only rune pouch items from the bank.
      Parameters:
      worldArea - the world area containing a bank to use
    • fetchFromBank

      default void fetchFromBank(BankLocation bankLocation)
      Fetches all items from the bank using a specific bank location.
      Parameters:
      bankLocation - the bank location to use
    • fetchFromBank

      default void fetchFromBank()
      Fetches all items from the nearest bank.

      Automatically finds and uses the nearest bank to the player's current location.

    • fetchEquipmentFromBank

      default void fetchEquipmentFromBank(BankLocation bankLocation)
      Fetches only equipment items from a specific bank location.
      Parameters:
      bankLocation - the bank location to use
    • fetchEquipmentFromBank

      default void fetchEquipmentFromBank()
      Fetches only equipment items from the nearest bank.
    • fetchInventoryFromBank

      default void fetchInventoryFromBank(BankLocation bankLocation)
      Fetches only inventory items from a specific bank location.
      Parameters:
      bankLocation - the bank location to use
    • fetchInventoryFromBank

      default void fetchInventoryFromBank()
      Fetches only inventory items from the nearest bank.
    • fetchRunePouchFromBank

      default void fetchRunePouchFromBank(BankLocation bankLocation)
      Fetches only rune pouch items from a specific bank location.
      Parameters:
      bankLocation - the bank location to use
    • fetchRunePouchFromBank

      default void fetchRunePouchFromBank()
      Fetches only rune pouch items from the nearest bank.
    • isLoadoutCompleted

      boolean isLoadoutCompleted()
      Checks if the entire loadout is completed.

      Returns true only if all enabled sections (inventory, equipment, and rune pouch) match their defined configurations.

      Returns:
      true if all loadout requirements are met
    • isEquipmentCompleted

      boolean isEquipmentCompleted()
      Checks if the equipment portion of the loadout is completed.
      Returns:
      true if all required equipment is worn
    • isInventoryCompleted

      boolean isInventoryCompleted()
      Checks if the inventory portion of the loadout is completed.
      Returns:
      true if all required inventory items are present
    • isRunePouchCompleted

      boolean isRunePouchCompleted()
      Checks if the rune pouch portion of the loadout is completed.
      Returns:
      true if all required runes are in the rune pouch
    • isInventoryDisabled

      boolean isInventoryDisabled()
      Checks if the inventory section is disabled for this loadout.
      Returns:
      true if inventory checking/fetching is disabled
    • isEquipmentDisabled

      boolean isEquipmentDisabled()
      Checks if the equipment section is disabled for this loadout.
      Returns:
      true if equipment checking/fetching is disabled
    • isRunePouchDisabled

      boolean isRunePouchDisabled()
      Checks if the rune pouch section is disabled for this loadout.
      Returns:
      true if rune pouch checking/fetching is disabled
    • hasRunePouch

      boolean hasRunePouch()
      Checks if this loadout includes rune pouch items.
      Returns:
      true if the loadout has rune pouch items defined
    • getEquipmentItem

      @Nullable LoadoutItem getEquipmentItem(int id)
      Gets an equipment item by its item ID.
      Parameters:
      id - the item ID to search for
      Returns:
      the LoadoutItem with the matching ID, or null if not found
    • getEquipmentItemFromSlot

      @Nullable LoadoutItem getEquipmentItemFromSlot(int slot)
      Gets an equipment item by its slot index.
      Parameters:
      slot - the equipment slot index
      Returns:
      the LoadoutItem at the specified slot, or null if empty
    • save

      void save(ConfigManager configManager, String configGroup, String configKey)
      Saves this loadout to the configuration system.

      The loadout will be serialized and stored using the provided configuration group and key, allowing it to be loaded in future sessions.

      Parameters:
      configManager - the configuration manager to save to
      configGroup - the configuration group name
      configKey - the configuration key within the group