Merge pull request #870 from Kakifrucht/1.6.x
Add option to exempt factions from /f who
This commit is contained in:
commit
09f62c5537
2
pom.xml
2
pom.xml
@ -73,7 +73,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.spigotmc</groupId>
|
<groupId>org.spigotmc</groupId>
|
||||||
<artifactId>spigot-api</artifactId>
|
<artifactId>spigot-api</artifactId>
|
||||||
<version>1.9.4-R0.1-SNAPSHOT</version>
|
<version>1.11-R0.1-SNAPSHOT</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
|
@ -3,13 +3,12 @@ package com.massivecraft.factions.cmd;
|
|||||||
import com.massivecraft.factions.Conf;
|
import com.massivecraft.factions.Conf;
|
||||||
import com.massivecraft.factions.Faction;
|
import com.massivecraft.factions.Faction;
|
||||||
import com.massivecraft.factions.Factions;
|
import com.massivecraft.factions.Factions;
|
||||||
|
import com.massivecraft.factions.P;
|
||||||
import com.massivecraft.factions.struct.Permission;
|
import com.massivecraft.factions.struct.Permission;
|
||||||
import com.massivecraft.factions.zcore.util.TL;
|
import com.massivecraft.factions.zcore.util.TL;
|
||||||
import com.massivecraft.factions.zcore.util.TagUtil;
|
import com.massivecraft.factions.zcore.util.TagUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
|
|
||||||
|
|
||||||
public class CmdList extends FCommand {
|
public class CmdList extends FCommand {
|
||||||
@ -50,6 +49,18 @@ public class CmdList extends FCommand {
|
|||||||
factionList.remove(Factions.getInstance().getSafeZone());
|
factionList.remove(Factions.getInstance().getSafeZone());
|
||||||
factionList.remove(Factions.getInstance().getWarZone());
|
factionList.remove(Factions.getInstance().getWarZone());
|
||||||
|
|
||||||
|
// remove exempt factions
|
||||||
|
if (!fme.getPlayer().hasPermission("factions.show.bypassexempt")) {
|
||||||
|
List<String> exemptFactions = P.p.getConfig().getStringList("show-exempt");
|
||||||
|
Iterator<Faction> factionIterator = factionList.iterator();
|
||||||
|
while (factionIterator.hasNext()) {
|
||||||
|
Faction next = factionIterator.next();
|
||||||
|
if (exemptFactions.contains(next.getTag())) {
|
||||||
|
factionIterator.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Sort by total followers first
|
// Sort by total followers first
|
||||||
Collections.sort(factionList, new Comparator<Faction>() {
|
Collections.sort(factionList, new Comparator<Faction>() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -54,6 +54,12 @@ public class CmdShow extends FCommand {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!fme.getPlayer().hasPermission("factions.show.bypassexempt")
|
||||||
|
&& P.p.getConfig().getStringList("show-exempt").contains(faction.getTag())) {
|
||||||
|
msg(TL.COMMAND_SHOW_EXEMPT);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
|
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
|
||||||
if (!payForCommand(Conf.econCostShow, TL.COMMAND_SHOW_TOSHOW, TL.COMMAND_SHOW_FORSHOW)) {
|
if (!payForCommand(Conf.econCostShow, TL.COMMAND_SHOW_TOSHOW, TL.COMMAND_SHOW_FORSHOW)) {
|
||||||
return;
|
return;
|
||||||
|
@ -198,7 +198,7 @@ public class FactionsEntityListener implements Listener {
|
|||||||
// mainly for flaming arrows; don't want allies or people in safe zones to be ignited even after damage event is cancelled
|
// mainly for flaming arrows; don't want allies or people in safe zones to be ignited even after damage event is cancelled
|
||||||
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
||||||
public void onEntityCombustByEntity(EntityCombustByEntityEvent event) {
|
public void onEntityCombustByEntity(EntityCombustByEntityEvent event) {
|
||||||
EntityDamageByEntityEvent sub = new EntityDamageByEntityEvent(event.getCombuster(), event.getEntity(), EntityDamageEvent.DamageCause.FIRE, 0);
|
EntityDamageByEntityEvent sub = new EntityDamageByEntityEvent(event.getCombuster(), event.getEntity(), EntityDamageEvent.DamageCause.FIRE, 0d);
|
||||||
if (!this.canDamagerHurtDamagee(sub, false)) {
|
if (!this.canDamagerHurtDamagee(sub, false)) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
}
|
}
|
||||||
|
@ -463,6 +463,7 @@ public enum TL {
|
|||||||
COMMAND_SHOW_MEMBERSOFFLINE("Members offline: "),
|
COMMAND_SHOW_MEMBERSOFFLINE("Members offline: "),
|
||||||
COMMAND_SHOW_COMMANDDESCRIPTION("Show faction information"),
|
COMMAND_SHOW_COMMANDDESCRIPTION("Show faction information"),
|
||||||
COMMAND_SHOW_DEATHS_TIL_RAIDABLE("<i>DTR: %1$d"),
|
COMMAND_SHOW_DEATHS_TIL_RAIDABLE("<i>DTR: %1$d"),
|
||||||
|
COMMAND_SHOW_EXEMPT("<b>This faction is exempt and cannot be seen."),
|
||||||
|
|
||||||
COMMAND_SHOWINVITES_PENDING("Players with pending invites: "),
|
COMMAND_SHOWINVITES_PENDING("Players with pending invites: "),
|
||||||
COMMAND_SHOWINVITES_CLICKTOREVOKE("Click to revoke invite for %1$s"),
|
COMMAND_SHOWINVITES_CLICKTOREVOKE("Click to revoke invite for %1$s"),
|
||||||
|
@ -245,6 +245,11 @@ show:
|
|||||||
# For a /f show that does not display fancy messages that are essentially empty, use minimal-show
|
# For a /f show that does not display fancy messages that are essentially empty, use minimal-show
|
||||||
minimal-show: false
|
minimal-show: false
|
||||||
|
|
||||||
|
# Factions that should be exempt from /f show, case sensitive, useful for a
|
||||||
|
# serverteam faction, since the command shows vanished players otherwise
|
||||||
|
show-exempt:
|
||||||
|
- Put_faction_tag_here
|
||||||
|
|
||||||
############################################################
|
############################################################
|
||||||
# +------------------------------------------------------+ #
|
# +------------------------------------------------------+ #
|
||||||
# | Configurable /f list | #
|
# | Configurable /f list | #
|
||||||
|
@ -48,6 +48,7 @@ permissions:
|
|||||||
factions.kick.any: true
|
factions.kick.any: true
|
||||||
factions.ownershipbypass: true
|
factions.ownershipbypass: true
|
||||||
factions.chatspy: true
|
factions.chatspy: true
|
||||||
|
factions.show.bypassexempt: true
|
||||||
factions.kit.fullplayer:
|
factions.kit.fullplayer:
|
||||||
default: true
|
default: true
|
||||||
description: Can also create new factions.
|
description: Can also create new factions.
|
||||||
@ -231,6 +232,8 @@ permissions:
|
|||||||
description: set faction home for another faction
|
description: set faction home for another faction
|
||||||
factions.show:
|
factions.show:
|
||||||
description: show faction information
|
description: show faction information
|
||||||
|
factions.show.bypassexempt:
|
||||||
|
description: show exempt faction information
|
||||||
factions.tag:
|
factions.tag:
|
||||||
description: change the faction tag
|
description: change the faction tag
|
||||||
factions.title:
|
factions.title:
|
||||||
|
Loading…
Reference in New Issue
Block a user