mirror of
https://github.com/PikaMug/Quests.git
synced 2025-02-18 21:41:22 +01:00
Catch early repeat attempts, fixes #2244
This commit is contained in:
parent
a18bb3aadc
commit
d6f8a2be59
@ -389,7 +389,7 @@ public class BukkitPlayerListener implements Listener {
|
||||
} else {
|
||||
if (quester.getCompletedQuests().contains(bukkitQuest)) {
|
||||
if (bukkitQuest.getPlanner().getCooldown() > -1
|
||||
&& (quester.getRemainingCooldown(bukkitQuest)) > 0) {
|
||||
&& quester.getRemainingCooldown(bukkitQuest) > 0) {
|
||||
String early = BukkitLang.get(player, "questTooEarly");
|
||||
early = early.replace("<quest>", bukkitQuest.getName());
|
||||
early = early.replace("<time>", BukkitMiscUtil.getTime(
|
||||
|
@ -640,7 +640,7 @@ public class BukkitQuester implements Quester {
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if Quester is too early or late for a planned quest<p>
|
||||
* Check if Quester is not too early or late for a planned quest<p>
|
||||
*
|
||||
* For player cooldown, use {@link #canAcceptOffer(Quest, boolean)} instead
|
||||
*
|
||||
@ -678,8 +678,20 @@ public class BukkitQuester implements Quester {
|
||||
}
|
||||
}
|
||||
if (repeat != -1 && start != -1 && end != -1) {
|
||||
// Ensure that we're past the initial duration
|
||||
if (currentTime > end) {
|
||||
// Repeatable quest
|
||||
if (currentTime <= end) {
|
||||
// Initial period where quest may be active
|
||||
if (completedTimes.containsKey(quest) && quest.getPlanner().getCooldown() > -1
|
||||
&& getRemainingCooldown(quest) > 0) {
|
||||
if (giveReason) {
|
||||
final String early = BukkitLang.get("plnTooEarly").replace("<quest>", quest.getName())
|
||||
.replace("<time>", BukkitMiscUtil.getTime(end - currentTime));
|
||||
sendMessage(ChatColor.YELLOW + early);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Subsequent period where quest may be active
|
||||
final int maxSize = 2;
|
||||
final LinkedHashMap<Long, Long> mostRecent = new LinkedHashMap<Long, Long>() {
|
||||
private static final long serialVersionUID = 3046838061019897713L;
|
||||
|
Loading…
Reference in New Issue
Block a user