Changes to AdminChat.

This commit is contained in:
Steven Lawson 2012-12-02 12:27:10 -05:00
parent 11347c2327
commit 63b80d0d69
4 changed files with 25 additions and 29 deletions

View File

@ -1,10 +1,8 @@
package me.StevenLawson.TotalFreedomMod.Commands; package me.StevenLawson.TotalFreedomMod.Commands;
import me.StevenLawson.TotalFreedomMod.TFM_SuperadminList;
import me.StevenLawson.TotalFreedomMod.TFM_UserInfo; import me.StevenLawson.TotalFreedomMod.TFM_UserInfo;
import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TFM_Util;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.bukkit.ChatColor;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@ -15,24 +13,23 @@ public class Command_o extends TFM_Command
@Override @Override
public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
{ {
if(senderIsConsole && args.length == 0) if (args.length == 0)
{
if (senderIsConsole)
{ {
TFM_Util.playerMsg(sender, "Only in-game players can toggle AdminChat."); TFM_Util.playerMsg(sender, "Only in-game players can toggle AdminChat.");
return true; return true;
} }
if(args.length == 0)
{
TFM_UserInfo userinfo = TFM_UserInfo.getPlayerData(sender_p); TFM_UserInfo userinfo = TFM_UserInfo.getPlayerData(sender_p);
userinfo.setAdminChat(!userinfo.inAdminChat()); userinfo.setAdminChat(!userinfo.inAdminChat());
TFM_Util.playerMsg(sender, "Toggled Admin Chat " + (userinfo.inAdminChat() ? "on" : "off")+"."); TFM_Util.playerMsg(sender, "Toggled Admin Chat " + (userinfo.inAdminChat() ? "on" : "off") + ".");
} }
else else
{ {
TFM_Util.adminChatMessage(sender, StringUtils.join(args, " "), senderIsConsole);
// very complicated magic stuff
TFM_Util.AdminChatMessage(sender, StringUtils.join(args, " "), senderIsConsole);
} }
return true; return true;
} }
} }

View File

@ -359,17 +359,16 @@ public class TFM_PlayerListener implements Listener
} }
// check for adminchat // check for adminchat
if(playerdata.inAdminChat()) if (playerdata.inAdminChat())
{ {
TFM_Util.AdminChatMessage(p, message, false); TFM_Util.adminChatMessage(p, message, false);
event.setCancelled(true); event.setCancelled(true);
return;
} }
else
{
// finally, set message // finally, set message
event.setMessage(message); event.setMessage(message);
} }
}
catch (Exception ex) catch (Exception ex)
{ {
TFM_Log.severe(ex); TFM_Log.severe(ex);

View File

@ -998,17 +998,16 @@ public class TFM_Util
fos.getChannel().transferFrom(rbc, 0, 1 << 24); fos.getChannel().transferFrom(rbc, 0, 1 << 24);
fos.close(); fos.close();
} }
public static void AdminChatMessage(CommandSender sender, String message, boolean senderIsConsole)
public static void adminChatMessage(CommandSender sender, String message, boolean senderIsConsole)
{ {
// complicated magic String name = sender.getName() + (senderIsConsole ? ChatColor.DARK_PURPLE + " (Console)" : (TFM_SuperadminList.isSeniorAdmin(sender) ? ChatColor.LIGHT_PURPLE + " (SrA)" : ChatColor.GOLD + " (SA)"));
String name = sender.getName()+
(senderIsConsole ? ChatColor.DARK_PURPLE+" (Console)" :
(TFM_SuperadminList.isSeniorAdmin(sender) ? ChatColor.LIGHT_PURPLE+ " (SrA)" : ChatColor.GOLD+" (SA)"));
TFM_Log.info("[ADMIN] " + name + ": " + message); TFM_Log.info("[ADMIN] " + name + ": " + message);
for(Player p : Bukkit.getOnlinePlayers())
for (Player p : Bukkit.getOnlinePlayers())
{ {
if(TFM_SuperadminList.isUserSuperadmin(p)) if (TFM_SuperadminList.isUserSuperadmin(p))
{ {
p.sendMessage("[" + ChatColor.AQUA + "ADMIN" + ChatColor.WHITE + "] " + ChatColor.DARK_RED + name + ChatColor.WHITE + ": " + ChatColor.AQUA + message); p.sendMessage("[" + ChatColor.AQUA + "ADMIN" + ChatColor.WHITE + "] " + ChatColor.DARK_RED + name + ChatColor.WHITE + ": " + ChatColor.AQUA + message);
} }

View File

@ -120,8 +120,9 @@ commands:
description: Superadmin command - Attempt to detect "invisible griefers" and "nukers". description: Superadmin command - Attempt to detect "invisible griefers" and "nukers".
usage: /<command> <on | off> [range] [blockrate] usage: /<command> <on | off> [range] [blockrate]
o: o:
description: Superadmin command - Talk privately with other admins description: Superadmin command - AdminChat - Talk privately with other admins. Using <command> itself will toggle AdminChat on and off for all messages.
usage: /<command> [message] usage: /<command> [message]
aliases: [adminchat]
onlinemode: onlinemode:
description: Console command - Switch server online-mode on and off. description: Console command - Switch server online-mode on and off.
usage: /<command> <on | off> usage: /<command> <on | off>