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

Compare commits

..

61 Commits

Author SHA1 Message Date
Auxilor
e264e49b05 libreforge-updater 2024-08-23 15:35:08 +01:00
Auxilor
d9263bcb53 libreforge-updater 2024-08-21 18:58:06 +01:00
Auxilor
4681bd63e1 libreforge-updater 2024-08-15 15:07:19 +01:00
Auxilor
998e25e7ec libreforge-updater 2024-08-03 13:41:10 +01:00
Auxilor
f1f7ec5afd libreforge-updater 2024-07-25 10:04:20 +01:00
Auxilor
875928b4c2 libreforge-updater 2024-07-21 12:19:05 +01:00
Auxilor
049cb72385 libreforge-updater 2024-07-19 20:28:24 +01:00
Auxilor
b7decc9eb8 libreforge-updater 2024-07-18 13:23:59 +01:00
Auxilor
44c59de546 libreforge-updater 2024-07-16 17:13:29 +01:00
Auxilor
fdbbf8102c libreforge-updater 2024-07-13 20:45:06 +01:00
Auxilor
cf7084fd44 libreforge-updater 2024-07-08 15:58:17 +01:00
Auxilor
fa4e0dc67a libreforge-updater 2024-07-05 13:02:32 +01:00
Auxilor
210a6e821e libreforge-updater 2024-07-03 17:43:43 +01:00
Auxilor
b520442dee libreforge-updater 2024-06-29 16:43:48 +01:00
Auxilor
58966f04ff libreforge-updater 2024-06-28 15:56:11 +01:00
Auxilor
4588122b20 libreforge-updater 2024-06-27 18:54:14 +01:00
Auxilor
b98ee1d0dc libreforge-updater 2024-06-26 16:52:06 +01:00
Auxilor
929e6d59d8 libreforge-updater 2024-06-25 15:13:45 +01:00
Auxilor
e6884a0320 libreforge-updater 2024-06-24 15:06:21 +01:00
Auxilor
569f63e22d Updated to Java 21 2024-06-24 14:00:38 +01:00
Auxilor
49aecb54bf libreforge-updater 2024-06-23 17:26:20 +01:00
Auxilor
da80fbdcce libreforge-updater 2024-06-23 13:18:38 +01:00
Will FP
c66919ec49 libreforge-updater 2024-05-31 20:35:53 +01:00
Will FP
117f412ed3 libreforge-updater 2024-05-11 18:20:35 +01:00
Will FP
1bd643eb8a libreforge-updater 2024-04-17 20:32:58 +01:00
Auxilor
2eb7625711 libreforge-updater 2024-04-15 18:19:26 +01:00
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
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
18 changed files with 59 additions and 102 deletions

View File

@@ -15,11 +15,11 @@ jobs:
- name: Checkout latest code
uses: actions/checkout@v2
- name: Set up JDK 17
- name: Set up JDK 21
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: 17
java-version: 21
- name: Change wrapper permissions
run: chmod +x ./gradlew

View File

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

View File

