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

Compare commits

...

28 Commits

Author SHA1 Message Date
Auxilor
48b86099c9 libreforge-updater 2024-04-11 13:17:25 +01:00
Auxilor
966051bc21 libreforge-updater 2024-03-29 16:08:35 +00:00
Will FP
442ea73366 libreforge-updater 2024-03-11 17:36:28 +00:00
Will FP
52a6b45c85 libreforge-updater 2024-03-10 20:07:46 +00:00
Will FP
dfff7c339c libreforge-updater 2024-03-02 15:19:29 +00:00
Will FP
eb13e26512 libreforge-updater 2024-02-22 13:16:51 +00:00
Will FP
7219918101 libreforge-updater 2024-02-15 13:00:56 +00:00
Will FP
92787738b6 libreforge-updater 2024-02-08 19:47:41 +00:00
Will FP
05cf850aab libreforge-updater 2024-01-30 11:25:31 +00:00
Will FP
ac9f26bcce libreforge-updater 2024-01-18 17:01:43 +00:00
Will FP
72f30769ad libreforge-updater 2024-01-16 13:25:44 +00:00
Will FP
7282046ba0 libreforge-updater 2024-01-13 14:22:59 +00:00
Will FP
0646965c9f libreforge-updater 2024-01-07 13:50:30 +00:00
Will FP
243407ce3c libreforge-updater 2024-01-06 09:18:30 +00:00
Auxilor
1e2b101011 libreforge-updater 2024-01-04 17:25:16 +00:00
Auxilor
ecf99839bf libreforge-updater 2024-01-01 20:02:16 +00:00
Will FP
b414ff57ab libreforge-updater 2023-12-27 14:15:49 +01:00
Will FP
a476fac03e libreforge-updater 2023-12-24 14:54:07 +01:00
Auxilor
50b42f38ba libreforge-updater 2023-12-20 15:57:06 +00:00
Will FP
08d5fa6b0c libreforge-updater 2023-12-14 16:12:08 +00:00
Will FP
c3febb89ec libreforge-updater 2023-12-11 12:11:41 +00:00
Will FP
7e3ba5293f libreforge-updater 2023-12-07 17:23:58 +00:00
Will FP
19ef0341fa libreforge-updater 2023-12-03 15:57:13 +00:00
Will FP
1bfaf7f7e1 libreforge-updater 2023-11-30 14:26:14 +00:00
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
11 changed files with 42 additions and 89 deletions

View File

@@ -2,7 +2,7 @@ plugins {
java java
`java-library` `java-library`
`maven-publish` `maven-publish`
kotlin("jvm") version "1.7.10" kotlin("jvm") version "1.9.20"
id("com.github.johnrengelman.shadow") version "8.0.0" id("com.github.johnrengelman.shadow") version "8.0.0"
id("com.willfp.libreforge-gradle-plugin") version "1.0.0" id("com.willfp.libreforge-gradle-plugin") version "1.0.0"
} }
@@ -39,7 +39,7 @@ allprojects {
dependencies { dependencies {
compileOnly("com.willfp:eco:6.55.0") compileOnly("com.willfp:eco:6.55.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:1.9.20")
} }
java { java {

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

@@ -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

@@ -1,75 +0,0 @@
name: ${pluginName}
version: ${version}
main: com.willfp.ecojobs.EcoJobsPlugin
api-version: 1.19
dependencies:
- name: eco
required: true
bootstrap: false
- name: libreforge
required: false
bootstrap: false
load-after:
- name: eco
bootstrap: false
permissions:
ecojobs.*:
description: All EcoJobs permissions
default: op
children:
ecojobs.command.*: true
ecojobs.command.*:
description: All commands
default: op
children:
ecojobs.command.ecojobs: true
ecojobs.command.reload: true
ecojobs.command.jobs: true
ecojobs.command.unlock: true
ecojobs.command.givexp: true
ecojobs.command.join: true
ecojobs.command.leave: true
ecojobs.command.reset: true
ecojobs.command.reload:
description: Allows reloading the config
default: op
ecojobs.command.ecojobs:
description: Allows the use of /ecojobs.
default: true
ecojobs.command.jobs:
description: Allows the use of /jobs.
default: true
ecojobs.command.unlock:
description: Allows the use of /ecojobs unlock.
default: op
ecojobs.command.givexp:
description: Allows the use of /ecojobs givexp.
default: op
ecojobs.command.reset:
description: Allows the use of /ecojobs reset.
default: op
ecojobs.command.join:
description: Allows the use of /jobs join.
default: true
ecojobs.command.leave:
description: Allows the use of /jobs leave.
default: true
ecojobs.xpmultiplier.50percent:
description: Gives the player 50% more job experience
default: false
ecojobs.xpmultiplier.double:
description: Gives the player 2x job experience
default: false
ecojobs.xpmultiplier.triple:
description: Gives the player 3x job experience
default: false
ecojobs.xpmultiplier.quadruple:
description: Gives the player 4x job experience
default: false

View File

@@ -1,5 +1,5 @@
#libreforge-updater #libreforge-updater
#Fri Nov 17 19:01:23 GMT 2023 #Thu Apr 11 13:17:25 BST 2024
kotlin.code.style=official kotlin.code.style=official
libreforge-version=4.43.0 libreforge-version=4.57.1
version=3.42.0 version=3.55.1