mirror of
https://github.com/Auxilor/EcoSkills.git
synced 2026-01-02 22:02:19 +00:00
Added option to do /skills <skill> to open the skill menu directly
This commit is contained in:
@@ -3,6 +3,7 @@ package com.willfp.ecoskills.commands
|
||||
import com.willfp.eco.core.EcoPlugin
|
||||
import com.willfp.eco.core.command.impl.PluginCommand
|
||||
import com.willfp.ecoskills.gui.SkillGUI
|
||||
import com.willfp.ecoskills.skills.Skills
|
||||
import org.bukkit.command.CommandSender
|
||||
import org.bukkit.entity.Player
|
||||
|
||||
@@ -27,6 +28,18 @@ class CommandSkills(plugin: EcoPlugin) :
|
||||
return
|
||||
}
|
||||
|
||||
SkillGUI.homeMenu.open(sender)
|
||||
if (args.isEmpty()) {
|
||||
SkillGUI.open(sender)
|
||||
}
|
||||
|
||||
val id = args[0].lowercase()
|
||||
val skill = Skills.getByID(id)
|
||||
|
||||
if (skill == null) {
|
||||
sender.sendMessage(this.plugin.langYml.getMessage("invalid-skill"))
|
||||
return
|
||||
}
|
||||
|
||||
skill.gui.menu.open(sender)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,12 +18,12 @@ import org.bukkit.inventory.meta.SkullMeta
|
||||
|
||||
object SkillGUI {
|
||||
@JvmStatic
|
||||
lateinit var homeMenu: Menu
|
||||
private lateinit var menu: Menu
|
||||
|
||||
@JvmStatic
|
||||
@ConfigUpdater
|
||||
fun update(plugin: EcoSkillsPlugin) {
|
||||
homeMenu = buildHomeMenu(plugin)
|
||||
menu = buildHomeMenu(plugin)
|
||||
}
|
||||
|
||||
@JvmStatic
|
||||
@@ -66,22 +66,22 @@ object SkillGUI {
|
||||
if (plugin.configYml.getBool("gui.player-info.click-to-open-stats")) {
|
||||
onLeftClick { event, _ ->
|
||||
val player = event.whoClicked as Player
|
||||
StatsGUI.menu.open(player)
|
||||
StatsGUI.open(player)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
modfiy { menuBuilder ->
|
||||
for (skill in Skills.values()) {
|
||||
if (skill.enabled) {
|
||||
menuBuilder.setSlot(
|
||||
skill.config.getInt("gui.position.row"),
|
||||
skill.config.getInt("gui.position.column"),
|
||||
skill.gui.slot
|
||||
)
|
||||
}
|
||||
|
||||
for (skill in Skills.values()) {
|
||||
if (skill.enabled) {
|
||||
setSlot(
|
||||
skill.config.getInt("gui.position.row"),
|
||||
skill.config.getInt("gui.position.column"),
|
||||
skill.gui.slot
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
setSlot(plugin.configYml.getInt("gui.close.location.row"),
|
||||
plugin.configYml.getInt("gui.close.location.column"),
|
||||
slot(
|
||||
@@ -102,4 +102,8 @@ object SkillGUI {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun open(player: Player) {
|
||||
menu.open(player)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import org.bukkit.inventory.meta.SkullMeta
|
||||
|
||||
object StatsGUI {
|
||||
@JvmStatic
|
||||
lateinit var menu: Menu
|
||||
private lateinit var menu: Menu
|
||||
|
||||
@JvmStatic
|
||||
@ConfigUpdater
|
||||
@@ -111,7 +111,7 @@ object StatsGUI {
|
||||
.setDisplayName(plugin.configYml.getString("stats-gui.back.name"))
|
||||
.build()
|
||||
) {
|
||||
onLeftClick { event, _ -> SkillGUI.homeMenu.open(event.whoClicked as Player) }
|
||||
onLeftClick { event, _ -> SkillGUI.open(event.whoClicked as Player) }
|
||||
}
|
||||
)
|
||||
|
||||
@@ -124,4 +124,8 @@ object StatsGUI {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun open(player: Player) {
|
||||
menu.open(player)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,11 +94,11 @@ class SkillLevelGUI(
|
||||
}.build()
|
||||
}) {
|
||||
onLeftClick { event, _, _ ->
|
||||
levels.open(event.whoClicked as Player)
|
||||
menu.open(event.whoClicked as Player)
|
||||
}
|
||||
}
|
||||
|
||||
val levels: Menu
|
||||
val menu: Menu
|
||||
|
||||
init {
|
||||
val maskPattern = plugin.configYml.getStrings("level-gui.mask.pattern").toTypedArray()
|
||||
@@ -141,7 +141,7 @@ class SkillLevelGUI(
|
||||
|
||||
val pageKey = "page"
|
||||
|
||||
levels = menu(plugin.configYml.getInt("level-gui.rows")) {
|
||||
menu = menu(plugin.configYml.getInt("level-gui.rows")) {
|
||||
title = skill.levelName
|
||||
setMask(
|
||||
FillerMask(
|
||||
@@ -275,7 +275,7 @@ class SkillLevelGUI(
|
||||
page--
|
||||
menu.setState(player, pageKey, page)
|
||||
if (page == 0) {
|
||||
SkillGUI.homeMenu.open(event.whoClicked as Player)
|
||||
SkillGUI.open(event.whoClicked as Player)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user