Class TeleportDefinition


  • public final class TeleportDefinition
    extends java.lang.Object
    Immutable description of one teleport destination.

    Definitions are data only. Every runtime-checked value here is either a compile-time gameval constant (net.runelite.api.gameval.ItemID, InterfaceID.MagicSpellbook) or a destination verified against the public OSRS wiki landing-area data (see docs/PROGRESS.md P5 notes). No menu component tuples are stored; dispatch always goes through the owning service (Inventory / Equipment / Magic) which validates actions against live widget state at invocation time.

    Honesty rules encoded here:

    • destination == null means the landing point is dynamic (player-owned house, home respawn); arrival checks are impossible and TeleportsService will refuse to claim them.
    • requiredLevel is enforced against the live Magic level at invoke time when set.
    • dialogueOption is the unique substring matched against the real dialogue options after a "Rub"-style action opens the destination-choice dialog.
    • Constructor Summary

      Constructors 
      Constructor Description
      TeleportDefinition​(java.lang.String name, TeleportType type, java.util.List<java.lang.Integer> itemIds, net.runelite.api.EquipmentInventorySlot slot, java.lang.String action, int spellComponentId, int requiredLevel, net.runelite.api.coords.WorldPoint destination, int arrivalRadius, java.lang.String dialogueOption, java.lang.String note)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getAction()
      Menu action used on the item/spell ("Rub", "Break", "Cast").
      int getArrivalRadius()
      Chebyshev radius in tiles around getDestination() accepted as arrived.
      net.runelite.api.coords.WorldPoint getDestination()
      Verified landing tile, or null when dynamic (POH/home respawn).
      java.lang.String getDialogueOption()
      Unique substring of the dialogue option that picks this destination, if any.
      java.util.List<java.lang.Integer> getItemIds()
      Accepted charged/uncharged item variants, highest charge first.
      java.lang.String getName()
      Human-readable destination label, e.g.
      java.lang.String getNote()
      Documented unlock gate (diary/quest/visit), informational only.
      int getRequiredLevel()
      Magic level requirement (-1 when the teleport has none, e.g.
      net.runelite.api.EquipmentInventorySlot getSlot()
      Required equipment slot for EQUIPPED_ITEM teleports, otherwise null.
      int getSpellComponentId()
      Gameval spellbook component id for SPELL teleports, otherwise -1.
      TeleportType getType()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TeleportDefinition

        public TeleportDefinition​(java.lang.String name,
                                  TeleportType type,
                                  java.util.List<java.lang.Integer> itemIds,
                                  net.runelite.api.EquipmentInventorySlot slot,
                                  java.lang.String action,
                                  int spellComponentId,
                                  int requiredLevel,
                                  net.runelite.api.coords.WorldPoint destination,
                                  int arrivalRadius,
                                  java.lang.String dialogueOption,
                                  java.lang.String note)
    • Method Detail

      • getName

        public java.lang.String getName()
        Human-readable destination label, e.g. "Edgeville" or "Varrock Teleport".
      • getItemIds

        public java.util.List<java.lang.Integer> getItemIds()
        Accepted charged/uncharged item variants, highest charge first. Empty for spells.
      • getSlot

        public net.runelite.api.EquipmentInventorySlot getSlot()
        Required equipment slot for EQUIPPED_ITEM teleports, otherwise null.
      • getAction

        public java.lang.String getAction()
        Menu action used on the item/spell ("Rub", "Break", "Cast").
      • getSpellComponentId

        public int getSpellComponentId()
        Gameval spellbook component id for SPELL teleports, otherwise -1.
      • getRequiredLevel

        public int getRequiredLevel()
        Magic level requirement (-1 when the teleport has none, e.g. tablets).
      • getDestination

        public net.runelite.api.coords.WorldPoint getDestination()
        Verified landing tile, or null when dynamic (POH/home respawn).
      • getArrivalRadius

        public int getArrivalRadius()
        Chebyshev radius in tiles around getDestination() accepted as arrived.
      • getDialogueOption

        public java.lang.String getDialogueOption()
        Unique substring of the dialogue option that picks this destination, if any.
      • getNote

        public java.lang.String getNote()
        Documented unlock gate (diary/quest/visit), informational only.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object