minetest-mods / moreblocks

More Blocks
https://content.minetest.net/packages/Calinou/moreblocks/
zlib License
45 stars 65 forks source link

Slab back to full block #112

Open CodePhase opened 6 years ago

CodePhase commented 6 years ago

It seems like building same material slabs on top of each other no longer converts them back to a full block. This includes overridden native materials like wooden slabs made from wooden planks.

fluxionary commented 2 years ago

not sure what's going on here, but i intend to "fix" all the cruft that the stairs mod from minetest_game introduces via https://github.com/minetest-mods/moreblocks/pull/191

fluxionary commented 2 years ago

Oh, this means that if you place a slab on top of another slab, the two should combine into a single node? That's... interesting. I'm guessing that's not a bad idea, but it seems ... "tricky" to implement, as it depends on the orientation of the node (param2 value) and also which "face" a player is pointing at. Also, if you try to place a slab_8 on top of a slab_12, should the result be a full node below, and a slab_4 above? If you allow that sort of thing, what do you do if there's not free space "above"? Refuse to fill in the below at all? Place part of the node and return the rest to the player's inventory? What if there's no room remaining?

S-S-X commented 2 years ago

Place part of the node and return the rest to the player's inventory? What if there's no room remaining?

I'd say no at least for this as player does not have usable circular saw to cut it (result in world will and have to contain slab sizes player did not have but do not cut before placement and return different sizes). Ability to stack sounds fine but cutting while stacking if it wont fit does not sound like correct behavior. I think correct behavior would be to just prevent placement if there's not enough room for end result, it would also better follow common placement behavior with regular nodes.

There will still be some not so intuitive behaviors (assuming you're not developer and do not consider technical constraints) and possibly behavior that would not follow my opinion above when placing full size nodes on top of slabs (or just end result reaching next node above, different materials, nodes that can't be cut etc.).

fluxionary commented 2 years ago

I'd say no at least for this as player does not have usable circular saw to cut it (result in world will and have to contain slab sizes player did not have but do not cut before placement and return different sizes). Ability to stack sounds fine but cutting while stacking if it wont fit does not sound like correct behavior. I think correct behavior would be to just prevent placement if there's not enough room for end result, it would also better follow common placement behavior with regular nodes.

There will still be some not so intuitive behaviors (assuming you're not developer and do not consider technical constraints) and possibly behavior that would not follow my opinion above when placing full size nodes on top of slabs (or just end result reaching next node above, different materials, nodes that can't be cut etc.).

my current feeling on this, is that it's a valid feature request, but i'm not going to tackle it in the context of #191. unless i get really bored.

S-S-X commented 2 years ago

Yes very much agreed it is valid and should be very much possible to implement it without causing too much confusion.