Added /ecocrates resetwins all

This commit is contained in:
Auxilor
2022-03-17 11:32:18 +00:00
parent c9b171b0b3
commit 3820e83589
2 changed files with 16 additions and 7 deletions

View File

@@ -5,6 +5,7 @@ import com.willfp.eco.core.command.impl.Subcommand
import com.willfp.eco.util.savedDisplayName
import com.willfp.ecocrates.crate.Crates
import org.bukkit.Bukkit
import org.bukkit.OfflinePlayer
import org.bukkit.command.CommandSender
import org.bukkit.util.StringUtil
@@ -20,21 +21,29 @@ class CommandResetWins(plugin: EcoPlugin) : Subcommand(
return
}
@Suppress("DEPRECATION")
val player = Bukkit.getOfflinePlayer(args[0])
if (args[0] == "all") {
for (player in Bukkit.getOfflinePlayers()) {
resetWinsFor(sender, player)
}
} else {
@Suppress("DEPRECATION")
resetWinsFor(sender, Bukkit.getOfflinePlayer(args[0]))
}
}
private fun resetWinsFor(sender: CommandSender, player: OfflinePlayer) {
if (!player.hasPlayedBefore()) {
sender.sendMessage(plugin.langYml.getMessage("invalid-player"))
return
}
sender.sendMessage(plugin.langYml.getMessage("resetting-wins").replace("%player%", player.savedDisplayName))
sender.sendMessage(plugin.langYml.getMessage("resetting-wins").replace("%user%", player.savedDisplayName))
for (crate in Crates.values()) {
crate.rewards.forEach { it.resetWins(player) }
}
sender.sendMessage(plugin.langYml.getMessage("reset-wins").replace("%player%", player.savedDisplayName))
sender.sendMessage(plugin.langYml.getMessage("reset-wins").replace("%user%", player.savedDisplayName))
}
override fun tabComplete(sender: CommandSender, args: List<String>): List<String> {
@@ -47,7 +56,7 @@ class CommandResetWins(plugin: EcoPlugin) : Subcommand(
if (args.size == 1) {
StringUtil.copyPartialMatches(
args[0],
Bukkit.getOnlinePlayers().map { it.name },
Bukkit.getOnlinePlayers().map { it.name } union listOf("all"),
completions
)

View File

@@ -14,5 +14,5 @@ messages:
set-block-as-crate: "Set block to be a crate!"
removed-crate: "Removed crate!"
all-rewards-used: "&cYou have already won all things in this crate!"
resetting-wins: "&fResetting wins for %player%f..."
reset-wins: "&fReset wins for %player%&f!"
resetting-wins: "&fResetting wins for %user%&f..."
reset-wins: "&fReset wins for %user%&f!"