Class QuestRequirement

java.lang.Object
net.storm.api.movement.pathfinder.model.requirement.QuestRequirement
All Implemented Interfaces:
Supplier<Boolean>, Requirement

public class QuestRequirement extends Object implements Requirement
Requirement that checks for quest completion or progress.

QuestRequirement verifies that a quest is in one of the specified states. This is commonly used to gate content that requires quest completion.

Quest States

  • QuestState.NOT_STARTED - Quest has not been started
  • QuestState.IN_PROGRESS - Quest is currently in progress
  • QuestState.FINISHED - Quest has been completed

Factory Methods

Usage Example


 // Require quest completed
 QuestRequirement req = QuestRequirement.finished(Quest.PRIEST_IN_PERIL);

 // Require quest started or completed
 QuestRequirement req2 = QuestRequirement.of(
     Quest.MONKEY_MADNESS_I,
     QuestState.IN_PROGRESS, QuestState.FINISHED
 );

 if (req.get()) {
     // Quest requirement is met
 }
 
See Also:
  • Constructor Details

    • QuestRequirement

      public QuestRequirement()
  • Method Details

    • of

      public static QuestRequirement of(net.runelite.api.Quest quest, net.runelite.api.QuestState... states)
      Creates a quest requirement accepting any of the specified states.
      Parameters:
      quest - the quest to check
      states - the acceptable quest states
      Returns:
      a new QuestRequirement
    • finished

      public static QuestRequirement finished(net.runelite.api.Quest quest)
      Creates a quest requirement for completed quests only.
      Parameters:
      quest - the quest that must be finished
      Returns:
      a new QuestRequirement requiring FINISHED state
    • get

      public Boolean get()
      Checks if the quest is in one of the acceptable states.
      Specified by:
      get in interface Supplier<Boolean>
      Returns:
      true if the quest state matches, false otherwise