You can do that with area triggers or step-ons in a narrow corridor.
But I agree that modding support should be added.
callbackObject
listenTo( x, y, z )
onChange
lastActivated = timestamp
enableBlock( x, y, z )
addTimedTask( +t, doTask )
doTask
if( lastActivated < timestamp...