From cb21bc4d7a67f0974c2773fdd0f5376f177c068e Mon Sep 17 00:00:00 2001 From: Zenexer Date: Wed, 30 Mar 2011 04:03:21 +0000 Subject: 2.1 prerelease, part 2 of 3 git-svn-id: https://svn.java.net/svn/essentials~svn/trunk2.1@1015 e251c2fe-e539-e718-e476-b85c1f46cddb --- .../protect/EssentialsProtectPlayerListener.java | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java (limited to 'EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java') diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java new file mode 100644 index 000000000..2497a733d --- /dev/null +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java @@ -0,0 +1,70 @@ +package com.earth2me.essentials.protect; + +import com.earth2me.essentials.Essentials; +import com.earth2me.essentials.User; +import org.bukkit.ChatColor; +import org.bukkit.event.player.PlayerInteractEvent; +import org.bukkit.event.player.PlayerListener; +import org.bukkit.event.player.PlayerPickupItemEvent; +import org.bukkit.inventory.ItemStack; + + +public class EssentialsProtectPlayerListener extends PlayerListener +{ + private EssentialsProtect parent; + + public EssentialsProtectPlayerListener(EssentialsProtect parent) + { + Essentials.loadClasses(); + this.parent = parent; + } + + @Override + public void onPlayerInteract(PlayerInteractEvent event) + { + if (event.isCancelled()) return; + User user = User.get(event.getPlayer()); + + if (EssentialsProtect.playerSettings.get("protect.disable.build") && !user.canBuild()) + { + event.setCancelled(true); + return; + } + + if (user.isAuthorized("essentials.protect.admin")) + { + StringBuilder sb = new StringBuilder(); + boolean first = true; + for (String owner : EssentialsProtect.getStorage().getOwners(event.getClickedBlock())) { + if (!first) { + sb.append(", "); + } + first = false; + sb.append(owner); + } + String ownerNames = sb.toString(); + if (ownerNames != null) + { + user.sendMessage(ChatColor.GOLD + "[EssentialsProtect] Protection owners: " + ownerNames); + } + } + } + + @Override + public void onPlayerPickupItem(PlayerPickupItemEvent event) + { + if(event.isCancelled()) return; + ItemStack item = event.getItem().getItemStack(); + User user = User.get(event.getPlayer()); + if (EssentialsProtect.checkProtectionItems(EssentialsProtect.usageList, item.getTypeId()) && !user.isAuthorized("essentials.protect.exemptusage")) + { + event.setCancelled(true); + return; + } + + if (EssentialsProtect.onUseAlert.contains(String.valueOf(item.getTypeId()))) + { + parent.alert(user, item.getType().toString(), "used: "); + } + } +} -- cgit v1.2.3