maruohon / litematica

A modern client-side schematic mod for Minecraft
GNU Lesser General Public License v3.0
689 stars 191 forks source link

The function of trimming excess air/water blocks from the schematics #699

Open vlad0-0 opened 1 year ago

vlad0-0 commented 1 year ago

Suppose you can select a building while capturing a large excess number of air blocks, but thanks to this function, the selection area of the scheme will be cut off along the boundaries of the building (this will be determined by any other blocks other than air). This would be very convenient, since it would reduce the size of the final selection and remove the need to accurately highlight the boundaries of buildings. (Something similar can be done for water blocks too)

maruohon commented 1 year ago

This is currently possible in two ways, depending on what your initial build and surroundings are like. I may also implement sub-region trimming at some point, but it would be towards the end of the todo list, as there are other solutions to this already.

So the best way of course is to initially only select what you want. If you have a free floating build, that is not touching the ground or other builds, then you can very quickly and exactly select it using the growSelection hotkey. You just need to place the initial selection box/corners on the build, and then use that hotkey, and the selection box will grow as large as there are touching blocks (including diagonally).

The second way o trim an existing schematic, by creating a new schematic, is to make the new selection around the loaded schematic (or rather the placement of it), and then on the schematic save screen select the checkmark "From schematic world". That will save the schematic from the mod's "schematic world" where all enabled placements are placed. This allows you to either trim or also to combine multiple schematics into one, without having to actually paste them to a temporary world first.

And then of course there is the Schematic Edit mode for adding, removing or changing blocks in a schematic (see the wiki). But that feature can't change the dimensions of any regions, only contents of them. It also can't add or remove any block entities or entities, at least currently.