31 lines
839 B
Java
31 lines
839 B
Java
package net.minecraft.world.level;
|
|
|
|
import net.minecraft.world.level.block.Blocks;
|
|
import net.minecraft.world.level.block.state.BlockState;
|
|
import net.minecraft.world.level.chunk.BlockColumn;
|
|
|
|
public final class NoiseColumn implements BlockColumn {
|
|
private final int minY;
|
|
private final BlockState[] column;
|
|
|
|
public NoiseColumn(int minY, BlockState[] column) {
|
|
this.minY = minY;
|
|
this.column = column;
|
|
}
|
|
|
|
@Override
|
|
public BlockState getBlock(int pos) {
|
|
int i = pos - this.minY;
|
|
return i >= 0 && i < this.column.length ? this.column[i] : Blocks.AIR.defaultBlockState();
|
|
}
|
|
|
|
@Override
|
|
public void setBlock(int pos, BlockState state) {
|
|
int i = pos - this.minY;
|
|
if (i >= 0 && i < this.column.length) {
|
|
this.column[i] = state;
|
|
} else {
|
|
throw new IllegalArgumentException("Outside of column height: " + pos);
|
|
}
|
|
}
|
|
}
|