mirror of
https://github.com/Auxilor/Reforges.git
synced 2025-12-25 18:09:25 +00:00
Added /reforges apply
This commit is contained in:
@@ -0,0 +1,82 @@
|
|||||||
|
package com.willfp.reforges.commands
|
||||||
|
|
||||||
|
import com.willfp.eco.core.EcoPlugin
|
||||||
|
import com.willfp.eco.core.command.impl.Subcommand
|
||||||
|
import com.willfp.reforges.reforges.Reforges
|
||||||
|
import com.willfp.reforges.reforges.util.ReforgeUtils
|
||||||
|
import org.bukkit.Bukkit
|
||||||
|
import org.bukkit.command.CommandSender
|
||||||
|
import org.bukkit.entity.Player
|
||||||
|
import org.bukkit.util.StringUtil
|
||||||
|
|
||||||
|
class CommandApply(
|
||||||
|
plugin: EcoPlugin
|
||||||
|
) : Subcommand(plugin, "apply", "reforges.command.apply", false) {
|
||||||
|
override fun onExecute(sender: CommandSender, args: MutableList<String>) {
|
||||||
|
if (args.isEmpty()) {
|
||||||
|
sender.sendMessage(plugin.langYml.getMessage("needs-reforge"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val reforge = Reforges.getByKey(args[0].lowercase())
|
||||||
|
|
||||||
|
if (reforge == null) {
|
||||||
|
sender.sendMessage(plugin.langYml.getMessage("invalid-reforge"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sender is Player) {
|
||||||
|
val item = sender.inventory.itemInMainHand
|
||||||
|
ReforgeUtils.setReforge(item, reforge)
|
||||||
|
sender.sendMessage(
|
||||||
|
plugin.langYml.getMessage("applied-reforge")
|
||||||
|
.replace("%reforge%", reforge.name)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
if (args.size < 2) {
|
||||||
|
sender.sendMessage(plugin.langYml.getMessage("needs-player"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
val player = Bukkit.getPlayer(args[1])
|
||||||
|
|
||||||
|
if (player == null) {
|
||||||
|
sender.sendMessage(plugin.langYml.getMessage("invalid-player"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
ReforgeUtils.setReforge(player.inventory.itemInMainHand, reforge)
|
||||||
|
sender.sendMessage(
|
||||||
|
plugin.langYml.getMessage("applied-reforge")
|
||||||
|
.replace("%reforge%", reforge.name)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun tabComplete(sender: CommandSender, args: List<String>): List<String> {
|
||||||
|
val completions = mutableListOf<String>()
|
||||||
|
if (args.isEmpty()) {
|
||||||
|
// Currently, this case is not ever reached
|
||||||
|
return Reforges.values().map { it.id }
|
||||||
|
}
|
||||||
|
if (args.size == 1) {
|
||||||
|
StringUtil.copyPartialMatches(
|
||||||
|
args[0],
|
||||||
|
Reforges.values().map { it.id },
|
||||||
|
completions
|
||||||
|
)
|
||||||
|
completions.sort()
|
||||||
|
return completions
|
||||||
|
}
|
||||||
|
if (args.size == 2) {
|
||||||
|
StringUtil.copyPartialMatches(
|
||||||
|
args[1],
|
||||||
|
Bukkit.getOnlinePlayers().map { it.name },
|
||||||
|
completions
|
||||||
|
)
|
||||||
|
completions.sort()
|
||||||
|
return completions
|
||||||
|
}
|
||||||
|
return emptyList()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -15,5 +15,6 @@ class CommandReforges(plugin: EcoPlugin) : PluginCommand(plugin, "reforges", "re
|
|||||||
addSubcommand(CommandReload(plugin))
|
addSubcommand(CommandReload(plugin))
|
||||||
.addSubcommand(CommandGive(plugin))
|
.addSubcommand(CommandGive(plugin))
|
||||||
.addSubcommand(CommandOpen(plugin))
|
.addSubcommand(CommandOpen(plugin))
|
||||||
|
.addSubcommand(CommandApply(plugin))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -15,6 +15,8 @@ messages:
|
|||||||
on-cooldown: "&cThis reforge is on cooldown! &fTime left: &a%seconds% seconds"
|
on-cooldown: "&cThis reforge is on cooldown! &fTime left: &a%seconds% seconds"
|
||||||
cannot-afford: "&cYou can't afford to do this! &fCost: &a$$%cost%"
|
cannot-afford: "&cYou can't afford to do this! &fCost: &a$$%cost%"
|
||||||
cannot-afford-type: "&cYou can't afford to do this! &fCost: &a%cost% %type%"
|
cannot-afford-type: "&cYou can't afford to do this! &fCost: &a%cost% %type%"
|
||||||
|
invalid-reforge: "&cInvalid reforge!"
|
||||||
|
needs-reforge: "&cYou must specify a reforge"
|
||||||
|
|
||||||
menu:
|
menu:
|
||||||
title: "Reforge Item"
|
title: "Reforge Item"
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ permissions:
|
|||||||
reforges.command.reforges: true
|
reforges.command.reforges: true
|
||||||
reforges.command.reforge: true
|
reforges.command.reforge: true
|
||||||
reforges.command.give: true
|
reforges.command.give: true
|
||||||
|
reforges.command.apply: true
|
||||||
reforges.command.open: true
|
reforges.command.open: true
|
||||||
|
|
||||||
reforges.command.reload:
|
reforges.command.reload:
|
||||||
@@ -55,3 +56,6 @@ permissions:
|
|||||||
reforges.command.open:
|
reforges.command.open:
|
||||||
description: Allows the user of /reforges open.
|
description: Allows the user of /reforges open.
|
||||||
default: op
|
default: op
|
||||||
|
reforges.command.apply:
|
||||||
|
description: Allows the user of /reforges apply.
|
||||||
|
default: op
|
||||||
|
|||||||
Reference in New Issue
Block a user