mirror of
https://github.com/Auxilor/EcoQuests.git
synced 2025-12-21 16:09:16 +00:00
Compare commits
83 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
779f942454 | ||
|
|
abad5bdfbd | ||
|
|
588839fc97 | ||
|
|
1c36c4b18f | ||
|
|
0460f1f6bf | ||
|
|
5814587ed5 | ||
|
|
f4682214cc | ||
|
|
3c0d5651d8 | ||
|
|
c86651df9b | ||
|
|
26ccae38b1 | ||
|
|
c1c985d638 | ||
|
|
ed947b354f | ||
|
|
5e51c369bb | ||
|
|
67a2e2fb4f | ||
|
|
f94e79bc92 | ||
|
|
9cf8d465b9 | ||
|
|
237ebda870 | ||
|
|
ed6bcaab04 | ||
|
|
40a0f99716 | ||
|
|
a59bce65ab | ||
|
|
0212076fad | ||
|
|
c4b0429ad5 | ||
|
|
c5e0611a20 | ||
|
|
cb2e8a181f | ||
|
|
c40a304c8a | ||
|
|
9e7a8a7581 | ||
|
|
2e5fbda6c2 | ||
|
|
908a4c5a14 | ||
|
|
ee38c05518 | ||
|
|
98d5431ba7 | ||
|
|
ff13678d33 | ||
|
|
8b955f3481 | ||
|
|
b6d8b4154b | ||
|
|
f71078f956 | ||
|
|
4e4f9c637b | ||
|
|
2433c34a1c | ||
|
|
607da38533 | ||
|
|
17d0af8ab9 | ||
|
|
8332c5aa2a | ||
|
|
863e741ac6 | ||
|
|
aab1a5bf44 | ||
|
|
93f243871f | ||
|
|
78e2b6bfff | ||
|
|
4bf97077b7 | ||
|
|
6eead2f420 | ||
|
|
c574d78992 | ||
|
|
399101a487 | ||
|
|
95a013fbf1 | ||
|
|
b0fa4bad8b | ||
|
|
d55635c590 | ||
|
|
bd6b919f86 | ||
|
|
d390a2102a | ||
|
|
89e2232618 | ||
|
|
db34794aa0 | ||
|
|
b8a8076b23 | ||
|
|
b999e381a1 | ||
|
|
e726af326f | ||
|
|
9654b2c78b | ||
|
|
2645d679f5 | ||
|
|
3851943ee4 | ||
|
|
ee39a180e1 | ||
|
|
da5cb60399 | ||
|
|
d25ba604c3 | ||
|
|
5810b4a7a9 | ||
|
|
2ab6a42b37 | ||
|
|
b496848143 | ||
|
|
274102ac06 | ||
|
|
08ef85f6d0 | ||
|
|
29d0f8200e | ||
|
|
6496d5c7d1 | ||
|
|
35c89d7aa5 | ||
|
|
ab99f74626 | ||
|
|
ecfa40920f | ||
|
|
202528681a | ||
|
|
7aa02b3a91 | ||
|
|
070d25de67 | ||
|
|
3ab99c9237 | ||
|
|
3ee10633fb | ||
|
|
49c77396ea | ||
|
|
09fb8d2109 | ||
|
|
9623f1c427 | ||
|
|
39eaef3856 | ||
|
|
bf085b4ea5 |
4
.github/workflows/publish-release.yml
vendored
4
.github/workflows/publish-release.yml
vendored
@@ -15,11 +15,11 @@ jobs:
|
|||||||
- name: Checkout latest code
|
- name: Checkout latest code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Set up JDK 17
|
- name: Set up JDK 21
|
||||||
uses: actions/setup-java@v2
|
uses: actions/setup-java@v2
|
||||||
with:
|
with:
|
||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
java-version: 17
|
java-version: 21
|
||||||
|
|
||||||
- name: Change wrapper permissions
|
- name: Change wrapper permissions
|
||||||
run: chmod +x ./gradlew
|
run: chmod +x ./gradlew
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
java
|
java
|
||||||
`java-library`
|
`java-library`
|
||||||
`maven-publish`
|
`maven-publish`
|
||||||
kotlin("jvm") version "1.7.10"
|
kotlin("jvm") version "2.1.0"
|
||||||
id("com.github.johnrengelman.shadow") version "8.0.0"
|
id("com.gradleup.shadow") version "8.3.0"
|
||||||
id("com.willfp.libreforge-gradle-plugin") version "1.0.0"
|
id("com.willfp.libreforge-gradle-plugin") version "1.0.0"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -25,7 +27,7 @@ allprojects {
|
|||||||
apply(plugin = "java")
|
apply(plugin = "java")
|
||||||
apply(plugin = "kotlin")
|
apply(plugin = "kotlin")
|
||||||
apply(plugin = "maven-publish")
|
apply(plugin = "maven-publish")
|
||||||
apply(plugin = "com.github.johnrengelman.shadow")
|
apply(plugin = "com.gradleup.shadow")
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
@@ -39,7 +41,7 @@ allprojects {
|
|||||||
dependencies {
|
dependencies {
|
||||||
compileOnly("com.willfp:eco:6.65.0")
|
compileOnly("com.willfp:eco:6.65.0")
|
||||||
compileOnly("org.jetbrains:annotations:23.0.0")
|
compileOnly("org.jetbrains:annotations:23.0.0")
|
||||||
compileOnly("org.jetbrains.kotlin:kotlin-stdlib:1.7.10")
|
compileOnly("org.jetbrains.kotlin:kotlin-stdlib:2.1.0")
|
||||||
}
|
}
|
||||||
|
|
||||||
java {
|
java {
|
||||||
@@ -54,8 +56,8 @@ allprojects {
|
|||||||
}
|
}
|
||||||
|
|
||||||
compileKotlin {
|
compileKotlin {
|
||||||
kotlinOptions {
|
compilerOptions {
|
||||||
jvmTarget = "17"
|
jvmTarget.set(JvmTarget.JVM_17)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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(
|
||||||
@@ -100,12 +101,22 @@ class Quest(
|
|||||||
|
|
||||||
// The tasks that are actually in use
|
// The tasks that are actually in use
|
||||||
var tasks = run {
|
var tasks = run {
|
||||||
|
if (taskAmount == availableTasks.size) {
|
||||||
|
// If taskAmount is equal to availableTasks.size then tasks are ordered as configured
|
||||||
|
if (isResettable) {
|
||||||
|
availableTasks.take(taskAmount)
|
||||||
|
} else {
|
||||||
|
availableTasks.shuffled().take(taskAmount)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// If taskAmount is less than availableTasks.size then tasks are selected and ordered randomly.
|
||||||
if (isResettable) {
|
if (isResettable) {
|
||||||
loadTasks() ?: availableTasks.randomlyPick(taskAmount)
|
loadTasks() ?: availableTasks.randomlyPick(taskAmount)
|
||||||
} else {
|
} else {
|
||||||
availableTasks.randomlyPick(taskAmount)
|
availableTasks.randomlyPick(taskAmount)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
private set
|
private set
|
||||||
|
|
||||||
private val hasStartedKey = PersistentDataKey(
|
private val hasStartedKey = PersistentDataKey(
|
||||||
@@ -222,6 +233,28 @@ class Quest(
|
|||||||
.formatEco(it)
|
.formatEco(it)
|
||||||
}
|
}
|
||||||
}.register()
|
}.register()
|
||||||
|
|
||||||
|
for (i in 1..this.tasks.size+1) {
|
||||||
|
PlayerPlaceholder(plugin, "quest_${id}_task_${i}_required_xp") {
|
||||||
|
this.tasks[i-1].getExperienceRequired(it).toNiceString()
|
||||||
|
}.register()
|
||||||
|
|
||||||
|
PlayerPlaceholder(plugin, "quest_${id}_task_${i}_xp") {
|
||||||
|
this.tasks[i-1].getExperience(it).toNiceString()
|
||||||
|
}.register()
|
||||||
|
|
||||||
|
PlayerPlaceholder(plugin, "quest_${id}_task_${i}_description") {
|
||||||
|
this.tasks[i-1].getDescription(it)
|
||||||
|
}.register()
|
||||||
|
|
||||||
|
PlayerPlaceholder(plugin, "quest_${id}_task_${i}_completed") {
|
||||||
|
this.tasks[i-1].hasCompleted(it).toNiceString()
|
||||||
|
}.register()
|
||||||
|
|
||||||
|
PlayerPlaceholder(plugin, "quest_${id}_task_${i}_completed_description") {
|
||||||
|
this.tasks[i-1].getCompletedDescription(it)
|
||||||
|
}.register()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onRegister() {
|
override fun onRegister() {
|
||||||
@@ -245,7 +278,8 @@ class Quest(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getDescription(player: Player): List<String> {
|
fun getDescription(player: Player): List<String> {
|
||||||
return addPlaceholdersInto(listOf(config.getString("description")), player)
|
val descriptions = config.getStrings("description")
|
||||||
|
return addPlaceholdersInto(descriptions, player)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun hasActive(player: OfflinePlayer): Boolean {
|
fun hasActive(player: OfflinePlayer): Boolean {
|
||||||
@@ -257,7 +291,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 +316,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 +442,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))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -145,6 +146,11 @@ class Task(
|
|||||||
* Give experience directly
|
* Give experience directly
|
||||||
*/
|
*/
|
||||||
fun giveExperience(player: Player, amount: Double) {
|
fun giveExperience(player: Player, amount: Double) {
|
||||||
|
|
||||||
|
if (player.profile.read(hasCompletedKey)) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
val requiredXp = getExperienceRequired(player)
|
val requiredXp = getExperienceRequired(player)
|
||||||
val newXp = player.profile.read(xpKey) + amount
|
val newXp = player.profile.read(xpKey) + amount
|
||||||
|
|
||||||
@@ -152,7 +158,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))
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
#libreforge-updater
|
#libreforge-updater
|
||||||
#Wed Sep 20 15:33:56 BST 2023
|
#Sat Mar 29 14:22:27 GMT 2025
|
||||||
kotlin.code.style=official
|
kotlin.code.style=official
|
||||||
libreforge-version=4.34.1
|
libreforge-version=4.75.0
|
||||||
version=1.6.1
|
version=1.46.0
|
||||||
|
|||||||
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,5 +1,7 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
|
||||||
|
networkTimeout=10000
|
||||||
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
jdk: openjdk17
|
|
||||||
before_install:
|
|
||||||
- source "$HOME/.sdkman/bin/sdkman-init.sh"
|
|
||||||
- sdk update
|
|
||||||
- sdk install java 17.0.1-tem
|
|
||||||
- sdk use java 17.0.1-tem
|
|
||||||
@@ -2,11 +2,15 @@ pluginManagement {
|
|||||||
repositories {
|
repositories {
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
maven("https://repo.jpenilla.xyz/snapshots/")
|
|
||||||
maven("https://repo.auxilor.io/repository/maven-public/")
|
maven("https://repo.auxilor.io/repository/maven-public/")
|
||||||
|
maven("https://repo.papermc.io/repository/maven-public/")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
|
||||||
|
}
|
||||||
|
|
||||||
rootProject.name = "EcoQuests"
|
rootProject.name = "EcoQuests"
|
||||||
|
|
||||||
// Core
|
// Core
|
||||||
|
|||||||
Reference in New Issue
Block a user