/** * Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed * (coordinates passed are their own) Args: x, y, z, neighbor blockID */ public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5) { int var6 = par1World.getBlockMetadata(par2, par3, par4); boolean var7 = false; if (var6 == 2 && par1World.isBlockSolidOnSide(par2, par3, par4 + 1, 2)) { var7 = true; } if (var6 == 3 && par1World.isBlockSolidOnSide(par2, par3, par4 - 1, 3)) { var7 = true; } if (var6 == 4 && par1World.isBlockSolidOnSide(par2 + 1, par3, par4, 4)) { var7 = true; } if (var6 == 5 && par1World.isBlockSolidOnSide(par2 - 1, par3, par4, 5)) { var7 = true; } if (!var7) { this.dropBlockAsItem(par1World, par2, par3, par4, var6, 0); par1World.setBlockWithNotify(par2, par3, par4, 0); } super.onNeighborBlockChange(par1World, par2, par3, par4, par5); }
@Override public void onNeighborBlockChange(World world, int x, int y, int z, int neigborId) { super.onNeighborBlockChange(world, x, y, z, neigborId); checkFlowerChange(world, x, y, z); }