package net.knarcraft.stargate.config; import net.md_5.bungee.api.ChatColor; import org.bukkit.command.CommandSender; import org.jetbrains.annotations.NotNull; /** * The message sender is responsible sending messages to players with correct coloring and formatting */ public final class MessageSender { private final LanguageLoader languageLoader; /** * Instantiates a new message sender * * @param languageLoader
The language loader to get translated strings from
*/ public MessageSender(@NotNull LanguageLoader languageLoader) { this.languageLoader = languageLoader; } /** * Sends an error message to a player * * @param playerThe player to send the message to
* @param messageThe message to send
*/ public void sendErrorMessage(@NotNull CommandSender player, @NotNull String message) { sendMessage(player, message, true); } /** * Sends a success message to a player * * @param playerThe player to send the message to
* @param messageThe message to send
*/ public void sendSuccessMessage(@NotNull CommandSender player, @NotNull String message) { sendMessage(player, message, false); } /** * Sends a message to a player * * @param senderThe player to send the message to
* @param messageThe message to send
* @param errorWhether the message sent is an error
*/ private void sendMessage(@NotNull CommandSender sender, @NotNull String message, boolean error) { if (message.isEmpty()) { return; } message = ChatColor.translateAlternateColorCodes('&', message); if (error) { sender.sendMessage(ChatColor.RED + languageLoader.getString(Message.PREFIX) + ChatColor.WHITE + message); } else { sender.sendMessage(ChatColor.GREEN + languageLoader.getString(Message.PREFIX) + ChatColor.WHITE + message); } } }