9
0
mirror of https://github.com/Auxilor/EcoQuests.git synced 2025-12-21 16:09:16 +00:00

Compare commits

..

11 Commits

Author SHA1 Message Date
Will FP
b496848143 libreforge-updater 2023-12-03 15:59:50 +00:00
Will FP
274102ac06 libreforge-updater 2023-11-30 14:27:46 +00:00
Will FP
08ef85f6d0 libreforge-updater 2023-11-26 23:24:49 +00:00
Will FP
29d0f8200e libreforge-updater 2023-11-23 13:21:45 +00:00
Auxilor
6496d5c7d1 libreforge-updater 2023-11-21 22:41:42 +00:00
Auxilor
35c89d7aa5 libreforge-updater 2023-11-19 14:14:25 +00:00
Auxilor
ab99f74626 libreforge-updater 2023-11-17 19:02:33 +00:00
Auxilor
ecfa40920f libreforge-updater 2023-11-11 17:58:59 +00:00
Auxilor
202528681a libreforge-updater 2023-11-10 13:59:29 +00:00
Auxilor
7aa02b3a91 libreforge-updater 2023-11-05 13:42:08 +00:00
Auxilor
070d25de67 libreforge-updater 2023-10-30 13:31:07 +00:00
12 changed files with 53 additions and 68 deletions

View File

