--- a/net/minecraft/block/ComparatorBlock.java
+++ b/net/minecraft/block/ComparatorBlock.java
@@ -154,4 +154,16 @@
    protected void func_206840_a(StateContainer.Builder<Block, BlockState> p_206840_1_) {
       p_206840_1_.func_206894_a(field_185512_D, field_176463_b, field_196348_c);
    }
+
+   @Override
+   public boolean getWeakChanges(BlockState state, net.minecraft.world.IWorldReader world, BlockPos pos) {
+      return state.func_203425_a(Blocks.field_196762_fd);
+   }
+
+   @Override
+   public void onNeighborChange(BlockState state, net.minecraft.world.IWorldReader world, BlockPos pos, BlockPos neighbor) {
+      if (pos.func_177956_o() == neighbor.func_177956_o() && world instanceof World && !((World)world).func_201670_d()) {
+         state.func_215697_a((World)world, pos, world.func_180495_p(neighbor).func_177230_c(), neighbor, false);
+      }
+   }
 }
