From 644c7d6ba5e3062b9266affd0901dccdf525f665 Mon Sep 17 00:00:00 2001 From: BONNe Date: Fri, 24 Sep 2021 12:55:41 +0300 Subject: [PATCH] Fixes #269 Disable waiver amount message for last challenge level. --- .../challenges/managers/ChallengesManager.java | 15 +++++++++++++++ .../bentobox/challenges/panel/CommonPanel.java | 13 ++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/main/java/world/bentobox/challenges/managers/ChallengesManager.java b/src/main/java/world/bentobox/challenges/managers/ChallengesManager.java index d1803cd..eb07ee1 100644 --- a/src/main/java/world/bentobox/challenges/managers/ChallengesManager.java +++ b/src/main/java/world/bentobox/challenges/managers/ChallengesManager.java @@ -1677,6 +1677,21 @@ public class ChallengesManager } + /** + * Returns if the given level is last leve in given world. + * + * @param level the level + * @param world the world + * @return the boolean + */ + public boolean isLastLevel(ChallengeLevel level, World world) + { + List levels = this.getLevels(world); + + return levels.get(levels.size() - 1) == level; + } + + // --------------------------------------------------------------------- // Section: Challenges related methods // --------------------------------------------------------------------- diff --git a/src/main/java/world/bentobox/challenges/panel/CommonPanel.java b/src/main/java/world/bentobox/challenges/panel/CommonPanel.java index 60c7492..939649e 100644 --- a/src/main/java/world/bentobox/challenges/panel/CommonPanel.java +++ b/src/main/java/world/bentobox/challenges/panel/CommonPanel.java @@ -816,8 +816,9 @@ public abstract class CommonPanel // Get status in single string String status = ""; // Get requirements in single string - String waiver = this.user.getTranslationOrNothing(reference + "waiver", - "[number]", String.valueOf(level.getWaiverAmount())); + String waiver = this.manager.isLastLevel(level, this.world) ? "" : + this.user.getTranslationOrNothing(reference + "waiver", + "[number]", String.valueOf(level.getWaiverAmount())); // Get rewards in single string String rewards = this.generateReward(level); @@ -851,9 +852,11 @@ public abstract class CommonPanel // Get status in single string String status = this.generateLevelStatus(levelStatus); // Get requirements in single string - String waiver = !levelStatus.isUnlocked() || levelStatus.isComplete() ? "" : - this.user.getTranslationOrNothing(reference + "waiver", - "[number]", String.valueOf(level.getWaiverAmount())); + String waiver = this.manager.isLastLevel(level, this.world) || + !levelStatus.isUnlocked() || + levelStatus.isComplete() ? + "" : this.user.getTranslationOrNothing(reference + "waiver", + "[number]", String.valueOf(level.getWaiverAmount())); // Get rewards in single string String rewards = !levelStatus.isUnlocked() ? "" : this.generateReward(level);