@@ -2,9 +2,12 @@ package com.willfp.ecoquests.libreforge
import com.willfp.eco.core.config.interfaces.Config import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecoquests.quests.Quests import com.willfp.ecoquests.quests.Quests
import com.willfp.libreforge.Dispatcher
import com.willfp.libreforge.NoCompileData import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.ProvidedHolder
import com.willfp.libreforge.arguments import com.willfp.libreforge.arguments
import com.willfp.libreforge.conditions.Condition import com.willfp.libreforge.conditions.Condition
import com.willfp.libreforge.get
import org.bukkit.entity.Player import org.bukkit.entity.Player
object ConditionHasCompletedQuest : Condition<NoCompileData>("has_completed_quest") { object ConditionHasCompletedQuest : Condition<NoCompileData>("has_completed_quest") {
@@ -12,7 +15,14 @@ object ConditionHasCompletedQuest : Condition<NoCompileData>("has_completed_ques
require("quest", "You must specify the quest ID!") require("quest", "You must specify the quest ID!")
} }
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean { override fun isMet(
dispatcher: Dispatcher<*>,
config: Config,
holder: ProvidedHolder,
compileData: NoCompileData
): Boolean {
val player = dispatcher.get<Player>() ?: return false
val quest = Quests[config.getString("quest")] ?: return false val quest = Quests[config.getString("quest")] ?: return false
return quest.hasCompleted(player) return quest.hasCompleted(player)

View File

@@ -3,9 +3,12 @@ package com.willfp.ecoquests.libreforge
import com.willfp.eco.core.config.interfaces.Config import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecoquests.quests.Quests import com.willfp.ecoquests.quests.Quests
import com.willfp.ecoquests.tasks.Tasks import com.willfp.ecoquests.tasks.Tasks
import com.willfp.libreforge.Dispatcher
import com.willfp.libreforge.NoCompileData import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.ProvidedHolder
import com.willfp.libreforge.arguments import com.willfp.libreforge.arguments
import com.willfp.libreforge.conditions.Condition import com.willfp.libreforge.conditions.Condition
import com.willfp.libreforge.get
import org.bukkit.entity.Player import org.bukkit.entity.Player
object ConditionHasCompletedTask : Condition<NoCompileData>("has_completed_task") { object ConditionHasCompletedTask : Condition<NoCompileData>("has_completed_task") {
@@ -14,7 +17,14 @@ object ConditionHasCompletedTask : Condition<NoCompileData>("has_completed_task"
require("task", "You must specify the task ID!") require("task", "You must specify the task ID!")
} }
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean { override fun isMet(
dispatcher: Dispatcher<*>,
config: Config,
holder: ProvidedHolder,
compileData: NoCompileData
): Boolean {
val player = dispatcher.get<Player>() ?: return false
val quest = Quests[config.getString("quest")] ?: return false val quest = Quests[config.getString("quest")] ?: return false
val template = Tasks[config.getString("task")] ?: return false val template = Tasks[config.getString("task")] ?: return false
val task = quest.getTask(template) ?: return false val task = quest.getTask(template) ?: return false

View File

@@ -2,9 +2,12 @@ package com.willfp.ecoquests.libreforge
import com.willfp.eco.core.config.interfaces.Config import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecoquests.quests.Quests import com.willfp.ecoquests.quests.Quests
import com.willfp.libreforge.Dispatcher
import com.willfp.libreforge.NoCompileData import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.ProvidedHolder
import com.willfp.libreforge.arguments import com.willfp.libreforge.arguments
import com.willfp.libreforge.conditions.Condition import com.willfp.libreforge.conditions.Condition
import com.willfp.libreforge.get
import org.bukkit.entity.Player import org.bukkit.entity.Player
object ConditionHasQuestActive : Condition<NoCompileData>("has_quest_active") { object ConditionHasQuestActive : Condition<NoCompileData>("has_quest_active") {
@@ -12,7 +15,14 @@ object ConditionHasQuestActive : Condition<NoCompileData>("has_quest_active") {
require("quest", "You must specify the quest ID!") require("quest", "You must specify the quest ID!")
} }
override fun isMet(player: Player, config: Config, compileData: NoCompileData): Boolean { override fun isMet(
dispatcher: Dispatcher<*>,
config: Config,
holder: ProvidedHolder,
compileData: NoCompileData
): Boolean {
val player = dispatcher.get<Player>() ?: return false
val quest = Quests[config.getString("quest")] ?: return false val quest = Quests[config.getString("quest")] ?: return false
return quest.hasActive(player) return quest.hasActive(player)

View File

@@ -4,6 +4,7 @@ import com.willfp.ecoquests.api.event.PlayerTaskExpGainEvent
import com.willfp.ecoquests.quests.Quest import com.willfp.ecoquests.quests.Quest
import com.willfp.ecoquests.quests.Quests import com.willfp.ecoquests.quests.Quests
import com.willfp.libreforge.effects.templates.MultiMultiplierEffect import com.willfp.libreforge.effects.templates.MultiMultiplierEffect
import com.willfp.libreforge.toDispatcher
import org.bukkit.event.EventHandler import org.bukkit.event.EventHandler
object EffectQuestXpMultiplier : MultiMultiplierEffect<Quest>("quest_xp_multiplier") { object EffectQuestXpMultiplier : MultiMultiplierEffect<Quest>("quest_xp_multiplier") {
@@ -19,6 +20,6 @@ object EffectQuestXpMultiplier : MultiMultiplierEffect<Quest>("quest_xp_multipli
@EventHandler(ignoreCancelled = true) @EventHandler(ignoreCancelled = true)
fun handle(event: PlayerTaskExpGainEvent) { fun handle(event: PlayerTaskExpGainEvent) {
event.amount *= getMultiplier(event.player, event.quest) event.amount *= getMultiplier(event.player.toDispatcher(), event.quest)
} }
} }

View File

@@ -2,6 +2,7 @@ package com.willfp.ecoquests.libreforge
import com.willfp.ecoquests.api.event.PlayerQuestCompleteEvent import com.willfp.ecoquests.api.event.PlayerQuestCompleteEvent
import com.willfp.ecoquests.api.event.PlayerQuestStartEvent import com.willfp.ecoquests.api.event.PlayerQuestStartEvent
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.Trigger import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter import com.willfp.libreforge.triggers.TriggerParameter
@@ -18,7 +19,7 @@ object TriggerCompleteQuest : Trigger("complete_quest") {
val player = event.player val player = event.player
this.dispatch( this.dispatch(
player, player.toDispatcher(),
TriggerData( TriggerData(
player = player, player = player,
event = event event = event

View File

@@ -1,6 +1,7 @@
package com.willfp.ecoquests.libreforge package com.willfp.ecoquests.libreforge
import com.willfp.ecoquests.api.event.PlayerTaskCompleteEvent import com.willfp.ecoquests.api.event.PlayerTaskCompleteEvent
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.Trigger import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter import com.willfp.libreforge.triggers.TriggerParameter
@@ -17,7 +18,7 @@ object TriggerCompleteTask : Trigger("complete_task") {
val player = event.player val player = event.player
this.dispatch( this.dispatch(
player, player.toDispatcher(),
TriggerData( TriggerData(
player = player, player = player,
event = event event = event

View File

@@ -1,6 +1,7 @@
package com.willfp.ecoquests.libreforge package com.willfp.ecoquests.libreforge
import com.willfp.ecoquests.api.event.PlayerTaskExpGainEvent import com.willfp.ecoquests.api.event.PlayerTaskExpGainEvent
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.Trigger import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter import com.willfp.libreforge.triggers.TriggerParameter
@@ -19,7 +20,7 @@ object TriggerGainTaskXp : Trigger("gain_task_xp") {
val player = event.player val player = event.player
this.dispatch( this.dispatch(
player, player.toDispatcher(),
TriggerData( TriggerData(
player = player, player = player,
event = event, event = event,

View File

@@ -1,6 +1,7 @@
package com.willfp.ecoquests.libreforge package com.willfp.ecoquests.libreforge
import com.willfp.ecoquests.api.event.PlayerQuestStartEvent import com.willfp.ecoquests.api.event.PlayerQuestStartEvent
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.Trigger import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter import com.willfp.libreforge.triggers.TriggerParameter
@@ -17,7 +18,7 @@ object TriggerStartQuest : Trigger("start_quest") {
val player = event.player val player = event.player
this.dispatch( this.dispatch(
player, player.toDispatcher(),
TriggerData( TriggerData(
player = player, player = player,
event = event event = event

View File

@@ -28,6 +28,7 @@ import com.willfp.libreforge.ViolationContext
import com.willfp.libreforge.conditions.Conditions import com.willfp.libreforge.conditions.Conditions
import com.willfp.libreforge.effects.Effects import com.willfp.libreforge.effects.Effects
import com.willfp.libreforge.effects.executors.impl.NormalExecutorFactory import com.willfp.libreforge.effects.executors.impl.NormalExecutorFactory
import com.willfp.libreforge.toDispatcher
import org.bukkit.Bukkit import org.bukkit.Bukkit
import org.bukkit.OfflinePlayer import org.bukkit.OfflinePlayer
import org.bukkit.entity.Player import org.bukkit.entity.Player
@@ -58,7 +59,7 @@ class Quest(
) )
addLoreLines( addLoreLines(
startConditions.getNotMetLines(player, EmptyProvidedHolder) startConditions.getNotMetLines(player.toDispatcher(), EmptyProvidedHolder)
) )
setDisplayName( setDisplayName(
@@ -257,7 +258,7 @@ class Quest(
} }
fun meetsStartConditions(player: Player): Boolean { fun meetsStartConditions(player: Player): Boolean {
return startConditions.areMet(player, EmptyProvidedHolder) return startConditions.areMet(player.toDispatcher(), EmptyProvidedHolder)
} }
fun shouldStart(player: Player): Boolean { fun shouldStart(player: Player): Boolean {
@@ -282,7 +283,7 @@ class Quest(
return return
} }
startEffects?.trigger(player) startEffects?.trigger(player.toDispatcher())
player.profile.write(hasStartedKey, true) player.profile.write(hasStartedKey, true)
player.profile.write(startedTimeKey, currentTimeMinutes) player.profile.write(startedTimeKey, currentTimeMinutes)
@@ -408,7 +409,7 @@ class Quest(
private fun complete(player: Player) { private fun complete(player: Player) {
player.profile.write(hasCompletedKey, true) player.profile.write(hasCompletedKey, true)
player.profile.write(completedTimeKey, currentTimeMinutes) player.profile.write(completedTimeKey, currentTimeMinutes)
rewards?.trigger(player) rewards?.trigger(player.toDispatcher())
Bukkit.getPluginManager().callEvent(PlayerQuestCompleteEvent(player, this)) Bukkit.getPluginManager().callEvent(PlayerQuestCompleteEvent(player, this))
} }

View File

@@ -15,6 +15,7 @@ import com.willfp.ecoquests.api.event.PlayerTaskExpGainEvent
import com.willfp.ecoquests.quests.Quest import com.willfp.ecoquests.quests.Quest
import com.willfp.ecoquests.quests.Quests import com.willfp.ecoquests.quests.Quests
import com.willfp.libreforge.counters.Accumulator import com.willfp.libreforge.counters.Accumulator
import com.willfp.libreforge.toDispatcher
import org.bukkit.Bukkit import org.bukkit.Bukkit
import org.bukkit.OfflinePlayer import org.bukkit.OfflinePlayer
import org.bukkit.entity.Player import org.bukkit.entity.Player
@@ -152,7 +153,7 @@ class Task(
if (newXp >= requiredXp) { if (newXp >= requiredXp) {
player.profile.write(hasCompletedKey, true) player.profile.write(hasCompletedKey, true)
template.onComplete?.trigger(player) template.onComplete?.trigger(player.toDispatcher())
Bukkit.getPluginManager().callEvent(PlayerTaskCompleteEvent(player, template, quest)) Bukkit.getPluginManager().callEvent(PlayerTaskCompleteEvent(player, template, quest))

View File

@@ -1,52 +0,0 @@
name: ${pluginName}
version: ${version}
main: com.willfp.ecoquests.EcoQuestsPlugin
api-version: 1.19
dependencies:
- name: eco
required: true
bootstrap: false
- name: libreforge
required: false
bootstrap: false
load-after:
- name: eco
bootstrap: false
permissions:
ecoquests.*:
description: All ecoquests permissions
default: op
children:
ecoquests.command.*: true
ecoquests.command.*:
description: All commands
default: op
children:
ecoquests.command.reload: true
ecoquests.command.quests: true
ecoquests.command.start: true
ecoquests.command.reset: true
ecoquests.command.resetplayer: true
ecoquests.command.reload:
description: Allows reloading the config
default: op
ecoquests.command.ecoquests:
description: Allows the use of /ecoquests.
default: true
ecoquests.command.quests:
description: Allows the use of /quests.
default: true
ecoquests.command.start:
description: Allows using /ecoquests start.
default: op
ecoquests.command.reset:
description: Allows using /ecoquests reset.
default: op
ecoquests.command.resetplayer:
description: Allows using /ecoquests resetplayer.
default: op

View File

@@ -1,5 +1,5 @@
#libreforge-updater #libreforge-updater
#Sat Oct 28 14:15:35 BST 2023 #Sun Dec 03 15:59:50 GMT 2023
kotlin.code.style=official kotlin.code.style=official
libreforge-version=4.38.1 libreforge-version=4.48.0
version=1.10.1 version=1.20.0