9
0
mirror of https://github.com/Auxilor/EcoJobs.git synced 2025-12-20 15:39:26 +00:00

Compare commits

..

22 Commits

Author SHA1 Message Date
Will FP
827f8430e1 libreforge-updater 2023-11-26 23:23:30 +00:00
Will FP
6192ce5bb6 libreforge-updater 2023-11-23 13:20:15 +00:00
Auxilor
fe59c30f52 libreforge-updater 2023-11-21 22:40:38 +00:00
Auxilor
7763ea48fd libreforge-updater 2023-11-19 14:13:20 +00:00
Auxilor
aef5d348bc libreforge-updater 2023-11-17 19:01:23 +00:00
Auxilor
d0bf9c848b libreforge-updater 2023-11-11 17:57:58 +00:00
Auxilor
6468ba5312 libreforge-updater 2023-11-10 13:58:22 +00:00
Auxilor
649253b82a libreforge-updater 2023-11-05 13:40:57 +00:00
Auxilor
e2cafdf031 libreforge-updater 2023-10-30 13:30:02 +00:00
Auxilor
3bc5661ea6 Updated to 3.37.2 2023-10-30 12:50:20 +00:00
Auxilor
c83bf6e607 The Job level GUI title is now customisable 2023-10-30 12:50:10 +00:00
Auxilor
b161bc4adf libreforge-updater 2023-10-28 14:14:29 +01:00
Auxilor
30af9048af libreforge-updater 2023-10-24 15:37:59 +01:00
Auxilor
8cb2fd8700 libreforge-updater 2023-10-19 12:51:32 +01:00
Auxilor
e0efc21da9 libreforge-updater 2023-10-14 14:19:51 +01:00
Auxilor
24951ea269 libreforge-updater 2023-10-14 14:17:54 +01:00
Auxilor
1041aa6f5f libreforge-updater 2023-10-02 11:52:57 +01:00
Auxilor
691e08fb44 libreforge-updater 2023-09-26 14:43:48 +01:00
Auxilor
f049f31778 libreforge-updater 2023-09-20 15:32:48 +01:00
Auxilor
01d24cd517 libreforge-updater 2023-09-17 11:19:20 +01:00
Auxilor
12c4d1938f libreforge-updater 2023-09-13 15:07:52 +01:00
Auxilor
edc1f58b40 libreforge-updater 2023-09-07 16:01:46 +01:00
11 changed files with 45 additions and 13 deletions

View File

@@ -30,7 +30,9 @@ import com.willfp.libreforge.filters.Filters
import com.willfp.libreforge.loader.LibreforgePlugin import com.willfp.libreforge.loader.LibreforgePlugin
import com.willfp.libreforge.loader.configs.ConfigCategory import com.willfp.libreforge.loader.configs.ConfigCategory
import com.willfp.libreforge.registerHolderProvider import com.willfp.libreforge.registerHolderProvider
import com.willfp.libreforge.registerSpecificHolderProvider
import com.willfp.libreforge.triggers.Triggers import com.willfp.libreforge.triggers.Triggers
import org.bukkit.entity.Player
import org.bukkit.event.Listener import org.bukkit.event.Listener
import java.util.regex.Pattern import java.util.regex.Pattern
@@ -56,7 +58,7 @@ class EcoJobsPlugin : LibreforgePlugin() {
Triggers.register(TriggerLeaveJob) Triggers.register(TriggerLeaveJob)
Filters.register(FilterJob) Filters.register(FilterJob)
registerHolderProvider { player -> registerSpecificHolderProvider<Player> { player ->
player.activeJobs.map { it.getLevel(player.getJobLevel(it)) }.map { player.activeJobs.map { it.getLevel(player.getJobLevel(it)) }.map {
SimpleProvidedHolder(it) SimpleProvidedHolder(it)
} }

View File

@@ -13,6 +13,7 @@ import com.willfp.eco.core.gui.slot.MaskItems
import com.willfp.eco.core.items.Items import com.willfp.eco.core.items.Items
import com.willfp.eco.core.items.builder.ItemStackBuilder import com.willfp.eco.core.items.builder.ItemStackBuilder
import com.willfp.eco.util.NumberUtils import com.willfp.eco.util.NumberUtils
import com.willfp.eco.util.formatEco
import com.willfp.ecojobs.api.getJobLevel import com.willfp.ecojobs.api.getJobLevel
import com.willfp.ecomponent.components.LevelComponent import com.willfp.ecomponent.components.LevelComponent
import com.willfp.ecomponent.components.LevelState import com.willfp.ecomponent.components.LevelState
@@ -65,7 +66,9 @@ class JobLevelGUI(
} }
menu = menu(plugin.configYml.getInt("level-gui.rows")) { menu = menu(plugin.configYml.getInt("level-gui.rows")) {
title = job.name title = plugin.configYml.getString("level-gui.title")
.replace("%job%", job.name)
.formatEco()
maxPages(component.pages) maxPages(component.pages)

View File

@@ -2,9 +2,12 @@ package com.willfp.ecojobs.libreforge
import com.willfp.eco.core.config.interfaces.Config import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecojobs.api.activeJobs import com.willfp.ecojobs.api.activeJobs
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 ConditionHasActiveJob : Condition<NoCompileData>("has_active_job") { object ConditionHasActiveJob : Condition<NoCompileData>("has_active_job") {
@@ -12,7 +15,14 @@ object ConditionHasActiveJob : Condition<NoCompileData>("has_active_job") {
require("job", "You must specify the job!") require("job", "You must specify the job!")
} }
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
return player.activeJobs.any { it.id == config.getString("job").lowercase() } return player.activeJobs.any { it.id == config.getString("job").lowercase() }
} }
} }

View File

@@ -4,9 +4,13 @@ import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecojobs.api.event.PlayerJobLevelUpEvent import com.willfp.ecojobs.api.event.PlayerJobLevelUpEvent
import com.willfp.ecojobs.api.getJobLevel import com.willfp.ecojobs.api.getJobLevel
import com.willfp.ecojobs.jobs.Jobs import com.willfp.ecojobs.jobs.Jobs
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 com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.updateEffects import com.willfp.libreforge.updateEffects
import org.bukkit.entity.Player import org.bukkit.entity.Player
import org.bukkit.event.EventHandler import org.bukkit.event.EventHandler
@@ -18,7 +22,14 @@ object ConditionHasJobLevel : Condition<NoCompileData>("has_job_level") {
require("level", "You must specify the level!") require("level", "You must specify the level!")
} }
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
return player.getJobLevel( return player.getJobLevel(
Jobs.getByID(config.getString("job").lowercase()) ?: return false Jobs.getByID(config.getString("job").lowercase()) ?: return false
) >= config.getIntFromExpression("level", player) ) >= config.getIntFromExpression("level", player)
@@ -26,6 +37,6 @@ object ConditionHasJobLevel : Condition<NoCompileData>("has_job_level") {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
fun handle(event: PlayerJobLevelUpEvent) { fun handle(event: PlayerJobLevelUpEvent) {
event.player.updateEffects() event.player.toDispatcher().updateEffects()
} }
} }

