diff options
| author | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2021-02-16 16:35:30 +0000 |
|---|---|---|
| committer | LMBishop <13875753+LMBishop@users.noreply.github.com> | 2021-02-16 16:35:30 +0000 |
| commit | 39e73a3d6d69205501859fcf361c7bfbf14c98a9 (patch) | |
| tree | e1d530276b4b9d4f6d6d40cc7405ac2f5453da78 /src/main/java | |
| parent | 8b23cd0146d856acb1d1c31d88c168ff5c27cfed (diff) | |
Quest gui display override
Diffstat (limited to 'src/main/java')
4 files changed, 35 insertions, 15 deletions
diff --git a/src/main/java/com/leonardobishop/quests/Quests.java b/src/main/java/com/leonardobishop/quests/Quests.java index 5272e9ac..9dd39187 100644 --- a/src/main/java/com/leonardobishop/quests/Quests.java +++ b/src/main/java/com/leonardobishop/quests/Quests.java @@ -235,9 +235,9 @@ public class Quests extends JavaPlugin { questsConfigLoader.loadConfig(); - long autocompleteInterval = 12000; + long autosaveInterval = 12000; if (!isBrokenConfig()) { - autocompleteInterval = this.getConfig().getLong("options.performance-tweaking.quest-autocomplete-interval", 12000); + autosaveInterval = this.getConfig().getLong("options.performance-tweaking.quest-autosave-interval", 12000); } boolean autosaveTaskCancelled = true; if (questAutosaveTask != null) { @@ -253,7 +253,7 @@ public class Quests extends JavaPlugin { for (QPlayer qPlayer : qPlayerManager.getQPlayers()) { qPlayer.getQuestProgressFile().saveToDisk(false); } - }, autocompleteInterval, autocompleteInterval); + }, autosaveInterval, autosaveInterval); } boolean queuePollTaskCancelled = true; diff --git a/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java b/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java index d1921c29..db8281b2 100644 --- a/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java +++ b/src/main/java/com/leonardobishop/quests/QuestsConfigLoader.java @@ -305,10 +305,10 @@ public class QuestsConfigLoader { List<String> cLoreNormal = config.getStringList(path + ".lore-normal"); List<String> cLoreStarted = config.getStringList(path + ".lore-started"); - String name; List<String> loreNormal = translateColoursInList(cLoreNormal); List<String> loreStarted = translateColoursInList(cLoreStarted); + String name; name = ChatColor.translateAlternateColorCodes('&', cName); ItemStack is = plugin.getItemStack(path, config, diff --git a/src/main/java/com/leonardobishop/quests/obj/Options.java b/src/main/java/com/leonardobishop/quests/obj/Options.java index d7543cec..d108d875 100644 --- a/src/main/java/com/leonardobishop/quests/obj/Options.java +++ b/src/main/java/com/leonardobishop/quests/obj/Options.java @@ -30,6 +30,8 @@ public enum Options { QUEST_AUTOSTART("options.quest-autostart"), QUEST_AUTOTRACK("options.quest-autotrack"), GLOBAL_TASK_CONFIGURATION_OVERRIDE("options.global-task-configuration-override"), + GLOBAL_QUEST_DISPLAY_CONFIGURATION_OVERRIDE("options.global-quest-display-configuration-override"), + GLOBAL_QUEST_DISPLAY_LORE_APPEND_NORMAL("global-quest-display.lore.append-normal"), GLOBAL_QUEST_DISPLAY_LORE_APPEND_NOT_STARTED("global-quest-display.lore.append-not-started"), GLOBAL_QUEST_DISPLAY_LORE_APPEND_STARTED("global-quest-display.lore.append-started"), GLOBAL_QUEST_DISPLAY_LORE_APPEND_TRACKED("global-quest-display.lore.append-tracked"); diff --git a/src/main/java/com/leonardobishop/quests/obj/misc/QItemStack.java b/src/main/java/com/leonardobishop/quests/obj/misc/QItemStack.java index edb1b963..1995fffe 100644 --- a/src/main/java/com/leonardobishop/quests/obj/misc/QItemStack.java +++ b/src/main/java/com/leonardobishop/quests/obj/misc/QItemStack.java @@ -24,9 +24,10 @@ public class QItemStack { private String name; private List<String> loreNormal; private List<String> loreStarted; - private List<String> globalLoreAppendNotStarted; - private List<String> globalLoreAppendStarted; - private List<String> globalLoreAppendTracked; + private final List<String> globalLoreAppendNormal; + private final List<String> globalLoreAppendNotStarted; + private final List<String> globalLoreAppendStarted; + private final List<String> globalLoreAppendTracked; private ItemStack startingItemStack; public QItemStack(Quests plugin, String name, List<String> loreNormal, List<String> loreStarted, ItemStack startingItemStack) { @@ -36,6 +37,7 @@ public class QItemStack { this.loreStarted = loreStarted; this.startingItemStack = startingItemStack; + this.globalLoreAppendNormal = Options.color(Options.GLOBAL_QUEST_DISPLAY_LORE_APPEND_NORMAL.getStringListValue()); this.globalLoreAppendNotStarted = Options.color(Options.GLOBAL_QUEST_DISPLAY_LORE_APPEND_NOT_STARTED.getStringListValue()); this.globalLoreAppendStarted = Options.color(Options.GLOBAL_QUEST_DISPLAY_LORE_APPEND_STARTED.getStringListValue()); this.globalLoreAppendTracked = Options.color(Options.GLOBAL_QUEST_DISPLAY_LORE_APPEND_TRACKED.getStringListValue()); @@ -79,11 +81,32 @@ public class QItemStack { ItemMeta ism = is.getItemMeta(); ism.setDisplayName(name); List<String> formattedLore = new ArrayList<>(); - List<String> tempLore = new ArrayList<>(loreNormal); + List<String> tempLore = new ArrayList<>(); + + if (Options.GLOBAL_QUEST_DISPLAY_CONFIGURATION_OVERRIDE.getBooleanValue() && !globalLoreAppendNormal.isEmpty()) { + tempLore.addAll(globalLoreAppendNormal); + } else { + tempLore.addAll(loreNormal); + tempLore.addAll(globalLoreAppendNormal); + } Player player = Bukkit.getPlayer(questProgressFile.getPlayerUUID()); if (questProgressFile.hasStartedQuest(quest)) { - tempLore.addAll(loreStarted); + boolean tracked = quest.getId().equals(questProgressFile.getPlayerPreferences().getTrackedQuestId()); + if (Options.GLOBAL_QUEST_DISPLAY_CONFIGURATION_OVERRIDE.getBooleanValue() && !globalLoreAppendStarted.isEmpty()) { + if (tracked) { + tempLore.addAll(globalLoreAppendTracked); + } else { + tempLore.addAll(globalLoreAppendStarted); + } + } else { + tempLore.addAll(loreStarted); + if (tracked) { + tempLore.addAll(globalLoreAppendTracked); + } else { + tempLore.addAll(globalLoreAppendStarted); + } + } ism.addEnchant(Enchantment.ARROW_INFINITE, 1, true); try { ism.addItemFlags(ItemFlag.HIDE_ENCHANTS); @@ -91,13 +114,8 @@ public class QItemStack { } catch (Exception ignored) { } - if (quest.getId().equals(questProgressFile.getPlayerPreferences().getTrackedQuestId())) { - if (globalLoreAppendTracked != null) tempLore.addAll(globalLoreAppendTracked); - } else { - if (globalLoreAppendStarted != null) tempLore.addAll(globalLoreAppendStarted); - } } else { - if (globalLoreAppendNotStarted != null) tempLore.addAll(globalLoreAppendNotStarted); + tempLore.addAll(globalLoreAppendNotStarted); } if (plugin.getPlaceholderAPIHook() != null && Options.GUI_USE_PLACEHOLDERAPI.getBooleanValue()) { ism.setDisplayName(plugin.getPlaceholderAPIHook().replacePlaceholders(player, ism.getDisplayName())); |
