Posts: 26
Threads: 8
Joined: Jun 2013
Thanks: 27
Given 3 thank(s) in 3 post(s)
The nature's taking over is divided in two processes (not used as a computational term).
The first process is plantation advancement, where trees randomly grow out of thin air (so we have denser forests, forest-like plains, etc).
The second process happens only to chunks that haven't been loaded for X time. Every human made construction made underground is slowly files with stone or dirt. Every construction above surface slowly disappears : block randomly vanish, turn to air. Stone, obsidian and some other block aren't affected.
What do you think? Would it be an interesting mod? Would be too difficult to make?
Posts: 6,485
Threads: 176
Joined: Jan 2012
Thanks: 131
Given 1074 thank(s) in 852 post(s)
We've already had some similar work - growing trees. Although experimental, it proved that this can be done, at least in a way.
The first one can be implemented quite well - every N ticks, pick a block on the surface (as determined by the heightmap), and if it's dirt or grass, check the surroundings; if there is a log or leaves in close proximity, place a sapling there. This way the forests will slowly grow outwards. This could actually be a rather easy plugin to make.
The second one has some definitorial problems - what is a "human made construction"? There's no such distinction in MC - there are only block types, nothing else.Then, what is an underground structure and what is an above-ground structure? If you have a large house with several floors, hardly would you call the lowest floors "underground"; but how is MCS to know the difference?
Posts: 26
Threads: 8
Joined: Jun 2013
Thanks: 27
Given 3 thank(s) in 3 post(s)
As I had it in mind, maybe the server would compare the to-be-altered chunk with its default-counterpart (which itself would be calculated by the world's seed). So practically the checked chunk would slowly turn back to what it was originally.
The mod would know if a block needs to be a) filled with dirt/stone, b) removed in the to-be-altered chunk if in the default-counterpart the block was empty or filled.
This is how I would go around the problem (yep, my idea is lacking...)
Well, the more I think of it, the more performance-amputating it seems to me... :/
Posts: 1,469
Threads: 57
Joined: Jul 2012
Thanks: 66
Given 127 thank(s) in 108 post(s)
That seems really cool, and keeping the old chunk really wouldn't be that much overhead.
Posts: 952
Threads: 16
Joined: May 2013
Thanks: 66
Given 105 thank(s) in 89 post(s)
How would a server deal with a scenario in which a chunk was completely dug out and a house built in the middle? I don't think it would be appropriate for dirt to fill in the 'lower floors', whatever they may be.
Perhaps it would be more practical to fill enclosed spaces with cobwebs and make cobblestone decay veerry slowly?
Posts: 6,485
Threads: 176
Joined: Jan 2012
Thanks: 131
Given 1074 thank(s) in 852 post(s)
Perhaps two separate plugins, then. The tree-growing sounds like a great idea even for regular servers, I'd like that on mine. But the decay is somewhat specific, I personally wouldn't want it on my server, so keep those two separate.
As for filling with cobwebs - this would mean that even natural caves would soon be full of them. Is that what we want? If not, how to distinguish between a natural cave (and especially mineshafts and later fortresses) and a player-built structure?
Posts: 6,485
Threads: 176
Joined: Jan 2012
Thanks: 131
Given 1074 thank(s) in 852 post(s)
That would effectively either double the amount of RAM required (to hold the old copies) or double the CPU required (to calculate the original chunk contents by the generator); and the CPU way won't work well with maps generated outside MCS (which is what quite a lot of people do - they generate world with vanilla, then use MCS for the actual gameplay)
Posts: 952
Threads: 16
Joined: May 2013
Thanks: 66
Given 105 thank(s) in 89 post(s)
Cobwebs could just spread to corners and vertices, two or more stone blocks touching, so cobwebs wont leave the wall.