diff options
author | snowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb> | 2011-03-30 12:56:34 +0000 |
---|---|---|
committer | snowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb> | 2011-03-30 12:56:34 +0000 |
commit | 08041599fffe85ef4e5da59cc060a690c7dc8994 (patch) | |
tree | 9c214b0328d346aaefb4d9f69cc10d3877fd44eb /EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java | |
parent | 81c9b91561fa978bcfa9f5824d5d60c949a622e5 (diff) | |
download | Essentials-08041599fffe85ef4e5da59cc060a690c7dc8994.tar Essentials-08041599fffe85ef4e5da59cc060a690c7dc8994.tar.gz Essentials-08041599fffe85ef4e5da59cc060a690c7dc8994.tar.lz Essentials-08041599fffe85ef4e5da59cc060a690c7dc8994.tar.xz Essentials-08041599fffe85ef4e5da59cc060a690c7dc8994.zip |
Revert to 1013
git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1021 e251c2fe-e539-e718-e476-b85c1f46cddb
Diffstat (limited to 'EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java')
-rw-r--r-- | EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java | 78 |
1 files changed, 51 insertions, 27 deletions
diff --git a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java index 2497a733d..c75bb6324 100644 --- a/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java +++ b/EssentialsProtect/src/com/earth2me/essentials/protect/EssentialsProtectPlayerListener.java @@ -3,68 +3,92 @@ 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.event.player.PlayerPickupItemEvent; import org.bukkit.inventory.ItemStack; public class EssentialsProtectPlayerListener extends PlayerListener { private EssentialsProtect parent; - + private int signBlockX; + private int signBlockY; + private int signBlockZ; + private EssentialsProtectData spData = null; + public EssentialsProtectPlayerListener(EssentialsProtect parent) { Essentials.loadClasses(); this.parent = parent; } + public void initialize() + { + if (spData != null) return; + spData = new EssentialsProtectData(); + } + @Override public void onPlayerInteract(PlayerInteractEvent event) { + initialize(); if (event.isCancelled()) return; + ItemStack item = event.getItem(); User user = User.get(event.getPlayer()); + Block blockClicked = event.getClickedBlock(); 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 (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: "); } + + if (item.getTypeId() == 323) + { + if (EssentialsProtect.genSettings.get("protect.protect.signs")) + { + if (user.isAuthorized("essentials.protect")) + { + + signBlockX = blockClicked.getX(); + signBlockY = blockClicked.getY(); + signBlockZ = blockClicked.getZ(); + + initialize(); + spData.insertProtectionIntoDb(user.getWorld().getName(), user.getName(), signBlockX, + signBlockY + 1, signBlockZ); + + if (EssentialsProtect.genSettings.get("protect.protect.block-below")) + { + spData.insertProtectionIntoDb(user.getWorld().getName(), user.getName(), signBlockX, + signBlockY, signBlockZ); + } + } + } + } + } } |