View File

@@ -4,6 +4,7 @@ import com.willfp.ecojobs.api.event.PlayerJobExpGainEvent
import com.willfp.ecojobs.jobs.Job import com.willfp.ecojobs.jobs.Job
import com.willfp.ecojobs.jobs.Jobs import com.willfp.ecojobs.jobs.Jobs
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 EffectJobXpMultiplier : MultiMultiplierEffect<Job>("job_xp_multiplier") { object EffectJobXpMultiplier : MultiMultiplierEffect<Job>("job_xp_multiplier") {
@@ -19,6 +20,6 @@ object EffectJobXpMultiplier : MultiMultiplierEffect<Job>("job_xp_multiplier") {
@EventHandler(ignoreCancelled = true) @EventHandler(ignoreCancelled = true)
fun handle(event: PlayerJobExpGainEvent) { fun handle(event: PlayerJobExpGainEvent) {
event.amount *= getMultiplier(event.player, event.job) event.amount *= getMultiplier(event.player.toDispatcher(), event.job)
} }
} }

View File

@@ -1,6 +1,7 @@
package com.willfp.ecojobs.libreforge package com.willfp.ecojobs.libreforge
import com.willfp.ecojobs.api.event.PlayerJobExpGainEvent import com.willfp.ecojobs.api.event.PlayerJobExpGainEvent
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 TriggerGainJobXp : Trigger("gain_job_xp") {
val player = event.player val player = event.player
this.dispatch( this.dispatch(
player, player.toDispatcher(),
TriggerData( TriggerData(
player = player, player = player,
location = player.location, location = player.location,

View File

@@ -2,6 +2,7 @@ package com.willfp.ecojobs.libreforge
import com.willfp.ecojobs.api.event.PlayerJobJoinEvent import com.willfp.ecojobs.api.event.PlayerJobJoinEvent
import com.willfp.ecojobs.api.getJobLevel import com.willfp.ecojobs.api.getJobLevel
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
@@ -20,7 +21,7 @@ object TriggerJoinJob : Trigger("join_job") {
val player = event.player as? Player ?: return val player = event.player as? Player ?: return
this.dispatch( this.dispatch(
player, player.toDispatcher(),
TriggerData( TriggerData(
player = player, player = player,
location = player.location, location = player.location,

View File

@@ -2,6 +2,7 @@ package com.willfp.ecojobs.libreforge
import com.willfp.ecojobs.api.event.PlayerJobLeaveEvent import com.willfp.ecojobs.api.event.PlayerJobLeaveEvent
import com.willfp.ecojobs.api.getJobLevel import com.willfp.ecojobs.api.getJobLevel
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 TriggerLeaveJob : Trigger("leave_job") {
val player = event.player as? Player ?: return val player = event.player as? Player ?: return
this.dispatch( this.dispatch(
player, player.toDispatcher(),
TriggerData( TriggerData(
player = player, player = player,
location = player.location, location = player.location,

View File

@@ -1,6 +1,7 @@
package com.willfp.ecojobs.libreforge package com.willfp.ecojobs.libreforge
import com.willfp.ecojobs.api.event.PlayerJobLevelUpEvent import com.willfp.ecojobs.api.event.PlayerJobLevelUpEvent
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 TriggerLevelUpJob : Trigger("level_up_job") {
val player = event.player val player = event.player
this.dispatch( this.dispatch(
player, player.toDispatcher(),
TriggerData( TriggerData(
player = player, player = player,
location = player.location, location = player.location,

View File

@@ -124,6 +124,7 @@ gui:
level-gui: level-gui:
rows: 6 rows: 6
title: "%job%"
mask: mask:
# The way the mask works is by having a list of materials # The way the mask works is by having a list of materials

View File

@@ -1,5 +1,5 @@
#libreforge-updater #libreforge-updater
#Sat Sep 02 17:34:33 BST 2023 #Sun Nov 26 23:23:30 GMT 2023
kotlin.code.style=official kotlin.code.style=official
libreforge-version=4.33.2 libreforge-version=4.46.0
version=3.32.1 version=3.45.0