Merge branch '1.6.x' of https://github.com/vemacs/Factions into vemacs

This commit is contained in:
drtshock 2015-03-06 16:32:20 -07:00
commit 6d6b63ba19
9 changed files with 73 additions and 4 deletions

View File

@ -66,6 +66,10 @@ public interface FPlayer extends EconomyParticipator {
public ChatMode getChatMode(); public ChatMode getChatMode();
public void setIgnoreAllianceChat(boolean ignore);
public boolean isIgnoreAllianceChat();
public void setSpyingChat(boolean chatSpying); public void setSpyingChat(boolean chatSpying);
public boolean isSpyingChat(); public boolean isSpyingChat();

View File

@ -66,6 +66,7 @@ public class CmdHelp extends FCommand {
pageLines.add(p.cmdBase.cmdJoin.getUseageTemplate(true)); pageLines.add(p.cmdBase.cmdJoin.getUseageTemplate(true));
pageLines.add(p.cmdBase.cmdLeave.getUseageTemplate(true)); pageLines.add(p.cmdBase.cmdLeave.getUseageTemplate(true));
pageLines.add(p.cmdBase.cmdChat.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.cmdBase.cmdHome.getUseageTemplate(true));
pageLines.add(p.txt.parse(TL.COMMAND_HELP_NEXTCREATE.toString())); pageLines.add(p.txt.parse(TL.COMMAND_HELP_NEXTCREATE.toString()));
helpPages.add(pageLines); helpPages.add(pageLines);

View File

@ -0,0 +1,43 @@
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.aliases.add("ac");
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 ignoring = fme.isIgnoreAllianceChat();
msg(ignoring ? TL.COMMAND_TOGGLEALLIANCECHAT_UNIGNORE : TL.COMMAND_TOGGLEALLIANCECHAT_IGNORE);
fme.setIgnoreAllianceChat(!ignoring);
}
}

View File

