diff options
author | Erik Broes <erikbroes@grum.nl> | 2011-03-21 00:25:26 +0100 |
---|---|---|
committer | Erik Broes <erikbroes@grum.nl> | 2011-03-21 00:31:13 +0100 |
commit | 324efa8224818aa04402203b1ccbb9839b44061e (patch) | |
tree | 8f5550f37a671bf2bce48f318354e518570bb97b /src/main/java/net/minecraft/server/ItemHoe.java | |
parent | 0d2dc3902c1341be9bb1c51ab7e2be1a925788e3 (diff) | |
download | craftbukkit-324efa8224818aa04402203b1ccbb9839b44061e.tar craftbukkit-324efa8224818aa04402203b1ccbb9839b44061e.tar.gz craftbukkit-324efa8224818aa04402203b1ccbb9839b44061e.tar.lz craftbukkit-324efa8224818aa04402203b1ccbb9839b44061e.tar.xz craftbukkit-324efa8224818aa04402203b1ccbb9839b44061e.zip |
Fix BlockPlace
Diffstat (limited to 'src/main/java/net/minecraft/server/ItemHoe.java')
-rw-r--r-- | src/main/java/net/minecraft/server/ItemHoe.java | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/src/main/java/net/minecraft/server/ItemHoe.java b/src/main/java/net/minecraft/server/ItemHoe.java index a8db7f88..3a651a17 100644 --- a/src/main/java/net/minecraft/server/ItemHoe.java +++ b/src/main/java/net/minecraft/server/ItemHoe.java @@ -1,14 +1,10 @@ package net.minecraft.server; // CraftBukkit start -import org.bukkit.block.BlockFace; -import org.bukkit.craftbukkit.CraftServer; -import org.bukkit.craftbukkit.CraftWorld; -import org.bukkit.craftbukkit.block.CraftBlock; -import org.bukkit.craftbukkit.inventory.CraftItemStack; -import org.bukkit.entity.Player; -import org.bukkit.event.Event.Type; -import org.bukkit.event.player.PlayerItemEvent; +import org.bukkit.block.BlockState; +import org.bukkit.craftbukkit.block.CraftBlockState; +import org.bukkit.craftbukkit.event.CraftEventFactory; +import org.bukkit.event.block.BlockPlaceEvent; // CraftBukkit end public class ItemHoe extends Item { @@ -32,25 +28,18 @@ public class ItemHoe extends Item { if (world.isStatic) { return true; } else { - // CraftBukkit start - Hoes - CraftWorld craftWorld = ((WorldServer) world).getWorld(); - CraftServer craftServer = ((WorldServer) world).getServer(); + BlockState blockState = CraftBlockState.getBlockState(world, i, j, k); // CraftBukkit - Type eventType = Type.PLAYER_ITEM; - Player who = (entityhuman == null) ? null : (Player) entityhuman.getBukkitEntity(); - org.bukkit.inventory.ItemStack itemInHand = new CraftItemStack(itemstack); - org.bukkit.block.Block blockClicked = craftWorld.getBlockAt(i, j, k); - BlockFace blockFace = CraftBlock.notchToBlockFace(l); - - PlayerItemEvent event = new PlayerItemEvent(eventType, who, itemInHand, blockClicked, blockFace); - craftServer.getPluginManager().callEvent(event); + world.e(i, j, k, block.id); - if (event.isCancelled()) { + // CraftBukkit start - Hoes - blockface -1 for 'SELF' + BlockPlaceEvent event = CraftEventFactory.callBlockPlaceEvent(world, entityhuman, blockState, i, j, k, block); + if (event.isCancelled() || !event.canBuild()) { + event.getBlockPlaced().setTypeId(blockState.getTypeId()); return false; } // CraftBukkit end - world.e(i, j, k, block.id); itemstack.b(1); if (world.k.nextInt(8) == 0 && i1 == Block.GRASS.id) { byte b0 = 1; |