Snow (Gradient) Script

Emoticone11

The Dark Lord Sauron
Staff member
Hey everyone!

So, I was trying to be ambitious and make a general-purpose script to automatically place smooth snow. Unfortunately, however, this was just too rife with issues: it was too difficult to account with all the different slopes someone might need, and doing a multiple-placeholder approach lead to jagged edges between the different slope placeholders. On top of all that, the script just flat-out doesn't work with large enough areas due to the async processing of macro scripts.

So unfortunately I'm just going to offer the next-best thing: a script which automatically makes the full wool gradient (spread out over all 15 wool blocks), which the Editor can then mask over to place snow layers. This way the script is more flexible and doesn't have delay problems.

The end result is something like this:

ec0feb520b.png


On each level, the gradient starts at 35:0 and then steps over each subsequent wool metadata until (a) that level stops, or (b) 35:15 is reached.

NOTE: Make sure you don't have any other wool types in your selection other than the placeholder, since the script uses every wool ID.

NOTE 2: Also, just a heads up, please don't use this script for large areas. The masks are apparently pretty calculation-intensive and will slow WE up for everyone if done with a large selection.

Once you get the wool gradient, you can set snow by masking over each wool type, starting at 35:0 with the highest snow layer. Here are some examples:

Steep:

//gmask >[35:0]&0
//set 78:7
//gmask >[35:1]&0
//set 78:5
//gmask >[35:2]&0
//set 78:3
//gmask >[35:3]&0
//set 78:1
//gmask >[35:4]&0
//set 78:0

Medium:

//gmask >[35:0]&0
//set 78:7
//gmask >[35:1]&0
//set 78:6
//gmask >[35:2]&0
//set 78:5
...
//gmask >[35:8]&0
//set 78:1
//gmask >[35:9]&0
//set 78:0

Flat:

//gmask >[35:0]&0
//set 78:7
//gmask >[35:1]&0
//set 78:6
//gmask >[35:2]&0
//set 78:6
//gmask >[35:3]&0
//set 78:5
//gmask >[35:4]&0
//set 78:5
...
//gmask >[35:13]&0
//set 78:0
//gmask >[35:14]&0
//set 78:0



Finally, set the placeholders and wool blocks by doing something like:
//gmask 14,15,35
//set 80


-------------------------------------------------------------------------

If anyone thinks they can handle the ambitious task of making a general-purpose snow script based on what I've done so far, feel free to try your hand!

Download the script here

(Alternate download here)
 
Last edited:

CashBanks

A Knight at the Opera
Staff member
The Wulls give their mighty thanks.

I always wondered if there was a way to enhance the vox snow brush, like give it a minimum layer height to start with/ mask what blocks it places on. A sand/pebble equivalent would be cool too.

Is there also no way to trick the smooth/melt brushes to recognize snow layers either? It's all a mystery to me how they work.
 
  • Like
Reactions: Elduwin

Emoticone11

The Dark Lord Sauron
Staff member
Also, just a heads up, please don't use this script for large areas. The masks are apparently pretty calculation-intensive and will slow WE up for everyone if done with a large selection.