Added a new generator, abstracted some generator code, and repackaged some tile entity stuff.