summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/ItemHoe.java
diff options
context:
space:
mode:
authorErik Broes <erikbroes@grum.nl>2011-03-21 00:25:26 +0100
committerErik Broes <erikbroes@grum.nl>2011-03-21 00:31:13 +0100
commit324efa8224818aa04402203b1ccbb9839b44061e (patch)
tree8f5550f37a671bf2bce48f318354e518570bb97b /src/main/java/net/minecraft/server/ItemHoe.java
parent0d2dc3902c1341be9bb1c51ab7e2be1a925788e3 (diff)
downloadcraftbukkit-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.java31
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;