Experimental use of BlockVector
Switched to using a boolean state instead of checking the material every time
Added support for redstone on slabs and upside-down stairs