aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/Requirement.java
diff options
context:
space:
mode:
authorMoulberry <james.jenour@student.scotch.wa.edu.au>2020-07-17 05:57:11 +0800
committerMoulberry <james.jenour@student.scotch.wa.edu.au>2020-07-17 05:57:11 +0800
commitf7d3491def0f7498d7bf0d547445f75f0c515912 (patch)
tree7aa7cea0da7cdca2fdea55fffcbf746d22734b1c /src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/Requirement.java
parentf90f0b2f1f234d08742a4f0dd8afcd4b80e26d05 (diff)
downloadnotenoughupdates-f7d3491def0f7498d7bf0d547445f75f0c515912.tar.gz
notenoughupdates-f7d3491def0f7498d7bf0d547445f75f0c515912.tar.bz2
notenoughupdates-f7d3491def0f7498d7bf0d547445f75f0c515912.zip
REL-1.0.0
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/Requirement.java')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/Requirement.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/Requirement.java b/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/Requirement.java
new file mode 100644
index 00000000..a7f40e73
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/questing/requirements/Requirement.java
@@ -0,0 +1,29 @@
+package io.github.moulberry.notenoughupdates.questing.requirements;
+
+public abstract class Requirement {
+
+ private Requirement[] preconditions;
+
+ protected boolean completed = false;
+
+ public Requirement(Requirement... preconditions) {
+ this.preconditions = preconditions;
+ }
+
+ public boolean getPreconditionCompleted() {
+ boolean completed = true;
+ for(Requirement precondition : preconditions) {
+ completed &= precondition.completed;
+ }
+ return completed;
+ }
+
+ //Collection, Item obtained, GUI Open, Fake npc interact
+
+ public boolean getCompleted() {
+ return completed && getPreconditionCompleted();
+ }
+
+ public abstract void updateRequirement();
+
+}