I was thinking of just having a few specific elements it couldn't push instead or something, but this ctype thing might be better. Maybe I could move the ctype thing to life, or some other variable
Yeah, but, ctype is already being used for telling if the piston is a base or a shaft. I'll commit my code so far to github and you can finish it up if you want.