diff --git a/classes/artifacts/Factions_jar/Factions.jar b/classes/artifacts/Factions_jar/Factions.jar
index c261bf27..09dbd5a2 100644
Binary files a/classes/artifacts/Factions_jar/Factions.jar and b/classes/artifacts/Factions_jar/Factions.jar differ
diff --git a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java
index 8ced1057..79e53bde 100644
--- a/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java
+++ b/src/main/java/com/massivecraft/factions/listeners/FactionsPlayerListener.java
@@ -178,6 +178,7 @@ public class FactionsPlayerListener implements Listener {
return false;
}
+ SavageFactions.plugin.log("Trying to match a material with access permission");
PermissableAction action = null;
if (SavageFactions.plugin.mc113) {
switch (block.getType()) {
@@ -304,6 +305,8 @@ public class FactionsPlayerListener implements Listener {
break;
}
}
+
+ SavageFactions.plugin.log("Material matched as " + action);
// We only care about some material types.
/// Who was the idiot?
if (otherFaction.hasPlayersOnline()) {
@@ -323,7 +326,7 @@ public class FactionsPlayerListener implements Listener {
// Get faction pain build access relation to me
boolean pain = !justCheck && otherFaction.getAccess(me, PermissableAction.PAIN_BUILD) == Access.ALLOW;
return CheckPlayerAccess(player, me, loc, otherFaction, otherFaction.getAccess(me, action), action, pain);
- } else if (otherFaction.getId().equals(myFaction.getId())) {;
+ } else if (otherFaction.getId().equals(myFaction.getId())) {
return CheckPlayerAccess(player, me, loc, myFaction, myFaction.getAccess(me, action), action, (!justCheck && myFaction.getAccess(me, PermissableAction.PAIN_BUILD) == Access.ALLOW));
}
return CheckPlayerAccess(player, me, loc, myFaction, otherFaction.getAccess(me, action), action, Conf.territoryPainBuild);
@@ -857,8 +860,11 @@ public class FactionsPlayerListener implements Listener {
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onPlayerInteract(PlayerInteractEvent event) {
// only need to check right-clicks and physical as of MC 1.4+; good performance boost
+ SavageFactions.plugin.log("Checking if the action is physical");
if (event.getAction() != Action.PHYSICAL) return;
+ SavageFactions.plugin.log("Checking if the action aren't left clicks");
if (!event.getAction().equals(Action.LEFT_CLICK_BLOCK) || !event.getAction().equals(Action.LEFT_CLICK_AIR)) return;
+ SavageFactions.plugin.log("Attempting to allow food and potis");
if (event.getPlayer().getItemInHand() != null) {
Material handItem = event.getPlayer().getItemInHand().getType();
if (handItem.isEdible()
@@ -872,15 +878,19 @@ public class FactionsPlayerListener implements Listener {
Block block = event.getClickedBlock();
Player player = event.getPlayer();
+ SavageFactions.plugin.log("Checking for material bypass in config");
// Check if the material is bypassing protection
if (Conf.territoryBypasssProtectedMaterials.contains(block.getType())) return;
if (block == null) return; // clicked in air, apparently
+ SavageFactions.plugin.log("Checking if I can use the block");
if (canPlayerUseBlock(player, block, false)) return;
+ SavageFactions.plugin.log("Checking if I can use the item");
if (playerCanUseItemHere(player, block.getLocation(), event.getMaterial(), false)) return;
+ SavageFactions.plugin.log("Guess we will cancel the event then");
event.setCancelled(true);
}
@@ -1015,11 +1025,15 @@ public class FactionsPlayerListener implements Listener {
/// The current's faction access permission for the action
private static boolean CheckPlayerAccess(Player player, FPlayer me, FLocation loc, Faction myFaction, Access access, PermissableAction action, boolean pain) {
boolean doPain = pain && Conf.handleExploitInteractionSpam;
+ SavageFactions.plugin.log("Checking player access, with pain: " + doPain);
if (access != null && access != Access.UNDEFINED) {
// TODO: Update this once new access values are added other than just allow / deny.
boolean landOwned = (myFaction.doesLocationHaveOwnersSet(loc) && !myFaction.getOwnerList(loc).isEmpty());
+ SavageFactions.plugin.log("Land is owned: " + landOwned);
+ SavageFactions.plugin.log("Trying to check if the user is in the owner list or is leader of the faction");
if ((landOwned && myFaction.getOwnerListString(loc).contains(player.getName())) || (me.getRole() == Role.LEADER && me.getFactionId().equals(myFaction.getId()))) return true;
else if (landOwned && !myFaction.getOwnerListString(loc).contains(player.getName())) {
+ SavageFactions.plugin.log("Land is owned and player is not on the owner list");
me.msg("You can't do that in this territory, it is owned by: " + myFaction.getOwnerListString(loc));
if (doPain) {
player.damage(Conf.actionDeniedPainAmount);
@@ -1031,6 +1045,7 @@ public class FactionsPlayerListener implements Listener {
return false;
}
}
+ SavageFactions.plugin.log("Access is " + access + " denying");
return false;
}
}