I’ve been experimenting with modeling a spacecraft in Inform 7. The result (still in progress) is an extension called Spaceship.
You can download a copy from github – look for the file Spaceship.i7x:
https://github.com/econrad003/inform7-examples
Comments and suggestions are welcome whether on implementation or on documentation. Five self-contained (four simple and one moderately extensive) examples are included in the documentation.