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

Added /jobs <job>

This commit is contained in:
Auxilor
2022-11-21 11:41:46 +00:00
parent b08616b01e
commit 88d118cdd7
3 changed files with 38 additions and 6 deletions

View File

@@ -47,7 +47,7 @@ allprojects {
}
dependencies {
compileOnly 'com.willfp:eco:6.45.0'
compileOnly 'com.willfp:eco:6.46.0'
implementation 'com.willfp:libreforge:3.120.0'
implementation 'com.willfp:ecomponent:1.0.0'
implementation 'org.joml:joml:1.10.4'

View File

@@ -2,9 +2,11 @@ package com.willfp.ecojobs.commands
import com.willfp.eco.core.EcoPlugin
import com.willfp.eco.core.command.impl.PluginCommand
import com.willfp.ecojobs.jobs.Jobs
import com.willfp.ecojobs.jobs.JobsGUI
import org.bukkit.command.CommandSender
import com.willfp.ecojobs.jobs.hasJob
import org.bukkit.entity.Player
import org.bukkit.util.StringUtil
class CommandJobs(plugin: EcoPlugin) : PluginCommand(plugin, "jobs", "ecojobs.command.jobs", true) {
init {
@@ -12,8 +14,39 @@ class CommandJobs(plugin: EcoPlugin) : PluginCommand(plugin, "jobs", "ecojobs.co
.addSubcommand(CommandLeave(plugin))
}
override fun onExecute(player: CommandSender, args: List<String>) {
player as Player
JobsGUI.open(player)
override fun onExecute(player: Player, args: List<String>) {
if (args.isEmpty()) {
JobsGUI.open(player)
return
}
val id = args[0].lowercase()
val job = Jobs.getByID(id)
if (job == null) {
player.sendMessage(plugin.langYml.getMessage("invalid-job"))
return
}
job.levelGUI.open(player)
}
override fun tabComplete(player: Player, args: List<String>): List<String> {
val completions = mutableListOf<String>()
if (args.isEmpty()) {
return Jobs.values().filter { player.hasJob(it) }.map { it.id }
}
if (args.size == 1) {
StringUtil.copyPartialMatches(
args[0],
Jobs.values().filter { player.hasJob(it) }.map { it.id },
completions
)
return completions
}
return emptyList()
}
}

View File

@@ -52,7 +52,6 @@ class CommandJoin(plugin: EcoPlugin) : Subcommand(plugin, "join", "ecojobs.comma
val completions = mutableListOf<String>()
if (args.isEmpty()) {
// Currently, this case is not ever reached
return Jobs.values().filter { sender.hasJob(it) }.map { it.id }
}