minecraft-src/net/minecraft/world/level/redstone/InstantNeighborUpdater.java
2025-07-04 02:49:36 +03:00

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);
}
}