Unlike SlabBlock, the constructor for StairsBlock appears protected on the decompiled code (where in SlabBlock it's public). That forces modders to create a derived class with a public constructor if they want to create custom stair blocks.
public SlabBlock (Block.Properties properties) {protected StairsBlock (BlockState state, Block.Properties properties) {Environment
Windows 10
Java 8
Comments 3
I guess the only issue to be discussed here then is why SlabBlock and Block (and other Block derived classes) have public constructors while StairsBlock doesn't. Doesn't seem consistent to me, but may be I'm missing something.
This type of feature is currently not supported - block extensibility is supported through the third party modding frameworks and may at some point have official different support.