@@ -30,7 +30,9 @@ import com.willfp.libreforge.filters.Filters
import com.willfp.libreforge.loader.LibreforgePlugin
import com.willfp.libreforge.loader.configs.ConfigCategory
import com.willfp.libreforge.registerHolderProvider
import com.willfp.libreforge.registerSpecificHolderProvider
import com.willfp.libreforge.triggers.Triggers
import org.bukkit.entity.Player
import org.bukkit.event.Listener
import java.util.regex.Pattern
@@ -56,7 +58,7 @@ class EcoJobsPlugin : LibreforgePlugin() {
Triggers.register(TriggerLeaveJob)
Filters.register(FilterJob)
registerHolderProvider { player ->
registerSpecificHolderProvider<Player> { player ->
player.activeJobs.map { it.getLevel(player.getJobLevel(it)) }.map {
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.builder.ItemStackBuilder
import com.willfp.eco.util.NumberUtils
import com.willfp.eco.util.formatEco
import com.willfp.ecojobs.api.getJobLevel
import com.willfp.ecomponent.components.LevelComponent
import com.willfp.ecomponent.components.LevelState
@@ -65,7 +66,9 @@ class JobLevelGUI(
}
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)

View File

@@ -2,9 +2,12 @@ package com.willfp.ecojobs.libreforge
import com.willfp.eco.core.config.interfaces.Config
import com.willfp.ecojobs.api.activeJobs
import com.willfp.libreforge.Dispatcher
import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.ProvidedHolder
import com.willfp.libreforge.arguments
import com.willfp.libreforge.conditions.Condition
import com.willfp.libreforge.get
import org.bukkit.entity.Player
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!")
}
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() }
}
}

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.getJobLevel
import com.willfp.ecojobs.jobs.Jobs
import com.willfp.libreforge.Dispatcher
import com.willfp.libreforge.NoCompileData
import com.willfp.libreforge.ProvidedHolder
import com.willfp.libreforge.arguments
import com.willfp.libreforge.conditions.Condition
import com.willfp.libreforge.get
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.updateEffects
import org.bukkit.entity.Player
import org.bukkit.event.EventHandler
@@ -18,7 +22,14 @@ object ConditionHasJobLevel : Condition<NoCompileData>("has_job_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(
Jobs.getByID(config.getString("job").lowercase()) ?: return false
) >= config.getIntFromExpression("level", player)
@@ -26,6 +37,6 @@ object ConditionHasJobLevel : Condition<NoCompileData>("has_job_level") {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
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.Jobs
import com.willfp.libreforge.effects.templates.MultiMultiplierEffect
import com.willfp.libreforge.toDispatcher
import org.bukkit.event.EventHandler
object EffectJobXpMultiplier : MultiMultiplierEffect<Job>("job_xp_multiplier") {
@@ -19,6 +20,6 @@ object EffectJobXpMultiplier : MultiMultiplierEffect<Job>("job_xp_multiplier") {
@EventHandler(ignoreCancelled = true)
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
import com.willfp.ecojobs.api.event.PlayerJobExpGainEvent
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter
@@ -18,7 +19,7 @@ object TriggerGainJobXp : Trigger("gain_job_xp") {
val player = event.player
this.dispatch(
player,
player.toDispatcher(),
TriggerData(
player = player,
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.getJobLevel
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter
@@ -20,7 +21,7 @@ object TriggerJoinJob : Trigger("join_job") {
val player = event.player as? Player ?: return
this.dispatch(
player,
player.toDispatcher(),
TriggerData(
player = player,
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.getJobLevel
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter
@@ -19,7 +20,7 @@ object TriggerLeaveJob : Trigger("leave_job") {
val player = event.player as? Player ?: return
this.dispatch(
player,
player.toDispatcher(),
TriggerData(
player = player,
location = player.location,

View File

@@ -1,6 +1,7 @@
package com.willfp.ecojobs.libreforge
import com.willfp.ecojobs.api.event.PlayerJobLevelUpEvent
import com.willfp.libreforge.toDispatcher
import com.willfp.libreforge.triggers.Trigger
import com.willfp.libreforge.triggers.TriggerData
import com.willfp.libreforge.triggers.TriggerParameter
@@ -18,7 +19,7 @@ object TriggerLevelUpJob : Trigger("level_up_job") {
val player = event.player
this.dispatch(
player,
player.toDispatcher(),
TriggerData(
player = player,
location = player.location,

View File

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

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
#Sat Oct 28 14:14:29 BST 2023
#Fri Aug 23 15:35:08 BST 2024
kotlin.code.style=official
libreforge-version=4.38.1
version=3.37.1
libreforge-version=4.71.3
version=3.69.3

Binary file not shown.

View File

@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

View File

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

View File

@@ -2,11 +2,15 @@ pluginManagement {
repositories {
gradlePluginPortal()
mavenLocal()
maven("https://repo.jpenilla.xyz/snapshots/")
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 = "EcoJobs"
// Core