New conf.json setting "worldsIgnorePvP" as a list of worlds which you don't want Factions to pay any attention to PvP in. No new command has been added to set this, since we now have the /f config command. So, to add/remove worlds, simply use /f config worldsIgnorePvP [YourWorldHere].
This commit is contained in:
parent
f38651ca94
commit
92448ca4d2
@ -164,6 +164,7 @@ public class Conf {
|
|||||||
|
|
||||||
public static Set<String> worldsNoClaiming = new HashSet<String>();
|
public static Set<String> worldsNoClaiming = new HashSet<String>();
|
||||||
public static Set<String> worldsNoPowerLoss = new HashSet<String>();
|
public static Set<String> worldsNoPowerLoss = new HashSet<String>();
|
||||||
|
public static Set<String> worldsIgnorePvP = new HashSet<String>();
|
||||||
|
|
||||||
public static transient int mapHeight = 8;
|
public static transient int mapHeight = 8;
|
||||||
public static transient int mapWidth = 39;
|
public static transient int mapWidth = 39;
|
||||||
|
@ -3,6 +3,7 @@ package com.massivecraft.factions.listeners;
|
|||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Creeper;
|
import org.bukkit.entity.Creeper;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Fireball;
|
import org.bukkit.entity.Fireball;
|
||||||
@ -153,12 +154,17 @@ public class FactionsEntityListener extends EntityListener {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Location defenderLoc = defender.getPlayer().getLocation();
|
||||||
|
|
||||||
|
if (Conf.worldsIgnorePvP.contains(defenderLoc.getWorld().getName())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Players can not take attack damage in a SafeZone
|
// Players can not take attack damage in a SafeZone
|
||||||
if (Board.getFactionAt(new FLocation(defender)).isSafeZone()) {
|
if (Board.getFactionAt(new FLocation(defenderLoc)).isSafeZone()) {
|
||||||
if (damager instanceof Player) {
|
if (damager instanceof Player) {
|
||||||
FPlayer attacker = FPlayer.get((Player)damager);
|
FPlayer attacker = FPlayer.get((Player)damager);
|
||||||
attacker.sendMessage("You can't hurt other players in a SafeZone.");
|
attacker.sendMessage("You can't hurt other players in a SafeZone.");
|
||||||
// defender.sendMessage(attacker.getNameAndRelevant(defender)+Conf.colorSystem+" tried to hurt you.");
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -237,6 +243,7 @@ public class FactionsEntityListener extends EntityListener {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void onCreatureSpawn(CreatureSpawnEvent event) {
|
public void onCreatureSpawn(CreatureSpawnEvent event) {
|
||||||
if (event.isCancelled()) {
|
if (event.isCancelled()) {
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user