From ebec6b0615d42006473d5766e260504e20d4fa1d Mon Sep 17 00:00:00 2001 From: Auxilor Date: Thu, 10 Aug 2023 17:38:52 +0100 Subject: [PATCH] Added %ecoquests_recent_quest_name% and improved lore --- .../com/willfp/ecoquests/EcoQuestsPlugin.kt | 7 +++++++ .../kotlin/com/willfp/ecoquests/quests/Quest.kt | 5 +++-- .../kotlin/com/willfp/ecoquests/tasks/Task.kt | 4 +--- .../core-plugin/src/main/resources/config.yml | 15 +++++++++------ 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/EcoQuestsPlugin.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/EcoQuestsPlugin.kt index ef548b9..9aafe47 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/EcoQuestsPlugin.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/EcoQuestsPlugin.kt @@ -1,8 +1,11 @@ package com.willfp.ecoquests import com.willfp.eco.core.command.impl.PluginCommand +import com.willfp.eco.core.data.profile import com.willfp.eco.core.placeholder.PlayerPlaceholder import com.willfp.eco.core.placeholder.PlayerlessPlaceholder +import com.willfp.eco.core.placeholder.context.PlaceholderContext +import com.willfp.eco.core.placeholder.templates.SimpleInjectablePlaceholder import com.willfp.eco.util.toNiceString import com.willfp.ecoquests.commands.CommandEcoQuests import com.willfp.ecoquests.commands.CommandQuests @@ -69,6 +72,10 @@ class EcoQuestsPlugin : LibreforgePlugin() { PlayerPlaceholder(this, "quests_active") { Quests.getActiveQuests(it).size.toString() }.register() + + PlayerPlaceholder(this, "recent_quest_name") { + Quests.getActiveQuests(it).minBy { quest -> quest.getTimeSinceStart(it) }.name + } } override fun handleReload() { diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/quests/Quest.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/quests/Quest.kt index 7dff5a9..389002c 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/quests/Quest.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/quests/Quest.kt @@ -14,6 +14,7 @@ import com.willfp.eco.core.placeholder.PlayerlessPlaceholder import com.willfp.eco.core.placeholder.context.placeholderContext import com.willfp.eco.core.registry.KRegistrable import com.willfp.eco.util.formatEco +import com.willfp.eco.util.lineWrap import com.willfp.eco.util.toNiceString import com.willfp.ecoquests.api.event.PlayerQuestCompleteEvent import com.willfp.ecoquests.api.event.PlayerQuestStartEvent @@ -420,7 +421,7 @@ class Quest( rewardMessages .addMargin(margin) } else if (s.contains("%tasks%")) { - tasks.flatMap { task -> task.getCompletedDescription(player) } + tasks.map { task -> task.getCompletedDescription(player) } .addMargin(margin) } else if (s.contains("%description%")) { getDescription(player) @@ -434,6 +435,6 @@ class Quest( placeholderContext( player = player ) - ) + ).lineWrap(plugin.configYml.getInt("quests.icon.line-wrap"), true) } } diff --git a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/tasks/Task.kt b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/tasks/Task.kt index f2c5e2c..fbc977a 100644 --- a/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/tasks/Task.kt +++ b/eco-core/core-plugin/src/main/kotlin/com/willfp/ecoquests/tasks/Task.kt @@ -145,15 +145,13 @@ class Task( .formatEco(player) } - fun getCompletedDescription(player: Player): List { + fun getCompletedDescription(player: Player): String { return if (hasCompleted(player)) { plugin.configYml.getString("tasks.completed") .replace("%description%", getDescription(player)) - .lineWrap(plugin.configYml.getInt("tasks.line-wrap"), true) } else { plugin.configYml.getString("tasks.not-completed") .replace("%description%", getDescription(player)) - .lineWrap(plugin.configYml.getInt("tasks.line-wrap"), true) } } } diff --git a/eco-core/core-plugin/src/main/resources/config.yml b/eco-core/core-plugin/src/main/resources/config.yml index 310da85..57fbde8 100644 --- a/eco-core/core-plugin/src/main/resources/config.yml +++ b/eco-core/core-plugin/src/main/resources/config.yml @@ -34,10 +34,13 @@ gui: quest-info: item: writable_book - name: "&aQuest Book" + name: "&fQuest Book" lore: - - "&eClick to view your" - - "&eprevious quests!" + - "" + - "&fQuests Completed: &f%ecoquests_quests_completed%" + - "&fQuests Active: &f%ecoquests_quests_active%" + - "" + - "&eClick to view past quests!" location: row: 1 @@ -130,12 +133,12 @@ completed-gui: custom-slots: [ ] tasks: - line-wrap: 32 - completed: "&a&l✓ &r&f%description%" - not-completed: "&c&l✘ &r&f%description%" + completed: "&a&l✔ &r&f%description%" + not-completed: "&c&l❌ &r&f%description%" quests: icon: + line-wrap: 32 lore: - "%description%" - ""