Files
KSpigot/src/main/kotlin/net/axay/kspigot/extensions/bukkit/ConsoleSenderExtensions.kt
2022-03-19 16:30:50 +01:00

46 lines
1.8 KiB
Kotlin

@file:Suppress("unused")
package net.axay.kspigot.extensions.bukkit
import net.axay.kspigot.chat.KColors
import net.axay.kspigot.main.PluginInstance
import net.kyori.adventure.text.Component
import net.kyori.adventure.text.format.TextColor
import org.bukkit.Bukkit
import org.bukkit.command.CommandSender
import org.bukkit.plugin.Plugin
/** @see printColoredPrefix */
fun CommandSender.print(text: String, plugin: Plugin? = PluginInstance) =
printColoredPrefix(text, KColors.WHITE, plugin?.name ?: "INFO", KColors.GRAY)
/** @see printColoredPrefix */
fun CommandSender.info(text: String, plugin: Plugin? = PluginInstance) =
printColoredPrefix(text, KColors.WHITE, plugin?.name ?: "INFO", KColors.DARKAQUA)
/** @see printColoredPrefix */
fun CommandSender.success(text: String, plugin: Plugin? = PluginInstance) =
printColoredPrefix(text, KColors.GREEN, plugin?.name ?: "SUCCESS", KColors.DARKAQUA)
/** @see printColoredPrefix */
fun CommandSender.warn(text: String, plugin: Plugin? = PluginInstance) =
printColoredPrefix(text, KColors.WHITE, plugin?.name?.plus(" - WARN") ?: "WARN", KColors.YELLOW)
/** @see printColoredPrefix */
fun CommandSender.error(text: String, plugin: Plugin? = PluginInstance) =
printColoredPrefix(text, KColors.RED, plugin?.name?.plus(" - ERROR") ?: "ERROR", KColors.DARKRED)
/**
* Sends the given message and adds the given prefix with the given color to it.
*/
fun CommandSender.printColoredPrefix(text: String, textColor: TextColor, prefix: String, prefixColor: TextColor) =
sendMessage(Component.text(prefix).color(prefixColor).append(Component.text(text).color(textColor)))
/**
* Dispatches the command given by [commandLine].
*
* @param commandLine the command without a leading /
*/
fun CommandSender.dispatchCommand(commandLine: String) =
Bukkit.dispatchCommand(this, commandLine)