Archived
0

Made spyBroadcast a static function, added option for String target

This commit is contained in:
Pepich
2017-05-11 15:58:19 +02:00
parent 291ba61911
commit 6b546ee4c4

View File

@@ -18,7 +18,7 @@ import com.redstoner.modules.datamanager.DataManager;
import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.ChatColor;
@Version(major = 3, minor = 1, revision = 2, compatible = 3) @Version(major = 3, minor = 1, revision = 4, compatible = 3)
public class Message implements Module public class Message implements Module
{ {
HashMap<CommandSender, CommandSender> replyTargets = new HashMap<CommandSender, CommandSender>(); HashMap<CommandSender, CommandSender> replyTargets = new HashMap<CommandSender, CommandSender>();
@@ -167,12 +167,12 @@ public class Message implements Module
return true; return true;
} }
public void spyBroadcast(CommandSender sender, CommandSender target, String message, String command) public static void spyBroadcast(CommandSender sender, CommandSender target, String message, String command)
{ {
for (Player p : Bukkit.getOnlinePlayers()) for (Player p : Bukkit.getOnlinePlayers())
{ {
if ((boolean) DataManager.getOrDefault(p, "enabled", false)) if ((boolean) DataManager.getOrDefault(p, "enabled", false))
if (sender.hasPermission("utils.socialspy")) if (p.hasPermission("utils.socialspy"))
{ {
if (p.equals(sender) || p.equals(target)) if (p.equals(sender) || p.equals(target))
continue; continue;
@@ -183,8 +183,24 @@ public class Message implements Module
} }
} }
private String formatMessage(CommandSender formatHolder, CommandSender sender, CommandSender target, String message, public static void spyBroadcast(CommandSender sender, String target, String message, String command)
String command) {
for (Player p : Bukkit.getOnlinePlayers())
{
if ((boolean) DataManager.getOrDefault(p, "enabled", false))
if (p.hasPermission("utils.socialspy"))
{
if (p.equals(sender) || p.equals(target))
continue;
Utils.sendMessage(p, "", formatMessage(p, sender, target, message, command));
}
else
DataManager.setData(sender, "enabled", false);
}
}
private static String formatMessage(CommandSender formatHolder, CommandSender sender, CommandSender target,
String message, String command)
{ {
if ((boolean) DataManager.getOrDefault(formatHolder, "stripcolor", false)) if ((boolean) DataManager.getOrDefault(formatHolder, "stripcolor", false))
message = ChatColor.stripColor(message); message = ChatColor.stripColor(message);
@@ -210,6 +226,33 @@ public class Message implements Module
return format; return format;
} }
private static String formatMessage(CommandSender formatHolder, CommandSender sender, String target, String message,
String command)
{
if ((boolean) DataManager.getOrDefault(formatHolder, "stripcolor", false))
message = ChatColor.stripColor(message);
String format = (String) DataManager.getOrDefault(formatHolder, "format", getDefaultFormat());
// Replace escaped % with placeholder
format = format.replace("%%", "§§");
// Sender name
format = format.replace("%s", Utils.getName(sender));
format = format.replace("%S", sender.getName());
// Target name
format = format.replace("%t", target);
format = format.replace("%T", target);
// Prefix
String prefix = (String) DataManager.getOrDefault(formatHolder, "prefix", getDefaultPrefix());
format = format.replace("%p", prefix);
// Apply colors to halfway replaced String
format = ChatColor.translateAlternateColorCodes('&', format);
// Insert command and message
format = format.replace("%c", command);
format = format.replace("%m", message);
// Convert placeholder back
format = format.replace("§§", "%%");
return format;
}
private static final String getDefaultFormat() private static final String getDefaultFormat()
{ {
return "%s &7to %t %p: %m"; return "%s &7to %t %p: %m";