From 05b6f210c822cee5eee31f5958ed57e4c249136d Mon Sep 17 00:00:00 2001 From: LMBishop <13875753+LMBishop@users.noreply.github.com> Date: Mon, 2 Sep 2019 20:13:10 +0100 Subject: Start strings on quests - Sends the player a custom string when the quest is started --- .../leonardobishop/quests/QuestsConfigLoader.java | 23 ++++++++-------------- .../questprogressfile/QuestProgressFile.java | 3 +++ .../com/leonardobishop/quests/quests/Quest.java | 12 ++++++++--- 3 files changed, 20 insertions(+), 18 deletions(-) (limited to 'src/main/java/com') diff --git a/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java b/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java index 2880dc99..96cff812 100644 --- a/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java +++ b/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java @@ -77,6 +77,7 @@ public class QuestsConfigLoader { List rewards = config.getStringList("rewards"); List requirements = config.getStringList("options.requires"); List rewardString = config.getStringList("rewardstring"); + List startString = config.getStringList("startstring"); boolean repeatable = config.getBoolean("options.repeatable", false); boolean cooldown = config.getBoolean("options.cooldown.enabled", false); boolean permissionRequired = config.getBoolean("options.permission-required", false); @@ -84,25 +85,17 @@ public class QuestsConfigLoader { int sortOrder = config.getInt("options.sort-order", 1); String category = config.getString("options.category"); - if (rewardString == null) { - rewardString = new ArrayList<>(); - } - if (requirements == null) { - requirements = new ArrayList<>(); - } - if (rewards == null) { - rewards = new ArrayList<>(); - } - if (category == null) { - category = ""; - } - + if (rewardString == null) rewardString = new ArrayList<>(); + if (startString == null) startString = new ArrayList<>(); + if (requirements == null) requirements = new ArrayList<>(); + if (rewards == null) rewards = new ArrayList<>(); + if (category == null) category = ""; Quest quest; if (category.equals("")) { - quest = new Quest(id, displayItem, rewards, requirements, repeatable, cooldown, cooldownTime, permissionRequired, rewardString, sortOrder); + quest = new Quest(id, displayItem, rewards, requirements, repeatable, cooldown, cooldownTime, permissionRequired, rewardString, startString, sortOrder); } else { - quest = new Quest(id, displayItem, rewards, requirements, repeatable, cooldown, cooldownTime, permissionRequired, rewardString, category, sortOrder); + quest = new Quest(id, displayItem, rewards, requirements, repeatable, cooldown, cooldownTime, permissionRequired, rewardString, startString, category, sortOrder); Category c = plugin.getQuestManager().getCategoryById(category); if (c != null) { c.registerQuestId(id); diff --git a/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java b/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java index 6396bc13..42251f27 100644 --- a/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java +++ b/src/main/java/com/leonardobishop/quests/player/questprogressfile/QuestProgressFile.java @@ -164,6 +164,9 @@ public class QuestProgressFile { .getDisplayNameStripped()), Messages.TITLE_QUEST_START_SUBTITLE.getMessage().replace("{quest}", quest .getDisplayNameStripped())); } + for (String s : quest.getStartString()) { + player.sendMessage(ChatColor.translateAlternateColorCodes('&', s)); + } } } return code; diff --git a/src/main/java/com/leonardobishop/quests/quests/Quest.java b/src/main/java/com/leonardobishop/quests/quests/Quest.java index 3f1ddd9b..a54a06bd 100644 --- a/src/main/java/com/leonardobishop/quests/quests/Quest.java +++ b/src/main/java/com/leonardobishop/quests/quests/Quest.java @@ -14,6 +14,7 @@ public class Quest implements Comparable { private List rewards; private List requirements; private List rewardString; + private List startString; private boolean repeatable; private boolean cooldownEnabled; private int cooldown; @@ -22,12 +23,12 @@ public class Quest implements Comparable { private String categoryid; - public Quest(String id, QItemStack displayItem, List rewards, List requirements, boolean repeatable, boolean cooldownEnabled, int cooldown, boolean permissionRequired, List rewardString, String categoryid, int sortOrder) { - this(id, displayItem, rewards, requirements, repeatable, cooldownEnabled, cooldown, permissionRequired, rewardString, sortOrder); + public Quest(String id, QItemStack displayItem, List rewards, List requirements, boolean repeatable, boolean cooldownEnabled, int cooldown, boolean permissionRequired, List rewardString, List startString, String categoryid, int sortOrder) { + this(id, displayItem, rewards, requirements, repeatable, cooldownEnabled, cooldown, permissionRequired, rewardString, startString, sortOrder); this.categoryid = categoryid; } - public Quest(String id, QItemStack displayItem, List rewards, List requirements, boolean repeatable, boolean cooldownEnabled, int cooldown, boolean permissionRequired, List rewardString, int sortOrder) { + public Quest(String id, QItemStack displayItem, List rewards, List requirements, boolean repeatable, boolean cooldownEnabled, int cooldown, boolean permissionRequired, List rewardString, List startString, int sortOrder) { this.id = id; this.displayItem = displayItem; this.rewards = rewards; @@ -37,6 +38,7 @@ public class Quest implements Comparable { this.cooldown = cooldown; this.permissionRequired = permissionRequired; this.rewardString = rewardString; + this.startString = startString; this.sortOrder = sortOrder; } @@ -71,6 +73,10 @@ public class Quest implements Comparable { return rewardString; } + public List getStartString() { + return startString; + } + public String getId() { return id; } -- cgit v1.2.3-70-g09d2