package gq.unurled.raxen.utils; import gq.unurled.raxen.Raxen; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; public class Utils { /** * * @param stringToComponent a string * @return a component */ public static Component colorComp(String stringToComponent) { return MiniMessage.miniMessage().deserialize(stringToComponent); } public static TextComponent colorTextComp(String stringToComponent) { return (TextComponent) MiniMessage.miniMessage().deserialize(stringToComponent); } /** * * @param string a string * @return a colored string */ public static String colorString(String string) { return PlainTextComponentSerializer.plainText().serialize(MiniMessage.miniMessage().deserialize(string)); } public static String decolor(String string) { return MiniMessage.miniMessage().stripTags(string); } /** * debug output to console if debug is set to true in config * @param main Raxen instance * @param strings ouptut to console */ public static void debug(Raxen main, String... strings) { FileConfiguration config = main.getConfig(); if(config.getBoolean("debug")) { for(String string : strings) { main.getLogger().info(string); } } } /** * debug output to console if debug is set to true in config * @param strings output to console */ public static void debug(String... strings) { Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); FileConfiguration config = main.getConfig(); if(config.getBoolean("debug")) { for(String string : strings) { main.getLogger().info(string); } } } /** * debug output to console if debug is set to true in config * @param config main file config * @param strings ouput to console */ public static void debug(FileConfiguration config, String... strings) { Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); if(config.getBoolean("debug")) { for(String string : strings) { main.getLogger().info(string); } } } public static void log(Raxen main, String... strings) { for(String string : strings) { main.getLogger().info(string); } } public static void log(String... strings) { Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); assert main != null; for(String string : strings) { main.getLogger().info(string); } } public static void warn(String... strings) { Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); assert main != null; for(String string : strings) { main.getLogger().warning(string); } } public static void warn(Raxen main, String... strings) { for(String string : strings) { main.getLogger().warning(string); } } public static void error(String... strings) { Raxen main = (Raxen) Bukkit.getPluginManager().getPlugin("Raxen"); assert main != null; for(String string : strings) { main.getLogger().severe(string); } } public static void error(Raxen main, String... strings) { for(String string : strings) { main.getLogger().severe(string); } } public static void msgPlayer(Player player, String... strings) { for(String string : strings) { player.sendMessage(colorComp(string)); } } public static void msgPlayer(Player player, TextComponent strings) { player.sendMessage(colorComp(PlainTextComponentSerializer.plainText().serialize(strings))); } public static void msgSender(CommandSender player, TextComponent strings) { player.sendMessage(colorComp(PlainTextComponentSerializer.plainText().serialize(strings))); } public static void msgSender(CommandSender player, String... strings) { for(String string : strings) { player.sendMessage(colorComp(string)); } } public static Inventory fillGreyPane(Inventory inv) { Integer in = -1; for (ItemStack it : inv) { in++; if (it == null || it.getType() == Material.AIR) { inv.setItem(in, Items.greyPane()); } } return inv; } public static Component noPerms() { return colorComp("You don't have the permission to use this feature."); } public static Component error() { return colorComp("An Error has occurred. Please retry or contact an Admin."); } }