Feature request: Rotate/Mirror schematics around the center
bodinaren opened this issue ยท 1 comments
Is your feature request related to a problem? Please describe.
Currently when you rotate or mirror a schematic they rotate around one of the corners of the schematic. So when I've I placed a schematic in the position where I want to have it, then I realize I want to rotate it, but then it ends up in a completely different position.
Describe the solution you'd like
Change so that manipulating the schematic does so without moving the "bounding box", so rotate/mirror around the center point of the schematic instead of the corner.
Honestly I can't understand why it wasn't implemented this way originally, but since it's always been around the corner perhaps make a setting for it? I'd argue this should be the default, but perhaps I'm just missing the use of the current implementation.
Describe alternatives you've considered
I can't imagine any alternatives to the feature, except the setting. Instead you could have a checkbox around the actual buttons?
I think the original idea comes from the vanilla structure block, which works the same way: the structure block is always at or relative to the corner of the structure area. And pretty sure the original Schematica mod worked the same way. It's also cleaner and less ambiguous from an implementation point of view to use the corner as the anchor point. Otherwise which "side" is the anchor if you have an even schematic width/length? Additionally usually when you create a placement, you at least first end up creating it at the player's position, and if the origin point would be in the center, then you would have the entire schematic appear all around you in a huge colored overlay and schematic block mess, without being able to see anything.
So I think instead of adding an option to change the way the rotations and mirroring works in the mod, which would likely be quite a large and complex code change to handle both options nicely, I might rather just add a simple action that just moves the sub-regions so that the placement origin is in the center-ish of the enclosing box around all the sub-regions.
You can also currently do this manually in the area selection before saving the schematic, by enabling the Manual Origin option and then setting that origin point to the middle of the build. You can also do this in the placement settings if it wasn't done in the area selection before saving the schematic, by going to the sub-region settings and moving that region such that the main placement origin is in the middle of that region. This of course would only work easily if you have a simple single region schematic. Otherwise it would be quite difficult/tedious to keep the relative positions of all the regions the same while moving them all one by one. This is where that new action in a future mod version would come in.