aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java2
-rw-r--r--common/src/main/java/com/leonardobishop/quests/common/quest/Quest.java19
2 files changed, 20 insertions, 1 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
index aabf8998..54a917a4 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/config/BukkitQuestsLoader.java
@@ -285,6 +285,7 @@ public class BukkitQuestsLoader implements QuestsLoader {
boolean autostart = config.getBoolean("options.autostart", false);
boolean cancellable = config.getBoolean("options.cancellable", true);
boolean countsTowardsLimit = config.getBoolean("options.counts-towards-limit", true);
+ boolean countsTowardsCompleted = config.getBoolean("options.counts-towards-completed", true);
int cooldownTime = config.getInt("options.cooldown.time", 10);
int timeLimtTime = config.getInt("options.time-limit.time", 10);
int sortOrder = config.getInt("options.sort-order", 1);
@@ -324,6 +325,7 @@ public class BukkitQuestsLoader implements QuestsLoader {
.withRepeatEnabled(repeatable)
.withCancellable(cancellable)
.withCountsTowardsLimit(countsTowardsLimit)
+ .withCountsTowardsCompleted(countsTowardsCompleted)
.withAutoStartEnabled(autostart)
.inCategory(category)
.build();
diff --git a/common/src/main/java/com/leonardobishop/quests/common/quest/Quest.java b/common/src/main/java/com/leonardobishop/quests/common/quest/Quest.java
index df3a1aaf..2a0ed080 100644
--- a/common/src/main/java/com/leonardobishop/quests/common/quest/Quest.java
+++ b/common/src/main/java/com/leonardobishop/quests/common/quest/Quest.java
@@ -36,6 +36,7 @@ public class Quest implements Comparable<Quest> {
private boolean autoStartEnabled;
private boolean cancellable;
private boolean countsTowardsLimit;
+ private boolean countsTowardsCompleted;
private Map<String, String> placeholders;
private Map<String, String> progressPlaceholders;
private String categoryid;
@@ -330,6 +331,15 @@ public class Quest implements Comparable<Quest> {
}
/**
+ * Get whether this quest should count towards the player's quests completed.
+ *
+ * @return boolean
+ */
+ public boolean doesCountTowardsCompleted() {
+ return countsTowardsCompleted;
+ }
+
+ /**
* Compare the sort orders for this quest with another quest.
*
* @see Comparable#compareTo(Object)
@@ -364,6 +374,7 @@ public class Quest implements Comparable<Quest> {
private boolean autoStartEnabled = false;
private boolean cancellable = true;
private boolean countsTowardsLimit = true;
+ private boolean countsTowardsCompleted = true;
private Map<String, String> placeholders = Collections.emptyMap();
private Map<String, String> progressPlaceholders = Collections.emptyMap();
private String categoryid = null;
@@ -482,6 +493,11 @@ public class Quest implements Comparable<Quest> {
return this;
}
+ public Builder withCountsTowardsCompleted(boolean countsTowardsCompleted) {
+ this.countsTowardsCompleted = countsTowardsCompleted;
+ return this;
+ }
+
public Builder inCategory(String categoryid) {
this.categoryid = categoryid;
return this;
@@ -508,7 +524,8 @@ public class Quest implements Comparable<Quest> {
quest.sortOrder = this.sortOrder;
quest.permissionRequired = this.permissionRequired;
quest.autoStartEnabled = this.autoStartEnabled;
- quest.countsTowardsLimit = countsTowardsLimit;
+ quest.countsTowardsLimit = this.countsTowardsLimit;
+ quest.countsTowardsCompleted = this.countsTowardsCompleted;
quest.cancellable = this.cancellable;
quest.placeholders = this.placeholders;
quest.progressPlaceholders = this.progressPlaceholders;