also block is already a class
though i dont declare `Block` on its own usually, i use a method in the `Machine` class instead (how my code works is that i generate a machine file (that you can load in game) by generating xml tags for everything, so i create a `Machine`, then call `Machine.add_block(whatever args)` (though i of course call it on an *instance* of `Machine`, not the class itself) to add the block and its tags to that machine