summaryrefslogtreecommitdiffstats
path: root/EssentialsAntiBuild/src/com/earth2me/essentials
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2012-09-19 20:55:46 +0100
committerKHobbits <rob@khobbits.co.uk>2012-09-19 20:57:06 +0100
commit654e70e436001c9c1cf1a9758773b37ce6e8faa0 (patch)
tree013e65845e76cfe7da7ba74ae7511d21e9a97cc4 /EssentialsAntiBuild/src/com/earth2me/essentials
parent1b91705d50918e029acc4332316a30c5b9b27cd6 (diff)
downloadEssentials-654e70e436001c9c1cf1a9758773b37ce6e8faa0.tar
Essentials-654e70e436001c9c1cf1a9758773b37ce6e8faa0.tar.gz
Essentials-654e70e436001c9c1cf1a9758773b37ce6e8faa0.tar.lz
Essentials-654e70e436001c9c1cf1a9758773b37ce6e8faa0.tar.xz
Essentials-654e70e436001c9c1cf1a9758773b37ce6e8faa0.zip
New Permission:
essentials.build.pickup.<id>[:<datavalue>] - Allows collecting of an item essentials.build.drop.<id>[:<datavalue>] - Allows dropping of an item
Diffstat (limited to 'EssentialsAntiBuild/src/com/earth2me/essentials')
-rw-r--r--EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java38
1 files changed, 37 insertions, 1 deletions
diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java
index a58ffa04e..1fc57525d 100644
--- a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java
+++ b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java
@@ -15,7 +15,9 @@ import org.bukkit.event.Listener;
import org.bukkit.event.block.*;
import org.bukkit.event.inventory.CraftItemEvent;
import org.bukkit.event.painting.PaintingBreakByEntityEvent;
+import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerInteractEvent;
+import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.inventory.ItemStack;
@@ -248,9 +250,43 @@ public class EssentialsAntiBuildListener implements Listener
event.setCancelled(true);
if (ess.getSettings().warnOnBuildDisallow())
{
- user.sendMessage(_("antiBuildUse", item.getType().toString()));
+ user.sendMessage(_("antiBuildCraft", item.getType().toString()));
}
}
}
}
+
+ @EventHandler(priority = EventPriority.LOW)
+ public void onPlayerPickupItem(PlayerPickupItemEvent event)
+ {
+
+ final User user = ess.getUser(event.getPlayer());
+ final ItemStack item = event.getItem().getItemStack();
+
+ if (!metaPermCheck(user, "craft", item.getTypeId(), item.getData().getData()))
+ {
+ event.setCancelled(true);
+ event.getItem().setPickupDelay(50);
+ }
+
+ }
+
+ @EventHandler(priority = EventPriority.LOW)
+ public void onPlayerDropItem(PlayerDropItemEvent event)
+ {
+
+ final User user = ess.getUser(event.getPlayer());
+ final ItemStack item = event.getItemDrop().getItemStack();
+
+ if (!metaPermCheck(user, "drop", item.getTypeId(), item.getData().getData()))
+ {
+ event.setCancelled(true);
+ user.updateInventory();
+ if (ess.getSettings().warnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildDrop", item.getType().toString()));
+ }
+ }
+
+ }
}