From a77831c675b9709fa6e26793ec8df52c2f21e985 Mon Sep 17 00:00:00 2001 From: PikaMug <2267126+PikaMug@users.noreply.github.com> Date: Thu, 30 Jan 2020 02:36:58 -0500 Subject: [PATCH] Address sheep-shear objectives not loading properly, fixes #1056 --- main/src/main/java/me/blackvein/quests/Quests.java | 12 +++++++++++- .../java/me/blackvein/quests/prompts/MobsPrompt.java | 2 +- .../main/java/me/blackvein/quests/util/MiscUtil.java | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/main/src/main/java/me/blackvein/quests/Quests.java b/main/src/main/java/me/blackvein/quests/Quests.java index 3e4d0059c..81113afc9 100644 --- a/main/src/main/java/me/blackvein/quests/Quests.java +++ b/main/src/main/java/me/blackvein/quests/Quests.java @@ -2656,7 +2656,16 @@ public class Quests extends JavaPlugin implements ConversationAbandonedListener List shearAmounts = config.getIntegerList("quests." + questKey + ".stages.ordered." + stageNum + ".sheep-amounts"); for (String color : sheep) { - if (color.equalsIgnoreCase(Lang.get("COLOR_BLACK"))) { + DyeColor dc = null; + try { + dc = DyeColor.valueOf(color.toUpperCase()); + } catch (IllegalArgumentException e) { + // Fail silently + } + if (dc != null) { + oStage.sheepToShear.put(dc, shearAmounts.get(sheep.indexOf(color))); + // Legacy start --> + } else if (color.equalsIgnoreCase(Lang.get("COLOR_BLACK"))) { oStage.sheepToShear.put(DyeColor.BLACK, shearAmounts.get(sheep.indexOf(color))); } else if (color.equalsIgnoreCase(Lang.get("COLOR_BLUE"))) { oStage.sheepToShear.put(DyeColor.BLUE, shearAmounts.get(sheep.indexOf(color))); @@ -2691,6 +2700,7 @@ public class Quests extends JavaPlugin implements ConversationAbandonedListener oStage.sheepToShear.put(DyeColor.WHITE, shearAmounts.get(sheep.indexOf(color))); } else if (color.equalsIgnoreCase(Lang.get("COLOR_YELLOW"))) { oStage.sheepToShear.put(DyeColor.YELLOW, shearAmounts.get(sheep.indexOf(color))); + // <-- Legacy end } else { failStageProcess("sheep-to-shear has invalid color " + color, quest, stageNum); } diff --git a/main/src/main/java/me/blackvein/quests/prompts/MobsPrompt.java b/main/src/main/java/me/blackvein/quests/prompts/MobsPrompt.java index 1857219db..82737eccf 100644 --- a/main/src/main/java/me/blackvein/quests/prompts/MobsPrompt.java +++ b/main/src/main/java/me/blackvein/quests/prompts/MobsPrompt.java @@ -768,7 +768,7 @@ public class MobsPrompt extends FixedSetPrompt { if (context.getSessionData(pref + CK.S_SHEAR_COLORS) == null) { text += ChatColor.BLUE + "" + ChatColor.BOLD + "1" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("stageEditorSetShearColors") + " (" + Lang.get("noneSet") + ")\n"; - text += ChatColor.GRAY + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.GRAY + text += ChatColor.GRAY + "" + ChatColor.BOLD + "2" + ChatColor.RESET + ChatColor.GRAY + " - " + Lang.get("stageEditorSetShearAmounts") + " (" + Lang.get("noneSet") + ")\n"; text += ChatColor.RED + "" + ChatColor.BOLD + "3" + ChatColor.RESET + ChatColor.YELLOW + " - " + Lang.get("clear") + "\n"; diff --git a/main/src/main/java/me/blackvein/quests/util/MiscUtil.java b/main/src/main/java/me/blackvein/quests/util/MiscUtil.java index d32377dd3..8bb53a91c 100644 --- a/main/src/main/java/me/blackvein/quests/util/MiscUtil.java +++ b/main/src/main/java/me/blackvein/quests/util/MiscUtil.java @@ -170,6 +170,7 @@ public class MiscUtil { * @return cleaned-up string */ public static String getPrettyDyeColorName(DyeColor color) { + // Legacy return Lang.get("COLOR_" + color.name()); }