summaryrefslogtreecommitdiffstats
path: root/src/main/java/net/minecraft/server/ItemBlock.java
diff options
context:
space:
mode:
authorTravis Watkins <amaranth@ubuntu.com>2013-03-13 17:33:27 -0500
committerTravis Watkins <amaranth@ubuntu.com>2013-03-15 13:28:59 -0500
commit83d29e461c85733f0113b6eb19db6e3b42da2949 (patch)
treeb3063a1c28f478ab368d5ba3413a842def68c28f /src/main/java/net/minecraft/server/ItemBlock.java
parentba6e4c38cfa98ad291974195cc46d70a4f138ac1 (diff)
downloadcraftbukkit-83d29e461c85733f0113b6eb19db6e3b42da2949.tar
craftbukkit-83d29e461c85733f0113b6eb19db6e3b42da2949.tar.gz
craftbukkit-83d29e461c85733f0113b6eb19db6e3b42da2949.tar.lz
craftbukkit-83d29e461c85733f0113b6eb19db6e3b42da2949.tar.xz
craftbukkit-83d29e461c85733f0113b6eb19db6e3b42da2949.zip
Update CraftBukkit to Minecraft 1.5
Diffstat (limited to 'src/main/java/net/minecraft/server/ItemBlock.java')
-rw-r--r--src/main/java/net/minecraft/server/ItemBlock.java16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/main/java/net/minecraft/server/ItemBlock.java b/src/main/java/net/minecraft/server/ItemBlock.java
index 95974764..c2d19482 100644
--- a/src/main/java/net/minecraft/server/ItemBlock.java
+++ b/src/main/java/net/minecraft/server/ItemBlock.java
@@ -7,7 +7,6 @@ public class ItemBlock extends Item {
public ItemBlock(int i) {
super(i);
this.id = i + 256;
- this.c(Block.byId[i + 256].a(2));
}
public int g() {
@@ -18,7 +17,7 @@ public class ItemBlock extends Item {
final int clickedX = i, clickedY = j, clickedZ = k;
int i1 = world.getTypeId(i, j, k);
- if (i1 == Block.SNOW.id) {
+ if (i1 == Block.SNOW.id && (world.getData(i, j, k) & 7) < 1) {
l = 1;
} else if (i1 != Block.VINE.id && i1 != Block.LONG_GRASS.id && i1 != Block.DEAD_BUSH.id) {
if (l == 0) {
@@ -52,16 +51,16 @@ public class ItemBlock extends Item {
return false;
} else if (j == 255 && Block.byId[this.id].material.isBuildable()) {
return false;
- } else if (world.mayPlace(this.id, i, j, k, false, l, entityhuman)) {
+ } else if (world.mayPlace(this.id, i, j, k, false, l, entityhuman, itemstack)) {
Block block = Block.byId[this.id];
int j1 = this.filterData(itemstack.getData());
int k1 = Block.byId[this.id].getPlacedData(world, i, j, k, l, f, f1, f2, j1);
// CraftBukkit start - redirect to common function handler
/*
- if (world.setTypeIdAndData(i, j, k, this.id, k1)) {
+ if (world.setTypeIdAndData(i, j, k, this.id, k1, 3)) {
if (world.getTypeId(i, j, k) == this.id) {
- Block.byId[this.id].postPlace(world, i, j, k, entityhuman);
+ Block.byId[this.id].postPlace(world, i, j, k, entityhuman, itemstack);
Block.byId[this.id].postPlace(world, i, j, k, k1);
}
@@ -80,19 +79,16 @@ public class ItemBlock extends Item {
static boolean processBlockPlace(final World world, final EntityHuman entityhuman, final ItemStack itemstack, final int x, final int y, final int z, final int id, final int data, final int clickedX, final int clickedY, final int clickedZ) {
org.bukkit.block.BlockState blockstate = org.bukkit.craftbukkit.block.CraftBlockState.getBlockState(world, x, y, z);
- world.suppressPhysics = true;
world.callingPlaceEvent = true;
- world.setRawTypeIdAndData(x, y, z, id, data);
+ world.setTypeIdAndData(x, y, z, id, data, 3);
org.bukkit.event.block.BlockPlaceEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callBlockPlaceEvent(world, entityhuman, blockstate, clickedX, clickedY, clickedZ);
if (event.isCancelled() || !event.canBuild()) {
blockstate.update(true);
- world.suppressPhysics = false;
world.callingPlaceEvent = false;
return false;
}
- world.suppressPhysics = false;
world.callingPlaceEvent = false;
int newId = world.getTypeId(x, y, z);
@@ -107,7 +103,7 @@ public class ItemBlock extends Item {
// Skulls don't get block data applied to them
if (block != null && block != Block.SKULL) {
- block.postPlace(world, x, y, z, entityhuman);
+ block.postPlace(world, x, y, z, entityhuman, itemstack);
block.postPlace(world, x, y, z, newData);
world.makeSound((double) ((float) x + 0.5F), (double) ((float) y + 0.5F), (double) ((float) z + 0.5F), block.stepSound.getPlaceSound(), (block.stepSound.getVolume1() + 1.0F) / 2.0F, block.stepSound.getVolume2() * 0.8F);