Class Requirements
java.lang.Object
net.storm.api.movement.pathfinder.model.requirement.Requirements
Container for multiple requirement types that must all be fulfilled.
Requirements aggregates different requirement categories (quests, skills, items, vars, generic) and provides methods to check if all are satisfied. Requirements are combined with AND logic - all must be fulfilled.
Requirement Categories
itemRequirements- Item presence/count requirementsskillRequirements- Skill level requirementsvarRequirements- Varbit/varp value requirementsquestRequirements- Quest completion/progress requirementsgenericRequirements- Custom lambda-based requirements
Builder Pattern
Requirements reqs = Requirements.of(
QuestRequirement.finished(Quest.PRIEST_IN_PERIL),
new SkillRequirement(Skill.AGILITY, 70),
new VarRequirement(Comparison.EQUAL, VarType.VARBIT, 1234, 1)
);
Fluent API
Requirements reqs = new Requirements()
.addRequirement(QuestRequirement.finished(Quest.DRAGON_SLAYER_II))
.addRequirement(new SkillRequirement(Skill.MINING, 60));
Usage Example
Requirements reqs = getRequirements();
if (reqs.fulfilled()) {
// All requirements are met
}
if (reqs.isEmpty()) {
// No requirements defined
}
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddRequirement(Requirement requirement) Adds a requirement to the appropriate category list.booleanChecks if all requirements in all categories are fulfilled.booleanisEmpty()Checks if this container has no requirements defined.static Requirementsof(Requirement... requirements) Creates a Requirements container from a varargs array of requirements.
-
Constructor Details
-
Requirements
public Requirements()
-
-
Method Details
-
of
Creates a Requirements container from a varargs array of requirements.Each requirement is automatically categorized by type.
- Parameters:
requirements- the requirements to add- Returns:
- a new Requirements instance
-
fulfilled
public boolean fulfilled()Checks if all requirements in all categories are fulfilled.- Returns:
- true if every requirement is satisfied, false if any fails
-
addRequirement
Adds a requirement to the appropriate category list.The requirement type is detected and added to the correct list: ItemRequirement, SkillRequirement, VarRequirement, QuestRequirement, or genericRequirements for other types.
- Parameters:
requirement- the requirement to add- Returns:
- this Requirements instance for method chaining
-
isEmpty
public boolean isEmpty()Checks if this container has no requirements defined.- Returns:
- true if all requirement lists are empty
-