Class SimulationState


  • public final class SimulationState
    extends java.lang.Object
    Mutable branchable state used while expanding the simulation tree.
    • Method Detail

      • copy

        public SimulationState copy()
        Creates a branch-safe copy.
        Returns:
        copied state.
      • getPlayerWorldPoint

        public net.runelite.api.coords.WorldPoint getPlayerWorldPoint()
        Returns:
        player world point.
      • getPlayerX

        public int getPlayerX()
        Returns:
        player world x.
      • getPlayerY

        public int getPlayerY()
        Returns:
        player world y.
      • hasQueuedMovement

        public boolean hasQueuedMovement()
        Returns:
        true when a movement destination is queued.
      • getQueuedMovementDestination

        public net.runelite.api.coords.WorldPoint getQueuedMovementDestination()
        Returns:
        queued movement destination, or null when none.
      • isQueuedMovementRun

        public boolean isQueuedMovementRun()
        Returns:
        true when queued movement is simulated as run speed.
      • damagePlayer

        public void damagePlayer​(int amount)
        Applies damage to player hitpoints.
        Parameters:
        amount - damage amount.
      • healPlayer

        public void healPlayer​(int amount)
        Heals player hitpoints.
        Parameters:
        amount - heal amount.
      • getNpcIndex

        public int getNpcIndex​(int npcSlot)
        Parameters:
        npcSlot - internal npc slot.
        Returns:
        RuneLite npc index.
      • getNpcId

        public int getNpcId​(int npcSlot)
        Parameters:
        npcSlot - internal npc slot.
        Returns:
        RuneLite npc id.
      • getNpcSize

        public int getNpcSize​(int npcSlot)
        Parameters:
        npcSlot - internal npc slot.
        Returns:
        npc size.
      • getNpcProfile

        public SimulationNpcProfile getNpcProfile​(int npcSlot)
        Parameters:
        npcSlot - internal npc slot.
        Returns:
        npc profile resolved from scenario mapping.
      • isNpcActive

        public boolean isNpcActive​(int npcSlot)
        Parameters:
        npcSlot - internal npc slot.
        Returns:
        true when npc is active.
      • setNpcActive

        public void setNpcActive​(int npcSlot,
                                 boolean active)
        Sets npc active status.
        Parameters:
        npcSlot - internal npc slot.
        active - active state.
      • getNpcWorldPoint

        public net.runelite.api.coords.WorldPoint getNpcWorldPoint​(int npcSlot)
        Parameters:
        npcSlot - internal npc slot.
        Returns:
        npc world point.
      • getNpcX

        public int getNpcX​(int npcSlot)
        Parameters:
        npcSlot - internal npc slot.
        Returns:
        npc world x.
      • getNpcY

        public int getNpcY​(int npcSlot)
        Parameters:
        npcSlot - internal npc slot.
        Returns:
        npc world y.
      • getNpcPackedPoint

        public int getNpcPackedPoint​(int npcSlot)
        Parameters:
        npcSlot - internal npc slot.
        Returns:
        npc packed world point.
      • getNpcAttackCooldown

        public int getNpcAttackCooldown​(int npcSlot)
        Parameters:
        npcSlot - internal npc slot.
        Returns:
        npc attack cooldown in ticks.
      • setNpcAttackCooldown

        public void setNpcAttackCooldown​(int npcSlot,
                                         int cooldown)
        Sets npc attack cooldown.
        Parameters:
        npcSlot - internal npc slot.
        cooldown - cooldown in ticks.
      • findNpcSlotByIndex

        public int findNpcSlotByIndex​(int npcIndex)
        Finds a simulation npc slot from RuneLite npc index.
        Parameters:
        npcIndex - npc index.
        Returns:
        slot index, or -1 when not found.
      • getInventoryItemCounts

        public java.util.Map<java.lang.Integer,​java.lang.Integer> getInventoryItemCounts()
        Returns:
        immutable inventory counts by item id.
      • getEquippedItemIds

        public java.util.Set<java.lang.Integer> getEquippedItemIds()
        Returns:
        immutable equipped item id set.
      • hasInventoryItem

        public boolean hasInventoryItem​(int itemId)
        Parameters:
        itemId - item id.
        Returns:
        true when inventory contains the item.
      • getInventoryItemCount

        public int getInventoryItemCount​(int itemId)
        Parameters:
        itemId - item id.
        Returns:
        inventory quantity.
      • consumeInventoryItem

        public boolean consumeInventoryItem​(int itemId)
        Consumes one inventory item.
        Parameters:
        itemId - item id.
        Returns:
        true when consumed.
      • addInventoryItem

        public void addInventoryItem​(int itemId)
        Adds an item to inventory counts.
        Parameters:
        itemId - item id.
      • isItemEquipped

        public boolean isItemEquipped​(int itemId)
        Parameters:
        itemId - item id.
        Returns:
        true when item is equipped.
      • equipItemFromInventory

        public boolean equipItemFromInventory​(int itemId)
        Equips an item from inventory.
        Parameters:
        itemId - item id.
        Returns:
        true when equipped.