|
4 | 4 | import java.util.List; |
5 | 5 | import java.util.Set; |
6 | 6 |
|
| 7 | +import io.github.fabricators_of_create.porting_lib.block.NeighborChangeListeningBlock; |
| 8 | + |
7 | 9 | import org.jetbrains.annotations.Nullable; |
8 | 10 |
|
9 | 11 | import com.simibubi.create.AllBlockEntityTypes; |
@@ -162,12 +164,14 @@ private static void updateComaratorsInner(Level level, Block provokingBlock, Blo |
162 | 164 | } |
163 | 165 |
|
164 | 166 | BlockState blockstate = level.getBlockState(updatePos); |
165 | | - blockstate.onNeighborChange(level, updatePos, provokingPos); |
166 | | - if (blockstate.isRedstoneConductor(level, updatePos)) { |
167 | | - updatePos.move(direction); |
168 | | - blockstate = level.getBlockState(updatePos); |
169 | | - if (blockstate.getWeakChanges(level, updatePos)) { |
170 | | - level.neighborChanged(blockstate, updatePos, provokingBlock, provokingPos, false); |
| 167 | + if (blockstate.getBlock() instanceof NeighborChangeListeningBlock nclb) { |
| 168 | + nclb.onNeighborChange(blockstate, level, updatePos, provokingPos); |
| 169 | + if (blockstate.isRedstoneConductor(level, updatePos)) { |
| 170 | + updatePos.move(direction); |
| 171 | + blockstate = level.getBlockState(updatePos); |
| 172 | + if (nclb.getWeakChanges(blockstate, level, updatePos)) { |
| 173 | + level.neighborChanged(blockstate, updatePos, provokingBlock, provokingPos, false); |
| 174 | + } |
171 | 175 | } |
172 | 176 | } |
173 | 177 | } |
|
0 commit comments