Interface ITransportLoader


public interface ITransportLoader
Interface for loading and building transport (shortcut) options for pathfinding.

ITransportLoader is responsible for creating Transport objects that represent non-walking movement options like stairs, ladders, boats, shortcuts, and agility obstacles. Unlike teleports, transports connect adjacent or nearby areas that require interaction with game objects or NPCs.

Transport Types

  • Object transports - Stairs, ladders, doors, gates, cave entrances
  • NPC transports - Boat operators, cart drivers, guide NPCs
  • Item-required transports - Shortcuts requiring specific items (ropes, etc.)
  • Skill-required transports - Agility shortcuts with level requirements
  • Quest-required transports - Paths unlocked by quest completion
  • Network transports - Fairy rings, spirit trees, gnome gliders, charter ships

Factory Methods

This interface provides factory methods for creating various transport types:

See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Maximum distance for interacting with transport objects.
    static final int
    Default radius for transport source/destination areas.
  • Method Summary

    Modifier and Type
    Method
    Description
    birdFlight(BirdFlight source, BirdFlight destination)
    Creates a transport for quetzal/bird flight travel (Varlamore).
    default List<Transport>
    Builds a list of all currently available transports using live game data.
    buildTransports(boolean useCached)
    Builds a list of all currently available transports.
    charterShip(CharterShip charterShip)
    Creates a transport for charter ship travel.
    fairyRingTransport(FairyRing source, FairyRing destination)
    Creates a transport for fairy ring travel between two rings.
    Gets the list of custom transports registered by plugins or scripts.
    Gets the list of doors that should be ignored (treated as passable) from the most recent build.
    Gets the list of transports from the most recent build.
    gnomeGlider(GnomeGlider gnomeGlider)
    Creates a transport for gnome glider travel.
    void
    Initializes the transport loader by loading transport definitions from data files.
    itemUseAndObjectTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int beforeItem, int afterItem, int itemId)
    Creates a transport where using an item on an object changes the item.
    default Transport
    itemUseTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int itemId, int objId)
    Creates a transport that requires using an item on an object with default radius.
    itemUseTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int itemId, int objId, int radius)
    Creates a transport that requires using an item on an object.
    itemWearTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions, int... itemIds)
    Creates a transport that requires wearing specific items to interact with an object.
    default Transport
    itemWearTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions, int... itemIds)
    Creates a transport that requires wearing specific items with default radius.
    magicCarpet(MagicCarpet magicCarpet)
    Creates a transport for magic carpet travel.
    minecartTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, String target)
    Creates a transport for Lovakengj minecart travel.
    mushtreeTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int component)
    Creates a transport for magic mushtree (Fossil Island) travel.
    default Transport
    npcDialogTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... chatOptions)
    Creates an NPC dialog transport with custom radius and no requirements.
    npcDialogTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... chatOptions)
    Creates a transport requiring NPC dialog interaction.
    default Transport
    npcDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... chatOptions)
    Creates an NPC dialog transport with default radius and no requirements.
    default Transport
    npcDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... chatOptions)
    Creates an NPC dialog transport with default radius.
    default Transport
    npcTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... actions)
    Creates an NPC transport with custom radius and no requirements.
    npcTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... actions)
    Creates a transport by interacting with an NPC.
    npcTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, String npcName, Requirements requirements, String... actions)
    Creates a transport by interacting with an NPC by name.
    default Transport
    npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... actions)
    Creates an NPC transport with default radius and no requirements.
    default Transport
    npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... actions)
    Creates an NPC transport with default radius.
    default Transport
    npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, String npcName, String... actions)
    Creates an NPC transport with default radius and no requirements.
    default Transport
    objectDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String action, String... chatOptions)
    Creates an object dialog transport with no requirements.
    objectDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String action, Requirements requirements, String... chatOptions)
    Creates a transport requiring object dialog interaction.
    default Transport
    objectTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions)
    Creates an object transport with custom radius and no requirements.
    objectTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions, Requirements requirements)
    Creates an object transport with custom radius and requirements.
    objectTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions)
    Creates a transport by interacting with a game object.
    default Transport
    objectTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions, Requirements requirements)
    Creates an object transport with default radius.
    default void
    Refreshes the available transports using current inventory state.
    void
    Refreshes the available transports based on current inventory and requirements.
    slashWebTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination)
    Creates a transport for slashing through a web.
    spritTreeTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, String location)
    Creates a transport for spirit tree travel.
    trapDoorTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int closedId, int openedId)
    Creates a transport for a trap door that can be opened/closed.
  • Field Details

    • MAX_INTERACT_DISTANCE

      static final int MAX_INTERACT_DISTANCE
      Maximum distance for interacting with transport objects.
      See Also:
    • MAX_RADIUS

      static final int MAX_RADIUS
      Default radius for transport source/destination areas.
      See Also:
  • Method Details

    • init

      void init()
      Initializes the transport loader by loading transport definitions from data files.
    • getCustomTransports

      List<Transport> getCustomTransports()
      Gets the list of custom transports registered by plugins or scripts.
      Returns:
      list of custom transports
    • buildTransports

      List<Transport> buildTransports(boolean useCached)
      Builds a list of all currently available transports.
      Parameters:
      useCached - whether to use cached data instead of live lookups
      Returns:
      list of available transports
    • buildTransports

      default List<Transport> buildTransports()
      Builds a list of all currently available transports using live game data.
      Returns:
      list of available transports
    • refreshTransports

      void refreshTransports(List<Integer> items)
      Refreshes the available transports based on current inventory and requirements.
      Parameters:
      items - list of item IDs in inventory/equipment
    • refreshTransports

      default void refreshTransports()
      Refreshes the available transports using current inventory state.
    • getLastTransports

      List<Transport> getLastTransports()
      Gets the list of transports from the most recent build.
      Returns:
      list of most recently built transports
    • getLastIgnoredDoors

      List<IgnoredDoor> getLastIgnoredDoors()
      Gets the list of doors that should be ignored (treated as passable) from the most recent build.
      Returns:
      list of ignored doors
    • trapDoorTransport

      Transport trapDoorTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int closedId, int openedId)
      Creates a transport for a trap door that can be opened/closed.
      Parameters:
      source - the source world point
      destination - the destination world point
      closedId - the object ID when closed
      openedId - the object ID when opened
      Returns:
      the created transport
    • itemUseAndObjectTransport

      Transport itemUseAndObjectTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int beforeItem, int afterItem, int itemId)
      Creates a transport where using an item on an object changes the item.
      Parameters:
      source - the source world point
      destination - the destination world point
      beforeItem - the item ID before the interaction
      afterItem - the item ID after the interaction
      itemId - the item to use
      Returns:
      the created transport
    • fairyRingTransport

      Transport fairyRingTransport(FairyRing source, FairyRing destination)
      Creates a transport for fairy ring travel between two rings.
      Parameters:
      source - the source fairy ring
      destination - the destination fairy ring
      Returns:
      the created transport
    • itemUseTransport

      Transport itemUseTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int itemId, int objId, int radius)
      Creates a transport that requires using an item on an object.
      Parameters:
      source - the source world point
      destination - the destination world point
      itemId - the item ID to use
      objId - the object ID to use the item on
      radius - the interaction radius
      Returns:
      the created transport
    • itemUseTransport

      default Transport itemUseTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int itemId, int objId)
      Creates a transport that requires using an item on an object with default radius.
      Parameters:
      source - the source world point
      destination - the destination world point
      itemId - the item ID to use
      objId - the object ID to use the item on
      Returns:
      the created transport
    • itemWearTransport

      Transport itemWearTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions, int... itemIds)
      Creates a transport that requires wearing specific items to interact with an object.
      Parameters:
      radius - the interaction radius
      source - the source world point
      destination - the destination world point
      objId - the object ID to interact with
      actions - the action(s) to perform
      itemIds - the item IDs that must be equipped
      Returns:
      the created transport
    • itemWearTransport

      default Transport itemWearTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions, int... itemIds)
      Creates a transport that requires wearing specific items with default radius.
      Parameters:
      source - the source world point
      destination - the destination world point
      objId - the object ID to interact with
      actions - the action(s) to perform
      itemIds - the item IDs that must be equipped
      Returns:
      the created transport
    • npcTransport

      Transport npcTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... actions)
      Creates a transport by interacting with an NPC.
      Parameters:
      radius - the interaction radius
      source - the source world point
      destination - the destination world point
      npcId - the NPC ID to interact with
      requirements - requirements that must be met
      actions - the action(s) to perform
      Returns:
      the created transport
    • npcTransport

      Transport npcTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, String npcName, Requirements requirements, String... actions)
      Creates a transport by interacting with an NPC by name.
      Parameters:
      radius - the interaction radius
      source - the source world point
      destination - the destination world point
      npcName - the NPC name to interact with
      requirements - requirements that must be met
      actions - the action(s) to perform
      Returns:
      the created transport
    • npcTransport

      default Transport npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, String npcName, String... actions)
      Creates an NPC transport with default radius and no requirements.
      Parameters:
      source - the source world point
      destination - the destination world point
      npcName - the NPC name to interact with
      actions - the action(s) to perform
      Returns:
      the created transport
    • npcTransport

      default Transport npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... actions)
      Creates an NPC transport with default radius.
      Parameters:
      source - the source world point
      destination - the destination world point
      npcId - the NPC ID to interact with
      requirements - requirements that must be met
      actions - the action(s) to perform
      Returns:
      the created transport
    • npcTransport

      default Transport npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... actions)
      Creates an NPC transport with default radius and no requirements.
      Parameters:
      source - the source world point
      destination - the destination world point
      npcId - the NPC ID to interact with
      actions - the action(s) to perform
      Returns:
      the created transport
    • npcTransport

      default Transport npcTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... actions)
      Creates an NPC transport with custom radius and no requirements.
      Parameters:
      radius - the interaction radius
      source - the source world point
      destination - the destination world point
      npcId - the NPC ID to interact with
      actions - the action(s) to perform
      Returns:
      the created transport
    • npcDialogTransport

      Transport npcDialogTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... chatOptions)
      Creates a transport requiring NPC dialog interaction.
      Parameters:
      radius - the interaction radius
      source - the source world point
      destination - the destination world point
      npcId - the NPC ID to interact with
      requirements - requirements that must be met
      chatOptions - the dialog options to select
      Returns:
      the created transport
    • npcDialogTransport

      default Transport npcDialogTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... chatOptions)
      Creates an NPC dialog transport with custom radius and no requirements.
      Parameters:
      radius - the interaction radius
      source - the source world point
      destination - the destination world point
      npcId - the NPC ID to interact with
      chatOptions - the dialog options to select
      Returns:
      the created transport
    • npcDialogTransport

      default Transport npcDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... chatOptions)
      Creates an NPC dialog transport with default radius.
      Parameters:
      source - the source world point
      destination - the destination world point
      npcId - the NPC ID to interact with
      requirements - requirements that must be met
      chatOptions - the dialog options to select
      Returns:
      the created transport
    • npcDialogTransport

      default Transport npcDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... chatOptions)
      Creates an NPC dialog transport with default radius and no requirements.
      Parameters:
      source - the source world point
      destination - the destination world point
      npcId - the NPC ID to interact with
      chatOptions - the dialog options to select
      Returns:
      the created transport
    • objectTransport

      Transport objectTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions)
      Creates a transport by interacting with a game object.
      Parameters:
      source - the source world point
      destination - the destination world point
      objId - the object ID to interact with
      actions - the action(s) to perform
      Returns:
      the created transport
    • objectTransport

      Transport objectTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions, Requirements requirements)
      Creates an object transport with custom radius and requirements.
      Parameters:
      radius - the interaction radius
      source - the source world point
      destination - the destination world point
      objId - the object ID to interact with
      actions - the action(s) to perform
      requirements - requirements that must be met
      Returns:
      the created transport
    • objectDialogTransport

      Transport objectDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String action, Requirements requirements, String... chatOptions)
      Creates a transport requiring object dialog interaction.
      Parameters:
      source - the source world point
      destination - the destination world point
      objId - the object ID to interact with
      action - the action to perform
      requirements - requirements that must be met
      chatOptions - the dialog options to select
      Returns:
      the created transport
    • objectDialogTransport

      default Transport objectDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String action, String... chatOptions)
      Creates an object dialog transport with no requirements.
      Parameters:
      source - the source world point
      destination - the destination world point
      objId - the object ID to interact with
      action - the action to perform
      chatOptions - the dialog options to select
      Returns:
      the created transport
    • objectTransport

      default Transport objectTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions, Requirements requirements)
      Creates an object transport with default radius.
      Parameters:
      source - the source world point
      destination - the destination world point
      objId - the object ID to interact with
      actions - the action(s) to perform
      requirements - requirements that must be met
      Returns:
      the created transport
    • objectTransport

      default Transport objectTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions)
      Creates an object transport with custom radius and no requirements.
      Parameters:
      radius - the interaction radius
      source - the source world point
      destination - the destination world point
      objId - the object ID to interact with
      actions - the action(s) to perform
      Returns:
      the created transport
    • slashWebTransport

      Transport slashWebTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination)
      Creates a transport for slashing through a web.
      Parameters:
      source - the source world point
      destination - the destination world point
      Returns:
      the created transport
    • spritTreeTransport

      Transport spritTreeTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, String location)
      Creates a transport for spirit tree travel.
      Parameters:
      source - the source world point
      destination - the destination world point
      location - the destination location name
      Returns:
      the created transport
    • mushtreeTransport

      Transport mushtreeTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int component)
      Creates a transport for magic mushtree (Fossil Island) travel.
      Parameters:
      source - the source world point
      destination - the destination world point
      component - the widget component ID for the destination
      Returns:
      the created transport
    • charterShip

      Transport charterShip(CharterShip charterShip)
      Creates a transport for charter ship travel.
      Parameters:
      charterShip - the charter ship route
      Returns:
      the created transport
    • magicCarpet

      Transport magicCarpet(MagicCarpet magicCarpet)
      Creates a transport for magic carpet travel.
      Parameters:
      magicCarpet - the magic carpet route
      Returns:
      the created transport
    • birdFlight

      Transport birdFlight(BirdFlight source, BirdFlight destination)
      Creates a transport for quetzal/bird flight travel (Varlamore).
      Parameters:
      source - the source bird flight location
      destination - the destination bird flight location
      Returns:
      the created transport
    • gnomeGlider

      Transport gnomeGlider(GnomeGlider gnomeGlider)
      Creates a transport for gnome glider travel.
      Parameters:
      gnomeGlider - the gnome glider route
      Returns:
      the created transport
    • minecartTransport

      Transport minecartTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, String target)
      Creates a transport for Lovakengj minecart travel.
      Parameters:
      source - the source world point
      destination - the destination world point
      target - the target destination name
      Returns:
      the created transport