summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@linux-forks.de>2018-09-14 16:56:37 +0200
committerroot <root@linux-forks.de>2018-09-14 16:56:37 +0200
commit31fe2ff374e72fb8ea44d50cd82d6fc8b9be5463 (patch)
tree87768ea1339a0c838716d8bb3418e35a80b00c46
parentb32bd2d50b685e9f550f1138d3db1ed0c6504d2c (diff)
parent43d62b57428b4738a7e8cee0fae78b1147f9b085 (diff)
Merge branch 'master' of https://notabug.org/TenPlus1/ethereal
-rw-r--r--README.md10
-rw-r--r--extra.lua19
-rw-r--r--food.lua26
-rw-r--r--init.lua73
-rw-r--r--lucky_block.lua4
-rw-r--r--mapgen.lua129
-rw-r--r--plantlife.lua22
-rw-r--r--sapling.lua28
-rw-r--r--schematics/bamboo_tree.lua130
-rw-r--r--schematics/banana_tree.lua136
-rw-r--r--schematics/bigtree.lua100
-rw-r--r--schematics/bigtree.mtsbin215 -> 0 bytes
-rw-r--r--schematics/birch_tree.lua101
-rw-r--r--schematics/bush.lua49
-rw-r--r--schematics/deadtree.mtsbin108 -> 0 bytes
-rw-r--r--schematics/frosttrees.lua184
-rw-r--r--schematics/frosttrees.mtsbin167 -> 0 bytes
-rw-r--r--schematics/igloo.lua60
-rw-r--r--schematics/mushroomone.lua116
-rw-r--r--schematics/mushroomone.mtsbin204 -> 0 bytes
-rw-r--r--schematics/orange_tree.lua65
-rw-r--r--schematics/palmtree.lua110
-rw-r--r--schematics/palmtree.mtsbin174 -> 0 bytes
-rw-r--r--schematics/pinetree.lua81
-rw-r--r--schematics/pinetree.mtsbin146 -> 0 bytes
-rw-r--r--schematics/redwood.mtsbin1159 -> 0 bytes
-rw-r--r--schematics/redwood_tree.lua533
-rw-r--r--schematics/redwood_tree.mtsbin1373 -> 0 bytes
-rw-r--r--schematics/vinetree.lua77
-rw-r--r--schematics/vinetree.mtsbin216 -> 0 bytes
-rw-r--r--schematics/volcanol.lua97
-rw-r--r--schematics/volcanol.mtsbin425 -> 0 bytes
-rw-r--r--schematics/volcanom.lua36
-rw-r--r--schematics/volcanom.mtsbin135 -> 0 bytes
-rw-r--r--schematics/willow.lua199
-rw-r--r--schematics/willow.mtsbin518 -> 0 bytes
-rw-r--r--schematics/yellowtree.lua201
-rw-r--r--schematics/yellowtree.mtsbin325 -> 0 bytes
-rw-r--r--textures/ethereal_firethorn.pngbin0 -> 153 bytes
-rw-r--r--textures/ethereal_firethorn_jelly.pngbin0 -> 167 bytes
40 files changed, 2251 insertions, 335 deletions
diff --git a/README.md b/README.md
index c0362ce..6d0a07a 100644
--- a/README.md
+++ b/README.md
@@ -6,10 +6,18 @@ Ethereal Mapgen mod for Minetest (works on all except v6)
- https://forum.minetest.net/viewtopic.php?f=11&t=14638
## Lucky Blocks
-38
+41
## Changelog
+### 1.25
+
+ - Converted .mts files into schematic tables for easier editing
+ - Added firethorn shrub in glacier areas (can be crafted into jelly)
+ - Tweaked mapgen decorations
+ - Added more lucky blocks
+ - Added igloo to glacier biome
+
### 1.24
- Updating code to newer functions, requires Minetest 0.4.16 and above
diff --git a/extra.lua b/extra.lua
index af097c4..d54a881 100644
--- a/extra.lua
+++ b/extra.lua
@@ -136,13 +136,17 @@ minetest.register_craftitem("ethereal:bowl", {
groups = {food_bowl = 1, flammable = 2},
})
-minetest.register_craft({
- output = "ethereal:bowl 4",
- recipe = {
- {"group:wood", "", "group:wood"},
- {"", "group:wood", ""},
- }
-})
+-- use farming redo's recipe if found
+if not minetest.registered_items["farming:bowl"] then
+
+ minetest.register_craft({
+ output = "ethereal:bowl 4",
+ recipe = {
+ {"group:wood", "", "group:wood"},
+ {"", "group:wood", ""},
+ }
+ })
+end
-- stone Ladder
minetest.register_node("ethereal:stone_ladder", {
@@ -229,7 +233,6 @@ minetest.register_craft({
minetest.register_craftitem("ethereal:charcoal_lump", {
description = S("Lump of Charcoal"),
inventory_image = "charcoal_lump.png",
- wield_image = "charcoal_lump.png",
})
minetest.register_craft({
diff --git a/food.lua b/food.lua
index 758846c..156e97f 100644
--- a/food.lua
+++ b/food.lua
@@ -197,3 +197,29 @@ minetest.register_craft({
{"bucket:bucket_empty","default:cactus"},
}
})
+
+
+-- firethorn jelly
+minetest.register_craftitem("ethereal:firethorn_jelly", {
+ description = S("Firethorn Jelly"),
+ inventory_image = "ethereal_firethorn_jelly.png",
+ wield_image = "ethereal_firethorn_jelly.png",
+ on_use = minetest.item_eat(2, "vessels:glass_bottle"),
+})
+
+if minetest.registered_items["farming:bowl"] then
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "ethereal:firethorn_jelly",
+ recipe = {
+ "farming:mortar_pestle","vessels:glass_bottle",
+ "ethereal:firethorn", "ethereal:firethorn", "ethereal:firethorn",
+ "bucket:bucket_water", "bucket:bucket_water", "bucket:bucket_water",
+ },
+ replacements = {
+ {"bucket:bucket_water", "bucket:bucket_empty 3"},
+ {"farming:mortar_pestle", "farming:mortar_pestle"},
+ },
+})
+end
diff --git a/init.lua b/init.lua
index b628116..9ff2d76 100644
--- a/init.lua
+++ b/init.lua
@@ -8,41 +8,44 @@
]]
-ethereal = {} -- DO NOT change settings below, use the settings.conf file
-ethereal.version = "1.24"
-ethereal.leaftype = 0 -- 0 for 2D plantlike, 1 for 3D allfaces
-ethereal.leafwalk = false -- true for walkable leaves, false to fall through
-ethereal.cavedirt = true -- caves chop through dirt when true
-ethereal.torchdrop = true -- torches drop when touching water
-ethereal.papyruswalk = true -- papyrus can be walked on
-ethereal.lilywalk = true -- waterlilies can be walked on
-ethereal.xcraft = true -- allow cheat crafts for cobble->gravel->dirt->sand, ice->snow, dry dirt->desert sand
-ethereal.glacier = 1 -- Ice glaciers with snow
-ethereal.bamboo = 1 -- Bamboo with sprouts
-ethereal.mesa = 1 -- Mesa red and orange clay with giant redwood
-ethereal.alpine = 1 -- Snowy grass
-ethereal.healing = 1 -- Snowy peaks with healing trees
-ethereal.snowy = 1 -- Cold grass with pine trees and snow spots
-ethereal.frost = 1 -- Blue dirt with blue/pink frost trees
-ethereal.grassy = 1 -- Green grass with flowers and trees
-ethereal.caves = 1 -- Desert stone ares with huge caverns underneath
-ethereal.grayness = 1 -- Grey grass with willow trees
-ethereal.grassytwo = 1 -- Sparse trees with old trees and flowers
-ethereal.prairie = 1 -- Flowery grass with many plants and flowers
-ethereal.jumble = 1 -- Green grass with trees and jungle grass
-ethereal.junglee = 1 -- Jungle grass with tall jungle trees
-ethereal.desert = 1 -- Desert sand with cactus
-ethereal.grove = 1 -- Banana groves and ferns
-ethereal.mushroom = 1 -- Purple grass with giant mushrooms
-ethereal.sandstone = 1 -- Sandstone with smaller cactus
-ethereal.quicksand = 1 -- Quicksand banks
-ethereal.plains = 1 -- Dry dirt with scorched trees
-ethereal.savannah = 1 -- Dry yellow grass with acacia tree's
-ethereal.fiery = 1 -- Red grass with lava craters
-ethereal.sandclay = 1 -- Sand areas with clay underneath
-ethereal.swamp = 1 -- Swamp areas with vines on tree's, mushrooms, lilly's and clay sand
-ethereal.sealife = 1 -- Enable coral and seaweed
-ethereal.reefs = 1 -- Enable new 0.4.15 coral reefs in default
+ -- DO NOT change settings below, use the settings.conf file instead
+ethereal = {
+
+ version = "1.25",
+ leaftype = 0, -- 0 for 2D plantlike, 1 for 3D allfaces
+ leafwalk = false, -- true for walkable leaves, false to fall through
+ cavedirt = true, -- caves chop through dirt when true
+ torchdrop = true, -- torches drop when touching water
+ papyruswalk = true, -- papyrus can be walked on
+ lilywalk = true, -- waterlilies can be walked on
+ xcraft = true, -- allow cheat crafts for cobble->gravel->dirt->sand, ice->snow, dry dirt->desert sand
+ glacier = 1, -- Ice glaciers with snow
+ bamboo = 1, -- Bamboo with sprouts
+ mesa = 1, -- Mesa red and orange clay with giant redwood
+ alpine = 1, -- Snowy grass
+ healing = 1, -- Snowy peaks with healing trees
+ snowy = 1, -- Cold grass with pine trees and snow spots
+ frost = 1, -- Blue dirt with blue/pink frost trees
+ grassy = 1, -- Green grass with flowers and trees
+ caves = 1, -- Desert stone ares with huge caverns underneath
+ grayness = 1, -- Grey grass with willow trees
+ grassytwo = 1, -- Sparse trees with old trees and flowers
+ prairie = 1, -- Flowery grass with many plants and flowers
+ jumble = 1, -- Green grass with trees and jungle grass
+ junglee = 1, -- Jungle grass with tall jungle trees
+ desert = 1, -- Desert sand with cactus
+ grove = 1, -- Banana groves and ferns
+ mushroom = 1, -- Purple grass with giant mushrooms
+ sandstone = 1, -- Sandstone with smaller cactus
+ quicksand = 1, -- Quicksand banks
+ plains = 1, -- Dry dirt with scorched trees
+ savannah = 1, -- Dry yellow grass with acacia tree's
+ fiery = 1, -- Red grass with lava craters
+ sandclay = 1, -- Sand areas with clay underneath
+ swamp = 1, -- Swamp areas with vines on tree's, mushrooms, lilly's and clay sand
+ sealife = 1, -- Enable coral and seaweed
+ reefs = 1, -- Enable new 0.4.15 coral reefs in default
+}
local path = minetest.get_modpath("ethereal")
diff --git a/lucky_block.lua b/lucky_block.lua
index 837bcd8..3017b5b 100644
--- a/lucky_block.lua
+++ b/lucky_block.lua
@@ -14,6 +14,8 @@ lucky_block:add_schematics({
})
lucky_block:add_blocks({
+ {"dro", {"ethereal:firethorn"}, 3},
+ {"dro", {"ethereal:firethorn_jelly"}, 3},
{"nod", "ethereal:crystal_spike", 1},
{"sch", "pinetree", 0, false},
{"dro", {"ethereal:orange"}, 10},
@@ -35,6 +37,8 @@ lucky_block:add_blocks({
{"dro", {"ethereal:redwood_sapling"} ,1},
{"dro", {"ethereal:prairie_dirt"}, 10},
{"dro", {"ethereal:grove_dirt"}, 10},
+ {"fal", {"default:lava_source", "default:lava_source", "default:lava_source",
+ "default:lava_source", "default:lava_source"}, 1, true, 4},
{"dro", {"ethereal:cold_dirt"}, 10},
{"dro", {"ethereal:mushroom_dirt"}, 10},
{"dro", {"ethereal:fiery_dirt"}, 10},
diff --git a/mapgen.lua b/mapgen.lua
index cded3b9..6968aa7 100644
--- a/mapgen.lua
+++ b/mapgen.lua
@@ -19,8 +19,20 @@ dofile(path .. "bamboo_tree.lua")
dofile(path .. "birch_tree.lua")
dofile(path .. "bush.lua")
dofile(path .. "waterlily.lua")
-
---= Biomes (Minetest 0.4.13 and above)
+dofile(path .. "volcanom.lua")
+dofile(path .. "volcanol.lua")
+dofile(path .. "frosttrees.lua")
+dofile(path .. "palmtree.lua")
+dofile(path .. "pinetree.lua")
+dofile(path .. "yellowtree.lua")
+dofile(path .. "mushroomone.lua")
+dofile(path .. "willow.lua")
+dofile(path .. "bigtree.lua")
+dofile(path .. "redwood_tree.lua")
+dofile(path .. "vinetree.lua")
+dofile(path .. "igloo.lua")
+
+--= Biomes
local add_biome = function(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
@@ -58,6 +70,7 @@ add_biome("desert_ocean", nil, "default:sand", 1, "default:sand", 2,
"default:desert_stone", nil, nil, nil, nil, -192, 3, 35, 20, ethereal.desert)
if ethereal.glacier == 1 then
+
minetest.register_biome({
name = "glacier",
node_dust = "default:snowblock",
@@ -106,7 +119,6 @@ add_biome("bamboo", nil, "ethereal:bamboo_dirt", 1, "default:dirt", 3,
add_biome("bamboo_ocean", nil, "default:sand", 1, "default:sand", 2,
nil, nil, nil, nil, nil, -192, 2, 45, 75, ethereal.bamboo)
---add_biome("mesa", nil, "bakedclay:orange", 1, "bakedclay:orange", 15,
add_biome("mesa", nil, "default:dirt_with_dry_grass", 1, "bakedclay:orange", 15,
nil, nil, nil, nil, nil, 1, 71, 25, 28, ethereal.mesa)
@@ -241,44 +253,105 @@ local add_schem = function(a, b, c, d, e, f, g)
})
end
+if ethereal.glacier then
+
+ -- igloo
+ minetest.register_decoration({
+ deco_type = "schematic",
+ place_on = {"default:snowblock"},
+ sidelen = 80,
+ fill_ratio = 0.001,
+ biomes = {"glacier"},
+ y_min = 3,
+ y_max = 50,
+ schematic = ethereal.igloo,
+ flags = "place_center_x, place_center_z",
+ spawn_by = "default:snowblock",
+ num_spawn_by = 8,
+ rotation = "random",
+ })
+end
+
-- redwood tree
---add_schem({"bakedclay:orange"}, 0.0025, {"mesa"}, 1, 100, path .. "redwood.mts", ethereal.mesa)
-add_schem({"default:dirt_with_dry_grass"}, 0.0025, {"mesa"}, 1, 100, path .. "redwood.mts", ethereal.mesa)
+add_schem({"default:dirt_with_dry_grass"}, 0.0025, {"mesa"}, 1, 100, ethereal.redwood_tree, ethereal.mesa)
-- banana tree
add_schem({"ethereal:grove_dirt"}, 0.015, {"grove"}, 1, 100, ethereal.bananatree, ethereal.grove)
-- healing tree
-add_schem({"default:dirt_with_snow"}, 0.01, {"alpine"}, 120, 140, path .. "yellowtree.mts", ethereal.alpine)
+add_schem({"default:dirt_with_snow"}, 0.01, {"alpine"}, 120, 140, ethereal.yellowtree, ethereal.alpine)
-- crystal frost tree
-add_schem({"ethereal:crystal_dirt"}, 0.01, {"frost"}, 1, 100, path .. "frosttrees.mts", ethereal.frost)
+add_schem({"ethereal:crystal_dirt"}, 0.01, {"frost"}, 1, 100, ethereal.frosttrees, ethereal.frost)
+
+if ethereal.mushroom then
+
+ -- giant shroom
+ minetest.register_decoration({
+ deco_type = "schematic",
+ place_on = {"ethereal:mushroom_dirt"},
+ sidelen = 80,
+ fill_ratio = 0.02,
+ biomes = {"mushroom"},
+ y_min = 1,
+ y_max = 100,
+ schematic = ethereal.mushroomone,
+ flags = "place_center_x, place_center_z",
+ spawn_by = "ethereal:mushroom_dirt",
+ num_spawn_by = 6,
+ })
+end
--- giant mushroom
-add_schem({"ethereal:mushroom_dirt"}, 0.02, {"mushroom"}, 1, 100, path .. "mushroomone.mts", ethereal.mushroom)
+if ethereal.fiery then
--- small lava crater
-add_schem({"ethereal:fiery_dirt"}, 0.01, {"fiery"}, 1, 100, path .. "volcanom.mts", ethereal.fiery)
+ -- small lava crater
+ minetest.register_decoration({
+ deco_type = "schematic",
+ place_on = {"ethereal:fiery_dirt"},
+ sidelen = 80,
+ fill_ratio = 0.01,
+ biomes = {"fiery"},
+ y_min = 1,
+ y_max = 100,
+ schematic = ethereal.volcanom,
+ flags = "place_center_x, place_center_z",
+ spawn_by = "ethereal:fiery_dirt",
+ num_spawn_by = 8,
+ })
--- large lava crater
-add_schem({"ethereal:fiery_dirt"}, 0.01, {"fiery"}, 1, 100, path .. "volcanol.mts", ethereal.fiery)
+ -- large lava crater
+ minetest.register_decoration({
+ deco_type = "schematic",
+ place_on = {"ethereal:fiery_dirt"},
+ sidelen = 80,
+ fill_ratio = 0.003,
+ biomes = {"fiery"},
+ y_min = 1,
+ y_max = 100,
+ schematic = ethereal.volcanol,
+ flags = "place_center_x, place_center_z",
+ spawn_by = "ethereal:fiery_dirt",
+ num_spawn_by = 8,
+ rotation = "random",
+ })
+end
-- default jungle tree
add_schem({"ethereal:jungle_dirt", "default:dirt_with_rainforest_litter"}, 0.08, {"junglee"}, 1, 100, dpath .. "jungle_tree.mts", ethereal.junglee)
-- willow tree
-add_schem({"ethereal:gray_dirt"}, 0.02, {"grayness"}, 1, 100, path .. "willow.mts", ethereal.grayness)
+add_schem({"ethereal:gray_dirt"}, 0.02, {"grayness"}, 1, 100, ethereal.willow, ethereal.grayness)
-- pine tree (default for lower elevation and ethereal for higher)
-add_schem({"ethereal:cold_dirt"}, 0.025, {"snowy"}, 10, 40, dpath .. "pine_tree.mts", ethereal.snowy)
-add_schem({"default:dirt_with_snow"}, 0.025, {"alpine"}, 40, 140, path .. "pinetree.mts", ethereal.alpine)
+add_schem({"ethereal:cold_dirt"}, 0.025, {"snowy"}, 10, 40, ethereal.pine_tree, ethereal.snowy)
+add_schem({"default:dirt_with_snow"}, 0.025, {"alpine"}, 40, 140, ethereal.pinetree, ethereal.alpine)
-- default apple tree
add_schem({"default:dirt_with_grass"}, 0.02, {"jumble"}, 1, 100, dpath .. "apple_tree.mts", ethereal.grassy)
add_schem({"default:dirt_with_grass"}, 0.03, {"grassy"}, 1, 100, dpath .. "apple_tree.mts", ethereal.grassy)
-- big old tree
-add_schem({"default:dirt_with_grass"}, 0.001, {"jumble"}, 1, 100, path .. "bigtree.mts", ethereal.jumble)
+add_schem({"default:dirt_with_grass"}, 0.001, {"jumble"}, 1, 100, ethereal.bigtree, ethereal.jumble)
-- aspen tree
add_schem({"default:dirt_with_grass"}, 0.02, {"grassytwo"}, 1, 50, dpath .. "aspen_tree.mts", ethereal.jumble)
@@ -316,13 +389,13 @@ minetest.register_decoration({
end
-- palm tree
-add_schem({"default:sand"}, 0.0025, {"desert_ocean"}, 1, 1, path .. "palmtree.mts", ethereal.desert)
-add_schem({"default:sand"}, 0.0025, {"plains_ocean"}, 1, 1, path .. "palmtree.mts", ethereal.plains)
-add_schem({"default:sand"}, 0.0025, {"sandclay"}, 1, 1, path .. "palmtree.mts", ethereal.sandclay)
-add_schem({"default:sand"}, 0.0025, {"sandstone_ocean"}, 1, 1, path .. "palmtree.mts", ethereal.sandstone)
-add_schem({"default:sand"}, 0.0025, {"mesa_ocean"}, 1, 1, path .. "palmtree.mts", ethereal.mesa)
-add_schem({"default:sand"}, 0.0025, {"grove_ocean"}, 1, 1, path .. "palmtree.mts", ethereal.grove)
-add_schem({"default:sand"}, 0.0025, {"grassy_ocean"}, 1, 1, path .. "palmtree.mts", ethereal.grassy)
+add_schem({"default:sand"}, 0.0025, {"desert_ocean"}, 1, 1, ethereal.palmtree, ethereal.desert)
+add_schem({"default:sand"}, 0.0025, {"plains_ocean"}, 1, 1, ethereal.palmtree, ethereal.plains)
+add_schem({"default:sand"}, 0.0025, {"sandclay"}, 1, 1, ethereal.palmtree, ethereal.sandclay)
+add_schem({"default:sand"}, 0.0025, {"sandstone_ocean"}, 1, 1, ethereal.palmtree, ethereal.sandstone)
+add_schem({"default:sand"}, 0.0025, {"mesa_ocean"}, 1, 1, ethereal.palmtree, ethereal.mesa)
+add_schem({"default:sand"}, 0.0025, {"grove_ocean"}, 1, 1, ethereal.palmtree, ethereal.grove)
+add_schem({"default:sand"}, 0.0025, {"grassy_ocean"}, 1, 1, ethereal.palmtree, ethereal.grassy)
-- bamboo tree
add_schem({"ethereal:bamboo_dirt"}, 0.025, {"bamboo"}, 1, 100, ethereal.bambootree, ethereal.bamboo)
@@ -331,7 +404,7 @@ add_schem({"ethereal:bamboo_dirt"}, 0.025, {"bamboo"}, 1, 100, ethereal.bambootr
add_schem({"ethereal:bamboo_dirt"}, 0.08, {"bamboo"}, 1, 100, ethereal.bush, ethereal.bamboo)
-- vine tree
-add_schem({"default:dirt_with_grass"}, 0.02, {"swamp"}, 1, 100, path .. "vinetree.mts", ethereal.swamp)
+add_schem({"default:dirt_with_grass"}, 0.02, {"swamp"}, 1, 100, ethereal.vinetree, ethereal.swamp)
-- bush
minetest.register_decoration({
@@ -394,6 +467,9 @@ local add_node = function(a, b, c, d, e, f, g, h, i, j)
})
end
+--firethorn shrub
+add_node({"default:snowblock"}, 0.001, {"glacier"}, 1, 30, {"ethereal:firethorn"}, nil, nil, nil, ethereal.glacier)
+
-- scorched tree
add_node({"ethereal:dry_dirt"}, 0.006, {"plains"}, 1, 100, {"ethereal:scorched_tree"}, 6, nil, nil, ethereal.plains)
@@ -668,7 +744,8 @@ minetest.register_on_generated(function(minp, maxp)
end
local bpos
- local coal = minetest.find_nodes_in_area_under_air(minp, maxp, "default:stone_with_coal")
+ local coal = minetest.find_nodes_in_area_under_air(
+ minp, maxp, "default:stone_with_coal")
for n = 1, #coal do
diff --git a/plantlife.lua b/plantlife.lua
index 31846e3..2c677ce 100644
--- a/plantlife.lua
+++ b/plantlife.lua
@@ -1,6 +1,26 @@
local S = ethereal.intllib
+-- Firethorn (poisonous when eaten raw, must be crushed and washed in flowing water 1st)
+minetest.register_node("ethereal:firethorn", {
+ description = S("Firethorn Shrub"),
+ drawtype = "plantlike",
+ tiles = {"ethereal_firethorn.png"},
+ inventory_image = "ethereal_firethorn.png",
+ wield_image = "ethereal_firethorn.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ waving = 1,
+ walkable = false,
+ buildable_to = true,
+ groups = {snappy = 3, flora = 1, attached_node = 1},
+ sounds = default.node_sound_leaves_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-5 / 16, -0.5, -5 / 16, 5 / 16, 4 / 16, 5 / 16},
+ },
+})
+
-- Fire Flower
minetest.register_node("ethereal:fire_flower", {
description = S("Fire Flower"),
@@ -162,7 +182,7 @@ minetest.register_node("ethereal:dry_shrub", {
waving = 1,
walkable = false,
buildable_to = true,
- groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 2},
+ groups = {snappy = 3, flora = 1, attached_node = 1},
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
diff --git a/sapling.lua b/sapling.lua
index 6ace2f2..1ed8d4b 100644
--- a/sapling.lua
+++ b/sapling.lua
@@ -78,11 +78,11 @@ local path = minetest.get_modpath("ethereal").."/schematics/"
-- grow tree functions
function ethereal.grow_yellow_tree(pos)
- ethereal.add_tree(pos, 4, 0, 4, path .. "yellowtree.mts")
+ ethereal.add_tree(pos, 4, 0, 4, ethereal.yellowtree)
end
function ethereal.grow_big_tree(pos)
- ethereal.add_tree(pos, 4, 0, 4, path .. "bigtree.mts")
+ ethereal.add_tree(pos, 4, 0, 4, ethereal.bigtree)
end
function ethereal.grow_banana_tree(pos)
@@ -90,27 +90,23 @@ function ethereal.grow_banana_tree(pos)
end
function ethereal.grow_frost_tree(pos)
- ethereal.add_tree(pos, 4, 0, 4, path .. "frosttrees.mts")
+ ethereal.add_tree(pos, 4, 0, 4, ethereal.frosttrees)
end
function ethereal.grow_mushroom_tree(pos)
- ethereal.add_tree(pos, 4, 0, 4, path .. "mushroomone.mts")
+ ethereal.add_tree(pos, 4, 0, 4, ethereal.mushroomone)
end
function ethereal.grow_palm_tree(pos)
- ethereal.add_tree(pos, 4, 0, 4, path .. "palmtree.mts")
+ ethereal.add_tree(pos, 4, 0, 4, ethereal.palmtree)
end
function ethereal.grow_willow_tree(pos)
- ethereal.add_tree(pos, 5, 0, 5, path .. "willow.mts")
+ ethereal.add_tree(pos, 5, 0, 5, ethereal.willow)
end
function ethereal.grow_redwood_tree(pos)
- if math.random(1, 2) == 1 then
- ethereal.add_tree(pos, 9, 3, 9, path .. "redwood.mts") -- shinji
- else
- ethereal.add_tree(pos, 8, 6, 8, path .. "redwood_tree.mts") -- iska
- end
+ ethereal.add_tree(pos, 7, 0, 7, ethereal.redwood_tree)
end
function ethereal.grow_orange_tree(pos)
@@ -160,7 +156,6 @@ ethereal.grow_sapling = function (pos, node)
-- Check if Ethereal Sapling is growing on correct substrate
if node.name == "ethereal:yellow_tree_sapling"
--- and under == "default:dirt_with_snow" then
and minetest.get_item_group(under, "soil") > 0 then
ethereal.grow_yellow_tree(pos)
@@ -189,7 +184,6 @@ ethereal.grow_sapling = function (pos, node)
ethereal.grow_willow_tree(pos)
elseif node.name == "ethereal:redwood_sapling"
- --and under == "bakedclay:red" then
and under == "default:dirt_with_dry_grass" then
ethereal.grow_redwood_tree(pos)
@@ -226,11 +220,3 @@ minetest.register_abm({
ethereal.grow_sapling(pos, node)
end,
})
-
---[[ burn saplings
-minetest.register_craft({
- type = "fuel",
- recipe = "group:ethereal_sapling",
- burntime = 10,
-})
-]] \ No newline at end of file
diff --git a/schematics/bamboo_tree.lua b/schematics/bamboo_tree.lua
index 15709da..b61f045 100644
--- a/schematics/bamboo_tree.lua
+++ b/schematics/bamboo_tree.lua
@@ -1,79 +1,79 @@
--- bamboo stalk with leaves
-
-local ai = {name = "air", param1 = 000}
-local bt = {name = "ethereal:bamboo", param1 = 255}
-local lp = {name = "ethereal:bamboo_leaves", param1 = 255}
-local lr = {name = "ethereal:bamboo_leaves", param1 = 100}
+local _ = {name = "air", param1 = 000}
+local B = {name = "ethereal:bamboo", param1 = 255}
+local L = {name = "ethereal:bamboo_leaves", param1 = 255}
+local l = {name = "ethereal:bamboo_leaves", param1 = 100}
ethereal.bambootree = {
size = {x = 3, y = 18, z = 3},
- data = {
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ {ypos = 1, prob = 127},
+ {ypos = 2, prob = 127},
+ },
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- lr, lp, lr,
- ai, lp, ai,
- ai, ai, ai,
+ data = {
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- ai, bt, ai,
- lr, lp, lr,
- ai, lp, ai,
- ai, lr, ai,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ l,L,l,
+ _,L,_,
+ _,_,_,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- lr, lp, lr,
- ai, lp, ai,
- ai, ai, ai,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ _,B,_,
+ l,L,l,
+ _,L,_,
+ _,l,_,
- },
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ l,L,l,
+ _,L,_,
+ _,_,_,
- yslice_prob = {
- {ypos = 3, prob = 127},
- },
+ }
}
if ethereal.papyruswalk == true then
diff --git a/schematics/banana_tree.lua b/schematics/banana_tree.lua
index 194992f..3a8e303 100644
--- a/schematics/banana_tree.lua
+++ b/schematics/banana_tree.lua
@@ -1,85 +1,83 @@
--- banana tree
-
-local ai = {name = "air", param1 = 000}
-local tr = {name = "ethereal:banana_trunk", param1 = 255}
-local lp = {name = "ethereal:bananaleaves", param1 = 255}
-local lr = {name = "ethereal:bananaleaves", param1 = 180}
-local bp = {name = "ethereal:banana", param1 = 255}
-local br = {name = "ethereal:banana", param1 = 070}
+local _ = {name = "air", param1 = 0}
+local T = {name = "ethereal:banana_trunk", param1 = 255}
+local L = {name = "ethereal:bananaleaves", param1 = 255}
+local l = {name = "ethereal:bananaleaves", param1 = 180}
+local B = {name = "ethereal:banana", param1 = 255}
+local b = {name = "ethereal:banana", param1 = 070}
ethereal.bananatree = {
size = {x = 7, y = 8, z = 7},
- data = {
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ },
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, lr, ai, ai, ai,
- ai, ai, ai, lp, ai, ai, ai,
+ data = {
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, br, ai, ai, ai,
- ai, ai, ai, bp, ai, ai, ai,
- ai, ai, ai, lp, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,l,_,_,_,
+ _,_,_,L,_,_,_,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, br, tr, br, ai, ai,
- ai, ai, bp, lp, bp, ai, ai,
- ai, lp, lp, lp, lp, lp, ai,
- lp, lr, ai, lp, ai, lr, lp,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,b,_,_,_,
+ _,_,_,B,_,_,_,
+ _,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,
- ai, ai, ai, tr, ai, ai, ai,
- ai, ai, ai, tr, ai, ai, ai,
- ai, ai, ai, tr, ai, ai, ai,
- ai, ai, ai, tr, ai, ai, ai,
- ai, ai, ai, br, ai, ai, ai,
- ai, ai, ai, bp, ai, ai, ai,
- ai, ai, ai, lp, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,b,T,b,_,_,
+ _,_,B,L,B,_,_,
+ _,L,L,L,L,L,_,
+ L,l,_,L,_,l,L,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, lp, ai, ai, ai,
- ai, ai, ai, lr, ai, ai, ai,
+ _,_,_,T,_,_,_,
+ _,_,_,T,_,_,_,
+ _,_,_,T,_,_,_,
+ _,_,_,T,_,_,_,
+ _,_,_,b,_,_,_,
+ _,_,_,B,_,_,_,
+ _,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, lp, ai, ai, ai,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,
+ _,_,_,l,_,_,_,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai, ai, ai,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,
- },
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
- yslice_prob = {
- {ypos = 1, prob = 127},
- },
+ }
}
diff --git a/schematics/bigtree.lua b/schematics/bigtree.lua
new file mode 100644
index 0000000..2ee6605
--- /dev/null
+++ b/schematics/bigtree.lua
@@ -0,0 +1,100 @@
+
+local _ = {name = "air", prob = 0}
+local L = {name = "default:leaves", prob = 255}
+local T = {name = "default:tree", prob = 255}
+local t = {name = "default:tree", prob = 127}
+
+ethereal.bigtree = {
+
+ size = {x = 9, y = 8, z = 9},
+
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ {ypos = 1, prob = 127},
+ },
+
+ data = {
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,t,t,_,t,t,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,L,L,L,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,t,t,t,t,t,t,t,_,
+ _,_,_,t,_,t,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,L,L,L,L,L,_,_,
+ _,_,_,L,L,L,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,t,t,t,T,t,t,t,_,
+ _,_,t,t,T,t,t,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,L,L,L,T,L,L,L,_,
+ _,_,L,L,L,L,L,_,_,
+ _,_,_,L,L,L,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,t,T,T,T,t,_,_,
+ _,_,_,T,T,T,_,_,_,
+ _,_,_,T,T,T,_,_,_,
+ _,_,_,T,T,T,_,_,_,
+ L,L,L,L,T,L,L,L,L,
+ _,L,L,L,T,L,L,L,_,
+ _,_,L,L,L,L,L,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,t,t,t,T,t,t,t,_,
+ _,_,t,t,T,t,t,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,L,L,L,T,L,L,L,_,
+ _,_,L,L,L,L,L,_,_,
+ _,_,_,L,L,L,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,t,t,t,t,t,t,t,_,
+ _,_,_,t,_,t,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,L,L,L,L,L,_,_,
+ _,_,_,L,L,L,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,t,t,_,t,t,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,L,L,L,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/bigtree.mts b/schematics/bigtree.mts
deleted file mode 100644
index 61446fd..0000000
--- a/schematics/bigtree.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/birch_tree.lua b/schematics/birch_tree.lua
index 40d326f..afd190b 100644
--- a/schematics/birch_tree.lua
+++ b/schematics/birch_tree.lua
@@ -1,60 +1,59 @@
--- birch tree
-
-local ai = {name = "air", param1 = 000}
-local tr = {name = "ethereal:birch_trunk", param1 = 255}
-local lp = {name = "ethereal:birch_leaves", param1 = 255}
-local lr = {name = "ethereal:birch_leaves", param1 = 150}
+local _ = {name = "air", param1 = 0}
+local T = {name = "ethereal:birch_trunk", param1 = 255}
+local L = {name = "ethereal:birch_leaves", param1 = 255}
+local l = {name = "ethereal:birch_leaves", param1 = 150}
ethereal.birchtree = {
size = {x = 5, y = 7, z = 5},
- data = {
-
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
- lr, lp, lp, lp, lr,
- lr, lp, lp, lp, lr,
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
-
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
- lp, lp, lp, lp, lp,
- lp, lp, lp, lp, lp,
- ai, lr, lp, lr, ai,
- ai, ai, lp, ai, ai,
-
- ai, ai, tr, ai, ai,
- ai, ai, tr, ai, ai,
- ai, ai, tr, ai, ai,
- lp, lp, tr, lp, lp,
- lp, lp, tr, lp, lp,
- ai, lp, tr, lp, ai,
- ai, lp, lp, lp, ai,
-
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
- lp, lp, lp, lp, lp,
- lp, lp, lp, lp, lp,
- ai, lr, lp, lr, ai,
- ai, ai, lp, ai, ai,
-
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
- lr, lp, lp, lp, lr,
- lr, lp, lp, lp, lr,
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
-
- },
-
yslice_prob = {
- {ypos = 1, prob = 127}
+ {ypos = 0, prob = 127},
+ {ypos = 3, prob = 127},
},
+
+ data = {
+
+ _,_,_,_,_,
+ _,_,_,_,_,
+ _,_,_,_,_,
+ l,L,L,L,l,
+ l,L,L,L,l,
+ _,_,_,_,_,
+ _,_,_,_,_,
+
+ _,_,_,_,_,
+ _,_,_,_,_,
+ _,_,_,_,_,
+ L,L,L,L,L,
+ L,L,L,L,L,
+ _,l,L,l,_,
+ _,_,L,_,_,
+
+ _,_,T,_,_,
+ _,_,T,_,_,
+ _,_,T,_,_,
+ L,L,T,L,L,
+ L,L,T,L,L,
+ _,L,T,L,_,
+ _,L,L,L,_,
+
+ _,_,_,_,_,
+ _,_,_,_,_,
+ _,_,_,_,_,
+ L,L,L,L,L,
+ L,L,L,L,L,
+ _,l,L,l,_,
+ _,_,L,_,_,
+
+ _,_,_,_,_,
+ _,_,_,_,_,
+ _,_,_,_,_,
+ l,L,L,L,l,
+ l,L,L,L,l,
+ _,_,_,_,_,
+ _,_,_,_,_,
+
+ }
}
diff --git a/schematics/bush.lua b/schematics/bush.lua
index 1395b06..d0a0ed3 100644
--- a/schematics/bush.lua
+++ b/schematics/bush.lua
@@ -1,39 +1,38 @@
--- bush
-
-local ai = {name = "air", param1 = 000}
-local bp = {name = "ethereal:bush", param1 = 255}
-local br = {name = "ethereal:bush", param1 = 100}
+local _ = {name = "air", param1 = 0}
+local B = {name = "ethereal:bush", param1 = 255}
+local b = {name = "ethereal:bush", param1 = 100}
ethereal.bush = {
size = {x = 5, y = 3, z = 5},
- data = {
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ {ypos = 2, prob = 127},
+ },
- br, bp, bp, bp, br,
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
+ data = {
- bp, bp, bp, bp, bp,
- ai, br, bp, br, ai,
- ai, ai, ai, ai, ai,
+ b,B,B,B,b,
+ _,_,_,_,_,
+ _,_,_,_,_,
- bp, bp, bp, bp, bp,
- ai, bp, bp, bp, ai,
- ai, ai, br, ai, ai,
+ B,B,B,B,B,
+ _,b,B,b,_,
+ _,_,_,_,_,
- bp, bp, bp, bp, bp,
- ai, br, bp, br, ai,
- ai, ai, ai, ai, ai,
+ B,B,B,B,B,
+ _,B,B,B,_,
+ _,_,b,_,_,
- br, bp, bp, bp, br,
- ai, ai, ai, ai, ai,
- ai, ai, ai, ai, ai,
+ B,B,B,B,B,
+ _,b,B,b,_,
+ _,_,_,_,_,
- },
+ b,B,B,B,b,
+ _,_,_,_,_,
+ _,_,_,_,_,
- yslice_prob = {
- {ypos = 1, prob = 127},
- },
+ }
}
diff --git a/schematics/deadtree.mts b/schematics/deadtree.mts
deleted file mode 100644
index 005b79d..0000000
--- a/schematics/deadtree.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/frosttrees.lua b/schematics/frosttrees.lua
new file mode 100644
index 0000000..428a180
--- /dev/null
+++ b/schematics/frosttrees.lua
@@ -0,0 +1,184 @@
+
+local _ = {name = "air", prob = 0}
+local l = {name = "ethereal:frost_leaves", prob = 255}
+local t = {name = "ethereal:frost_tree", prob = 255}
+
+ethereal.frosttrees = {
+
+ size = {x = 8, y = 19, z = 8},
+
+ yslice_prob = {
+ {ypos = 0, prob = 127}, -- trunk
+ {ypos = 1, prob = 127},
+ {ypos = 2, prob = 127},
+ {ypos = 3, prob = 127},
+ {ypos = 4, prob = 127},
+ {ypos = 5, prob = 127},
+ {ypos = 13, prob = 127}, -- leaves
+ {ypos = 15, prob = 127},
+ },
+
+ data = {
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,l,l,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,l,l,l,l,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,l,l,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,l,l,_,_,_,
+ _,l,l,l,l,l,l,_,
+ _,_,_,l,l,_,_,_,
+ _,_,l,l,l,l,_,_,
+ _,_,_,l,l,_,_,_,
+ _,_,_,l,l,_,_,_,
+ _,_,_,_,_,_,_,_,
+
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,l,t,t,l,_,_,
+ l,l,l,t,t,l,l,l,
+ _,_,l,t,t,l,_,_,
+ _,l,l,t,t,l,l,_,
+ _,_,l,t,t,l,_,_,
+ _,_,l,t,t,l,_,_,
+ _,_,_,l,l,_,_,_,
+
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,_,t,t,_,_,_,
+ _,_,l,t,t,l,_,_,
+ l,l,l,t,t,l,l,l,
+ _,_,l,t,t,l,_,_,
+ _,l,l,t,t,l,l,_,
+ _,_,l,t,t,l,_,_,
+ _,_,l,t,t,l,_,_,
+ _,_,_,l,l,_,_,_,
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,l,l,_,_,_,
+ _,l,l,l,l,l,l,_,
+ _,_,_,l,l,_,_,_,
+ _,_,l,l,l,l,_,_,
+ _,_,_,l,l,_,_,_,
+ _,_,_,l,l,_,_,_,
+ _,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,l,l,l,l,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,l,l,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,l,l,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/frosttrees.mts b/schematics/frosttrees.mts
deleted file mode 100644
index 50499bc..0000000
--- a/schematics/frosttrees.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/igloo.lua b/schematics/igloo.lua
new file mode 100644
index 0000000..39a1c5b
--- /dev/null
+++ b/schematics/igloo.lua
@@ -0,0 +1,60 @@
+
+local _ = {name = "air", prob = 0}
+local S = {name = "default:snowblock", prob = 255}
+
+ethereal.igloo = {
+
+ size = {x = 7, y = 5, z = 8},
+
+ data = {
+
+ _,_,S,S,S,_,_,
+ _,_,S,_,S,_,_,
+ _,_,S,_,S,_,_,
+ _,_,_,S,_,_,_,
+ _,_,_,_,_,_,_,
+
+ _,_,S,S,S,_,_,
+ _,_,S,_,S,_,_,
+ _,_,S,_,S,_,_,
+ _,_,_,S,_,_,_,
+ _,_,_,_,_,_,_,
+
+ _,S,S,S,S,S,_,
+ _,S,_,_,_,S,_,
+ _,S,_,_,_,S,_,
+ _,_,S,S,S,_,_,
+ _,_,_,_,_,_,_,
+
+ S,S,S,S,S,S,S,
+ S,_,_,_,_,_,S,
+ S,_,_,_,_,_,S,
+ _,S,_,_,_,S,_,
+ _,_,S,S,S,_,_,
+
+ S,S,S,S,S,S,S,
+ S,_,_,_,_,_,S,
+ S,_,_,_,_,_,S,
+ _,S,_,_,_,S,_,
+ _,_,S,S,S,_,_,
+
+ S,S,S,S,S,S,S,
+ S,_,_,_,_,_,S,
+ S,_,_,_,_,_,S,
+ _,S,_,_,_,S,_,
+ _,_,S,S,S,_,_,
+
+ _,S,S,S,S,S,_,
+ _,S,_,_,_,S,_,
+ _,S,_,_,_,S,_,
+ _,_,S,S,S,_,_,
+ _,_,_,_,_,_,_,
+
+ _,_,S,S,S,_,_,
+ _,_,S,S,S,_,_,
+ _,_,S,S,S,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/mushroomone.lua b/schematics/mushroomone.lua
new file mode 100644
index 0000000..b458737
--- /dev/null
+++ b/schematics/mushroomone.lua
@@ -0,0 +1,116 @@
+
+local _ = {name = "air", prob = 0}
+local M = {name = "ethereal:mushroom", prob = 255}
+local T = {name = "ethereal:mushroom_trunk", prob = 255}
+local P = {name = "ethereal:mushroom_pore", prob = 255}
+
+ethereal.mushroomone = {
+
+ size = {x = 8, y = 11, z = 8},
+
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ {ypos = 1, prob = 127},
+ {ypos = 7, prob = 127},
+ },
+
+ data = {
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,M,M,_,_,_,
+ _,_,_,M,M,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,M,_,_,M,_,_,
+ _,_,M,_,_,M,_,_,
+ _,_,_,M,M,_,_,_,
+ _,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,M,_,_,_,_,M,_,
+ _,M,_,_,_,_,M,_,
+ _,_,M,P,P,M,_,_,
+ _,_,_,M,M,_,_,_,
+
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ M,_,_,T,T,_,_,M,
+ M,_,_,T,T,_,_,M,
+ _,M,P,P,P,P,M,_,
+ _,_,M,M,M,M,_,_,
+
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ _,_,_,T,T,_,_,_,
+ M,_,_,T,T,_,_,M,
+ M,_,_,T,T,_,_,M,
+ _,M,P,P,P,P,M,_,
+ _,_,M,M,M,M,_,_,
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,M,_,_,_,_,M,_,
+ _,M,_,_,_,_,M,_,
+ _,_,M,P,P,M,_,_,
+ _,_,_,M,M,_,_,_,
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,M,_,_,M,_,_,
+ _,_,M,_,_,M,_,_,
+ _,_,_,M,M,_,_,_,
+ _,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,M,M,_,_,_,
+ _,_,_,M,M,_,_,_,
+ _,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/mushroomone.mts b/schematics/mushroomone.mts
deleted file mode 100644
index 24c6868..0000000
--- a/schematics/mushroomone.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/orange_tree.lua b/schematics/orange_tree.lua
index c7cff9c..fb70f3f 100644
--- a/schematics/orange_tree.lua
+++ b/schematics/orange_tree.lua
@@ -1,42 +1,41 @@
--- orange tree
-
-local ai = {name = "air", param1 = 000}
-local lp = {name = "ethereal:orange_leaves", param1 = 255}
-local lr = {name = "ethereal:orange_leaves", param1 = 200}
-local tr = {name = "default:tree", param1 = 255}
-local of = {name = "ethereal:orange", param1 = 100}
+local _ = {name = "air", param1 = 0}
+local L = {name = "ethereal:orange_leaves", param1 = 255}
+local l = {name = "ethereal:orange_leaves", param1 = 200}
+local T = {name = "default:tree", param1 = 255}
+local o = {name = "ethereal:orange", param1 = 100}
ethereal.orangetree = {
size = {x = 3, y = 6, z = 3},
- data = {
-
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- lr, lr, of,
- lp, lp, lp,
- lr, of, lr,
-
- ai, tr, ai,
- ai, tr, ai,
- ai, tr, ai,
- lr, tr, lr,
- lp, tr, lp,
- lr, lp, lr,
-
- ai, ai, ai,
- ai, ai, ai,
- ai, ai, ai,
- of, lr, lr,
- lp, lp, lp,
- lr, lr, lr,
-
- },
-
yslice_prob = {
- {ypos = 1, prob = 127},
+ {ypos = 0, prob = 127},
+ {ypos = 3, prob = 127},
},
+
+ data = {
+
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ l,l,o,
+ L,L,L,
+ l,o,l,
+
+ _,T,_,
+ _,T,_,
+ _,T,_,
+ l,T,l,
+ L,T,L,
+ l,L,l,
+
+ _,_,_,
+ _,_,_,
+ _,_,_,
+ o,l,l,
+ L,L,L,
+ l,l,l,
+
+ }
}
diff --git a/schematics/palmtree.lua b/schematics/palmtree.lua
new file mode 100644
index 0000000..e890b10
--- /dev/null
+++ b/schematics/palmtree.lua
@@ -0,0 +1,110 @@
+
+local _ = {name = "air", param = 0}
+local L = {name = "ethereal:palmleaves", param = 255}
+local l = {name = "ethereal:palmleaves", param = 191}
+local T = {name = "ethereal:palm_trunk", param = 255}
+local t = {name = "ethereal:palm_trunk", param = 191}
+local C = {name = "ethereal:coconut", param = 127}
+
+ethereal.palmtree = {
+
+ size = {x = 9, y = 9, z = 9},
+
+ yslice_prob = {
+ {ypos = 3, prob = 127},
+ },
+
+ data = {
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,l,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,C,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,T,t,_,_,_,
+ _,_,_,_,_,T,_,_,_,
+ _,_,l,_,_,T,_,_,l,
+ _,_,L,L,C,T,C,L,L,
+ _,_,_,L,L,L,L,L,_,
+ _,_,_,_,_,L,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,C,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,l,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/palmtree.mts b/schematics/palmtree.mts
deleted file mode 100644
index 7408398..0000000
--- a/schematics/palmtree.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/pinetree.lua b/schematics/pinetree.lua
new file mode 100644
index 0000000..f216c5b
--- /dev/null
+++ b/schematics/pinetree.lua
@@ -0,0 +1,81 @@
+
+local _ = {name = "air", prob = 0}
+local L = {name = "ethereal:pineleaves", prob = 255}
+local T = {name = "default:pinetree", prob = 255}
+
+ethereal.pinetree = {
+
+ size = {x = 7, y = 8, z = 7},
+
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ {ypos = 4, prob = 127},
+ },
+
+ data = {
+
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,L,L,L,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,
+ _,L,L,L,L,L,_,
+ _,_,_,L,_,_,_,
+ _,_,L,L,L,_,_,
+ _,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,
+
+ _,_,_,T,_,_,_,
+ _,_,_,T,_,_,_,
+ _,_,L,T,L,_,_,
+ L,L,L,T,L,L,L,
+ _,_,L,T,L,_,_,
+ _,L,L,T,L,L,_,
+ _,_,L,T,L,_,_,
+ _,_,_,L,_,_,_,
+
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,
+ _,L,L,L,L,L,_,
+ _,_,_,L,_,_,_,
+ _,_,L,L,L,_,_,
+ _,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,L,L,L,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/pinetree.mts b/schematics/pinetree.mts
deleted file mode 100644
index edd9b1d..0000000
--- a/schematics/pinetree.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/redwood.mts b/schematics/redwood.mts
deleted file mode 100644
index 32a164f..0000000
--- a/schematics/redwood.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/redwood_tree.lua b/schematics/redwood_tree.lua
new file mode 100644
index 0000000..f7a86b0
--- /dev/null
+++ b/schematics/redwood_tree.lua
@@ -0,0 +1,533 @@
+
+local _ = {name = "air", prob = 0}
+local T = {name = "ethereal:redwood_trunk", prob = 255}
+local L = {name = "ethereal:redwood_leaves", prob = 255}
+
+ethereal.redwood_tree = {
+
+ size = {x = 15, y = 33, z = 15},
+
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ {ypos = 5, prob = 127},
+ {ypos = 6, prob = 127},
+ {ypos = 7, prob = 127},
+ {ypos = 14, prob = 127},
+ {ypos = 15, prob = 127},
+ {ypos = 16, prob = 127},
+ },
+
+ data = {
+
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
+_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,L,L,_,L,_,_,_,_,_,_,
+_,_,_,_,L,L,L,T,L,L,_,_,_,_,_,
+_,_,_,_,_,L,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,L,L,T,L,L,_,_,_,_,_,
+_,_,_,_,L,L,L,T,L,L,_,_,_,_,_,
+_,_,_,_,_,L,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,L,L,L,L,L,_,_,_,
+_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,L,L,T,L,L,_,_,_,_,_,
+_,_,_,_,_,L,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,_,L,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,L,L,T,L,L,_,_,_,
+_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,L,L,L,L,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,L,L,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,_,T,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,L,T,L,L,_,_,_,_,_,
+_,_,_,_,_,_,L,L,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,T,_,_,_,_,_,
+_,_,_,_,_,_,_,L,L,T,L,L,_,_,_,
+_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,L,L,L,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,L,L,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,L,L,L,L,_,_,_,_,_,
+_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,T,T,_,_,_,_,_,
+_,_,_,_,_,_,_,_,L,L,_,L,L,L,L,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,L,L,T,T,L,L,_,_,_,_,_,_,
+_,_,_,_,L,L,L,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,L,_,_,_,_,_,_,_,
+_,_,_,_,L,L,L,L,L,L,_,_,_,_,_,
+_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
+_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
+_,_,_,_,T,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+L,L,L,L,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,_,T,_,_,L,L,L,L,L,
+_,_,_,_,_,_,_,T,_,_,_,L,L,L,_,
+_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,L,L,T,T,_,_,_,_,_,_,_,
+_,_,_,_,L,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,L,T,L,_,_,_,_,_,_,
+_,_,_,_,L,L,L,L,L,L,L,_,_,_,_,
+_,_,_,_,L,L,L,L,L,L,L,_,_,_,_,
+_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
+_,_,_,_,_,_,_,L,_,_,_,_,_,_,_,
+
+_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
+_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
+_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,T,T,T,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,L,L,L,L,
+_,_,_,_,_,_,T,T,T,_,_,_,L,L,L,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,T,T,T,T,T,T,_,_,_,_,_,_,
+L,L,L,L,L,_,T,T,T,_,_,_,_,_,_,
+L,L,L,L,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,T,T,T,_,_,_,
+_,_,_,_,_,_,T,T,T,_,L,T,T,T,L,
+_,_,_,_,_,_,T,T,T,_,_,L,L,L,L,
+_,_,L,L,L,L,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,L,T,T,T,L,_,_,_,_,_,
+_,_,_,_,L,L,L,T,L,L,L,_,_,_,_,
+_,_,_,_,L,L,L,L,L,L,L,_,_,_,_,
+_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
+_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
+
+_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
+_,_,_,_,T,T,T,T,T,T,T,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,T,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,T,T,_,_,
+_,_,_,_,_,_,T,T,T,_,_,L,T,T,L,
+_,_,_,_,_,_,T,T,T,_,_,_,L,L,L,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,T,_,_,T,T,T,_,_,_,_,_,_,
+L,T,T,T,L,_,T,T,T,_,_,_,_,_,_,
+L,L,L,L,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,_,_,_,L,L,L,L,
+_,_,_,_,T,T,T,T,_,_,_,L,L,L,_,
+_,L,L,L,L,L,_,T,_,_,_,_,_,_,_,
+_,_,_,L,L,_,_,T,L,L,L,L,_,_,_,
+_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,L,T,L,_,_,_,_,_,_,
+_,_,_,_,L,L,L,L,L,L,L,_,_,_,_,
+_,_,_,_,L,L,L,L,L,L,_,_,_,_,_,
+_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,_,L,L,_,_,_,_,_,_,
+
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,L,L,L,L,
+_,_,_,_,_,_,_,_,_,_,_,_,L,L,L,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,_,L,L,L,_,_,_,_,_,
+L,L,L,L,L,_,_,_,L,_,_,_,_,_,_,
+L,L,L,L,_,_,T,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,L,L,L,L,
+_,_,_,_,T,_,_,_,_,_,_,_,_,_,_,
+_,L,L,T,T,L,L,T,T,T,_,_,_,_,_,
+_,_,L,L,L,_,_,L,L,T,L,L,_,_,_,
+_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
+_,_,_,_,_,_,_,L,_,_,_,_,_,_,_,
+_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
+_,_,_,_,_,L,L,L,L,L,_,_,_,_,_,
+_,_,_,_,_,_,L,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,_,T,T,T,T,T,_,_,_,_,_,
+_,_,_,_,_,_,T,T,T,_,_,_,_,_,_,
+_,_,_,_,_,_,_,T,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,L,L,L,L,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,T,_,_,_,_,_,_,
+_,_,_,_,_,_,_,L,L,L,_,_,_,_,_,
+L,L,L,L,_,_,_,_,L,L,_,_,_,_,_,
+_,_,_,_,_,_,T,_,_,_,_,_,_,_,_,
+_,_,_,_,_,L,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,L,L,L,L,L,L,_,_,_,_,_,_,_,_,
+_,_,_,L,L,_,_,L,L,T,L,L,_,_,_,
+_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,L,L,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,L,L,L,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,T,_,_,_,_,_,_,_,_,
+_,_,_,_,L,L,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,L,L,L,L,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,L,L,L,L,L,_,_,_,
+_,_,_,_,_,_,_,_,_,L,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,T,_,_,_,_,_,_,_,_,
+_,_,_,_,L,L,T,L,L,_,_,_,_,_,_,
+_,_,_,_,_,L,L,L,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,L,L,L,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,L,L,T,L,L,_,_,_,_,_,_,
+_,_,_,_,_,L,L,L,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,L,L,L,L,L,_,_,_,_,_,_,
+_,_,_,_,_,_,L,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/redwood_tree.mts b/schematics/redwood_tree.mts
deleted file mode 100644
index 50c367a..0000000
--- a/schematics/redwood_tree.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/vinetree.lua b/schematics/vinetree.lua
new file mode 100644
index 0000000..be54276
--- /dev/null
+++ b/schematics/vinetree.lua
@@ -0,0 +1,77 @@
+
+local _ = {name = "air", prob = 0}
+local T = {name = "default:tree", prob = 255}
+local L = {name = "default:leaves", prob = 255}
+local u = {name = "ethereal:vine", prob = 255, param2 = 2}
+local U = {name = "ethereal:vine", prob = 255, param2 = 3}
+local W = {name = "ethereal:vine", prob = 255, param2 = 4}
+local w = {name = "ethereal:vine", prob = 255, param2 = 5}
+
+ethereal.vinetree = {
+
+ size = {x = 7, y = 7, z = 7},
+
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ },
+
+ data = {
+
+ _,_,_,_,_,_,_,
+ _,W,_,_,_,_,_,
+ _,W,_,W,_,_,_,
+ _,W,_,W,_,_,_,
+ _,W,_,_,_,W,_,
+ _,W,_,_,_,W,_,
+ _,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,
+ _,_,_,_,W,_,_,
+ _,_,_,_,W,_,_,
+ _,L,L,L,W,L,_,
+ _,L,L,_,L,L,_,
+ _,L,L,L,L,L,_,
+ _,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,U,
+ _,_,_,_,_,_,U,
+ _,_,_,_,_,_,U,
+ _,L,T,_,T,L,U,
+ u,L,L,L,L,_,_,
+ _,_,L,L,L,L,_,
+ _,_,L,L,L,_,_,
+
+ _,_,_,T,_,_,_,
+ _,_,_,T,_,_,_,
+ u,_,_,T,_,_,_,
+ u,L,_,L,_,L,_,
+ u,L,L,L,L,L,_,
+ _,L,L,L,L,L,_,
+ _,_,L,L,L,_,_,
+
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,U,
+ _,_,_,_,_,_,U,
+ _,L,T,_,T,L,U,
+ _,L,L,L,L,L,U,
+ _,L,L,L,L,L,_,
+ _,_,_,L,L,_,_,
+
+ _,_,_,_,_,_,_,
+ u,_,_,_,_,_,_,
+ u,_,_,_,w,_,_,
+ u,L,L,L,w,L,_,
+ _,L,L,L,L,_,_,
+ _,_,L,L,L,L,_,
+ _,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,
+ _,_,w,_,_,_,_,
+ _,_,w,_,_,_,_,
+ _,_,w,w,_,_,_,
+ _,_,_,w,w,_,_,
+ _,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/vinetree.mts b/schematics/vinetree.mts
deleted file mode 100644
index e978e40..0000000
--- a/schematics/vinetree.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/volcanol.lua b/schematics/volcanol.lua
new file mode 100644
index 0000000..78da28e
--- /dev/null
+++ b/schematics/volcanol.lua
@@ -0,0 +1,97 @@
+
+local _ = {name = "air", prob = 0}
+local d = {name = "ethereal:fiery_dirt", prob = 245}
+local s = {name = "default:stone", prob = 255}
+local l = {name = "default:lava_source", prob = 255}
+local f = {name = "default:lava_flowing", prob = 255}
+local o = {name = "default:obsidian", prob = 215}
+
+ethereal.volcanol = {
+
+ size = {x = 17, y = 4, z = 15},
+
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ {ypos = 1, prob = 127},
+ {ypos = 2, prob = 127},
+ },
+
+ data = {
+
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,d,d,d,d,_,_,d,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,d,s,s,s,s,d,d,s,d,d,_,_,_,_,
+ _,_,_,_,s,s,s,s,_,_,s,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,d,s,o,o,o,o,s,s,o,s,s,d,_,_,_,
+ _,_,_,s,f,f,s,f,s,s,f,s,s,_,_,_,_,
+ _,_,_,_,s,s,_,s,_,_,s,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,d,s,o,s,s,s,s,o,o,s,o,o,s,d,_,_,
+ _,_,s,l,l,l,l,f,s,f,f,l,l,s,_,_,_,
+ _,_,_,s,f,f,s,s,o,s,o,s,s,_,_,_,_,
+ _,_,_,_,o,o,o,_,_,_,o,_,_,_,_,_,_,
+
+ _,d,s,o,s,o,o,o,s,s,o,s,s,o,s,d,_,
+ _,_,s,f,l,l,l,l,l,l,l,l,l,l,s,_,_,
+ _,_,_,s,f,f,f,f,f,f,l,f,l,s,_,_,_,
+ _,_,_,_,o,_,_,o,o,o,_,o,o,_,_,_,_,
+
+ _,d,s,o,s,o,s,s,o,o,s,o,s,o,s,d,_,
+ _,_,s,s,l,l,l,l,l,l,l,l,l,l,s,_,_,
+ _,_,_,_,o,f,f,f,f,f,f,f,l,s,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,o,_,_,_,_,
+
+ _,_,d,s,o,s,o,s,s,s,s,o,s,o,s,d,_,
+ _,_,_,s,l,l,l,l,l,l,l,l,l,l,s,_,_,
+ _,_,_,s,f,f,f,f,f,f,f,f,l,s,_,_,_,
+ _,_,_,_,o,_,_,_,_,_,_,_,s,_,_,_,_,
+
+ _,d,s,o,s,o,o,o,o,o,o,s,o,s,d,_,_,
+ _,_,s,l,l,l,l,l,l,l,l,l,l,s,_,_,_,
+ _,_,_,s,f,f,f,f,f,f,f,l,s,_,_,_,_,
+ _,_,_,_,o,_,_,_,_,_,_,_,o,_,_,_,_,
+
+ _,d,s,o,s,s,s,s,s,s,o,s,o,s,d,_,_,
+ _,_,s,l,l,l,l,l,l,l,l,l,l,s,_,_,_,
+ _,_,_,s,f,f,f,f,l,l,f,l,s,_,_,_,_,
+ _,_,_,_,o,o,_,_,_,o,_,o,_,_,_,_,_,
+
+ _,_,d,s,o,o,o,o,o,o,s,o,s,d,_,_,_,
+ _,_,_,s,s,l,f,f,f,f,l,l,s,_,_,_,_,
+ _,_,_,_,s,s,s,s,s,s,f,s,_,_,_,_,_,
+ _,_,_,_,_,s,o,o,o,_,s,_,_,_,_,_,_,
+
+ _,_,_,d,s,s,s,s,s,s,o,s,d,_,_,_,_,
+ _,_,_,_,s,s,s,s,s,s,l,s,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,s,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,d,d,d,d,d,d,s,s,d,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,s,s,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,_,d,d,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/volcanol.mts b/schematics/volcanol.mts
deleted file mode 100644
index 93f0104..0000000
--- a/schematics/volcanol.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/volcanom.lua b/schematics/volcanom.lua
new file mode 100644
index 0000000..346126b
--- /dev/null
+++ b/schematics/volcanom.lua
@@ -0,0 +1,36 @@
+
+local _ = {name = "air", prob = 0}
+local l = {name = "default:lava_source", prob = 225}
+local s = {name = "default:stone", prob = 255}
+local d = {name = "ethereal:fiery_dirt", prob = 255}
+
+ethereal.volcanom = {
+
+ size = {x = 6, y = 2, z = 6},
+
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ },
+
+ data = {
+
+ _,_,s,_,_,_,
+ _,_,_,_,_,_,
+
+ _,s,l,s,_,_,
+ _,_,s,d,_,_,
+
+ _,s,l,l,s,_,
+ _,s,_,_,s,_,
+
+ s,l,l,l,s,_,
+ _,s,_,_,d,_,
+
+ _,d,l,l,d,d,
+ _,_,s,d,_,_,
+
+ _,_,d,d,d,_,
+ _,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/volcanom.mts b/schematics/volcanom.mts
deleted file mode 100644
index e618927..0000000
--- a/schematics/volcanom.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/willow.lua b/schematics/willow.lua
new file mode 100644
index 0000000..c53b3ae
--- /dev/null
+++ b/schematics/willow.lua
@@ -0,0 +1,199 @@
+
+local _ = {name = "air", prob = 0}
+local L = {name = "ethereal:willow_twig", prob = 255}
+local T = {name = "ethereal:willow_trunk", prob = 255}
+local t = {name = "ethereal:willow_trunk", prob = 127}
+
+ethereal.willow = {
+
+ size = {x = 12, y = 14, z = 12},
+
+ yslice_prob = {
+ {ypos = 0, prob = 127},
+ {ypos = 1, prob = 127},
+ },
+
+ data = {
+
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,L,_,_,_,_,_,
+ _,_,_,_,L,_,L,_,_,_,_,_,
+ _,_,_,_,L,L,L,L,_,_,_,_,
+ _,_,_,_,_,_,L,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,L,L,L,L,_,_,_,
+ _,_,L,L,L,L,T,L,L,_,_,_,
+ _,_,_,_,_,L,L,L,_,_,_,_,
+ _,_,_,_,_,L,L,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,t,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,_,_,_,_,_,
+ _,_,_,L,_,L,_,L,_,_,_,_,
+ _,_,_,L,L,L,L,L,L,L,_,_,
+ _,_,L,L,L,T,T,L,L,_,_,_,
+ _,_,_,L,L,L,L,L,L,_,_,_,
+ _,_,_,L,L,L,L,L,L,_,_,_,
+ _,_,_,L,L,L,L,_,_,_,_,_,
+ _,_,_,_,_,L,L,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,t,T,T,T,_,_,t,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,L,_,L,_,_,_,_,_,_,_,_,
+ _,L,L,L,L,L,L,_,L,L,L,_,
+ _,L,T,T,L,T,L,L,L,L,_,_,
+ _,_,L,L,L,L,L,L,L,L,_,_,
+ _,_,L,L,L,L,L,L,T,L,_,_,
+ _,_,L,L,L,L,L,L,L,_,_,_,
+ _,_,L,L,L,L,L,_,_,_,_,_,
+ _,_,_,_,L,L,L,_,_,_,_,_,
+ _,_,_,_,_,L,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,T,_,_,T,_,_,_,
+ _,_,_,_,_,T,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,L,_,_,
+ _,_,_,_,_,L,L,_,_,L,_,_,
+ _,_,L,L,_,L,L,L,L,L,L,_,
+ L,L,L,T,L,T,L,L,T,L,L,_,
+ _,L,L,L,L,L,L,L,L,L,L,_,
+ _,L,L,L,L,L,L,L,T,T,L,_,
+ _,L,L,L,L,L,L,L,L,L,L,_,
+ _,L,T,T,T,T,T,L,L,_,_,_,
+ _,_,L,L,L,L,L,L,_,_,_,_,
+ _,_,_,_,L,T,L,L,_,_,_,_,
+ _,_,_,_,_,L,_,_,_,_,_,_,
+
+ _,_,_,_,_,T,T,T,T,t,_,_,
+ _,_,_,_,_,T,T,_,_,_,_,_,
+ _,_,_,_,_,T,T,_,_,_,_,_,
+ _,L,_,_,_,T,T,_,_,_,_,_,
+ _,L,L,_,_,T,_,_,_,L,L,_,
+ _,L,L,L,_,T,L,L,L,L,L,L,
+ L,L,L,T,L,T,T,T,T,T,L,_,
+ _,L,L,L,L,T,L,L,L,L,L,_,
+ _,_,L,L,L,T,T,T,T,L,L,_,
+ _,_,L,L,L,L,L,L,L,L,_,_,
+ _,_,L,T,L,T,T,L,L,_,_,_,
+ _,_,_,L,L,T,T,L,_,_,_,_,
+ _,_,_,L,L,L,L,L,_,_,_,_,
+ _,_,_,_,L,L,L,_,_,_,_,_,
+
+ _,_,t,T,T,T,T,T,_,_,_,_,
+ _,_,_,_,_,T,T,T,_,_,_,_,
+ _,_,_,_,_,T,T,_,_,_,_,_,
+ _,_,_,_,_,T,T,_,_,_,_,_,
+ _,L,_,_,_,T,T,_,_,_,_,_,
+ L,L,L,L,L,T,T,T,L,L,L,L,
+ L,T,T,T,T,T,T,L,T,L,L,_,
+ _,L,L,L,L,L,T,L,L,L,L,_,
+ _,_,L,L,L,L,T,L,L,L,L,_,
+ _,_,_,L,_,L,T,L,L,_,_,_,
+ _,_,_,L,L,L,T,L,L,_,_,_,
+ _,_,_,L,L,L,L,L,L,_,_,_,
+ _,_,_,_,L,L,L,_,_,_,_,_,
+ _,_,_,_,L,L,L,_,_,_,_,_,
+
+ _,_,_,_,_,T,_,_,_,_,_,_,
+ _,_,_,_,_,T,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,_,_,_,_,_,
+ _,_,_,L,L,_,L,_,L,L,_,_,
+ _,L,L,L,L,L,L,_,L,L,L,_,
+ _,L,T,L,L,L,L,L,L,L,_,_,
+ _,L,L,L,L,L,T,L,L,L,_,_,
+ _,_,L,L,L,L,L,L,L,L,_,_,
+ _,_,L,L,L,L,T,L,L,L,_,_,
+ _,_,_,L,L,L,L,L,L,_,_,_,
+ _,_,_,L,L,L,L,L,_,_,_,_,
+ _,_,_,_,L,L,L,_,_,_,_,_,
+ _,_,_,_,_,L,L,_,_,_,_,_,
+
+ _,_,_,_,_,T,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,L,_,_,_,_,_,_,_,_,_,
+ _,L,L,_,_,L,L,_,L,L,L,_,
+ _,L,T,L,L,L,L,L,L,L,_,_,
+ _,_,L,_,L,L,T,L,L,L,_,_,
+ _,_,L,L,L,L,L,L,L,_,_,_,
+ _,_,_,_,L,L,T,T,L,_,_,_,
+ _,_,_,_,L,L,L,L,_,_,_,_,
+ _,_,_,_,L,L,L,_,_,_,_,_,
+ _,_,_,_,_,L,L,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,T,T,t,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,L,_,_,_,_,
+ _,_,_,_,L,_,_,L,_,L,_,_,
+ _,_,L,L,L,L,L,L,L,L,_,_,
+ _,_,L,L,L,L,T,L,L,_,_,_,
+ _,_,_,L,L,L,T,L,_,_,_,_,
+ _,_,_,_,L,L,L,L,_,_,_,_,
+ _,_,_,_,L,L,L,L,_,_,_,_,
+ _,_,_,_,_,L,L,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,t,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,_,_,_,_,_,
+ _,_,_,L,_,_,_,_,_,_,_,_,
+ _,_,_,L,L,L,L,L,L,_,_,_,
+ _,_,_,L,L,L,T,L,_,_,_,_,
+ _,_,_,_,_,L,L,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,L,_,_,_,_,_,
+ _,_,_,_,_,L,L,_,_,_,_,_,
+ _,_,_,_,_,_,L,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/willow.mts b/schematics/willow.mts
deleted file mode 100644
index 35557a8..0000000
--- a/schematics/willow.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/yellowtree.lua b/schematics/yellowtree.lua
new file mode 100644
index 0000000..bef7c25
--- /dev/null
+++ b/schematics/yellowtree.lua
@@ -0,0 +1,201 @@
+
+local _ = {name = "air", prob = 0}
+local T = {name = "ethereal:yellow_trunk", prob = 255}
+local t = {name = "ethereal:yellow_trunk", prob = 127}
+local L = {name = "ethereal:yellowleaves", prob = 255}
+local A = {name = "ethereal:golden_apple", prob = 115}
+
+ethereal.yellowtree = {
+
+ size = {x = 9, y = 19, z = 9},
+
+ yslice_prob = {
+ {ypos = 0, prob = 254},
+ {ypos = 3, prob = 254},
+ {ypos = 5, prob = 254},
+ },
+
+ data = {
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,L,A,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,L,T,L,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,L,A,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,t,_,_,_,_,
+ _,_,_,L,T,L,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,L,t,L,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,L,L,_,_,_,
+ _,_,_,_,_,_,L,L,_,
+ _,_,_,L,_,_,_,_,_,
+ A,L,L,L,T,L,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,_,L,_,L,L,_,
+ _,_,L,L,L,_,_,_,_,
+ A,L,L,L,T,L,_,_,_,
+ _,_,_,L,T,L,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,T,T,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,T,T,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,T,T,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,T,T,t,_,_,
+ _,_,_,_,T,_,T,T,L,
+ _,_,t,T,T,_,L,L,_,
+ L,T,T,_,T,_,_,_,_,
+ _,L,L,_,T,T,t,_,_,
+ _,_,_,_,T,L,T,T,L,
+ _,_,t,T,T,L,L,L,_,
+ L,T,T,L,T,L,_,_,_,
+ _,L,L,_,L,A,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,T,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,_,T,L,L,L,A,
+ _,_,_,L,_,_,_,_,_,
+ _,L,L,_,_,_,_,_,_,
+ _,_,_,_,_,L,_,_,_,
+ _,_,_,L,T,L,L,L,A,
+ _,_,L,L,L,_,_,_,_,
+ _,L,L,_,L,_,_,_,_,
+ _,_,_,_,A,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,t,_,_,_,_,
+ _,_,_,L,T,L,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,L,t,L,_,_,_,
+ _,_,_,L,T,L,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,L,T,L,_,_,_,
+ _,_,_,L,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,L,T,L,_,_,_,
+ _,_,_,_,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,A,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,A,L,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+ _,_,_,_,_,_,_,_,_,
+
+ }
+}
diff --git a/schematics/yellowtree.mts b/schematics/yellowtree.mts
deleted file mode 100644
index 0c482e5..0000000
--- a/schematics/yellowtree.mts
+++ /dev/null
Binary files differ
diff --git a/textures/ethereal_firethorn.png b/textures/ethereal_firethorn.png
new file mode 100644
index 0000000..d051e90
--- /dev/null
+++ b/textures/ethereal_firethorn.png
Binary files differ
diff --git a/textures/ethereal_firethorn_jelly.png b/textures/ethereal_firethorn_jelly.png
new file mode 100644
index 0000000..7ac90b2
--- /dev/null
+++ b/textures/ethereal_firethorn_jelly.png
Binary files differ