diff options
Diffstat (limited to 'src/main/java/net/minecraft/server/ItemSign.java')
-rw-r--r-- | src/main/java/net/minecraft/server/ItemSign.java | 29 |
1 files changed, 9 insertions, 20 deletions
diff --git a/src/main/java/net/minecraft/server/ItemSign.java b/src/main/java/net/minecraft/server/ItemSign.java index f4717e1e..6fa75a3e 100644 --- a/src/main/java/net/minecraft/server/ItemSign.java +++ b/src/main/java/net/minecraft/server/ItemSign.java @@ -1,7 +1,5 @@ package net.minecraft.server; -import org.bukkit.craftbukkit.block.CraftBlockState; // CraftBukkit - public class ItemSign extends Item { public ItemSign(int i) { @@ -11,13 +9,12 @@ public class ItemSign extends Item { } public boolean interactWith(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l, float f, float f1, float f2) { + final int clickedX = i, clickedY = j, clickedZ = k; // CraftBukkit if (l == 0) { return false; } else if (!world.getMaterial(i, j, k).isBuildable()) { return false; } else { - int clickedX = i, clickedY = j, clickedZ = k; // CraftBukkit - if (l == 1) { ++j; } @@ -43,28 +40,20 @@ public class ItemSign extends Item { } else if (!Block.SIGN_POST.canPlace(world, i, j, k)) { return false; } else { - CraftBlockState blockState = CraftBlockState.getBlockState(world, i, j, k); // CraftBukkit - + // CraftBukkit start + final Block block; if (l == 1) { int i1 = MathHelper.floor((double) ((entityhuman.yaw + 180.0F) * 16.0F / 360.0F) + 0.5D) & 15; - // CraftBukkit start - sign - world.setRawTypeIdAndData(i, j, k, Block.SIGN_POST.id, i1); + // world.setTypeIdAndData(i, j, k, Block.SIGN_POST.id, i1); + block = Block.SIGN_POST; + l = i1; } else { - world.setRawTypeIdAndData(i, j, k, Block.WALL_SIGN.id, l); + // world.setTypeIdAndData(i, j, k, Block.WALL_SIGN.id, l); + block = Block.WALL_SIGN; } - - org.bukkit.event.block.BlockPlaceEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(world, entityhuman, blockState, clickedX, clickedY, clickedZ); - - if (event.isCancelled() || !event.canBuild()) { - event.getBlockPlaced().setTypeIdAndData(blockState.getTypeId(), blockState.getRawData(), false); + if (!ItemBlock.processBlockPlace(world, entityhuman, null, i, j, k, block.id, l, clickedX, clickedY, clickedZ)) { return false; - } else { - if (l == 1) { - world.update(i, j, k, Block.SIGN_POST.id); - } else { - world.update(i, j, k, Block.WALL_SIGN.id); - } } // CraftBukkit end |