After having the exact same issue in my KLDC level I actually made that a feature of GPS directly (I had it planned before then as well but that level made me actually implement it since I kinda needed it there).
click
There are a few display options you can put in a print after the description to change how it looks in Lunar Magic* (same things Thomas mentioned before just defined inside the block itself now)
@hidden=<map16>
hidden blocks
@pswitch=<map16>
hidden pow blocks
@sprite=<sprite map16>
sprite content
<map16> may be prepended with a + or a - to indicate that <map16> is relative to the block itself.
It's not an official release yet as there are still two things I want to take care of but maybe by putting it here I can motivate myself to finish it. I also said that a year ago and it took me until recently to actually work on it and make progress though so ¯\_(ツ)_/¯
*identifiers may change on final release so I'd recommend making defines for them if you use a lot of it
e.g.
Code!DSC_HIDDEN = "@hidden"
print "!DSC_HIDDEN=50"
with the define being in defines.asm or something