|
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