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

Compare commits

...

12 Commits

Author SHA1 Message Date
Auxilor
bd7305fae1 libreforge-updater 2022-10-02 14:57:36 +01:00
Auxilor
25b78106ee libreforge-updater 2022-09-28 17:52:31 +01:00
Auxilor
1b75ba0098 Updated to 1.10.0 2022-09-28 12:41:01 +01:00
Auxilor
b4b235f1b5 Added custom GUI slots 2022-09-28 12:40:05 +01:00
Auxilor
c7ec273747 Updated to 1.9.0 2022-09-28 09:09:05 +01:00
Auxilor
9991f9b683 Added /jobs join and /jobs leave 2022-09-28 09:08:51 +01:00
Auxilor
921f086f49 libreforge-updater 2022-09-26 18:27:06 +01:00
Auxilor
b0c882dc21 libreforge-updater 2022-09-26 14:41:23 +01:00
Auxilor
59a528689d libreforge-updater 2022-09-26 10:51:36 +01:00
Auxilor
16be3a8b69 libreforge-updater 2022-09-22 17:30:04 +01:00
Auxilor
8e1200f293 Fixed version 2022-09-21 15:41:13 +01:00
Auxilor
301b4d35f3 libreforge-updater 2022-09-21 15:28:18 +01:00
10 changed files with 137 additions and 4 deletions

View File

@@ -46,8 +46,8 @@ allprojects {
}
dependencies {
compileOnly 'com.willfp:eco:6.37.1'
implementation 'com.willfp:libreforge:3.102.1'
compileOnly 'com.willfp:eco:6.42.0'
implementation 'com.willfp:libreforge:3.107.0'
implementation 'org.joml:joml:1.10.4'
compileOnly 'org.jetbrains:annotations:23.0.0'

View File

@@ -7,6 +7,11 @@ import org.bukkit.command.CommandSender
import org.bukkit.entity.Player
class CommandJobs(plugin: EcoPlugin) : PluginCommand(plugin, "jobs", "ecojobs.command.jobs", true) {
init {
this.addSubcommand(CommandJoin(plugin))
.addSubcommand(CommandLeave(plugin))
}
override fun onExecute(player: CommandSender, args: List<String>) {
player as Player
JobsGUI.open(player)

View File

@@ -0,0 +1,65 @@
package com.willfp.ecojobs.commands
import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.command.impl.Subcommand
import com.willfp.eco.util.StringUtils
import com.willfp.ecojobs.jobs.Jobs
import com.willfp.ecojobs.jobs.activeJob
import com.willfp.ecojobs.jobs.hasJob
import org.bukkit.command.CommandSender
import org.bukkit.entity.Player
import org.bukkit.util.StringUtil
class CommandJoin(plugin: EcoPlugin) : Subcommand(plugin, "join", "ecojobs.command.join", true) {
override fun onExecute(player: CommandSender, args: List<String>) {
player as Player
if (args.isEmpty()) {
player.sendMessage(plugin.langYml.getMessage("needs-job"))
return
}
val id = args[0]
val job = Jobs.getByID(id)
if (job == null || !player.hasJob(job)) {
player.sendMessage(plugin.langYml.getMessage("invalid-job"))
return
}
if (player.activeJob == job) {
player.sendMessage(plugin.langYml.getMessage("job-already-joined"))
return
}
player.sendMessage(
plugin.langYml.getMessage("joined-job", StringUtils.FormatOption.WITHOUT_PLACEHOLDERS)
.replace("%job%", job.name)
)
player.activeJob = job
}
override fun tabComplete(sender: CommandSender, args: List<String>): List<String> {
if (sender !is Player) {
return emptyList()
}
val completions = mutableListOf<String>()
if (args.isEmpty()) {
// Currently, this case is not ever reached
return Jobs.values().filter { sender.hasJob(it) }.map { it.id }
}
if (args.size == 1) {
StringUtil.copyPartialMatches(
args[1],
Jobs.values().filter { sender.hasJob(it) }.map { it.id },
completions
)
return completions
}
return emptyList()
}
}

View File

@@ -0,0 +1,26 @@
package com.willfp.ecojobs.commands
import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.command.impl.Subcommand
import com.willfp.eco.util.StringUtils
import com.willfp.ecojobs.jobs.activeJob
import org.bukkit.command.CommandSender
import org.bukkit.entity.Player
class CommandLeave(plugin: EcoPlugin) : Subcommand(plugin, "leave", "ecojobs.command.leave", true) {
override fun onExecute(player: CommandSender, args: List<String>) {
player as Player
if (player.activeJob == null) {
player.sendMessage(plugin.langYml.getMessage("no-job"))
return
}
player.sendMessage(
plugin.langYml.getMessage("left-job", StringUtils.FormatOption.WITHOUT_PLACEHOLDERS)
.replace("%job%", player.activeJob?.name ?: "")
)
player.activeJob = null
}
}

View File

@@ -4,6 +4,7 @@ import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.gui.menu
import com.willfp.eco.core.gui.menu.Menu
import com.willfp.eco.core.gui.slot
import com.willfp.eco.core.gui.slot.ConfigSlot
import com.willfp.eco.core.gui.slot.FillerMask
import com.willfp.eco.core.gui.slot.MaskItems
import com.willfp.eco.core.items.Items
@@ -165,6 +166,7 @@ class JobLevelGUI(
}
}
)
setSlot(
plugin.configYml.getInt("level-gui.progression-slots.close.location.row"),
plugin.configYml.getInt("level-gui.progression-slots.close.location.column"),
@@ -178,6 +180,14 @@ class JobLevelGUI(
}
}
)
for (config in plugin.configYml.getSubsections("level-gui.custom-slots")) {
setSlot(
config.getInt("row"),
config.getInt("column"),
ConfigSlot(config)
)
}
}
}

