From 7fd590fc753948cf561b053900eaa102b2078510 Mon Sep 17 00:00:00 2001 From: vemacs Date: Wed, 4 Mar 2015 23:55:46 -0500 Subject: [PATCH] Add ToggleAllianceChat command (sorry I couldn't think of a shorter name, but this is extremely useful for YouTubers) --- .../massivecraft/factions/cmd/CmdHelp.java | 1 + .../factions/cmd/CmdToggleAllianceChat.java | 46 +++++++++++++++++++ .../massivecraft/factions/cmd/FCmdRoot.java | 2 + .../factions/struct/Permission.java | 1 + .../massivecraft/factions/zcore/util/TL.java | 6 ++- 5 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/massivecraft/factions/cmd/CmdToggleAllianceChat.java diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdHelp.java b/src/main/java/com/massivecraft/factions/cmd/CmdHelp.java index 6a2f5f2b..cc888100 100644 --- a/src/main/java/com/massivecraft/factions/cmd/CmdHelp.java +++ b/src/main/java/com/massivecraft/factions/cmd/CmdHelp.java @@ -66,6 +66,7 @@ public class CmdHelp extends FCommand { pageLines.add(p.cmdBase.cmdJoin.getUseageTemplate(true)); pageLines.add(p.cmdBase.cmdLeave.getUseageTemplate(true)); pageLines.add(p.cmdBase.cmdChat.getUseageTemplate(true)); + pageLines.add(p.cmdBase.cmdToggleAllianceChat.getUseageTemplate(true)); pageLines.add(p.cmdBase.cmdHome.getUseageTemplate(true)); pageLines.add(p.txt.parse(TL.COMMAND_HELP_NEXTCREATE.toString())); helpPages.add(pageLines); diff --git a/src/main/java/com/massivecraft/factions/cmd/CmdToggleAllianceChat.java b/src/main/java/com/massivecraft/factions/cmd/CmdToggleAllianceChat.java new file mode 100644 index 00000000..a242448d --- /dev/null +++ b/src/main/java/com/massivecraft/factions/cmd/CmdToggleAllianceChat.java @@ -0,0 +1,46 @@ +package com.massivecraft.factions.cmd; + +import com.massivecraft.factions.Conf; +import com.massivecraft.factions.struct.Permission; +import com.massivecraft.factions.zcore.util.TL; + +public class CmdToggleAllianceChat extends FCommand { + public CmdToggleAllianceChat() { + super(); + this.aliases.add("tac"); + this.aliases.add("togglealliancechat"); + + this.disableOnLock = false; + + this.permission = Permission.TOGGLE_ALLIANCE_CHAT.node; + this.disableOnLock = false; + + senderMustBePlayer = true; + senderMustBeMember = true; + senderMustBeModerator = false; + senderMustBeAdmin = false; + } + + @Override + public TL getUsageTranslation() { + return TL.COMMAND_TOGGLEALLIANCECHAT_DESCRIPTION; + } + + @Override + public void perform() { + if (!Conf.factionOnlyChat) { + msg(TL.COMMAND_CHAT_DISABLED.toString()); + return; + } + + boolean ignoreAllianceChat = fme.isIgnoreAllianceChat(); + + if (ignoreAllianceChat) { + msg(TL.COMMAND_TOGGLEALLIANCECHAT_UNIGNORE); + fme.setIgnoreAllianceChat(false); + } else { + msg(TL.COMMAND_TOGGLEALLIANCECHAT_IGNORE); + fme.setIgnoreAllianceChat(true); + } + } +} diff --git a/src/main/java/com/massivecraft/factions/cmd/FCmdRoot.java b/src/main/java/com/massivecraft/factions/cmd/FCmdRoot.java index a16c4863..3f118ec1 100644 --- a/src/main/java/com/massivecraft/factions/cmd/FCmdRoot.java +++ b/src/main/java/com/massivecraft/factions/cmd/FCmdRoot.java @@ -49,6 +49,7 @@ public class FCmdRoot extends FCommand { public CmdStatus cmdStatus = new CmdStatus(); public CmdTag cmdTag = new CmdTag(); public CmdTitle cmdTitle = new CmdTitle(); + public CmdToggleAllianceChat cmdToggleAllianceChat = new CmdToggleAllianceChat(); public CmdUnclaim cmdUnclaim = new CmdUnclaim(); public CmdUnclaimall cmdUnclaimall = new CmdUnclaimall(); public CmdVersion cmdVersion = new CmdVersion(); @@ -92,6 +93,7 @@ public class FCmdRoot extends FCommand { this.addSubCommand(this.cmdBoom); this.addSubCommand(this.cmdBypass); this.addSubCommand(this.cmdChat); + this.addSubCommand(this.cmdToggleAllianceChat); this.addSubCommand(this.cmdChatSpy); this.addSubCommand(this.cmdClaim); this.addSubCommand(this.cmdConfig); diff --git a/src/main/java/com/massivecraft/factions/struct/Permission.java b/src/main/java/com/massivecraft/factions/struct/Permission.java index 2b87b515..297c2a73 100644 --- a/src/main/java/com/massivecraft/factions/struct/Permission.java +++ b/src/main/java/com/massivecraft/factions/struct/Permission.java @@ -67,6 +67,7 @@ public enum Permission { STATUS("status"), TAG("tag"), TITLE("title"), + TOGGLE_ALLIANCE_CHAT("togglealliancechat"), UNCLAIM("unclaim"), UNCLAIM_ALL("unclaimall"), VERSION("version"), diff --git a/src/main/java/com/massivecraft/factions/zcore/util/TL.java b/src/main/java/com/massivecraft/factions/zcore/util/TL.java index a0627b64..6c8b24cc 100644 --- a/src/main/java/com/massivecraft/factions/zcore/util/TL.java +++ b/src/main/java/com/massivecraft/factions/zcore/util/TL.java @@ -79,7 +79,7 @@ public enum TL { COMMAND_BYPASS_DISABLELOG(" has DISABLED admin bypass mode."), COMMAND_BYPASS_DESCRIPTION("Enable admin bypass mode"), - COMMAND_CHAT_DISABLED("The built in chat chat channels are disabled on this server."), + COMMAND_CHAT_DISABLED("The built in chat channels are disabled on this server."), COMMAND_CHAT_INVALIDMODE("Unrecognised chat mode. Please enter either 'a','f' or 'p'"), COMMAND_CHAT_DESCRIPTION("Change chat mode"), @@ -469,6 +469,10 @@ public enum TL { COMMAND_TITLE_CHANGED("%1$s changed a title: %2$s"), COMMAND_TITLE_DESCRIPTION("Set or remove a players title"), + COMMAND_TOGGLEALLIANCECHAT_DESCRIPTION("Toggles whether or not you will see alliance chat"), + COMMAND_TOGGLEALLIANCECHAT_IGNORE("Alliance chat is now ignored"), + COMMAND_TOGGLEALLIANCECHAT_UNIGNORE("Alliance chat is no longer ignored"), + COMMAND_TOP_DESCRIPTION("Sort Factions to see the top of some criteria."), COMMAND_TOP_TOP("Top Factions by %s. Page %d/%d"), COMMAND_TOP_LINE("%d. &6%s: &c%s"), // Rank. Faction: Value