diff --git a/src/main/java/me/blackvein/quests/Quester.java b/src/main/java/me/blackvein/quests/Quester.java index 75668fb2f..847b0c138 100644 --- a/src/main/java/me/blackvein/quests/Quester.java +++ b/src/main/java/me/blackvein/quests/Quester.java @@ -495,10 +495,12 @@ public class Quester { finishedObjectives.add(ChatColor.GRAY + Lang.get("killPlayer") + ChatColor.GRAY + ": " + getQuestData(quest).getPlayersKilled() + "/" + getCurrentStage(quest).playersToKill); } } + int index2 = 0; for (ItemStack is : getCurrentStage(quest).itemsToDeliver) { int delivered = getQuestData(quest).itemsDelivered.get(is); int amt = is.getAmount(); - Integer npc = getCurrentStage(quest).itemDeliveryTargets.get(getCurrentStage(quest).itemsToDeliver.indexOf(is)); + Integer npc = getCurrentStage(quest).itemDeliveryTargets.get(index2); + index2++; if (delivered < amt) { String obj = Lang.get("deliver"); obj = obj.replaceAll("", ItemUtil.getName(is)); @@ -2203,18 +2205,18 @@ public class Quester { public static ConfigurationSection getLegacyQuestData(FileConfiguration questSec, String questName) { ConfigurationSection newData = questSec.createSection("questData"); - if (questSec.contains("blocks-damaged-names")) { - List names = questSec.getStringList("blocks-damaged-names"); - List amounts = questSec.getIntegerList("blocks-damaged-amounts"); - newData.set(questName + ".blocks-damaged-names", names); - newData.set(questName + ".blocks-damaged-amounts", amounts); - } if (questSec.contains("blocks-broken-names")) { List names = questSec.getStringList("blocks-broken-names"); List amounts = questSec.getIntegerList("blocks-broken-amounts"); newData.set(questName + ".blocks-broken-names", names); newData.set(questName + ".blocks-broken-amounts", amounts); } + if (questSec.contains("blocks-damaged-names")) { + List names = questSec.getStringList("blocks-damaged-names"); + List amounts = questSec.getIntegerList("blocks-damaged-amounts"); + newData.set(questName + ".blocks-damaged-names", names); + newData.set(questName + ".blocks-damaged-amounts", amounts); + } if (questSec.contains("blocks-placed-names")) { List names = questSec.getStringList("blocks-placed-names"); List amounts = questSec.getIntegerList("blocks-placed-amounts"); diff --git a/src/main/java/me/blackvein/quests/Quests.java b/src/main/java/me/blackvein/quests/Quests.java index 810dfe649..231473c29 100644 --- a/src/main/java/me/blackvein/quests/Quests.java +++ b/src/main/java/me/blackvein/quests/Quests.java @@ -2780,10 +2780,12 @@ public class Quests extends JavaPlugin implements ConversationAbandonedListener itemsToDeliver = config.getStringList("quests." + questName + ".stages.ordered." + s2 + ".items-to-deliver"); itemDeliveryTargetIds = config.getIntegerList("quests." + questName + ".stages.ordered." + s2 + ".npc-delivery-ids"); deliveryMessages.addAll(config.getStringList("quests." + questName + ".stages.ordered." + s2 + ".delivery-messages")); + int index = 0; for (String item : itemsToDeliver) { ItemStack is = ItemUtil.readItemStack("" + item); + int npcId = itemDeliveryTargetIds.get(index); + index++; if (is != null) { - int npcId = itemDeliveryTargetIds.get(itemsToDeliver.indexOf(item)); NPC npc = CitizensAPI.getNPCRegistry().getById(npcId); if (npc != null) { oStage.itemsToDeliver.add(is);