mirror of
https://github.com/Auxilor/EcoArmor.git
synced 2025-12-27 02:49:22 +00:00
eco 6.17.0 migration
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
package com.willfp.ecoarmor.commands
|
||||
|
||||
import com.willfp.eco.core.EcoPlugin
|
||||
import com.willfp.eco.core.command.CommandHandler
|
||||
import com.willfp.eco.core.command.impl.PluginCommand
|
||||
import org.bukkit.command.CommandSender
|
||||
|
||||
class CommandEcoarmor(plugin: EcoPlugin) : PluginCommand(plugin, "ecoarmor", "ecoarmor.command.ecoarmor", false) {
|
||||
init {
|
||||
@@ -10,11 +10,9 @@ class CommandEcoarmor(plugin: EcoPlugin) : PluginCommand(plugin, "ecoarmor", "ec
|
||||
.addSubcommand(CommandGive(plugin))
|
||||
}
|
||||
|
||||
override fun getHandler(): CommandHandler {
|
||||
return CommandHandler { sender, _ ->
|
||||
sender.sendMessage(
|
||||
plugin.langYml.getMessage("invalid-command")
|
||||
)
|
||||
}
|
||||
override fun onExecute(sender: CommandSender, args: List<String>) {
|
||||
sender.sendMessage(
|
||||
plugin.langYml.getMessage("invalid-command")
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
package com.willfp.ecoarmor.commands
|
||||
|
||||
import com.willfp.eco.core.EcoPlugin
|
||||
import com.willfp.eco.core.command.CommandHandler
|
||||
import com.willfp.eco.core.command.TabCompleteHandler
|
||||
import com.willfp.eco.core.command.impl.Subcommand
|
||||
import com.willfp.ecoarmor.sets.ArmorSets
|
||||
import com.willfp.ecoarmor.sets.ArmorSlot
|
||||
@@ -12,10 +10,8 @@ import com.willfp.ecoarmor.upgrades.Tier
|
||||
import com.willfp.ecoarmor.upgrades.Tiers
|
||||
import org.bukkit.Bukkit
|
||||
import org.bukkit.command.CommandSender
|
||||
import org.bukkit.entity.Player
|
||||
import org.bukkit.inventory.ItemStack
|
||||
import org.bukkit.util.StringUtil
|
||||
import java.util.stream.Collectors
|
||||
|
||||
class CommandGive(plugin: EcoPlugin) : Subcommand(plugin, "give", "ecoarmor.command.give", false) {
|
||||
private val items: Collection<String>
|
||||
@@ -39,185 +35,181 @@ class CommandGive(plugin: EcoPlugin) : Subcommand(plugin, "give", "ecoarmor.comm
|
||||
"64"
|
||||
)
|
||||
|
||||
override fun getHandler(): CommandHandler {
|
||||
return CommandHandler { sender: CommandSender, args: List<String> ->
|
||||
if (args.isEmpty()) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("needs-player"))
|
||||
return@CommandHandler
|
||||
}
|
||||
|
||||
if (args.size == 1) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("needs-item"))
|
||||
return@CommandHandler
|
||||
}
|
||||
|
||||
val recieverName = args[0]
|
||||
val reciever = Bukkit.getPlayer(recieverName)
|
||||
|
||||
if (reciever == null) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-player"))
|
||||
return@CommandHandler
|
||||
}
|
||||
|
||||
val fullItemKey = args[1]
|
||||
|
||||
if (!fullItemKey.contains(":")) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return@CommandHandler
|
||||
}
|
||||
|
||||
val fullItemSplit = fullItemKey.split(":").toTypedArray()
|
||||
|
||||
if (fullItemSplit.size == 1) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return@CommandHandler
|
||||
}
|
||||
|
||||
val itemNamespace = fullItemSplit[0]
|
||||
val itemKey = fullItemSplit[1]
|
||||
val toGive = mutableListOf<ItemStack>()
|
||||
var amount = 1
|
||||
|
||||
if (itemNamespace.equals("set", ignoreCase = true)) {
|
||||
val set = ArmorSets.getByID(itemKey)
|
||||
|
||||
if (set == null) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return@CommandHandler
|
||||
}
|
||||
|
||||
var message = plugin.langYml.getMessage("give-success")
|
||||
|
||||
message = message.replace("%item%", set.id + " Set").replace("%recipient%", reciever.name)
|
||||
|
||||
sender.sendMessage(message)
|
||||
|
||||
var advanced = false
|
||||
var tier: Tier? = null
|
||||
val slots = mutableListOf<ArmorSlot>()
|
||||
if (args.size >= 3) {
|
||||
val slot = getSlot(args[2])
|
||||
if (slot == null) {
|
||||
if (!args[2].equals("full", ignoreCase = true)) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return@CommandHandler
|
||||
}
|
||||
}
|
||||
if (slot == null) {
|
||||
slots.addAll(ArmorSlot.values())
|
||||
} else {
|
||||
slots.add(slot)
|
||||
}
|
||||
} else {
|
||||
slots.addAll(ArmorSlot.values())
|
||||
}
|
||||
if (args.size >= 4) {
|
||||
advanced = args[3].toBoolean()
|
||||
}
|
||||
if (args.size >= 5) {
|
||||
tier = Tiers.getByID(args[4])
|
||||
}
|
||||
if (args.size >= 6) {
|
||||
amount = args[5].toIntOrNull() ?: amount
|
||||
}
|
||||
for (slot in slots) {
|
||||
toGive.add(if (advanced) set.getAdvancedItemStack(slot) else set.getItemStack(slot))
|
||||
}
|
||||
for (item in ArrayList(toGive)) {
|
||||
val currTear = tier ?: set.getDefaultTier(getSlot(item))
|
||||
toGive.remove(item)
|
||||
ArmorUtils.setTier(item, currTear)
|
||||
toGive.add(item)
|
||||
}
|
||||
}
|
||||
if (itemNamespace.equals("crystal", ignoreCase = true)) {
|
||||
val tier = Tiers.getByID(itemKey)
|
||||
if (tier == null) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return@CommandHandler
|
||||
}
|
||||
var message = plugin.langYml.getMessage("give-success")
|
||||
message =
|
||||
message.replace("%item%", tier.crystal.itemMeta!!.displayName).replace("%recipient%", reciever.name)
|
||||
sender.sendMessage(message)
|
||||
toGive.add(tier.crystal)
|
||||
if (args.size >= 3) {
|
||||
amount = args[2].toIntOrNull() ?: amount
|
||||
}
|
||||
}
|
||||
if (itemNamespace.equals("shard", ignoreCase = true)) {
|
||||
val set = ArmorSets.getByID(itemKey)
|
||||
if (set == null) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return@CommandHandler
|
||||
}
|
||||
var message = plugin.langYml.getMessage("give-success")
|
||||
message = message.replace("%item%", set.advancementShardItem.itemMeta!!.displayName)
|
||||
.replace("%recipient%", reciever.name)
|
||||
sender.sendMessage(message)
|
||||
toGive.add(set.advancementShardItem)
|
||||
if (args.size >= 3) {
|
||||
amount = args[2].toIntOrNull() ?: amount
|
||||
}
|
||||
}
|
||||
if (toGive.isEmpty()) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return@CommandHandler
|
||||
}
|
||||
for (item in toGive) {
|
||||
item.amount = amount
|
||||
reciever.inventory.addItem(item)
|
||||
}
|
||||
override fun onExecute(sender: CommandSender, args: List<String>) {
|
||||
if (args.isEmpty()) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("needs-player"))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
override fun getTabCompleter(): TabCompleteHandler {
|
||||
return TabCompleteHandler { _, args ->
|
||||
val completions = mutableListOf<String>()
|
||||
if (args.isEmpty()) {
|
||||
// Currently, this case is not ever reached
|
||||
return@TabCompleteHandler items.toList()
|
||||
if (args.size == 1) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("needs-item"))
|
||||
return
|
||||
}
|
||||
|
||||
val recieverName = args[0]
|
||||
val reciever = Bukkit.getPlayer(recieverName)
|
||||
|
||||
if (reciever == null) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-player"))
|
||||
return
|
||||
}
|
||||
|
||||
val fullItemKey = args[1]
|
||||
|
||||
if (!fullItemKey.contains(":")) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return
|
||||
}
|
||||
|
||||
val fullItemSplit = fullItemKey.split(":").toTypedArray()
|
||||
|
||||
if (fullItemSplit.size == 1) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return
|
||||
}
|
||||
|
||||
val itemNamespace = fullItemSplit[0]
|
||||
val itemKey = fullItemSplit[1]
|
||||
val toGive = mutableListOf<ItemStack>()
|
||||
var amount = 1
|
||||
|
||||
if (itemNamespace.equals("set", ignoreCase = true)) {
|
||||
val set = ArmorSets.getByID(itemKey)
|
||||
|
||||
if (set == null) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return
|
||||
}
|
||||
if (args.size == 1) {
|
||||
StringUtil.copyPartialMatches(
|
||||
args[0],
|
||||
Bukkit.getOnlinePlayers().stream().map { obj: Player -> obj.name }
|
||||
.collect(Collectors.toList()),
|
||||
completions)
|
||||
return@TabCompleteHandler completions
|
||||
}
|
||||
if (args.size == 2) {
|
||||
StringUtil.copyPartialMatches(args[1], items, completions)
|
||||
completions.sort()
|
||||
return@TabCompleteHandler completions
|
||||
}
|
||||
if (args[1].startsWith("set:")) {
|
||||
if (args.size == 3) {
|
||||
StringUtil.copyPartialMatches(args[2], slots, completions)
|
||||
completions.sort()
|
||||
return@TabCompleteHandler completions
|
||||
|
||||
var message = plugin.langYml.getMessage("give-success")
|
||||
|
||||
message = message.replace("%item%", set.id + " Set").replace("%recipient%", reciever.name)
|
||||
|
||||
sender.sendMessage(message)
|
||||
|
||||
var advanced = false
|
||||
var tier: Tier? = null
|
||||
val slots = mutableListOf<ArmorSlot>()
|
||||
if (args.size >= 3) {
|
||||
val slot = getSlot(args[2])
|
||||
if (slot == null) {
|
||||
if (!args[2].equals("full", ignoreCase = true)) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return
|
||||
}
|
||||
}
|
||||
if (args.size == 4) {
|
||||
StringUtil.copyPartialMatches(args[3], listOf("true", "false"), completions)
|
||||
completions.sort()
|
||||
return@TabCompleteHandler completions
|
||||
}
|
||||
if (args.size == 5) {
|
||||
StringUtil.copyPartialMatches(args[4], tiers, completions)
|
||||
completions.sort()
|
||||
return@TabCompleteHandler completions
|
||||
}
|
||||
if (args.size == 6) {
|
||||
StringUtil.copyPartialMatches(args[5], numbers, completions)
|
||||
return@TabCompleteHandler completions
|
||||
if (slot == null) {
|
||||
slots.addAll(ArmorSlot.values())
|
||||
} else {
|
||||
slots.add(slot)
|
||||
}
|
||||
} else {
|
||||
if (args.size == 3) {
|
||||
StringUtil.copyPartialMatches(args[2], numbers, completions)
|
||||
return@TabCompleteHandler completions
|
||||
}
|
||||
slots.addAll(ArmorSlot.values())
|
||||
}
|
||||
ArrayList(0)
|
||||
if (args.size >= 4) {
|
||||
advanced = args[3].toBoolean()
|
||||
}
|
||||
if (args.size >= 5) {
|
||||
tier = Tiers.getByID(args[4])
|
||||
}
|
||||
if (args.size >= 6) {
|
||||
amount = args[5].toIntOrNull() ?: amount
|
||||
}
|
||||
for (slot in slots) {
|
||||
toGive.add(if (advanced) set.getAdvancedItemStack(slot) else set.getItemStack(slot))
|
||||
}
|
||||
for (item in ArrayList(toGive)) {
|
||||
val currTear = tier ?: set.getDefaultTier(getSlot(item))
|
||||
toGive.remove(item)
|
||||
ArmorUtils.setTier(item, currTear)
|
||||
toGive.add(item)
|
||||
}
|
||||
}
|
||||
if (itemNamespace.equals("crystal", ignoreCase = true)) {
|
||||
val tier = Tiers.getByID(itemKey)
|
||||
if (tier == null) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return
|
||||
}
|
||||
var message = plugin.langYml.getMessage("give-success")
|
||||
message =
|
||||
message.replace("%item%", tier.crystal.itemMeta!!.displayName).replace("%recipient%", reciever.name)
|
||||
sender.sendMessage(message)
|
||||
toGive.add(tier.crystal)
|
||||
if (args.size >= 3) {
|
||||
amount = args[2].toIntOrNull() ?: amount
|
||||
}
|
||||
}
|
||||
if (itemNamespace.equals("shard", ignoreCase = true)) {
|
||||
val set = ArmorSets.getByID(itemKey)
|
||||
if (set == null) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return
|
||||
}
|
||||
var message = plugin.langYml.getMessage("give-success")
|
||||
message = message.replace("%item%", set.advancementShardItem.itemMeta!!.displayName)
|
||||
.replace("%recipient%", reciever.name)
|
||||
sender.sendMessage(message)
|
||||
toGive.add(set.advancementShardItem)
|
||||
if (args.size >= 3) {
|
||||
amount = args[2].toIntOrNull() ?: amount
|
||||
}
|
||||
}
|
||||
if (toGive.isEmpty()) {
|
||||
sender.sendMessage(plugin.langYml.getMessage("invalid-item"))
|
||||
return
|
||||
}
|
||||
for (item in toGive) {
|
||||
item.amount = amount
|
||||
reciever.inventory.addItem(item)
|
||||
}
|
||||
}
|
||||
|
||||
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 items.toList()
|
||||
}
|
||||
if (args.size == 1) {
|
||||
StringUtil.copyPartialMatches(
|
||||
args[0],
|
||||
Bukkit.getOnlinePlayers().map { it.name },
|
||||
completions
|
||||
)
|
||||
return completions
|
||||
}
|
||||
if (args.size == 2) {
|
||||
StringUtil.copyPartialMatches(args[1], items, completions)
|
||||
completions.sort()
|
||||
return completions
|
||||
}
|
||||
if (args[1].startsWith("set:")) {
|
||||
if (args.size == 3) {
|
||||
StringUtil.copyPartialMatches(args[2], slots, completions)
|
||||
completions.sort()
|
||||
return completions
|
||||
}
|
||||
if (args.size == 4) {
|
||||
StringUtil.copyPartialMatches(args[3], listOf("true", "false"), completions)
|
||||
completions.sort()
|
||||
return completions
|
||||
}
|
||||
if (args.size == 5) {
|
||||
StringUtil.copyPartialMatches(args[4], tiers, completions)
|
||||
completions.sort()
|
||||
return completions
|
||||
}
|
||||
if (args.size == 6) {
|
||||
StringUtil.copyPartialMatches(args[5], numbers, completions)
|
||||
return completions
|
||||
}
|
||||
} else {
|
||||
if (args.size == 3) {
|
||||
StringUtil.copyPartialMatches(args[2], numbers, completions)
|
||||
return completions
|
||||
}
|
||||
}
|
||||
return emptyList()
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,12 @@
|
||||
package com.willfp.ecoarmor.commands
|
||||
|
||||
import com.willfp.eco.core.EcoPlugin
|
||||
import com.willfp.eco.core.command.CommandHandler
|
||||
import com.willfp.eco.core.command.impl.Subcommand
|
||||
import org.bukkit.command.CommandSender
|
||||
|
||||
class CommandReload(plugin: EcoPlugin) : Subcommand(plugin, "reload", "ecoarmor.command.reload", false) {
|
||||
override fun getHandler(): CommandHandler {
|
||||
return CommandHandler { sender, _ ->
|
||||
plugin.reload()
|
||||
sender.sendMessage(plugin.langYml.getMessage("reloaded"))
|
||||
}
|
||||
override fun onExecute(sender: CommandSender, args: List<String>) {
|
||||
plugin.reload()
|
||||
sender.sendMessage(plugin.langYml.getMessage("reloaded"))
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.willfp.ecoarmor.config
|
||||
|
||||
import com.willfp.eco.core.EcoPlugin
|
||||
import com.willfp.eco.core.config.yaml.YamlBaseConfig
|
||||
import com.willfp.eco.core.config.BaseConfig
|
||||
import com.willfp.eco.core.config.ConfigType
|
||||
|
||||
class EcoArmorYml(plugin: EcoPlugin) : YamlBaseConfig("ecoarmor", false, plugin)
|
||||
class EcoArmorYml(plugin: EcoPlugin) : BaseConfig("ecoarmor", plugin, false, ConfigType.YAML)
|
||||
|
||||
@@ -165,7 +165,7 @@ class ArmorSet(
|
||||
if (defaultTier == null) {
|
||||
Bukkit.getLogger()
|
||||
.warning("Default tier specified in " + id + " " + slot.name.lowercase(Locale.getDefault()) + " is invalid! Defaulting to 'default'")
|
||||
setTier(itemStack, Tiers.getDefaultTier())
|
||||
setTier(itemStack, Tiers.defaultTier)
|
||||
} else {
|
||||
setTier(itemStack, defaultTier)
|
||||
}
|
||||
@@ -221,7 +221,7 @@ class ArmorSet(
|
||||
val formattedOut = out.clone()
|
||||
val meta = formattedOut.itemMeta!!
|
||||
assert(meta.lore != null)
|
||||
val lore = meta.lore.map { it.replace("%tier%", Tiers.getDefaultTier().displayName) }
|
||||
val lore = meta.lore.map { it.replace("%tier%", Tiers.defaultTier.displayName) }
|
||||
meta.lore = lore
|
||||
formattedOut.itemMeta = meta
|
||||
Recipes.createAndRegisterRecipe(
|
||||
@@ -239,8 +239,8 @@ class ArmorSet(
|
||||
* @param slot The slot.
|
||||
* @return The item.
|
||||
*/
|
||||
fun getItemStack(slot: ArmorSlot): ItemStack? {
|
||||
return items[slot]
|
||||
fun getItemStack(slot: ArmorSlot): ItemStack {
|
||||
return items[slot]!!
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -249,8 +249,8 @@ class ArmorSet(
|
||||
* @param slot The slot.
|
||||
* @return The item.
|
||||
*/
|
||||
fun getAdvancedItemStack(slot: ArmorSlot): ItemStack? {
|
||||
return advancedItems[slot]
|
||||
fun getAdvancedItemStack(slot: ArmorSlot): ItemStack {
|
||||
return advancedItems[slot]!!
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -260,9 +260,9 @@ class ArmorSet(
|
||||
* @return The tier.
|
||||
*/
|
||||
fun getDefaultTier(slot: ArmorSlot?): Tier {
|
||||
if (slot == null) return Tiers.getDefaultTier()
|
||||
if (slot == null) return Tiers.defaultTier
|
||||
val tier = Tiers.getByID(config.getSubsection(slot.name.lowercase()).getString("defaultTier"))
|
||||
return tier ?: Tiers.getDefaultTier()
|
||||
return tier ?: Tiers.defaultTier
|
||||
}
|
||||
|
||||
override fun equals(other: Any?): Boolean {
|
||||
|
||||
Reference in New Issue
Block a user