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:
objectTransport(net.runelite.api.coords.WorldPoint, net.runelite.api.coords.WorldPoint, int, java.lang.String)- Simple object interactionnpcTransport(int, net.runelite.api.coords.WorldPoint, net.runelite.api.coords.WorldPoint, int, net.storm.api.movement.pathfinder.model.requirement.Requirements, java.lang.String...)- NPC interactionnpcDialogTransport(int, net.runelite.api.coords.WorldPoint, net.runelite.api.coords.WorldPoint, int, net.storm.api.movement.pathfinder.model.requirement.Requirements, java.lang.String...)- NPC with dialog optionsitemUseTransport(net.runelite.api.coords.WorldPoint, net.runelite.api.coords.WorldPoint, int, int, int)- Using items on objectsfairyRingTransport(net.storm.api.movement.pathfinder.model.FairyRing, net.storm.api.movement.pathfinder.model.FairyRing)- Fairy ring networkcharterShip(net.storm.api.movement.pathfinder.model.CharterShip)- Charter ship routesgnomeGlider(net.storm.api.movement.pathfinder.model.GnomeGlider)- Gnome glider network
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intMaximum distance for interacting with transport objects.static final intDefault radius for transport source/destination areas. -
Method Summary
Modifier and TypeMethodDescriptionbirdFlight(BirdFlight source, BirdFlight destination) Creates a transport for quetzal/bird flight travel (Varlamore).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.voidinit()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 TransportitemUseTransport(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 TransportitemWearTransport(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 TransportnpcDialogTransport(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 TransportnpcDialogTransport(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 TransportnpcDialogTransport(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 TransportnpcTransport(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 TransportnpcTransport(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 TransportnpcTransport(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 TransportnpcTransport(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 TransportobjectDialogTransport(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 TransportobjectTransport(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 TransportobjectTransport(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 voidRefreshes the available transports using current inventory state.voidrefreshTransports(List<Integer> items) 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_DISTANCEMaximum distance for interacting with transport objects.- See Also:
-
MAX_RADIUS
static final int MAX_RADIUSDefault 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
Gets the list of custom transports registered by plugins or scripts.- Returns:
- list of custom transports
-
buildTransports
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
Builds a list of all currently available transports using live game data.- Returns:
- list of available transports
-
refreshTransports
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
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 pointdestination- the destination world pointclosedId- the object ID when closedopenedId- 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 pointdestination- the destination world pointbeforeItem- the item ID before the interactionafterItem- the item ID after the interactionitemId- the item to use- Returns:
- the created transport
-
fairyRingTransport
Creates a transport for fairy ring travel between two rings.- Parameters:
source- the source fairy ringdestination- 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 pointdestination- the destination world pointitemId- the item ID to useobjId- the object ID to use the item onradius- 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 pointdestination- the destination world pointitemId- the item ID to useobjId- 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 radiussource- the source world pointdestination- the destination world pointobjId- the object ID to interact withactions- the action(s) to performitemIds- 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 pointdestination- the destination world pointobjId- the object ID to interact withactions- the action(s) to performitemIds- 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 radiussource- the source world pointdestination- the destination world pointnpcId- the NPC ID to interact withrequirements- requirements that must be metactions- 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 radiussource- the source world pointdestination- the destination world pointnpcName- the NPC name to interact withrequirements- requirements that must be metactions- 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 pointdestination- the destination world pointnpcName- the NPC name to interact withactions- 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 pointdestination- the destination world pointnpcId- the NPC ID to interact withrequirements- requirements that must be metactions- 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 pointdestination- the destination world pointnpcId- the NPC ID to interact withactions- 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 radiussource- the source world pointdestination- the destination world pointnpcId- the NPC ID to interact withactions- 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 radiussource- the source world pointdestination- the destination world pointnpcId- the NPC ID to interact withrequirements- requirements that must be metchatOptions- 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 radiussource- the source world pointdestination- the destination world pointnpcId- the NPC ID to interact withchatOptions- 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 pointdestination- the destination world pointnpcId- the NPC ID to interact withrequirements- requirements that must be metchatOptions- 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 pointdestination- the destination world pointnpcId- the NPC ID to interact withchatOptions- 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 pointdestination- the destination world pointobjId- the object ID to interact withactions- 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 radiussource- the source world pointdestination- the destination world pointobjId- the object ID to interact withactions- the action(s) to performrequirements- 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 pointdestination- the destination world pointobjId- the object ID to interact withaction- the action to performrequirements- requirements that must be metchatOptions- 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 pointdestination- the destination world pointobjId- the object ID to interact withaction- the action to performchatOptions- 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 pointdestination- the destination world pointobjId- the object ID to interact withactions- the action(s) to performrequirements- 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 radiussource- the source world pointdestination- the destination world pointobjId- the object ID to interact withactions- 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 pointdestination- 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 pointdestination- the destination world pointlocation- 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 pointdestination- the destination world pointcomponent- the widget component ID for the destination- Returns:
- the created transport
-
charterShip
Creates a transport for charter ship travel.- Parameters:
charterShip- the charter ship route- Returns:
- the created transport
-
magicCarpet
Creates a transport for magic carpet travel.- Parameters:
magicCarpet- the magic carpet route- Returns:
- the created transport
-
birdFlight
Creates a transport for quetzal/bird flight travel (Varlamore).- Parameters:
source- the source bird flight locationdestination- the destination bird flight location- Returns:
- the created transport
-
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 pointdestination- the destination world pointtarget- the target destination name- Returns:
- the created transport
-