Improvement of nodes

Post Reply
Mr. Xenon
Member
Posts: 38
Joined: Thu Feb 08, 2018 16:37

Improvement of nodes

by Mr. Xenon » Post

Hi everyone!

I have noticed (for a long time) that in Minetest it is not possible to create blocks that can contain other objects, I explain better:

Example:

The carpets can not contain a chair placed on the surface of the carpet. Or a torch holder.

These characteristics, even if purely decorative, are very important. 70% of Minecraft and Minetest players play as builders and like to build structures and furnish them, because a sandbox game is a variant of Lego bricks.

I read that Minetest 0.5.0 will have improved and correct APIs (also for mobs), this is a very nice thing that many have been waiting for a long time. Modding is the heart of Minetest (engine), so my question is this: will it be possible to overcome these limits in the next version of Minetest?

I hope I explained myself well, and as always I thank the development team for the excellent job they do.

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Improvement of nodes

by sofar » Post

No. Minetest 0.5.0 will not solve what you percieve as a problem.

To put it bluntly: minetest is based on the notion that each space (node) contains a single thing (block). Not zero, not two, not thirty five and three quarters. Just one (1).

You can of course design chairs-on-carpets that are single blocks. You can make all sorts of weird bizarre combinations, but it would still have to be a single node, or do trickery that has odd consequences, or use entities that cause lag and decrease server performance. But there will never be an efficient, cheap and elegant way to do what you want.

User avatar
voxelproof
Member
Posts: 1087
Joined: Sat Aug 05, 2017 08:13
Location: Europe

Re: Improvement of nodes

by voxelproof » Post

I think that as far as carpets are concerned at least there's an easy bypass to this general obstacle. I mean something like woodsoils_groundcover in plantlife modpack, which is simply a 2-dimensional texture layer covering the underlying nodes. I don't know whether placing a chair on it would make it disappear, but I suppose it wouldn't since the torches don't affect the display:

Image
Attachments
plantlife_woodsoils_groundcover.jpg
plantlife_woodsoils_groundcover.jpg (436.13 KiB) Viewed 489 times
To miss the joy is to miss all. Robert Louis Stevenson

Mr. Xenon
Member
Posts: 38
Joined: Thu Feb 08, 2018 16:37

Re: Improvement of nodes

by Mr. Xenon » Post

@sofar I thank you for your exhaustive answer, it was a curiosity that I carried forward a long time. For torch supports I found an excellent compromise elegant and simple to use, for the carpets just do not put anything above disabling the insertion of blocks above them.

Thank you so much, all in all Minetest is a continuous evolution inj project so I can not expect everything right away ;)

@voxelproof the plantlike knots are cool. I think they are very beautiful, useful and light and allow you to create new decorative objects with ease. I will definitely try your suggestion so I update you and show you the results obtained. Thank you.

User avatar
sorcerykid
Member
Posts: 1841
Joined: Fri Aug 26, 2016 15:36
GitHub: sorcerykid
In-game: Nemo
Location: Illinois, USA

Re: Improvement of nodes

by sorcerykid » Post

It is definitely possible to have two blocks occupying the same space in Minetest by giving the nodebox an X, Y, or Z offset of greater than 0.5. A similar question was addressed several weeks ago:

viewtopic.php?f=9&t=19425

I use this technique extensively for my snowfall mod on the JT2 server to allow snow coverage on slabs, stairs, fences, rails, flowers, etc.

Image

sofar
Developer
Posts: 2146
Joined: Fri Jan 16, 2015 07:31
GitHub: sofar
IRC: sofar
In-game: sofar

Re: Improvement of nodes

by sofar » Post

sorcerykid wrote:It is definitely possible to have two blocks occupying the same space in Minetest by giving the nodebox an X, Y, or Z offset of greater than 0.5. A similar question was addressed several weeks ago:

viewtopic.php?f=9&t=19425

I use this technique extensively for my snowfall mod on the JT2 server to allow snow coverage on slabs, stairs, fences, rails, flowers, etc.
This would fall into the "trickery with potentially weird and bizarre consequences" category, like being unable to place a block directly above the "trickery". This may sometimes be acceptable, of course.

Mr. Xenon
Member
Posts: 38
Joined: Thu Feb 08, 2018 16:37

Re: Improvement of nodes

by Mr. Xenon » Post

@sorcerykid I had also experienced this solution, I honestly find it good, does not involve strange bugs such as lighting errors of the knots and similar things. Thank you for your confirmation, you have been very helpful to my cause :)

Shara
Moderator
Posts: 179
Joined: Sat Aug 20, 2016 15:18
GitHub: ezhh
IRC: Shara

Re: Improvement of nodes

by Shara » Post

Mr. Xenon wrote: The carpets can not contain a chair placed on the surface of the carpet. Or a torch holder.
Just make sure you have rotatable carpets, then place the carpets as the node below so they occupy the uppermost position for that node. Then place items on them as normal.

I've used this approach on more than one server when there was not a full node version of a carpet I wanted to use. It's more work yes, but it does the job.

User avatar
paramat
Developer
Posts: 3700
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat
IRC: paramat
Location: UK

Re: Improvement of nodes

by paramat » Post

A solution is to make the carpet part of the floor node.

Mr. Xenon
Member
Posts: 38
Joined: Thu Feb 08, 2018 16:37

Re: Improvement of nodes

by Mr. Xenon » Post

@paramat @Shara Thank you very much, you have taken away from me a doubt that I have been carrying around for a long time. I will add this trick in my documentation to help other users overcome this small limit. Thank you so much.

User avatar
Hybrid Dog
Member
Posts: 2828
Joined: Thu Nov 01, 2012 12:46
GitHub: HybridDog

Re: Improvement of nodes

by Hybrid Dog » Post

You could make minetest have multiple nodes in the same position. This would allow making water flow through fences and leaves and seep into dirt, carpets could be placed into other nodes, e.g. a carped surrounding a fence pole, and fire could burn nodes without staying next to them.
However, this would significantly alter gameplay, reduce performance (nodemetadata does this already) and making mods would become more twisted because there should never invisibly be a small node inside a bigger one and tnt couldn't longer simply remove nodes at affected positions.

‮‪‮
‮‪‮
‮‪‮
‮‪‮
‮‪‮
‮‪‮
‮‪‮
‮‪‮
‮‪

User avatar
Linuxdirk
Member
Posts: 3218
Joined: Wed Sep 17, 2014 11:21
In-game: Linuxdirk
Location: Germany
Contact:

Re: Improvement of nodes

by Linuxdirk » Post

sofar wrote:
sorcerykid wrote:It is definitely possible to have two blocks occupying the same space in Minetest by giving the nodebox an X, Y, or Z offset of greater than 0.5.
This would fall into the "trickery with potentially weird and bizarre consequences" category, like being unable to place a block directly above the "trickery". This may sometimes be acceptable, of course.
Actually it works pretty well with the limitation you named.

Except the wield items not being visible :)

Sokomine
Member
Posts: 4276
Joined: Sun Sep 09, 2012 17:31
GitHub: Sokomine
IRC: Sokomine
In-game: Sokomine

Re: Improvement of nodes

by Sokomine » Post

Mr. Xenon wrote: The carpets can not contain a chair placed on the surface of the carpet. Or a torch holder.
My moresnow mod allows chairs etc. to "stand" on carpets by using the same mechanism sorcerykid described.
A list of my mods can be found here.

Post Reply

Who is online

Users browsing this forum: No registered users and 3 guests