9
0
mirror of https://github.com/Auxilor/EcoQuests.git synced 2025-12-27 10:59:25 +00:00

Added quest_xp_multipleir

This commit is contained in:
Auxilor
2023-08-10 15:27:29 +01:00
parent 215e4556cb
commit 63b19f130e
2 changed files with 26 additions and 0 deletions

View File

@@ -12,6 +12,7 @@ import com.willfp.ecoquests.libreforge.ConditionHasCompletedTask
import com.willfp.ecoquests.libreforge.ConditionHasQuestActive
import com.willfp.ecoquests.libreforge.EffectGainTaskXp
import com.willfp.ecoquests.libreforge.EffectGiveTaskXp
import com.willfp.ecoquests.libreforge.EffectQuestXpMultiplier
import com.willfp.ecoquests.libreforge.EffectStartQuest
import com.willfp.ecoquests.libreforge.FilterQuest
import com.willfp.ecoquests.libreforge.FilterTask
@@ -40,6 +41,7 @@ class EcoQuestsPlugin : LibreforgePlugin() {
Conditions.register(ConditionHasQuestActive)
Effects.register(EffectGainTaskXp)
Effects.register(EffectGiveTaskXp)
Effects.register(EffectQuestXpMultiplier)
Effects.register(EffectStartQuest)
Filters.register(FilterQuest)
Filters.register(FilterTask)

View File

@@ -0,0 +1,24 @@
package com.willfp.ecoquests.libreforge
import com.willfp.ecoquests.api.event.PlayerTaskExpGainEvent
import com.willfp.ecoquests.quests.Quest
import com.willfp.ecoquests.quests.Quests
import com.willfp.libreforge.effects.templates.MultiMultiplierEffect
import org.bukkit.event.EventHandler
object EffectQuestXpMultiplier : MultiMultiplierEffect<Quest>("quest_xp_multiplier") {
override val key = "quests"
override fun getElement(key: String): Quest? {
return Quests[key]
}
override fun getAllElements(): Collection<Quest> {
return Quests.values()
}
@EventHandler(ignoreCancelled = true)
fun handle(event: PlayerTaskExpGainEvent) {
event.amount *= getMultiplier(event.player, event.quest)
}
}