summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2012-09-19 19:47:14 +0100
committerKHobbits <rob@khobbits.co.uk>2012-09-19 19:47:47 +0100
commita79b76e8d2959ccb5866d42113b6970304460156 (patch)
tree2bd903155af065016b6e5f3f91bb7dc78701ab06
parente6aeefb12d23b8517557e444de5e81467adc2415 (diff)
downloadEssentials-a79b76e8d2959ccb5866d42113b6970304460156.tar
Essentials-a79b76e8d2959ccb5866d42113b6970304460156.tar.gz
Essentials-a79b76e8d2959ccb5866d42113b6970304460156.tar.lz
Essentials-a79b76e8d2959ccb5866d42113b6970304460156.tar.xz
Essentials-a79b76e8d2959ccb5866d42113b6970304460156.zip
New Permission:
essentials.build.craft.<id>[:<datavalue>] - Allows crafting of an item
-rw-r--r--EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java
index a877bc47e..a58ffa04e 100644
--- a/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java
+++ b/EssentialsAntiBuild/src/com/earth2me/essentials/antibuild/EssentialsAntiBuildListener.java
@@ -7,11 +7,13 @@ import java.util.logging.Level;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
+import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
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.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack;
@@ -230,4 +232,25 @@ public class EssentialsAntiBuildListener implements Listener
}
}
}
+
+ @EventHandler(priority = EventPriority.LOW)
+ public void onCraftItemEvent(final CraftItemEvent event)
+ {
+ HumanEntity entity = event.getWhoClicked();
+
+ if (entity instanceof Player)
+ {
+ final User user = ess.getUser(entity);
+ final ItemStack item = event.getRecipe().getResult();
+
+ if (!metaPermCheck(user, "craft", item.getTypeId(), item.getData().getData()))
+ {
+ event.setCancelled(true);
+ if (ess.getSettings().warnOnBuildDisallow())
+ {
+ user.sendMessage(_("antiBuildUse", item.getType().toString()));
+ }
+ }
+ }
+ }
}