@ -49,6 +49,7 @@ public class FCmdRoot extends FCommand {
public CmdStatus cmdStatus = new CmdStatus(); public CmdStatus cmdStatus = new CmdStatus();
public CmdTag cmdTag = new CmdTag(); public CmdTag cmdTag = new CmdTag();
public CmdTitle cmdTitle = new CmdTitle(); public CmdTitle cmdTitle = new CmdTitle();
public CmdToggleAllianceChat cmdToggleAllianceChat = new CmdToggleAllianceChat();
public CmdUnclaim cmdUnclaim = new CmdUnclaim(); public CmdUnclaim cmdUnclaim = new CmdUnclaim();
public CmdUnclaimall cmdUnclaimall = new CmdUnclaimall(); public CmdUnclaimall cmdUnclaimall = new CmdUnclaimall();
public CmdVersion cmdVersion = new CmdVersion(); public CmdVersion cmdVersion = new CmdVersion();
@ -69,7 +70,7 @@ public class FCmdRoot extends FCommand {
public FCmdRoot() { public FCmdRoot() {
super(); super();
this.aliases.addAll(Conf.baseCommandAliases); this.aliases.addAll(Conf.baseCommandAliases);
this.aliases.removeAll(Collections.singletonList(null)); // remove any nulls from extra commas this.aliases.removeAll(Collections.<String>singletonList(null)); // remove any nulls from extra commas
this.allowNoSlashAccess = Conf.allowNoSlashCommand; this.allowNoSlashAccess = Conf.allowNoSlashCommand;
//this.requiredArgs.add(""); //this.requiredArgs.add("");
@ -92,6 +93,7 @@ public class FCmdRoot extends FCommand {
this.addSubCommand(this.cmdBoom); this.addSubCommand(this.cmdBoom);
this.addSubCommand(this.cmdBypass); this.addSubCommand(this.cmdBypass);
this.addSubCommand(this.cmdChat); this.addSubCommand(this.cmdChat);
this.addSubCommand(this.cmdToggleAllianceChat);
this.addSubCommand(this.cmdChatSpy); this.addSubCommand(this.cmdChatSpy);
this.addSubCommand(this.cmdClaim); this.addSubCommand(this.cmdClaim);
this.addSubCommand(this.cmdConfig); this.addSubCommand(this.cmdConfig);

View File

@ -58,7 +58,7 @@ public class FactionsChatListener implements Listener {
//Send to all our allies //Send to all our allies
for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) { for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers()) {
if (myFaction.getRelationTo(fplayer) == Relation.ALLY) { if (myFaction.getRelationTo(fplayer) == Relation.ALLY && !fplayer.isIgnoreAllianceChat()) {
fplayer.sendMessage(message); fplayer.sendMessage(message);
} }

View File

@ -67,6 +67,7 @@ public enum Permission {
STATUS("status"), STATUS("status"),
TAG("tag"), TAG("tag"),
TITLE("title"), TITLE("title"),
TOGGLE_ALLIANCE_CHAT("togglealliancechat"),
UNCLAIM("unclaim"), UNCLAIM("unclaim"),
UNCLAIM_ALL("unclaimall"), UNCLAIM_ALL("unclaimall"),
VERSION("version"), VERSION("version"),

View File

@ -64,6 +64,9 @@ public abstract class MemoryFPlayer implements FPlayer {
// FIELD: chatMode // FIELD: chatMode
protected ChatMode chatMode; protected ChatMode chatMode;
// FIELD: ignoreAllianceChat
protected boolean ignoreAllianceChat = false;
protected String id; protected String id;
protected String name; protected String name;
@ -199,6 +202,14 @@ public abstract class MemoryFPlayer implements FPlayer {
return chatMode; return chatMode;
} }
public void setIgnoreAllianceChat(boolean ignore) {
this.ignoreAllianceChat = ignore;
}
public boolean isIgnoreAllianceChat() {
return ignoreAllianceChat;
}
public void setSpyingChat(boolean chatSpying) { public void setSpyingChat(boolean chatSpying) {
this.spyingChat = chatSpying; this.spyingChat = chatSpying;
} }

View File

@ -79,7 +79,7 @@ public enum TL {
COMMAND_BYPASS_DISABLELOG(" has DISABLED admin bypass mode."), COMMAND_BYPASS_DISABLELOG(" has DISABLED admin bypass mode."),
COMMAND_BYPASS_DESCRIPTION("Enable admin bypass mode"), COMMAND_BYPASS_DESCRIPTION("Enable admin bypass mode"),
COMMAND_CHAT_DISABLED("<b>The built in chat chat channels are disabled on this server."), COMMAND_CHAT_DISABLED("<b>The built in chat channels are disabled on this server."),
COMMAND_CHAT_INVALIDMODE("<b>Unrecognised chat mode. <i>Please enter either 'a','f' or 'p'"), COMMAND_CHAT_INVALIDMODE("<b>Unrecognised chat mode. <i>Please enter either 'a','f' or 'p'"),
COMMAND_CHAT_DESCRIPTION("Change chat mode"), COMMAND_CHAT_DESCRIPTION("Change chat mode"),
@ -469,6 +469,10 @@ public enum TL {
COMMAND_TITLE_CHANGED("%1$s<i> changed a title: %2$s"), COMMAND_TITLE_CHANGED("%1$s<i> changed a title: %2$s"),
COMMAND_TITLE_DESCRIPTION("Set or remove a players title"), 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_DESCRIPTION("Sort Factions to see the top of some criteria."),
COMMAND_TOP_TOP("Top Factions by %s. Page %d/%d"), COMMAND_TOP_TOP("Top Factions by %s. Page %d/%d"),
COMMAND_TOP_LINE("%d. &6%s: &c%s"), // Rank. Faction: Value COMMAND_TOP_LINE("%d. &6%s: &c%s"), // Rank. Faction: Value

View File

@ -93,6 +93,7 @@ permissions:
factions.seechunk: true factions.seechunk: true
factions.monitorlogins: true factions.monitorlogins: true
factions.top: true factions.top: true
factions.togglealliancechat
factions.admin: factions.admin:
description: hand over your admin rights description: hand over your admin rights
factions.admin.any: factions.admin.any:
@ -250,3 +251,5 @@ permissions:
description: claim in a line description: claim in a line
factions.top: factions.top:
description: sort factions description: sort factions
factions.togglealliancechat:
description: toggle alliance chat on and off