View File

@@ -4,6 +4,7 @@ import com.willfp.eco.core.config.updating.ConfigUpdater
import com.willfp.eco.core.gui.menu
import com.willfp.eco.core.gui.menu.Menu
import com.willfp.eco.core.gui.slot
import com.willfp.eco.core.gui.slot.ConfigSlot
import com.willfp.eco.core.gui.slot.FillerMask
import com.willfp.eco.core.gui.slot.MaskItems
import com.willfp.eco.core.items.Items
@@ -197,6 +198,14 @@ object JobsGUI {
}
}
)
for (config in plugin.configYml.getSubsections("gui.custom-slots")) {
setSlot(
config.getInt("row"),
config.getInt("column"),
ConfigSlot(config)
)
}
}
}

View File

@@ -116,6 +116,9 @@ gui:
row: 4
column: 2
# Custom GUI slots; see here for a how-to: https://plugins.auxilor.io/all-plugins/custom-gui-slots
custom-slots: []
level-gui:
rows: 6
@@ -210,6 +213,9 @@ level-gui:
row: 6
column: 5
# Custom GUI slots; see here for a how-to: https://plugins.auxilor.io/all-plugins/custom-gui-slots
custom-slots: []
level-up:
message:
enabled: true

View File

@@ -20,6 +20,10 @@ messages:
unlocked-job: "&fSuccessfully unlocked the %job%&f job for %player%!"
cannot-spawn-job: "&cYou already have this job unlocked!"
invalid-amount: "&cInvalid amount!"
no-job: "&cYou don't have a job!"
joined-job: "&fYou have joined the %job%&f job!"
left-job: "&fYou have left the %job%&f job!"
job-already-joined: "&cYou already have this job!"
menu:
title: "Jobs"

View File

@@ -49,6 +49,8 @@ permissions:
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:
@@ -69,6 +71,12 @@ permissions:
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

View File

@@ -1,4 +1,4 @@
#libreforge-updater
#Tue Sep 20 10:39:39 BST 2022
version=1.6.1
#Sun Oct 02 14:57:36 BST 2022
version=1.12.0
plugin-name=EcoJobs