summaryrefslogtreecommitdiffstats
path: root/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java
diff options
context:
space:
mode:
Diffstat (limited to 'EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java')
-rw-r--r--EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java33
1 files changed, 27 insertions, 6 deletions
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java
index 61419f69a..c75bb6324 100644
--- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java
+++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java
@@ -2,7 +2,9 @@ package com.earth2me.essentials.protect;
import com.earth2me.essentials.Essentials;
import com.earth2me.essentials.User;
+import org.bukkit.ChatColor;
import org.bukkit.block.Block;
+import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerItemEvent;
import org.bukkit.event.player.PlayerListener;
import org.bukkit.inventory.ItemStack;
@@ -29,18 +31,36 @@ public class EssentialsProtectPlayerListener extends PlayerListener
}
@Override
- public void onPlayerItem(PlayerItemEvent event)
+ public void onPlayerInteract(PlayerInteractEvent event)
{
- if(event.isCancelled()) return;
+ initialize();
+ if (event.isCancelled()) return;
ItemStack item = event.getItem();
User user = User.get(event.getPlayer());
- Block blockPlaced = event.getBlockClicked();
+ Block blockClicked = event.getClickedBlock();
+
+ if (EssentialsProtect.playerSettings.get("protect.disable.build") && !user.canBuild())
+ {
+ event.setCancelled(true);
+ return;
+ }
+
if (EssentialsProtect.checkProtectionItems(EssentialsProtect.usageList, item.getTypeId()) && !user.isAuthorized("essentials.protect.exemptusage"))
{
event.setCancelled(true);
return;
}
+ if (user.isAuthorized("essentials.protect.admin"))
+ {
+ String ownerName = spData.getBlockOwner(user.getWorld().getName(), user.getName(),
+ blockClicked);
+ if (ownerName != null)
+ {
+ user.sendMessage(ChatColor.GOLD + "[EssentialsProtect] Protection owner: "
+ + ownerName);
+ }
+ }
if (EssentialsProtect.onUseAlert.contains(String.valueOf(item.getTypeId())))
{
parent.alert(user, item.getType().toString(), "used: ");
@@ -53,9 +73,9 @@ public class EssentialsProtectPlayerListener extends PlayerListener
if (user.isAuthorized("essentials.protect"))
{
- signBlockX = blockPlaced.getX();
- signBlockY = blockPlaced.getY();
- signBlockZ = blockPlaced.getZ();
+ signBlockX = blockClicked.getX();
+ signBlockY = blockClicked.getY();
+ signBlockZ = blockClicked.getZ();
initialize();
spData.insertProtectionIntoDb(user.getWorld().getName(), user.getName(), signBlockX,
@@ -69,5 +89,6 @@ public class EssentialsProtectPlayerListener extends PlayerListener
}
}
}
+
}
}