Moves all methods for sending messages to players to the MessageSender class

This commit is contained in:
2021-10-23 14:10:33 +02:00
parent 50084c40f9
commit 7cc8685e26
11 changed files with 108 additions and 74 deletions

View File

@ -4,6 +4,7 @@ import net.knarcraft.stargate.command.CommandStarGate;
import net.knarcraft.stargate.command.StarGateTabCompleter;
import net.knarcraft.stargate.config.EconomyConfig;
import net.knarcraft.stargate.config.LanguageLoader;
import net.knarcraft.stargate.config.MessageSender;
import net.knarcraft.stargate.config.StargateGateConfig;
import net.knarcraft.stargate.container.BlockChangeRequest;
import net.knarcraft.stargate.container.ChunkUnloadRequest;
@ -26,7 +27,6 @@ import net.knarcraft.stargate.thread.StarGateThread;
import net.knarcraft.stargate.utility.FileHelper;
import net.knarcraft.stargate.utility.PortalFileHelper;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Server;
import org.bukkit.World;
import org.bukkit.block.Sign;
@ -88,6 +88,7 @@ public class Stargate extends JavaPlugin {
private FileConfiguration newConfig;
private PluginManager pluginManager;
private static MessageSender messageSender;
/**
* Empty constructor necessary for Spigot
@ -108,6 +109,15 @@ public class Stargate extends JavaPlugin {
super(loader, descriptionFile, dataFolder, file);
}
/**
* Gets the sender for sending messages to players
*
* @return <p>The sender for sending messages to players</p>
*/
public static MessageSender getMessageSender() {
return messageSender;
}
/**
* Gets the object containing gate configuration values
*
@ -176,46 +186,6 @@ public class Stargate extends JavaPlugin {
}
}
/**
* Sends an error message to a player
*
* @param player <p>The player to send the message to</p>
* @param message <p>The message to send</p>
*/
public static void sendErrorMessage(CommandSender player, String message) {
sendMessage(player, message, true);
}
/**
* Sends a success message to a player
*
* @param player <p>The player to send the message to</p>
* @param message <p>The message to send</p>
*/
public static void sendSuccessMessage(CommandSender player, String message) {
sendMessage(player, message, false);
}
/**
* Sends a message to a player
*
* @param player <p>The player to send the message to</p>
* @param message <p>The message to send</p>
* @param error <p>Whether the message sent is an error</p>
*/
private static void sendMessage(CommandSender player, String message, boolean error) {
if (message.isEmpty()) {
return;
}
//Replace color codes with green? What's the deal with the dollar sign?
message = message.replaceAll("(&([a-f0-9]))", "\u00A7$2");
if (error) {
player.sendMessage(ChatColor.RED + Stargate.getString("prefix") + ChatColor.WHITE + message);
} else {
player.sendMessage(ChatColor.GREEN + Stargate.getString("prefix") + ChatColor.WHITE + message);
}
}
/**
* Sets a line on a sign, adding the chosen sign color
*
@ -339,6 +309,7 @@ public class Stargate extends JavaPlugin {
// It is important to load languages here, as they are used during reloadGates()
languageLoader = new LanguageLoader(languageFolder, Stargate.languageName);
messageSender = new MessageSender(languageLoader);
if (debuggingEnabled) {
languageLoader.debug();
}
@ -549,7 +520,7 @@ public class Stargate extends JavaPlugin {
startStopBungeeListener(stargateGateConfig.enableBungee());
}
sendErrorMessage(sender, "stargate reloaded");
messageSender.sendErrorMessage(sender, "stargate reloaded");
}
/**