32 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.world.level.redstone;
 | |
| 
 | |
| import net.minecraft.core.BlockPos;
 | |
| import net.minecraft.core.Direction;
 | |
| import net.minecraft.world.level.Level;
 | |
| import net.minecraft.world.level.block.Block;
 | |
| import net.minecraft.world.level.block.state.BlockState;
 | |
| import org.jetbrains.annotations.Nullable;
 | |
| 
 | |
| public class InstantNeighborUpdater implements NeighborUpdater {
 | |
| 	private final Level level;
 | |
| 
 | |
| 	public InstantNeighborUpdater(Level level) {
 | |
| 		this.level = level;
 | |
| 	}
 | |
| 
 | |
| 	@Override
 | |
| 	public void shapeUpdate(Direction direction, BlockState state, BlockPos pos, BlockPos neighborPos, int flags, int recursionLevel) {
 | |
| 		NeighborUpdater.executeShapeUpdate(this.level, direction, pos, neighborPos, state, flags, recursionLevel - 1);
 | |
| 	}
 | |
| 
 | |
| 	@Override
 | |
| 	public void neighborChanged(BlockPos pos, Block neighborBlock, @Nullable Orientation orientation) {
 | |
| 		BlockState blockState = this.level.getBlockState(pos);
 | |
| 		this.neighborChanged(blockState, pos, neighborBlock, orientation, false);
 | |
| 	}
 | |
| 
 | |
| 	@Override
 | |
| 	public void neighborChanged(BlockState state, BlockPos pos, Block neighborBlock, @Nullable Orientation orientation, boolean movedByPiston) {
 | |
| 		NeighborUpdater.executeUpdate(this.level, state, pos, neighborBlock, orientation, movedByPiston);
 | |
| 	}
 | |
| }
 |