Rebuild with slabs inverted
Opened this issue ยท 2 comments
When replacing a block using the "rebuild" feature, clicking the top face of a block results on a [type=bottom] slab, and clicking the bottom face results in a [type=top], which seems inverted for what it should do?
The Rebuild mode selects the block state to use using the same code and logic than the vanilla game does normally. Thus when you place a slab on top of a block, you get a bottom slab, and if you place it against a ceiling, you get a top slab. Same thing for any blocks that have rotations, for example for logs the block side you click on defines the orientation, for pistons the player's position in relation to the clicked position matters etc.
Edit: For slabs I see how this can be confusing at first with the replace modes, because the "new block" will replace the clicked block instead of being placed next to it. However I think once you know this is how it works (it just selects the state using normal vanilla placement behaviour), it should make sense and be usable? Otherwise the block state selection logic would probably have to be customized for different block states, and it would be different between replacing blocks and placing new blocks into the schematic.
For slabs and stairs etc. you can thus also select the top/bottom variant by clicking on the top or bottom half of the side of a block (if possible).
There is also a feature in the newer 1.12 code where you can "store" a block state by Alt + middle clicking (the same way you do in the Fill and Replace modes), and you can use that stored block state by doing the Rebuild action with an empty main hand. This allows using things like open trap doors, water logged blocks etc.
Depending on which MC version you are on, this feature might also be cherry-picked to other versions of the mod "ahead of time" from the 1.12 code base. I think it's in the latest 1.15.2 builds, although I don't remember if it's on the ones that are on CurseForge yet, it might only be in the builds on my server atm. But I'm probably going to upload new builds to CF today with some rendering fixes, and those will then include that feature as well.