From 4a4b67cc425861f377d9575fe52c2053085fac40 Mon Sep 17 00:00:00 2001 From: Meaglin Date: Tue, 1 Feb 2011 18:06:17 +0100 Subject: Implementation of BlockBreakEvent --- .../net/minecraft/server/ItemInWorldManager.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/main/java/net/minecraft/server/ItemInWorldManager.java b/src/main/java/net/minecraft/server/ItemInWorldManager.java index f89b0189..5ca0dca1 100644 --- a/src/main/java/net/minecraft/server/ItemInWorldManager.java +++ b/src/main/java/net/minecraft/server/ItemInWorldManager.java @@ -1,5 +1,10 @@ package net.minecraft.server; +// CraftBukkit start +import org.bukkit.craftbukkit.CraftServer; +import org.bukkit.event.block.BlockBreakEvent; +// CraftBukkit end + public class ItemInWorldManager { private World b; @@ -79,6 +84,21 @@ public class ItemInWorldManager { } public boolean c(int i, int j, int k) { + //CraftBukkit start + if (this.a instanceof EntityPlayer){ + CraftServer server = ((WorldServer) this.b).getServer(); + org.bukkit.block.Block block = ((WorldServer) this.b).getWorld().getBlockAt(i, j, k); + org.bukkit.entity.Player player = (org.bukkit.entity.Player) this.a.getBukkitEntity(); + + BlockBreakEvent event = new BlockBreakEvent(block,player); + server.getPluginManager().callEvent(event); + + if (event.isCancelled()){ + return true; + } + } + //CraftBukkit end + int l = this.b.getTypeId(i, j, k); int i1 = this.b.getData(i, j, k); boolean flag = this.b(i, j, k); -- cgit v1.2.3