38 lines
1.1 KiB
Java
38 lines
1.1 KiB
Java
package fr.adrien1106.reframed.block;
|
|
|
|
import fr.adrien1106.reframed.util.VoxelHelper;
|
|
import net.minecraft.block.BlockState;
|
|
import net.minecraft.block.ShapeContext;
|
|
import net.minecraft.util.math.BlockPos;
|
|
import net.minecraft.util.math.Direction;
|
|
import net.minecraft.util.shape.VoxelShape;
|
|
import net.minecraft.world.BlockView;
|
|
|
|
import static net.minecraft.state.property.Properties.AXIS;
|
|
|
|
public class ReFramedPostBlock extends PillarReFramedBlock {
|
|
|
|
public static final VoxelShape[] POST_VOXELS;
|
|
|
|
public ReFramedPostBlock(Settings settings) {
|
|
super(settings);
|
|
}
|
|
|
|
@Override
|
|
public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) {
|
|
return getPillarShape(state.get(AXIS));
|
|
}
|
|
|
|
public static VoxelShape getPillarShape(Direction.Axis axis) {
|
|
return POST_VOXELS[axis.ordinal()];
|
|
}
|
|
|
|
static {
|
|
final VoxelShape POST = createCuboidShape(0, 6, 6, 16, 10, 10);
|
|
POST_VOXELS = VoxelHelper.VoxelListBuilder.create(POST, 3)
|
|
.add(VoxelHelper::rotateZ)
|
|
.add(VoxelHelper::rotateX)
|
|
.build();
|
|
}
|
|
}
|