1.12 is no longer supported on these forums due to age.
Please update to a modern version to receive support here.
More information on supported versions can be found in the LTS link at the top of every page.
What I find unnecessary is the fact that this can't be set though a block property (eg. setRenderType(RenderType)) and handled during block registration; after all it's very similar to what I'm doing now with reflection so it's definitely possible