Class TransportLoader

java.lang.Object
net.storm.sdk.movement.pathfinder.TransportLoader

public class TransportLoader extends Object
Manages custom transport definitions and provides factory methods for creating transports.

Transports represent non-walking movement methods in the game such as ladders, doors, boats, agility shortcuts, and other interactive objects that move the player from one location to another. This class provides both management of custom transports and convenient factory methods for creating common transport types.

Transport types supported:

  • Object transports: Ladders, stairs, portals, agility obstacles
  • NPC transports: Charter ships, NPCs that teleport players
  • Item transports: Using items on objects (keys on doors, etc.)
  • Dialog transports: Transports requiring dialog navigation
  • Special transports: Trapdoors, webs, and other unique cases

Example Usage:


 // Create a simple object transport (ladder)
 Transport ladder = TransportLoader.objectTransport(
     new WorldPoint(3200, 3200, 0),  // source
     new WorldPoint(3200, 3200, 1),  // destination
     12345,                           // object ID
     "Climb-up"                       // action
 );
 TransportLoader.addCustomTransport(ladder);

 // Create an NPC transport
 Transport boat = TransportLoader.npcTransport(
     new WorldPoint(3000, 3000, 0),
     new WorldPoint(3100, 3100, 0),
     1234,                            // NPC ID
     "Travel"
 );

 // Create a transport with requirements
 Requirements reqs = new Requirements();
 reqs.quest(Quest.MONKEY_MADNESS_I);
 Transport questTransport = TransportLoader.objectTransport(
     source, destination, objId, "Enter", reqs
 );

 // Remove a custom transport
 TransportLoader.removeCustomTransport(ladder);
 
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    Registers a new custom transport with the pathfinding system.
    static List<Transport>
    Retrieves the list of all registered custom transports.
    static Transport
    itemUseAndObjectTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int beforeItem, int afterItem, int itemId)
    Creates a transport that requires using an item on an object, with state change.
    static 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.
    static 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.
    static 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.
    static 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.
    static 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 default requirements.
    static Transport
    npcDialogTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... chatOptions)
    Creates an NPC transport that requires navigating through dialog options.
    static Transport
    npcDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... chatOptions)
    Creates a simple NPC dialog transport with default settings.
    static 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 requirements and default radius.
    static 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.
    static 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 via NPC interaction with custom radius and requirements.
    static 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 via NPC interaction by name with custom radius and requirements.
    static Transport
    npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... actions)
    Creates a simple NPC transport by ID with default settings.
    static Transport
    npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... actions)
    Creates an NPC transport by ID with requirements.
    static Transport
    npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, String npcName, String... actions)
    Creates a simple NPC transport by name with default settings.
    static 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 default requirements.
    static Transport
    objectDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String action, Requirements requirements, String... chatOptions)
    Creates an object transport that requires navigating through dialog options.
    static 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 default requirements.
    static 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.
    static Transport
    objectTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions)
    Creates a simple object transport (ladder, stairs, portal, etc.).
    static 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 requirements and default radius.
    static void
    Removes a custom transport from the pathfinding system.
    static Transport
    slashWebTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination)
    Creates a transport for slashing through a web obstacle.
    static Transport
    trapDoorTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int closedId, int openedId)
    Creates a transport for a trapdoor that may need to be opened first.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • TransportLoader

      public TransportLoader()
  • Method Details

    • getCustomTransports

      public static List<Transport> getCustomTransports()
      Retrieves the list of all registered custom transports.
      Returns:
      the list of custom transports
    • addCustomTransport

      public static void addCustomTransport(Transport transport)
      Registers a new custom transport with the pathfinding system.
      Parameters:
      transport - the transport to register
    • removeCustomTransport

      public static void removeCustomTransport(Transport transport)
      Removes a custom transport from the pathfinding system.
      Parameters:
      transport - the transport to unregister
    • trapDoorTransport

      public static Transport trapDoorTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int closedId, int openedId)
      Creates a transport for a trapdoor that may need to be opened first.
      Parameters:
      source - the source location
      destination - the destination after using the trapdoor
      closedId - the object ID when the trapdoor is closed
      openedId - the object ID when the trapdoor is open
      Returns:
      a Transport configured for the trapdoor
    • itemUseAndObjectTransport

      public static Transport itemUseAndObjectTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int beforeItem, int afterItem, int itemId)
      Creates a transport that requires using an item on an object, with state change.
      Parameters:
      source - the source location
      destination - the destination after the transport
      beforeItem - the object ID before interaction
      afterItem - the object ID after interaction
      itemId - the item ID to use
      Returns:
      a Transport configured for item use with state change
    • itemUseTransport

      public static 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 location
      destination - the destination after the transport
      itemId - the item ID to use
      objId - the object ID to use the item on
      radius - the interaction radius
      Returns:
      a Transport configured for item use
    • itemUseTransport

      public static 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 location
      destination - the destination after the transport
      itemId - the item ID to use
      objId - the object ID to use the item on
      Returns:
      a Transport configured for item use with radius of 5
    • itemWearTransport

      public static 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 location
      destination - the destination after the transport
      objId - the object ID to interact with
      actions - the action to perform on the object
      itemIds - the item IDs that must be worn
      Returns:
      a Transport configured for equipment-gated access
    • itemWearTransport

      public static 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 location
      destination - the destination after the transport
      objId - the object ID to interact with
      actions - the action to perform
      itemIds - the item IDs that must be worn
      Returns:
      a Transport configured for equipment-gated access
    • npcTransport

      public static 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 via NPC interaction with custom radius and requirements.
      Parameters:
      radius - the interaction radius
      source - the source location
      destination - the destination after the transport
      npcId - the NPC ID to interact with
      requirements - the requirements to use this transport
      actions - the actions to perform
      Returns:
      a Transport configured for NPC interaction
    • npcTransport

      public static 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 via NPC interaction by name with custom radius and requirements.
      Parameters:
      radius - the interaction radius
      source - the source location
      destination - the destination after the transport
      npcName - the NPC name to interact with
      requirements - the requirements to use this transport
      actions - the actions to perform
      Returns:
      a Transport configured for NPC interaction
    • npcTransport

      public static Transport npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, String npcName, String... actions)
      Creates a simple NPC transport by name with default settings.
      Parameters:
      source - the source location
      destination - the destination after the transport
      npcName - the NPC name to interact with
      actions - the actions to perform
      Returns:
      a Transport configured for NPC interaction
    • npcTransport

      public static Transport npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... actions)
      Creates an NPC transport by ID with requirements.
      Parameters:
      source - the source location
      destination - the destination after the transport
      npcId - the NPC ID to interact with
      requirements - the requirements to use this transport
      actions - the actions to perform
      Returns:
      a Transport configured for NPC interaction
    • npcTransport

      public static Transport npcTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... actions)
      Creates a simple NPC transport by ID with default settings.
      Parameters:
      source - the source location
      destination - the destination after the transport
      npcId - the NPC ID to interact with
      actions - the actions to perform
      Returns:
      a Transport configured for NPC interaction
    • npcTransport

      public static 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.
      Parameters:
      radius - the interaction radius
      source - the source location
      destination - the destination after the transport
      npcId - the NPC ID to interact with
      actions - the actions to perform
      Returns:
      a Transport configured for NPC interaction
    • npcDialogTransport

      public static Transport npcDialogTransport(int radius, net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, Requirements requirements, String... chatOptions)
      Creates an NPC transport that requires navigating through dialog options.
      Parameters:
      radius - the interaction radius
      source - the source location
      destination - the destination after the transport
      npcId - the NPC ID to interact with
      requirements - the requirements to use this transport
      chatOptions - the dialog options to select
      Returns:
      a Transport configured for NPC dialog navigation
    • npcDialogTransport

      public static 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 default requirements.
      Parameters:
      radius - the interaction radius
      source - the source location
      destination - the destination after the transport
      npcId - the NPC ID to interact with
      chatOptions - the dialog options to select
      Returns:
      a Transport configured for NPC dialog navigation
    • npcDialogTransport

      public static 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 requirements and default radius.
      Parameters:
      source - the source location
      destination - the destination after the transport
      npcId - the NPC ID to interact with
      requirements - the requirements to use this transport
      chatOptions - the dialog options to select
      Returns:
      a Transport configured for NPC dialog navigation
    • npcDialogTransport

      public static Transport npcDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int npcId, String... chatOptions)
      Creates a simple NPC dialog transport with default settings.
      Parameters:
      source - the source location
      destination - the destination after the transport
      npcId - the NPC ID to interact with
      chatOptions - the dialog options to select
      Returns:
      a Transport configured for NPC dialog navigation
    • objectTransport

      public static Transport objectTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String actions)
      Creates a simple object transport (ladder, stairs, portal, etc.).
      Parameters:
      source - the source location
      destination - the destination after using the object
      objId - the object ID to interact with
      actions - the action to perform
      Returns:
      a Transport configured for object interaction
    • objectTransport

      public static 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 location
      destination - the destination after using the object
      objId - the object ID to interact with
      actions - the action to perform
      requirements - the requirements to use this transport
      Returns:
      a Transport configured for object interaction
    • objectDialogTransport

      public static Transport objectDialogTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination, int objId, String action, Requirements requirements, String... chatOptions)
      Creates an object transport that requires navigating through dialog options.
      Parameters:
      source - the source location
      destination - the destination after the transport
      objId - the object ID to interact with
      action - the action to perform on the object
      requirements - the requirements to use this transport
      chatOptions - the dialog options to select
      Returns:
      a Transport configured for object dialog navigation
    • objectDialogTransport

      public static 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 default requirements.
      Parameters:
      source - the source location
      destination - the destination after the transport
      objId - the object ID to interact with
      action - the action to perform on the object
      chatOptions - the dialog options to select
      Returns:
      a Transport configured for object dialog navigation
    • objectTransport

      public static 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 requirements and default radius.
      Parameters:
      source - the source location
      destination - the destination after using the object
      objId - the object ID to interact with
      actions - the action to perform
      requirements - the requirements to use this transport
      Returns:
      a Transport configured for object interaction
    • objectTransport

      public static 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 default requirements.
      Parameters:
      radius - the interaction radius
      source - the source location
      destination - the destination after using the object
      objId - the object ID to interact with
      actions - the action to perform
      Returns:
      a Transport configured for object interaction
    • slashWebTransport

      public static Transport slashWebTransport(net.runelite.api.coords.WorldPoint source, net.runelite.api.coords.WorldPoint destination)
      Creates a transport for slashing through a web obstacle.
      Parameters:
      source - the source location before the web
      destination - the destination after slashing the web
      Returns:
      a Transport configured for web slashing