summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--README.md10
-rw-r--r--bonemeal.lua250
-rw-r--r--compatibility.lua46
-rw-r--r--crystal.lua17
-rw-r--r--depends.txt1
-rw-r--r--dirt.lua106
-rw-r--r--extra.lua293
-rw-r--r--fences.lua117
-rw-r--r--fishing.lua1
-rw-r--r--flowers.lua6
-rw-r--r--food.lua202
-rw-r--r--gates.lua184
-rw-r--r--init.lua10
-rw-r--r--leaves.lua228
-rw-r--r--mapgen.lua (renamed from mapgen_v7n.lua)126
-rw-r--r--mod.conf2
-rw-r--r--mushroom.lua123
-rw-r--r--onion.lua110
-rw-r--r--ores.lua84
-rw-r--r--papyrus.lua5
-rw-r--r--plantlife.lua410
-rw-r--r--plantpack.lua64
-rw-r--r--sapling.lua169
-rw-r--r--schematics/apple_tree.lua38
-rw-r--r--schematics/bamboo_tree.lua124
-rw-r--r--schematics/banana_tree.lua131
-rw-r--r--schematics/bananatree.mtsbin171 -> 0 bytes
-rw-r--r--schematics/birch_tree.lua108
-rw-r--r--schematics/bush.lua44
-rw-r--r--schematics/jungletree.mtsbin253 -> 0 bytes
-rw-r--r--schematics/large_cactus.mtsbin94 -> 0 bytes
-rw-r--r--schematics/orange_tree.lua58
-rw-r--r--schematics/orangetree.mtsbin131 -> 0 bytes
-rw-r--r--schematics/redwood_tree.mtsbin0 -> 1373 bytes
-rw-r--r--schematics/tree.mtsbin119 -> 0 bytes
-rw-r--r--schematics/waterlily.lua60
-rw-r--r--screenshot.pngbin241070 -> 44078 bytes
-rw-r--r--sealife.lua19
-rw-r--r--stairs.lua156
-rw-r--r--strawberry.lua249
-rw-r--r--textures/blank.pngbin0 -> 357 bytes
-rw-r--r--textures/bone.pngbin0 -> 148 bytes
-rw-r--r--textures/bonemeal.pngbin0 -> 186 bytes
-rw-r--r--textures/bonemeal_particle.pngbin0 -> 116 bytes
-rw-r--r--textures/default_fence_overlay.pngbin285 -> 0 bytes
-rw-r--r--textures/default_gate_overlay.pngbin503 -> 0 bytes
-rw-r--r--textures/default_pine_wood.pngbin223 -> 0 bytes
-rw-r--r--textures/flowers_mushroom_brown.pngbin155 -> 0 bytes
-rw-r--r--textures/flowers_mushroom_red.pngbin167 -> 0 bytes
-rw-r--r--textures/flowers_waterlily.pngbin259 -> 0 bytes
-rw-r--r--textures/moretrees_acacia_sapling.pngbin359 -> 0 bytes
-rw-r--r--textures/moretrees_acacia_trunk.pngbin682 -> 0 bytes
-rw-r--r--textures/moretrees_acacia_trunk_top.pngbin731 -> 0 bytes
-rw-r--r--textures/moretrees_acacia_wood.pngbin364 -> 0 bytes
-rw-r--r--water.lua15
-rw-r--r--wood.lua94
57 files changed, 1895 insertions, 1768 deletions
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 215bb37..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-+## Generic ignorable patterns and files
-+*~
-+debug.txt \ No newline at end of file
diff --git a/README.md b/README.md
index ee8c1db..93e0c3f 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,16 @@ Ethereal v7 Mapgen mod for Minetest
## Changelog
+### 1.20
+
+- Tweaked Ethereal to work with new features and nodes in Minetest 0.4.13+
+- Added bones found in dirt and bonemeal to make tree's and crops grow quicker
+- Tree's follow default rules where saplings need light to grow
+- Using default schematics for apple, pine, acacia and jungle tree's
+- Tidied and split code into separate files
+- Redid coloured grass spread function to run better
+- Added support for moreblock's stairsplus feature
+
### 1.19
- Added new biome routine to help restructure biomes
diff --git a/bonemeal.lua b/bonemeal.lua
new file mode 100644
index 0000000..4f7979b
--- /dev/null
+++ b/bonemeal.lua
@@ -0,0 +1,250 @@
+
+-- bone item
+minetest.register_craftitem("ethereal:bone", {
+ description = "Bone",
+ inventory_image = "bone.png",
+})
+
+-- bonemeal recipe
+minetest.register_craft({
+ type = "shapeless",
+ output = 'ethereal:bonemeal 3',
+ recipe = {'ethereal:bone'},
+})
+
+-- add bones to dirt
+minetest.override_item("default:dirt", {
+ drop = {
+ max_items = 1,
+ items = {
+ {
+ items = {'ethereal:bone', 'default:dirt'},
+ rarity = 30,
+ },
+ {
+ items = {'default:dirt'},
+ }
+ }
+ },
+})
+
+local plants = {
+ "flowers:dandelion_white",
+ "flowers:dandelion_yellow",
+ "flowers:geranium",
+ "flowers:rose",
+ "flowers:tulip",
+ "flowers:viola",
+}
+
+
+local crops = {
+ {"farming:cotton_", 8},
+ {"farming:wheat_", 8},
+ {"farming:tomato_", 8},
+ {"farming:corn_", 8},
+ {"farming:melon_", 8},
+ {"farming:pumpkin_", 8},
+ {"farming:beanpole_", 5},
+ {"farming:blueberry_", 4},
+ {"farming:raspberry_", 4},
+ {"farming:carrot_", 8},
+ {"farming:cocoa_", 3},
+ {"farming:coffee_", 5},
+ {"farming:cucumber_", 4},
+ {"farming:potato_", 4},
+ {"farming:grapes_", 8},
+ {"farming:rhubarb_", 3},
+ {"ethereal:strawberry_", 8},
+ {"ethereal:onion_", 5},
+ {"farming:barley_", 7},
+}
+
+-- growing routine
+local function growth(pointed_thing)
+
+ local pos = pointed_thing.under
+
+ node = minetest.get_node(pos)
+
+ if node.name == ""
+ or node.name == "ignore" then
+ return
+ end
+
+ minetest.add_particlespawner({
+ amount = 4,
+ time = 0.15,
+ minpos = pos,
+ maxpos = pos,
+ minvel = {x = -1, y = 2, z = -1},
+ maxvel = {x = 1, y = 4, z = 1},
+ minacc = {x = -1, y = -1, z = -1},
+ maxacc = {x = 1, y = 1, z = 1},
+ minexptime = 1,
+ maxexptime = 1,
+ minsize = 1,
+ maxsize = 3,
+ texture = "bonemeal_particle.png",
+ })
+
+ -- 50/50 chance of growing a sapling
+ if minetest.get_item_group(node.name, "sapling") > 0 then
+
+ if math.random(1, 2) == 1 then
+ return
+ end
+
+ local under = minetest.get_node({
+ x = pos.x,
+ y = pos.y - 1,
+ z = pos.z
+ })
+
+ -- specific check for palm tree's, so they grow on sand
+ if node.name == "ethereal:palm_sapling"
+ and under.name == "default:sand" then
+ ethereal.grow_palm_tree(pos)
+ return
+ end
+
+ -- check for soil under sapling
+ if minetest.get_item_group(under.name, "soil") == 0 then
+ return
+ end
+
+ -- grow ethereal tree
+ if node.name == "ethereal:palm_sapling" then
+ ethereal.grow_palm_tree(pos)
+
+ elseif node.name == "ethereal:yellow_tree_sapling" then
+ ethereal.grow_yellow_tree(pos)
+
+ elseif node.name == "ethereal:big_tree_sapling" then
+ ethereal.grow_big_tree(pos)
+
+ elseif node.name == "ethereal:banana_tree_sapling" then
+ ethereal.grow_banana_tree(pos)
+
+ elseif node.name == "ethereal:frost_tree_sapling" then
+ ethereal.grow_frost_tree(pos)
+
+ elseif node.name == "ethereal:mushroom_sapling" then
+ ethereal.grow_mushroom_tree(pos)
+
+ elseif node.name == "ethereal:willow_sapling" then
+ ethereal.grow_willow_tree(pos)
+
+ elseif node.name == "ethereal:redwood_sapling" then
+ ethereal.grow_redwood_tree(pos)
+
+ elseif node.name == "ethereal:orange_tree_sapling" then
+ ethereal.grow_orange_tree(pos)
+
+ elseif node.name == "ethereal:bamboo_sprout" then
+ ethereal.grow_bamboo_tree(pos)
+
+ elseif node.name == "ethereal:birch_sapling" then
+ ethereal.grow_birch_tree(pos)
+
+ -- grow default tree
+ elseif node.name == "default:sapling" then
+ default.grow_new_apple_tree(pos)
+
+ elseif node.name == "default:junglesapling" then
+ default.grow_new_jungle_tree(pos)
+
+ elseif node.name == "default:pine_sapling" then
+ default.grow_new_pine_tree(pos)
+
+ elseif node.name == "default:acacia_sapling" then
+ default.grow_new_acacia_tree(pos)
+
+ elseif node.name == "default:aspen_sapling" then
+ default.grow_new_aspen_tree(pos)
+ end
+
+ return
+ end
+
+ local stage = ""
+
+ -- grow registered crops
+ for _, row in pairs(crops) do
+
+ if string.find(node.name, row[1]) then
+
+ stage = tonumber( node.name:split("_")[2] )
+ stage = math.min(stage + math.random(1, 4), row[2])
+
+ minetest.set_node(pos, {name = row[1] .. stage})
+
+ return
+
+ end
+
+ end
+
+ -- grow grass and flowers
+ if minetest.get_item_group(node.name, "soil") > 0 then
+
+ local dirt = minetest.find_nodes_in_area_under_air(
+ {x = pos.x - 2, y = pos.y - 1, z = pos.z - 2},
+ {x = pos.x + 2, y = pos.y + 1, z = pos.z + 2},
+ {"group:soil"})
+
+ for _,n in pairs(dirt) do
+
+ local pos2 = n
+
+ pos2.y = pos2.y + 1
+
+ if math.random(0, 5) > 3 then
+
+ minetest.swap_node(pos2,
+ {name = plants[math.random(1, #plants)]})
+ else
+
+ if node.name == "default:dirt_with_dry_grass" then
+ minetest.swap_node(pos2,
+ {name = "default:dry_grass_" .. math.random(1, 5)})
+ else
+ minetest.swap_node(pos2,
+ {name = "default:grass_" .. math.random(1, 5)})
+ end
+
+ end
+ end
+ end
+end
+
+-- bonemeal item
+minetest.register_craftitem("ethereal:bonemeal", {
+ description = "Bone Meal",
+ inventory_image = "bonemeal.png",
+
+ on_use = function(itemstack, user, pointed_thing)
+
+ if pointed_thing.type == "node" then
+
+ -- Check if node protected
+ if minetest.is_protected(pointed_thing.under, user:get_player_name()) then
+ return
+ end
+
+ if not minetest.setting_getbool("creative_mode") then
+
+ local item = user:get_wielded_item()
+
+ item:take_item()
+ user:set_wielded_item(item)
+ end
+
+ growth(pointed_thing)
+
+ itemstack:take_item()
+
+ return itemstack
+ end
+ end,
+})
diff --git a/compatibility.lua b/compatibility.lua
new file mode 100644
index 0000000..5bfc819
--- /dev/null
+++ b/compatibility.lua
@@ -0,0 +1,46 @@
+
+-- add compatibility for ethereal nodes already in default game or name changed
+minetest.register_alias("ethereal:acacia_trunk", "default:acacia_tree")
+minetest.register_alias("ethereal:acacia_wood", "default:acacia_wood")
+
+minetest.register_alias("ethereal:fence_acacia", "default:fence_acacia_wood")
+minetest.register_alias("ethereal:fence_junglewood", "default:fence_junglewood")
+minetest.register_alias("ethereal:fence_pine", "default:fence_pine_wood")
+
+minetest.register_alias("ethereal:acacia_leaves", "default:acacia_leaves")
+minetest.register_alias("ethereal:pineleaves", "default:pine_needles")
+
+minetest.register_alias("ethereal:mushroom_craftingitem", "flowers:mushroom_brown")
+minetest.register_alias("ethereal:mushroom_plant", "flowers:mushroom_brown")
+minetest.register_alias("ethereal:mushroom_soup_cooked", "ethereal:mushroom_soup")
+minetest.register_alias("ethereal:mushroom_1", "flowers:mushroom_brown")
+minetest.register_alias("ethereal:mushroom_2", "flowers:mushroom_brown")
+minetest.register_alias("ethereal:mushroom_3", "flowers:mushroom_brown")
+minetest.register_alias("ethereal:mushroom_4", "flowers:mushroom_brown")
+
+minetest.register_alias("ethereal:strawberry_bush", "ethereal:strawberry_7")
+minetest.register_alias("ethereal:seed_strawberry", "ethereal:strawberry")
+
+for i = 1, 5 do
+ minetest.register_alias("ethereal:wild_onion_"..i, "ethereal:onion_"..i)
+end
+
+minetest.register_alias("ethereal:onion_7", "ethereal:onion_4")
+minetest.register_alias("ethereal:onion_8", "ethereal:onion_5")
+minetest.register_alias("ethereal:wild_onion_7", "ethereal:onion_4")
+minetest.register_alias("ethereal:wild_onion_8", "ethereal:onion_5")
+minetest.register_alias("ethereal:wild_onion_craftingitem", "ethereal:wild_onion_plant")
+
+minetest.register_alias("ethereal:hearty_stew_cooked", "ethereal:hearty_stew")
+
+minetest.register_alias("ethereal:obsidian_brick", "default:obsidianbrick")
+
+minetest.register_alias("ethereal:crystal_topped_dirt", "ethereal:crystal_dirt")
+minetest.register_alias("ethereal:fiery_dirt_top", "ethereal:fiery_dirt")
+minetest.register_alias("ethereal:gray_dirt_top", "ethereal:gray_dirt")
+minetest.register_alias("ethereal:green_dirt_top", "ethereal:green_dirt")
+
+minetest.register_alias("ethereal:tree_sapling", "default:sapling")
+minetest.register_alias("ethereal:jungle_tree_sapling", "default:junglesapling")
+minetest.register_alias("ethereal:acacia_sapling", "default:acacia_sapling")
+minetest.register_alias("ethereal:pine_tree_sapling", "default:pine_sapling")
diff --git a/crystal.lua b/crystal.lua
index f5eb490..38c02e2 100644
--- a/crystal.lua
+++ b/crystal.lua
@@ -28,9 +28,8 @@ minetest.register_craftitem("ethereal:crystal_ingot", {
minetest.register_craft({
output = "ethereal:crystal_ingot",
recipe = {
- {"default:mese_crystal", "ethereal:crystal_spike", ""},
- {"ethereal:crystal_spike", "default:mese_crystal", ""},
- {"", "", ""},
+ {"default:mese_crystal", "ethereal:crystal_spike"},
+ {"ethereal:crystal_spike", "default:mese_crystal"},
}
})
@@ -82,9 +81,9 @@ minetest.register_tool("ethereal:sword_crystal", {
minetest.register_craft({
output = "ethereal:sword_crystal",
recipe = {
- {"", "ethereal:crystal_ingot", ""},
- {"", "ethereal:crystal_ingot", ""},
- {"", "default:steel_ingot", ""},
+ {"ethereal:crystal_ingot"},
+ {"ethereal:crystal_ingot"},
+ {"default:steel_ingot"},
}
})
@@ -186,9 +185,9 @@ minetest.register_tool("ethereal:shovel_crystal", {
minetest.register_craft({
output = "ethereal:shovel_crystal",
recipe = {
- {"", "ethereal:crystal_ingot", ""},
- {"", "default:steel_ingot", ""},
- {"", "default:steel_ingot", ""},
+ {"ethereal:crystal_ingot"},
+ {"default:steel_ingot"},
+ {"default:steel_ingot"},
}
})
diff --git a/depends.txt b/depends.txt
index 6034d75..fa3316c 100644
--- a/depends.txt
+++ b/depends.txt
@@ -2,4 +2,5 @@ default
farming
stairs
flowers
+doors
bakedclay? \ No newline at end of file
diff --git a/dirt.lua b/dirt.lua
index 006a29f..c3f4c46 100644
--- a/dirt.lua
+++ b/dirt.lua
@@ -1,3 +1,4 @@
+
-- override default dirt (to stop caves cutting away dirt)
minetest.override_item("default:dirt", {is_ground_content = ethereal.cavedirt})
@@ -66,39 +67,54 @@ for n = 1, #dirts do
end
--- Compatibility with old maps
-minetest.register_alias("ethereal:crystal_topped_dirt", "ethereal:crystal_dirt")
-minetest.register_alias("ethereal:fiery_dirt_top", "ethereal:fiery_dirt")
-minetest.register_alias("ethereal:gray_dirt_top", "ethereal:gray_dirt")
-minetest.register_alias("ethereal:green_dirt_top", "ethereal:green_dirt")
+-- re-register dirt types for abm
+dirts = {
+ "ethereal:bamboo_dirt", "ethereal:jungle_dirt", "ethereal:grove_dirt",
+ "ethereal:prairie_dirt", "ethereal:cold_dirt", "ethereal:crystal_dirt",
+ "ethereal:mushroom_dirt", "ethereal:fiery_dirt", "ethereal:gray_dirt",
+ "default:dirt_with_dry_grass"
+}
--- check surrounding grass and change dirt to same colour (by Sokomine)
+-- check surrounding grass and change dirt to same colour
minetest.register_abm({
- nodenames = {"default:dirt_with_grass"},
- interval = 5,
- chance = 2,
+ nodenames = {"default:dirt_with_grass", "default:dirt"},
+ neighbors = {"air"},
+ interval = 6,
+ chance = 65,
catch_up = false,
+
action = function(pos, node)
- local count_grasses = {}
- local curr_max = 0
+ -- not enough light
+ local above = {x = pos.x, y = pos.y + 1, z = pos.z}
+
+ if (minetest.get_node_light(above) or 0) < 13 then
+ return
+ end
+
+ -- water above grass
+ local name = minetest.get_node(above).name
+ local nodef = minetest.registered_nodes[name]
+
+ if name == "ignore" or not nodef or nodef.liquidtype ~= "none" then
+ return
+ end
+
+ local curr_max, num = 0
local curr_type = "ethereal:green_dirt" -- fallback
- local positions = minetest.find_nodes_in_area(
- {x = (pos.x - 1), y = (pos.y - 2), z = (pos.z - 1)},
- {x = (pos.x + 1), y = (pos.y + 2), z = (pos.z + 1)},
+ local positions, grasses = minetest.find_nodes_in_area(
+ {x = (pos.x - 2), y = (pos.y - 2), z = (pos.z - 2)},
+ {x = (pos.x + 2), y = (pos.y + 2), z = (pos.z + 2)},
"group:ethereal_grass")
-- count new grass nodes
- for _,p in pairs(positions) do
+ for _,p in pairs(dirts) do
- local n = minetest.get_node(p).name
+ num = grasses[p] or 0
- count_grasses[n] = (count_grasses[n] or 0) + 1
-
- -- we found a grass type with more than current max
- if count_grasses[n] > curr_max then
- curr_max = count_grasses[n]
- curr_type = n
+ if num > curr_max then
+ curr_max = num
+ curr_type = p
end
end
@@ -114,8 +130,8 @@ minetest.override_item("default:dirt_with_dry_grass", {
-- if grass devoid of light, change to dirt
minetest.register_abm({
nodenames = {"group:ethereal_grass"},
- interval = 2,
- chance = 20,
+ interval = 8,
+ chance = 40, -- 50
catch_up = false,
action = function(pos, node)
@@ -164,3 +180,45 @@ if not minetest.get_modpath("bakedclay") then
})
end
+
+-- Quicksand (old style, sinking inside shows black instead of yellow effect,
+-- works ok with noclip enabled though)
+minetest.register_node("ethereal:quicksand", {
+ description = "Quicksand",
+ tiles = {"default_sand.png"},
+ drop = "default:sand",
+ liquid_viscosity = 15,
+ liquidtype = "source",
+ liquid_alternative_flowing = "ethereal:quicksand",
+ liquid_alternative_source = "ethereal:quicksand",
+ liquid_renewable = false,
+ liquid_range = 0,
+ drowning = 1,
+ walkable = false,
+ climbable = false,
+ post_effect_color = {r = 230, g = 210, b = 160, a = 245},
+ groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
+ sounds = default.node_sound_sand_defaults(),
+})
+
+-- Quicksand (new style, sinking inside shows yellow effect with or without noclip,
+-- but old quicksand is shown as black until block placed nearby to update light)
+minetest.register_node("ethereal:quicksand2", {
+ description = "Quicksand",
+ tiles = {"default_sand.png"},
+ drawtype = "glasslike",
+ paramtype = "light",
+ drop = "default:sand",
+ liquid_viscosity = 15,
+ liquidtype = "source",
+ liquid_alternative_flowing = "ethereal:quicksand2",
+ liquid_alternative_source = "ethereal:quicksand2",
+ liquid_renewable = false,
+ liquid_range = 0,
+ drowning = 1,
+ walkable = false,
+ climbable = false,
+ post_effect_color = {r = 230, g = 210, b = 160, a = 245},
+ groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
+ sounds = default.node_sound_sand_defaults(),
+})
diff --git a/extra.lua b/extra.lua
index 240a47f..ebb216f 100644
--- a/extra.lua
+++ b/extra.lua
@@ -1,29 +1,137 @@
--- vines
-minetest.register_node("ethereal:vine", {
- description = "Vine",
- drawtype = "signlike",
- tiles = {"vine.png"},
- inventory_image = "vine.png",
- wield_image = "vine.png",
+
+-- Bamboo Flooring
+minetest.register_node("ethereal:bamboo_floor", {
+ description = ("Bamboo Floor"),
+ drawtype = 'nodebox',
+ tiles = { "bamboo_floor.png" },
+ wield_image = "bamboo_floor.png",
+ inventory_image = "bamboo_floor.png",
paramtype = "light",
paramtype2 = "wallmounted",
+ walkable = true,
+ node_box = {
+ type = "wallmounted",
+ wall_top = {-0.5, 0.4375, -0.5, 0.5, 0.5, 0.5},
+ wall_bottom = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
+ wall_side = {-0.5, -0.5, -0.5, -0.4375, 0.5, 0.5},
+ },
+ selection_box = {type = "wallmounted"},
+ groups = {snappy = 3, choppy = 3 , flammable = 2},
+ sounds = default.node_sound_wood_defaults(),
+})
+
+-- Craft Bamboo into Bamboo Flooring
+minetest.register_craft({
+ output = "ethereal:bamboo_floor 2",
+ recipe = {
+ {"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
+ {"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
+ {"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
+ }
+})
+
+-- Craft Bamboo into Paper
+minetest.register_craft({
+ output = "default:paper 6",
+ recipe = {
+ {"ethereal:bamboo", "ethereal:bamboo"},
+ {"ethereal:bamboo", "ethereal:bamboo"},
+ {"ethereal:bamboo", "ethereal:bamboo"},
+ }
+})
+
+-- X pattern craft recipes (5x 'a' in X pattern gives 5 of 'b')
+for _,items in pairs({
+ {"default:cobble", "default:gravel"},
+ {"default:gravel", "default:dirt"},
+ {"default:dirt", "default:sand"},
+ {"default:ice", "default:snow"},
+ {"ethereal:dry_dirt", "default:desert_sand"},
+}) do
+ local a, b = unpack(items)
+ minetest.register_craft({
+ output = b.." 5",
+ recipe = {
+ {a, "", a},
+ {"", a, ""},
+ {a, "", a},
+ }
+ })
+end
+
+-- Paper (2x3 string = 4 paper)
+minetest.register_craft({
+ output = "default:paper 4",
+ recipe = {
+ {"farming:string", "farming:string"},
+ {"farming:string", "farming:string"},
+ {"farming:string", "farming:string"},
+ }
+})
+
+-- Palm Wax
+minetest.register_craftitem("ethereal:palm_wax", {
+ description = "Palm Wax",
+ inventory_image = "palm_wax.png",
+ wield_image = "palm_wax.png",
+})
+
+minetest.register_craft({
+ type = "cooking",
+ cooktime = 10,
+ output = "ethereal:palm_wax",
+ recipe = "ethereal:palmleaves"
+})
+
+-- Candle from Wax and String/Cotton
+minetest.register_node("ethereal:candle", {
+ description = "Candle",
+ drawtype = "plantlike",
+ inventory_image = "candle_static.png",
+ wield_image = "candle_static.png",
+ tiles = {
+ {
+ name = "candle.png",
+ animation={
+ type="vertical_frames",
+ aspect_w = 32,
+ aspect_h = 32,
+ length = 1.0
+ }
+ },
+ },
+ paramtype = "light",
+ light_source = 11,
+ sunlight_propagates = true,
walkable = false,
- climbable = true,
- is_ground_content = false,
+ groups = {dig_immediate = 3, attached_node = 1},
+ sounds = default.node_sound_defaults(),
selection_box = {
- type = "wallmounted",
+ type = "fixed",
+ fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }
},
- groups = {choppy = 3, oddly_breakable_by_hand = 1},
- legacy_wallmounted = true,
- sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft({
- output = "ethereal:vine 2",
+ output = "ethereal:candle 2",
recipe = {
- {"group:leaves", "group:leaves", ""},
- {"group:leaves", "group:leaves", ""},
- {"group:leaves", "group:leaves", ""},
+ {"farming:cotton"},
+ {"ethereal:palm_wax"},
+ {"ethereal:palm_wax"},
+ }
+})
+
+-- Wooden Bowl
+minetest.register_craftitem("ethereal:bowl", {
+ description = "Bowl",
+ inventory_image = "bowl.png",
+})
+
+minetest.register_craft({
+ output = "ethereal:bowl",
+ recipe = {
+ {"group:wood", "", "group:wood"},
+ {"", "group:wood", ""},
}
})
@@ -109,26 +217,6 @@ minetest.register_craft({
}
})
--- Ladder (Changes default recipe to give 2x ladders instead of only 1)
-minetest.register_craft({
- output = "default:ladder 2",
- recipe = {
- {"group:stick", "", "group:stick"},
- {"group:stick", "group:stick", "group:stick"},
- {"group:stick", "", "group:stick"},
- }
-})
-
--- Signs (Changes default recipe to give 4x signs instead of only 1)
-minetest.register_craft({
- output = "default:sign_wall 4",
- recipe = {
- {"group:wood", "group:wood", "group:wood"},
- {"group:wood", "group:wood", "group:wood"},
- {"", "group:stick", ""},
- }
-})
-
-- Charcoal Lump
minetest.register_craftitem("ethereal:charcoal_lump", {
description = "Lump of Charcoal",
@@ -144,7 +232,7 @@ minetest.register_craft({
})
minetest.register_craft({
- output = "ethereal:charcoal_lump 4",
+ output = "ethereal:charcoal_lump 2",
type = "cooking",
recipe = "group:tree",
cooktime = 4
@@ -165,106 +253,6 @@ minetest.register_craft({
}
})
--- Obsidian Brick (now in default game so added compatibility for old maps)
-minetest.register_alias("ethereal:obsidian_brick", "default:obsidianbrick")
-
--- Quicksand (old style, sinking inside shows black instead of yellow effect,
--- works ok with noclip enabled though)
-minetest.register_node("ethereal:quicksand", {
- description = "Quicksand",
- tiles = {"default_sand.png"},
- drop = "default:sand",
- liquid_viscosity = 15,
- liquidtype = "source",
- liquid_alternative_flowing = "ethereal:quicksand",
- liquid_alternative_source = "ethereal:quicksand",
- liquid_renewable = false,
- liquid_range = 0,
- drowning = 1,
- walkable = false,
- climbable = false,
- post_effect_color = {r = 230, g = 210, b = 160, a = 245},
- groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
- sounds = default.node_sound_sand_defaults(),
-})
-
--- Quicksand (new style, sinking inside shows yellow effect with or without noclip,
--- but old quicksand is shown as black until block placed nearby to update light)
-minetest.register_node("ethereal:quicksand2", {
- description = "Quicksand",
- tiles = {"default_sand.png"},
- drawtype = "glasslike",
- paramtype = "light",
- drop = "default:sand",
- liquid_viscosity = 15,
- liquidtype = "source",
- liquid_alternative_flowing = "ethereal:quicksand2",
- liquid_alternative_source = "ethereal:quicksand2",
- liquid_renewable = false,
- liquid_range = 0,
- drowning = 1,
- walkable = false,
- climbable = false,
- post_effect_color = {r = 230, g = 210, b = 160, a = 245},
- groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
- sounds = default.node_sound_sand_defaults(),
-})
-
--- Illuminated Cave Shrooms (Red, Green and Blue)
-minetest.register_node("ethereal:illumishroom", {
- description = "Red Illumishroom",
- drawtype = "plantlike",
- tiles = { "illumishroom.png" },
- inventory_image = "illumishroom.png",
- wield_image = "illumishroom.png",
- paramtype = "light",
- light_source = 5,
- sunlight_propagates = true,
- walkable = false,
- groups = {dig_immediate = 3, attached_node = 1,flammable = 3},
- sounds = default.node_sound_leaves_defaults(),
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
- },
-})
-
-minetest.register_node("ethereal:illumishroom2", {
- description = "Green Illumishroom",
- drawtype = "plantlike",
- tiles = { "illumishroom2.png" },
- inventory_image = "illumishroom2.png",
- wield_image = "illumishroom2.png",
- paramtype = "light",
- light_source = 5,
- sunlight_propagates = true,
- walkable = false,
- groups = {dig_immediate = 3, attached_node = 1,flammable = 3},
- sounds = default.node_sound_leaves_defaults(),
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
- },
-})
-
-minetest.register_node("ethereal:illumishroom3", {
- description = "Cyan Illumishroom",
- drawtype = "plantlike",
- tiles = { "illumishroom3.png" },
- inventory_image = "illumishroom3.png",
- wield_image = "illumishroom3.png",
- paramtype = "light",
- light_source = 5,
- sunlight_propagates = true,
- walkable = false,
- groups = {dig_immediate = 3, attached_node = 1,flammable = 3},
- sounds = default.node_sound_leaves_defaults(),
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
- },
-})
-
-- Staff of Light (by Xanthin)
minetest.register_tool("ethereal:light_staff", {
description = "Staff of Light",
@@ -310,32 +298,3 @@ minetest.register_craft({
{"ethereal:illumishroom3", "default:steel_ingot", "ethereal:illumishroom3"}
}
})
-
--- Generate Illumishroom in caves next to coal
-minetest.register_on_generated(function(minp, maxp)
-
- if minp.y > -30 or maxp.y < -3000 then
- return
- end
-
- local bpos
- local coal = minetest.find_nodes_in_area_under_air(minp, maxp, "default:stone_with_coal")
-
- for n = 1, #coal do
-
- bpos = {x = coal[n].x, y = coal[n].y + 1, z = coal[n].z }
-
- if math.random(1, 2) == 1 then
-
- if bpos.y > -3000 and bpos.y < -2000 then
- minetest.swap_node(bpos, {name = "ethereal:illumishroom3"})
-
- elseif bpos.y > -2000 and bpos.y < -1000 then
- minetest.swap_node(bpos, {name = "ethereal:illumishroom2"})
-
- elseif bpos.y > -1000 and bpos.y < -30 then
- minetest.swap_node(bpos, {name = "ethereal:illumishroom"})
- end
- end
- end
-end)
diff --git a/fences.lua b/fences.lua
index a013462..a513612 100644
--- a/fences.lua
+++ b/fences.lua
@@ -1,45 +1,72 @@
-local fences = {
- {"junglewood", "Jungle Wood", "default_junglewood.png", "default:junglewood"},
- {"scorched", "Scorched", "scorched_tree.png", "ethereal:scorched_tree"},
- {"frostwood", "Frost Wood", "frost_wood.png", "ethereal:frost_wood"},
- {"redwood", "Redwood", "redwood_wood.png", "ethereal:redwood_wood"},
- {"willow", "Willow", "willow_wood.png", "ethereal:willow_wood"},
- {"yellowwood", "Healing Wood", "yellow_wood.png", "ethereal:yellow_wood"},
- {"palm", "Palm Wood", "moretrees_palm_wood.png", "ethereal:palm_wood"},
- {"banana", "Banana Wood", "banana_wood.png", "ethereal:banana_wood"},
- {"mushroom", "Mushroom", "mushroom_trunk.png", "ethereal:mushroom_trunk"},
- {"acacia", "Acacia Wood", "moretrees_acacia_wood.png", "ethereal:acacia_wood"},
- {"pine", "Pine Wood", "default_pine_wood.png", "default:pinewood"},
- {"birch", "Birch Wood", "moretrees_birch_wood.png", "ethereal:birch_wood"},
-}
-
-for _, row in pairs(fences) do
-
- minetest.register_node("ethereal:fence_"..row[1], {
- description = row[2].." Fence",
- drawtype = "fencelike",
- is_ground_content = false,
- tiles = {row[3]},
- inventory_image = "default_fence_overlay.png^" .. row[3]
- .. "^default_fence_overlay.png^[makealpha:255,126,126",
- wield_image = "default_fence_overlay.png^" .. row[3]
- .. "^default_fence_overlay.png^[makealpha:255,126,126",
- paramtype = "light",
- sunlight_propagates = true,
- selection_box = {
- type = "fixed",
- fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
- },
- groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
- sounds = default.node_sound_wood_defaults(),
- })
-
- minetest.register_craft({
- output = "ethereal:fence_"..row[1].." 4",
- recipe = {
- {row[4], "group:stick", row[4]},
- {row[4], "group:stick", row[4]},
- }
- })
-
-end
+
+default.register_fence("ethereal:fence_scorched", {
+ description = "Scorched Fence",
+ texture = "scorched_tree.png",
+ material = "ethereal:scorched_tree",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
+ sounds = default.node_sound_wood_defaults()
+})
+
+default.register_fence("ethereal:fence_frostwood", {
+ description = "Frost Fence",
+ texture = "frost_wood.png",
+ material = "ethereal:frost_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
+ sounds = default.node_sound_wood_defaults()
+})
+
+default.register_fence("ethereal:fence_redwood", {
+ description = "Redwood Fence",
+ texture = "redwood_wood.png",
+ material = "ethereal:redwood_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
+ sounds = default.node_sound_wood_defaults()
+})
+
+default.register_fence("ethereal:fence_willow", {
+ description = "Willow Fence",
+ texture = "willow_wood.png",
+ material = "ethereal:willow_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
+ sounds = default.node_sound_wood_defaults()
+})
+
+default.register_fence("ethereal:fence_yellowwood", {
+ description = "Healing Wood Fence",
+ texture = "yellow_wood.png",
+ material = "ethereal:yellow_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
+ sounds = default.node_sound_wood_defaults()
+})
+
+default.register_fence("ethereal:fence_palm", {
+ description = "Palm Fence",
+ texture = "moretrees_palm_wood.png",
+ material = "ethereal:palm_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
+ sounds = default.node_sound_wood_defaults()
+})
+
+default.register_fence("ethereal:fence_banana", {
+ description = "Banana Wood Fence",
+ texture = "banana_wood.png",
+ material = "ethereal:banana_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
+ sounds = default.node_sound_wood_defaults()
+})
+
+default.register_fence("ethereal:fence_mushroom", {
+ description = "Mushroom Fence",
+ texture = "mushroom_trunk.png",
+ material = "ethereal:mushroom_trunk",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
+ sounds = default.node_sound_wood_defaults()
+})
+
+default.register_fence("ethereal:fence_birch", {
+ description = "Birch Fence",
+ texture = "moretrees_birch_wood.png",
+ material = "ethereal:birch_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
+ sounds = default.node_sound_wood_defaults()
+})
diff --git a/fishing.lua b/fishing.lua
index dbcf205..ff40c73 100644
--- a/fishing.lua
+++ b/fishing.lua
@@ -85,6 +85,7 @@ minetest.register_craftitem("ethereal:fishing_rod_baited", {
wield_image = "fishing_rod_wield.png",
stack_max = 1,
liquids_pointable = true,
+
on_use = function (itemstack, user, pointed_thing)
if pointed_thing.type ~= "node" then
diff --git a/flowers.lua b/flowers.lua
index ee4450f..eb58102 100644
--- a/flowers.lua
+++ b/flowers.lua
@@ -2,8 +2,8 @@
minetest.register_abm({
nodenames = {"group:flora"},
neighbors = {"group:soil"},
- interval = 25,
- chance = 15,
+ interval = 13, --25,
+ chance = 96, --15,
catch_up = false,
action = function(pos, node)
@@ -54,7 +54,7 @@ minetest.register_abm({
local fflower = minetest.find_nodes_in_area_under_air(
pos0, pos1, {"ethereal:fire_flower"})
- if #grass > 7
+ if #grass > 8
and #fflower < 1 then
grass = grass[math.random(#grass)]
diff --git a/food.lua b/food.lua
new file mode 100644
index 0000000..3078225
--- /dev/null
+++ b/food.lua
@@ -0,0 +1,202 @@
+
+-- fix apples hanging in sky when no tree around
+minetest.override_item("default:apple", {
+ drop = "default:apple",
+})
+
+-- Banana (Heals one heart when eaten)
+minetest.register_node("ethereal:banana", {
+ description = "Banana",
+ drawtype = "torchlike",
+ visual_scale = 1.0,
+ tiles = {"banana_single.png"},
+ inventory_image = "banana_single.png",
+ wield_image = "banana_single.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.2, -0.5, -0.2, 0.2, 0.2, 0.2}
+ },
+ groups = {
+ fleshy = 3, dig_immediate = 3, flammable = 2,
+ leafdecay = 1, leafdecay_drop = 1
+ },
+ drop = "ethereal:banana",
+ on_use = minetest.item_eat(2),
+ sounds = default.node_sound_leaves_defaults(),
+ after_place_node = function(pos, placer)
+ if placer:is_player() then
+ minetest.set_node(pos, {name = "ethereal:banana", param2 = 1})
+ end
+ end,
+})
+
+-- Banana Dough
+minetest.register_craftitem("ethereal:banana_dough", {
+ description = "Banana Dough",
+ inventory_image = "banana_dough.png",
+})
+
+minetest.register_craft({
+ type = "shapeless",
+ output = "ethereal:banana_dough",
+ recipe = {"farming:flour", "ethereal:banana"}
+})
+
+minetest.register_craft({
+ type = "cooking",
+ cooktime = 14,
+ output = "ethereal:banana_bread",
+ recipe = "ethereal:banana_dough"
+})
+
+-- Orange (Heals 2 hearts when eaten)
+minetest.register_node("ethereal:orange", {
+ description = "Orange",
+ drawtype = "plantlike",
+ visual_scale = 1.0,
+ tiles = {"farming_orange.png"},
+ inventory_image = "farming_orange.png",
+ wield_image = "farming_orange.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
+ },
+ groups = {
+ fleshy = 3, dig_immediate = 3, flammable = 2,
+ leafdecay = 3, leafdecay_drop = 1
+ },
+ drop = "ethereal:orange",
+ on_use = minetest.item_eat(4),
+ sounds = default.node_sound_leaves_defaults(),
+ after_place_node = function(pos, placer)
+ if placer:is_player() then
+ minetest.set_node(pos, {name = "ethereal:orange", param2 = 1})
+ end
+ end,
+})
+
+-- Pine Nuts (Heals 1/2 heart when eaten)
+minetest.register_craftitem("ethereal:pine_nuts", {
+ description = "Pine Nuts",
+ inventory_image = "pine_nuts.png",
+ wield_image = "pine_nuts.png",
+ on_use = minetest.item_eat(1),
+})
+
+-- Banana Loaf (Heals 3 hearts when eaten)
+minetest.register_craftitem("ethereal:banana_bread", {
+ description = "Banana Loaf",
+ inventory_image = "banana_bread.png",
+ wield_image = "banana_bread.png",
+ on_use = minetest.item_eat(6),
+})
+
+-- Coconut (Gives 4 coconut slices, each heal 1/2 heart)
+minetest.register_node("ethereal:coconut", {
+ description = "Coconut",
+ drawtype = "plantlike",
+ walkable = false,
+ paramtype = "light",
+ sunlight_propagates = true,
+ tiles = {"moretrees_coconut.png"},
+ inventory_image = "moretrees_coconut.png",
+ wield_image = "moretrees_coconut.png",
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.35, -0.35, -0.35, 0.35, 0.35, 0.35}
+ },
+ groups = {
+ snappy = 1, oddly_breakable_by_hand = 1, cracky = 1,
+ choppy = 1, flammable = 1, leafdecay = 3, leafdecay_drop = 1
+ },
+ drop = "ethereal:coconut_slice 4",
+ sounds = default.node_sound_wood_defaults(),
+})
+
+-- Coconut Slice (Heals half heart when eaten)
+minetest.register_craftitem("ethereal:coconut_slice", {
+ description = "Coconut Slice",
+ inventory_image = "moretrees_coconut_slice.png",
+ wield_image = "moretrees_coconut_slice.png",
+ on_use = minetest.item_eat(1),
+})
+
+-- Golden Apple (Found on Healing Tree, heals all 10 hearts)
+minetest.register_node("ethereal:golden_apple", {
+ description = "Golden Apple",
+ drawtype = "plantlike",
+ visual_scale = 1.0,
+ tiles = {"default_apple_gold.png"},
+ inventory_image = "default_apple_gold.png",
+ wield_image = "default_apple_gold.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
+ },
+ groups = {
+ fleshy = 3, dig_immediate = 3,
+ leafdecay = 3,leafdecay_drop = 1
+ },
+ drop = "ethereal:golden_apple",
+ on_use = minetest.item_eat(20),
+ sounds = default.node_sound_leaves_defaults(),
+ after_place_node = function(pos, placer, itemstack)
+ if placer:is_player() then
+ minetest.set_node(pos, {name = "ethereal:golden_apple", param2 = 1})
+ end
+ end,
+})
+
+-- Hearty Stew (Heals 5 hearts - thanks to ZonerDarkRevention for his DokuCraft DeviantArt bowl texture)
+minetest.register_craftitem("ethereal:hearty_stew", {
+ description = "Hearty Stew",
+ inventory_image = "hearty_stew.png",
+ wield_image = "hearty_stew.png",
+ on_use = minetest.item_eat(10, "ethereal:bowl"),
+})
+
+minetest.register_craft({
+ output = "ethereal:hearty_stew",
+ recipe = {
+ {"ethereal:wild_onion_plant","ethereal:mushroom_plant", "ethereal:fern_tubers"},
+ {"","ethereal:mushroom_plant", ""},
+ {"","ethereal:bowl", ""},
+ }
+})
+
+-- Extra recipe for hearty stew
+if farming and farming.mod and farming.mod == "redo" then
+minetest.register_craft({
+ output = "ethereal:hearty_stew",
+ recipe = {
+ {"ethereal:wild_onion_plant","ethereal:mushroom_plant", "farming:beans"},
+ {"","ethereal:mushroom_plant", ""},
+ {"","ethereal:bowl", ""},
+ }
+})
+end
+
+-- Bucket of Cactus Pulp
+minetest.register_craftitem("ethereal:bucket_cactus", {
+ description = "Bucket of Cactus Pulp",
+ inventory_image = "bucket_cactus.png",
+ wield_image = "bucket_cactus.png",
+ stack_max = 1,
+ on_use = minetest.item_eat(2, "bucket:bucket_empty"),
+})
+
+minetest.register_craft({
+ output = "ethereal:bucket_cactus",
+ recipe = {
+ {"bucket:bucket_empty","default:cactus"},
+ }
+})
diff --git a/gates.lua b/gates.lua
index b351582..d921b20 100644
--- a/gates.lua
+++ b/gates.lua
@@ -1,136 +1,78 @@
--- Node Box coords
-local nb_gap = {
- {-1, 0.1875, -0.0625, -0.5, 0.3125, 0.0625},
- {-1, -0.1875, -0.0625, -0.5, -0.3125, 0.0625},
- {0.5, 0.1875, -0.0625, 1, 0.3125, 0.0625},
- {0.5, -0.1875, -0.0625, 1, -0.3125, 0.0625}
- }
-local nb_pil = {
- {0.5, -0.5, -0.09375, 0.5625, 0.5, 0.09375},
- {-0.5625, -0.5, -0.09375, -0.5, 0.5, 0.09375},
- {-0.5, -0.3125, -0.0625, -0.375, 0.3125, 0.0625},
- {0.375, -0.3125, -0.0625, 0.5, 0.3125, 0.0625}
- }
+-- register Ethereal wood type gates
--- Open/Close Gates
-function gate_rightclick(pos, node)
+doors.register_fencegate("ethereal:fencegate_scorched", {
+ description = "Scorched Wood Fence Gate",
+ texture = "scorched_tree.png",
+ material = "ethereal:scorched_tree",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
+})
- local split = string.split(node.name, "_")
- local sound = "open"
- local name = "open"
+doors.register_fencegate("ethereal:fencegate_frostwood", {
+ description = "Frost Wood Fence Gate",
+ texture = "frost_wood.png",
+ material = "ethereal:frost_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
+})
- if split[3] == "open" then
- sound = "close"
- name = "closed"
- end
+doors.register_fencegate("ethereal:fencegate_redwood", {
+ description = "Redwood Fence Gate",
+ texture = "redwood_wood.png",
+ material = "ethereal:redwood_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
+})
- node.name = split[1] .. "_" .. split[2] .. "_" .. name
+doors.register_fencegate("ethereal:fencegate_willow", {
+ description = "Willow Wood Fence Gate",
+ texture = "willow_wood.png",
+ material = "ethereal:willow_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
+})
- minetest.swap_node(pos, node)
+doors.register_fencegate("ethereal:fencegate_yellowwood", {
+ description = "Healing Wood Fence Gate",
+ texture = "yellow_wood.png",
+ material = "ethereal:yellow_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
+})
- minetest.sound_play("doors_door_"..sound, {
- pos = pos,
- gain = 0.3,
- max_hear_distance = 10
- })
-end
+doors.register_fencegate("ethereal:fencegate_palm", {
+ description = "Palm Wood Fence Gate",
+ texture = "moretrees_palm_wood.png",
+ material = "ethereal:palm_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
+})
-local gates = {
- {"wood", "Wood", "default_wood.png", "default:wood"},
- {"junglewood", "Jungle Wood", "default_junglewood.png", "default:junglewood"},
- {"scorched", "Scorched", "scorched_tree.png", "ethereal:scorched_tree"},
- {"frostwood", "Frost Wood", "frost_wood.png", "ethereal:frost_wood"},
- {"redwood", "Redwood", "redwood_wood.png", "ethereal:redwood_wood"},
- {"willow", "Willow", "willow_wood.png", "ethereal:willow_wood"},
- {"yellowwood", "Healing Wood", "yellow_wood.png", "ethereal:yellow_wood"},
- {"palm", "Palm Wood", "moretrees_palm_wood.png", "ethereal:palm_wood"},
- {"banana", "Banana Wood", "banana_wood.png", "ethereal:banana_wood"},
- {"mushroom", "Mushroom", "mushroom_trunk.png", "ethereal:mushroom_trunk"},
- {"acacia", "Acacia Wood", "moretrees_acacia_wood.png", "ethereal:acacia_wood"},
- {"pine", "Pine Wood", "default_pine_wood.png", "default:pinewood"},
- {"birch", "Birch Wood", "moretrees_birch_wood.png", "ethereal:birch_wood"},
-}
+doors.register_fencegate("ethereal:fencegate_banana", {
+ description = "Banana Wood Fence Gate",
+ texture = "banana_wood.png",
+ material = "ethereal:banana_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
+})
-for _, row in pairs(gates) do
+doors.register_fencegate("ethereal:fencegate_mushroom", {
+ description = "Mushroom Trunk Fence Gate",
+ texture = "mushroom_trunk.png",
+ material = "ethereal:mushroom_trunk",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
+})
-minetest.register_node("ethereal:fencegate_"..row[1].."_open", {
- tiles = {row[3]},
- paramtype = "light",
- paramtype2 = "facedir",
- sunlight_propagates = true,
- is_ground_content = false,
- walkable = true,
- groups = {
- snappy = 1, choppy = 2, oddly_breakable_by_hand = 2,
- flammable = 2, not_in_inventory = 1
- },
- drop = "ethereal:fencegate_"..row[1].."_closed",
- drawtype = "nodebox",
- node_box = {
- type = "fixed",
- fixed = {
- {-0.5, -0.3125, 0.4375, -0.375, 0.3125, 0.5},
- {0.375, -0.3125, 0.4375, 0.5, 0.3125, 0.5},
- {-0.5, 0.1875, 0.0625, -0.375, 0.3125, 0.4375},
- {-0.5, -0.1875, 0.0625, -0.375, -0.3125, 0.4375},
- {0.375, 0.1875, 0.0625, 0.5, 0.3125, 0.4375},
- {0.375, -0.1875, 0.0625, 0.5, -0.3125, 0.4375},
- nb_pil[1], nb_pil[2],
- nb_pil[3], nb_pil[4],
- nb_gap[1], nb_gap[2],
- nb_gap[3], nb_gap[4],
- }
- },
- selection_box = {
- type = "fixed",
- fixed = {
- {-0.5, -0.3125, -0.0625, -0.375, 0.3125, 0.5},
- {0.375, -0.3125, -0.0625, 0.5, 0.3125, 0.5},
- }
- },
- on_rightclick = gate_rightclick,
+doors.register_fencegate("ethereal:fencegate_birch", {
+ description = "Birch Wood Fence Gate",
+ texture = "moretrees_birch_wood.png",
+ material = "ethereal:birch_wood",
+ groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}
})
-minetest.register_alias("ethereal:"..row[1].."gate_open", "ethereal:fencegate_"..row[1].."_open")
+-- add compatibility for ethereal's to default wooden gates
+minetest.register_alias("ethereal:fencegate_wood_open", "doors:gate_wood_open")
+minetest.register_alias("ethereal:fencegate_wood_closed", "doors:gate_wood_closed")
-minetest.register_node("ethereal:fencegate_"..row[1].."_closed", {
- description = row[2].." Gate",
- tiles = {row[3]},
- inventory_image = "default_gate_overlay.png^" .. row[3]
- .. "^default_gate_overlay.png^[makealpha:255,126,126",
- wield_image = "default_gate_overlay.png^" .. row[3]
- .. "^default_gate_overlay.png^[makealpha:255,126,126",
- paramtype = "light",
- paramtype2 = "facedir",
- sunlight_propagates = true,
- walkable = true,
- groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
- drawtype = "nodebox",
- node_box = {
- type = "fixed",
- fixed = {
- nb_pil[1], nb_pil[2],
- nb_pil[3], nb_pil[4],
- {-0.0625, -0.3125, -0.0625, 0.0625, 0.3125, 0.0625},
- {-1, 0.1875, -0.0625, 1, 0.3125, 0.0625},
- {-1, -0.1875, -0.0625, 1, -0.3125, 0.0625},
- }
- },
- selection_box = {
- type = "fixed",
- fixed = {{-0.5, -0.3125, -0.0625, 0.5, 0.3125, 0.0625}}
- },
- on_rightclick = gate_rightclick,
-})
-minetest.register_alias("ethereal:"..row[1].."gate_closed", "ethereal:fencegate_"..row[1].."_closed")
+minetest.register_alias("ethereal:fencegate_acacia_open", "doors:gate_acacia_wood_open")
+minetest.register_alias("ethereal:fencegate_acacia_closed", "doors:gate_acacia_wood_closed")
-minetest.register_craft({
- output = "ethereal:fencegate_"..row[1].."_closed",
- recipe = {
- {"group:stick", row[4], "group:stick"},
- {"group:stick", row[4], "group:stick"},
- }
-})
+minetest.register_alias("ethereal:fencegate_junglewood_open", "doors:gate_junglewood_open")
+minetest.register_alias("ethereal:fencegate_junglewood_closed", "doors:gate_junglewood_closed")
-end
+minetest.register_alias("ethereal:fencegate_pine_open", "doors:gate_pine_wood_open")
+minetest.register_alias("ethereal:fencegate_pine_closed", "doors:gate_pine_wood_closed")
diff --git a/init.lua b/init.lua
index c2cd5f7..942a0b9 100644
--- a/init.lua
+++ b/init.lua
@@ -1,6 +1,6 @@
--[[
- Minetest Ethereal Mod 1.19 (23rd March 2016)
+ Minetest Ethereal Mod (17th May 2016)
Created by ChinChow
@@ -57,12 +57,14 @@ dofile(path .. "/extra.lua")
dofile(path .. "/sealife.lua")
dofile(path .. "/fences.lua")
dofile(path .. "/gates.lua")
-dofile(path .. "/mapgen_v7n.lua") -- 0.4.13+
+dofile(path .. "/mapgen.lua")
+dofile(path .. "/food.lua")
+dofile(path .. "/bonemeal.lua")
+dofile(path .. "/compatibility.lua")
+dofile(path .. "/stairs.lua")
if minetest.get_modpath("xanadu") then
dofile(path .. "/plantpack.lua")
-else
- dofile(path .. "/stairs.lua")
end
print ("[MOD] Ethereal loaded")
diff --git a/leaves.lua b/leaves.lua
index 92273b8..ab42122 100644
--- a/leaves.lua
+++ b/leaves.lua
@@ -1,55 +1,66 @@
--- Leaf style (set in init.lua file)
-if ethereal.leaftype == 0 then
- leaftype = "plantlike"
-else
+
+-- set leaftype (value inside init.lua)
+local leaftype = "plantlike"
+
+if ethereal.leaftype ~= 0 then
leaftype = "allfaces_optional"
end
---= Define leaves for ALL trees (and Mushroom Tops)
+-- default apple tree leaves
+minetest.override_item("default:leaves", {
+ drawtype = leaftype,
+ visual_scale = 1.2,
+ inventory_image = "default_leaves.png",
+ wield_image = "default_leaves.png",
+ walkable = ethereal.leafwalk,
+})
--- Acacia Leaves
-if not minetest.registered_nodes["default:acacia_leaves"] then
-minetest.register_node("ethereal:acacia_leaves", {
- description = "Acacia Leaves",
+-- default jungle tree leaves
+minetest.override_item("default:jungleleaves", {
drawtype = leaftype,
- tiles = {"moretrees_acacia_leaves.png"},
- inventory_image = "moretrees_acacia_leaves.png",
- wield_image = "moretrees_acacia_leaves.png",
- paramtype = "light",
+ visual_scale = 1.2,
+ inventory_image = "default_jungleleaves.png",
+ wield_image = "default_jungleleaves.png",
walkable = ethereal.leafwalk,
+})
+
+-- default pine tree leaves
+minetest.override_item("default:pine_needles", {
+ drawtype = leaftype,
visual_scale = 1.2,
- waving = 1,
- groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
+ inventory_image = "default_pine_needles.png",
+ wield_image = "default_pine_needles.png",
+ walkable = ethereal.leafwalk,
drop = {
max_items = 1,
items = {
- {items = {"ethereal:acacia_sapling"}, rarity = 20},
- {items = {"ethereal:acacia_leaves"}}
+ {items = {"default:pine_sapling"}, rarity = 20},
+ {items = {"ethereal:pine_nuts"}, rarity = 5},
+ {items = {"default:pine_needles"}}
}
},
- sounds = default.node_sound_leaves_defaults(),
- after_place_node = default.after_place_leaves,
})
-else
+
+-- default acacia tree leaves
minetest.override_item("default:acacia_leaves", {
drawtype = leaftype,
- tiles = {"moretrees_acacia_leaves.png"},
- inventory_image = "moretrees_acacia_leaves.png",
- wield_image = "moretrees_acacia_leaves.png",
+-- tiles = {"moretrees_acacia_leaves.png"},
+ inventory_image = "default_acacia_leaves.png",
+ wield_image = "default_acacia_leaves.png",
+ visual_scale = 1.2,
+ walkable = ethereal.leafwalk,
+})
+
+-- default aspen tree leaves
+minetest.override_item("default:aspen_leaves", {
+ drawtype = leaftype,
+ inventory_image = "default_aspen_leaves.png",
+ wield_image = "default_aspen_leaves.png",
visual_scale = 1.2,
walkable = ethereal.leafwalk,
- drop = {
- max_items = 1,
- items = {
- {items = {"ethereal:acacia_sapling"}, rarity = 20},
- {items = {"default:acacia_leaves"}}
- }
- },
})
-minetest.register_alias("ethereal:acacia_leaves", "default:acacia_leaves")
-end
--- Willow Twig
+-- willow twig
minetest.register_node("ethereal:willow_twig", {
description = "Willow Twig",
drawtype = "plantlike",
@@ -72,7 +83,7 @@ minetest.register_node("ethereal:willow_twig", {
after_place_node = default.after_place_leaves,
})
--- Redwood leaves
+-- redwood leaves
minetest.register_node("ethereal:redwood_leaves", {
description = "Redwood Leaves",
drawtype = leaftype,
@@ -95,23 +106,7 @@ minetest.register_node("ethereal:redwood_leaves", {
after_place_node = default.after_place_leaves,
})
--- Default Apple Tree Leaves
-minetest.override_item("default:leaves", {
- drawtype = leaftype,
- visual_scale = 1.2,
- inventory_image = "default_leaves.png",
- wield_image = "default_leaves.png",
- walkable = ethereal.leafwalk,
- drop = {
- max_items = 1,
- items = {
- {items = {"ethereal:tree_sapling"}, rarity = 15},
- {items = {"default:leaves"}}
- }
- },
-})
-
--- Orange Tree Leaves
+-- orange tree leaves
minetest.register_node("ethereal:orange_leaves", {
description = "Orange Leaves",
drawtype = leaftype,
@@ -134,23 +129,7 @@ minetest.register_node("ethereal:orange_leaves", {
after_place_node = default.after_place_leaves,
})
--- Default Jungle Tree Leaves
-minetest.override_item("default:jungleleaves", {
- drawtype = leaftype,
- visual_scale = 1.2,
- inventory_image = "default_jungleleaves.png",
- wield_image = "default_jungleleaves.png",
- walkable = ethereal.leafwalk,
- drop = {
- max_items = 1,
- items = {
- {items = {"ethereal:jungle_tree_sapling"}, rarity = 20},
- {items = {"default:jungleleaves"}}
- }
- },
-})
-
--- Banana Tree Leaves
+-- banana tree leaves
minetest.register_node("ethereal:bananaleaves", {
description = "Banana Leaves",
drawtype = leaftype,
@@ -165,7 +144,7 @@ minetest.register_node("ethereal:bananaleaves", {
drop = {
max_items = 1,
items = {
- {items = {"ethereal:banana_tree_sapling"}, rarity = 15},
+ {items = {"ethereal:banana_tree_sapling"}, rarity = 10},
{items = {"ethereal:bananaleaves"}}
}
},
@@ -173,7 +152,7 @@ minetest.register_node("ethereal:bananaleaves", {
after_place_node = default.after_place_leaves,
})
--- Healing Tree Leaves
+-- healing tree leaves
minetest.register_node("ethereal:yellowleaves", {
description = "Healing Tree Leaves",
drawtype = leaftype,
@@ -192,14 +171,14 @@ minetest.register_node("ethereal:yellowleaves", {
{items = {"ethereal:yellowleaves"}}
}
},
- -- Leaves are edible, heal half a heart
+ -- one leaf heals half a heart when eaten
on_use = minetest.item_eat(1),
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
light_source = 9,
})
--- Palm Tree Leaves
+-- palm tree leaves
minetest.register_node("ethereal:palmleaves", {
description = "Palm Leaves",
drawtype = leaftype,
@@ -222,7 +201,7 @@ minetest.register_node("ethereal:palmleaves", {
after_place_node = default.after_place_leaves,
})
--- Birch Tree Leaves
+-- birch tree leaves
minetest.register_node("ethereal:birch_leaves", {
description = "Birch Leaves",
drawtype = leaftype,
@@ -245,50 +224,54 @@ minetest.register_node("ethereal:birch_leaves", {
after_place_node = default.after_place_leaves,
})
--- Pine Tree Leaves
-minetest.override_item("default:pine_needles", {
+-- frost tree leaves
+minetest.register_node("ethereal:frost_leaves", {
+ description = "Frost Leaves",
drawtype = leaftype,
visual_scale = 1.2,
- tiles = {"pine_leaves.png"},
- inventory_image = "pine_leaves.png",
- wield_image = "pine_leaves.png",
+ tiles = {"ethereal_frost_leaves.png"},
+ inventory_image = "ethereal_frost_leaves.png",
+ wield_image = "ethereal_frost_leaves.png",
+ paramtype = "light",
walkable = ethereal.leafwalk,
+ waving = 1,
+ groups = {snappy = 3, leafdecay = 3, leaves = 1, puts_out_fire = 1},
drop = {
max_items = 1,
items = {
- {items = {"ethereal:pine_tree_sapling"}, rarity = 20},
- {items = {"ethereal:pine_nuts"}, rarity = 5},
- {items = {"default:pine_needles"}}
+ {items = {"ethereal:frost_tree_sapling"}, rarity = 15},
+ {items = {"ethereal:frost_leaves"}}
}
},
+ light_source = 9,
+ sounds = default.node_sound_leaves_defaults(),
+ after_place_node = default.after_place_leaves,
})
-minetest.register_alias("ethereal:pineleaves", "default:pine_needles")
--- Frost Tree Leaves
-minetest.register_node("ethereal:frost_leaves", {
- description = "Frost Leaves",
+-- bamboo stalk leaves
+minetest.register_node("ethereal:bamboo_leaves", {
+ description = "Bamboo Leaves",
drawtype = leaftype,
visual_scale = 1.2,
- tiles = {"ethereal_frost_leaves.png"},
- inventory_image = "ethereal_frost_leaves.png",
- wield_image = "ethereal_frost_leaves.png",
+ tiles = {"bamboo_leaves.png"},
+ inventory_image = "bamboo_leaves.png",
+ wield_image = "bamboo_leaves.png",
paramtype = "light",
walkable = ethereal.leafwalk,
waving = 1,
- groups = {snappy = 3, leafdecay = 3, leaves = 1, puts_out_fire = 1},
+ groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
drop = {
max_items = 1,
items = {
- {items = {"ethereal:frost_tree_sapling"}, rarity = 15},
- {items = {"ethereal:frost_leaves"}}
+ {items = {"ethereal:bamboo_sprout"}, rarity = 10},
+ {items = {"ethereal:bamboo_leaves"}}
}
},
- light_source = 9,
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
--- Mushroom Tops
+-- mushroom tops
minetest.register_node("ethereal:mushroom", {
description = "Mushroom Cap",
tiles = {"mushroom_block.png"},
@@ -309,7 +292,7 @@ minetest.register_craft({
burntime = 10,
})
--- Mushroom Pore (Spongelike block inside mushrooms that has special properties)
+-- mushroom pore (spongelike material found inside giant shrooms)
minetest.register_node("ethereal:mushroom_pore", {
description = "Mushroom Pore",
tiles = {"mushroom_pore.png"},
@@ -320,7 +303,7 @@ minetest.register_node("ethereal:mushroom_pore", {
sounds = default.node_sound_dirt_defaults(),
})
--- Hedge Block
+-- hedge block
minetest.register_node("ethereal:bush", {
description = "Bush",
tiles = {"ethereal_bush.png"},
@@ -333,30 +316,47 @@ minetest.register_craft({
output = "ethereal:bush",
recipe = {
{"group:leaves", "group:leaves", "group:leaves"},
+ {"group:leaves", "ethereal:bamboo_leaves", "group:leaves"},
{"group:leaves", "group:leaves", "group:leaves"},
+ }
+})
+
+-- bush block #2
+minetest.register_node("ethereal:bush2", {
+ drawtype = "allfaces_optional",
+ description = "Bush #2",
+ tiles = {"default_aspen_leaves.png"},
+ paramtype = "light",
+ walkable = true,
+ groups = {snappy = 3, flammable = 2},
+ sounds = default.node_sound_leaves_defaults(),
+})
+
+minetest.register_craft({
+ output = "ethereal:bush2",
+ recipe = {
+ {"group:leaves", "group:leaves", "group:leaves"},
+ {"group:leaves", "default:aspen_leaves", "group:leaves"},
{"group:leaves", "group:leaves", "group:leaves"},
}
})
--- Bamboo Leaves
-minetest.register_node("ethereal:bamboo_leaves", {
- description = "Bamboo Leaves",
- drawtype = leaftype,
- visual_scale = 1.2,
- tiles = {"bamboo_leaves.png"},
- inventory_image = "bamboo_leaves.png",
- wield_image = "bamboo_leaves.png",
+-- bush block #3
+minetest.register_node("ethereal:bush3", {
+ drawtype = "allfaces_optional",
+ description = "Bush #3",
+ tiles = {"default_pine_needles.png"},
paramtype = "light",
- walkable = ethereal.leafwalk,
- waving = 1,
- groups = {snappy = 3, leafdecay = 3, leaves = 1, flammable = 2},
- drop = {
- max_items = 1,
- items = {
- {items = {"ethereal:bamboo_sprout"}, rarity = 10},
- {items = {"ethereal:bamboo_leaves"}}
- }
- },
+ walkable = true,
+ groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
- after_place_node = default.after_place_leaves,
+})
+
+minetest.register_craft({
+ output = "ethereal:bush3",
+ recipe = {
+ {"group:leaves", "group:leaves", "group:leaves"},
+ {"group:leaves", "default:pine_needles", "group:leaves"},
+ {"group:leaves", "group:leaves", "group:leaves"},
+ }
})
diff --git a/mapgen_v7n.lua b/mapgen.lua
index f230a5d..f922676 100644
--- a/mapgen_v7n.lua
+++ b/mapgen.lua
@@ -1,50 +1,18 @@
--- clear default mapgen biomes and decorations
+
+-- clear default mapgen biomes, decorations and ores
minetest.clear_registered_biomes()
minetest.clear_registered_decorations()
+--minetest.clear_registered_ores()
--- register ore's
-minetest.register_ore({
- ore_type = "blob",
- ore = "bakedclay:red",
- wherein = {"bakedclay:orange"},
- clust_scarcity = 4 * 4 * 4,
- clust_num_ores = 8,
- clust_size = 6,
- y_min = -10,
- y_max = 71,
- noise_params = {
- offset = 0.35,
- scale = 0.2,
- spread = {x = 5, y = 5, z = 5},
- seed = -316,
- octaves = 1,
- persist = 0.5
- },
-})
+local path = minetest.get_modpath("ethereal")
-minetest.register_ore({
- ore_type = "blob",
- ore = "bakedclay:grey",
- wherein = {"bakedclay:orange"},
- clust_scarcity = 4 * 4 * 4,
- clust_num_ores = 8,
- clust_size = 6,
- y_min = -10,
- y_max = 71,
- noise_params = {
- offset = 0.35,
- scale = 0.2,
- spread = {x = 5, y = 5, z = 5},
- seed = -613,
- octaves = 1,
- persist = 0.5
- },
-})
+dofile(path .. "/ores.lua")
-local path = minetest.get_modpath("ethereal") .. "/schematics/"
+path = path .. "/schematics/"
+
+local dpath = minetest.get_modpath("default") .. "/schematics/"
-- tree schematics
-dofile(path .. "apple_tree.lua")
dofile(path .. "orange_tree.lua")
dofile(path .. "banana_tree.lua")
dofile(path .. "bamboo_tree.lua")
@@ -95,6 +63,9 @@ add_biome("glacier", "default:snowblock", "default:snowblock", 1,
add_biome("glacier_ocean", "default:snowblock", "default:sand", 1, "default:sand", 3,
nil, nil, nil, nil, nil, -112, -9, 0, 50, ethereal.glacier)
+add_biome("clearing", nil, "ethereal:green_dirt", 1, "default:dirt", 3,
+ nil, nil, nil, nil, nil, 3, 71, 45, 65, 1) -- ADDED
+
add_biome("bamboo", nil, "ethereal:bamboo_dirt", 1, "default:dirt", 3,
nil, nil, nil, nil, nil, 3, 71, 45, 75, ethereal.bamboo)
@@ -240,31 +211,35 @@ add_schem({"ethereal:fiery_dirt"}, 0.01, {"fiery"}, 1, 100, path .. "volcanom.mt
-- large lava crater
add_schem({"ethereal:fiery_dirt"}, 0.01, {"fiery"}, 1, 100, path .. "volcanol.mts", ethereal.fiery)
--- jungle tree
-add_schem({"ethereal:jungle_dirt"}, 0.08, {"junglee"}, 1, 100, path .. "jungletree.mts", ethereal.junglee)
+-- default jungle tree
+add_schem({"ethereal:jungle_dirt"}, 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)
--- pine tree
-add_schem({"ethereal:cold_dirt"}, 0.025, {"snowy"}, 10, 40, path .. "pinetree.mts", ethereal.snowy)
+-- 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)
--- apple tree
-add_schem({"ethereal:green_dirt"}, 0.03, {"grassy"}, 1, 100, ethereal.appletree, ethereal.grassy)
-add_schem({"ethereal:green_dirt"}, 0.03, {"jumble"}, 1, 100, ethereal.appletree, ethereal.jumble)
+-- default apple tree
+add_schem({"ethereal:green_dirt"}, 0.02, {"jumble"}, 1, 100, dpath .. "apple_tree.mts", ethereal.grassy)
+add_schem({"ethereal:green_dirt"}, 0.03, {"grassy"}, 1, 100, dpath .. "apple_tree.mts", ethereal.grassy)
-- big old tree
-add_schem({"ethereal:green_dirt"}, 0.0025, {"jumble"}, 1, 100, path .. "bigtree.mts", ethereal.jumble)
+add_schem({"ethereal:green_dirt"}, 0.001, {"jumble"}, 1, 100, path .. "bigtree.mts", ethereal.jumble)
+
+-- aspen tree
+add_schem({"ethereal:green_dirt"}, 0.02, {"grassytwo"}, 1, 50,
+ minetest.get_modpath("default").."/schematics/aspen_tree.mts", ethereal.jumble)
-- birch tree
-add_schem({"ethereal:green_dirt"}, 0.03, {"grassytwo"}, 1, 100, ethereal.birchtree, ethereal.grassytwo)
+add_schem({"ethereal:green_dirt"}, 0.02, {"grassytwo"}, 50, 100, ethereal.birchtree, ethereal.grassytwo)
-- orange tree
add_schem({"ethereal:prairie_dirt"}, 0.01, {"prairie"}, 1, 100, ethereal.orangetree, ethereal.prairie)
--- acacia tree
-add_schem({"default:dirt_with_dry_grass"}, 0.004, {"savannah"}, 1, 100, path .. "acaciatree.mts", ethereal.savannah)
+-- default acacia tree
+add_schem({"default:dirt_with_dry_grass"}, 0.004, {"savannah"}, 1, 100, dpath .. "acacia_tree.mts", ethereal.savannah)
-- large cactus (by Paramat)
if ethereal.desert == 1 then
@@ -283,7 +258,7 @@ minetest.register_decoration({
biomes = {"desert"},
y_min = 5,
y_max = 31000,
- schematic = path.."large_cactus.mts",
+ schematic = dpath.."large_cactus.mts",
flags = "place_center_x", --, place_center_z",
rotation = "random",
})
@@ -357,7 +332,7 @@ add_node({"ethereal:crystal_dirt"}, 0.02, {"frost"}, 1, 100, {"ethereal:crystal_
"ethereal:crystalgrass"}, nil, nil, nil, ethereal.frost)
-- red shrub
-add_node({"ethereal:fiery_dirt"}, 0.12, {"fiery"}, 1, 100, {"ethereal:dry_shrub"}, nil, nil, nil, ethereal.fiery)
+add_node({"ethereal:fiery_dirt"}, 0.10, {"fiery"}, 1, 100, {"ethereal:dry_shrub"}, nil, nil, nil, ethereal.fiery)
-- fire flower
--add_node({"ethereal:fiery_dirt"}, 0.02, {"fiery"}, 1, 100, {"ethereal:fire_flower"}, nil, nil, nil, ethereal.fiery)
@@ -400,14 +375,14 @@ minetest.register_decoration({
biomes = {row[1]},
y_min = 1,
y_max = 120,
- decoration = {"flowers:mushroom_fertile_brown", "flowers:mushroom_fertile_red"},
+ decoration = {"flowers:mushroom_brown", "flowers:mushroom_red"},
})
end
end
-- jungle grass
-add_node({"ethereal:jungle_dirt"}, 0.15, {"junglee"}, 1, 100, {"default:junglegrass"}, nil, nil, nil, ethereal.junglee)
+add_node({"ethereal:jungle_dirt"}, 0.10, {"junglee"}, 1, 100, {"default:junglegrass"}, nil, nil, nil, ethereal.junglee)
add_node({"ethereal:green_dirt"}, 0.15, {"jumble"}, 1, 100, {"default:junglegrass"}, nil, nil, nil, ethereal.jumble)
-- grass
@@ -425,6 +400,8 @@ add_node({"ethereal:grove_dirt"}, 0.35, {"grove"}, 1, 100, {"default:grass_2", "
"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.grove)
add_node({"ethereal:bamboo_dirt"}, 0.35, {"bamboo"}, 1, 100, {"default:grass_2", "default:grass_3",
"default:grass_4", "default:grass_5"}, nil, nil, nil, ethereal.bamboo)
+add_node({"ethereal:green_dirt"}, 0.25, {"clearing"}, 1, 100, {"default:grass_2", "default:grass_3",
+ "default:grass_4"}, nil, nil, nil, 1)
-- grass on sand
add_node({"default:sand"}, 0.25, {"sandclay"}, 3, 3, {"default:grass_2", "default:grass_3"}, nil, nil, nil, ethereal.sandclay)
@@ -486,10 +463,7 @@ add_node({"ethereal:prairie_dirt"}, 0.025, {"prairie"}, 1, 100, {"farming:grapeb
end
--- is waterlily in game?
-if minetest.registered_nodes["flowers:waterlily"] then
-
--- place in these beach areas
+-- place waterlily in beach areas
local list = {
{"desert_ocean", ethereal.desert},
{"plains_ocean", ethereal.plains},
@@ -502,7 +476,7 @@ local list = {
for _, row in pairs(list) do
-if row[2] == 1 then
+ if row[2] == 1 then
minetest.register_decoration({
deco_type = "schematic",
@@ -522,8 +496,36 @@ if row[2] == 1 then
schematic = ethereal.waterlily,
rotation = "random",
})
-end
-end
+ end
end
+
+-- Generate Illumishroom in caves next to coal
+minetest.register_on_generated(function(minp, maxp)
+
+ if minp.y > -30 or maxp.y < -3000 then
+ return
+ end
+
+ local bpos
+ local coal = minetest.find_nodes_in_area_under_air(minp, maxp, "default:stone_with_coal")
+
+ for n = 1, #coal do
+
+ bpos = {x = coal[n].x, y = coal[n].y + 1, z = coal[n].z }
+
+ if math.random(1, 2) == 1 then
+
+ if bpos.y > -3000 and bpos.y < -2000 then
+ minetest.swap_node(bpos, {name = "ethereal:illumishroom3"})
+
+ elseif bpos.y > -2000 and bpos.y < -1000 then
+ minetest.swap_node(bpos, {name = "ethereal:illumishroom2"})
+
+ elseif bpos.y > -1000 and bpos.y < -30 then
+ minetest.swap_node(bpos, {name = "ethereal:illumishroom"})
+ end
+ end
+ end
+end)
diff --git a/mod.conf b/mod.conf
index 59e16bb..e001f90 100644
--- a/mod.conf
+++ b/mod.conf
@@ -1 +1 @@
-name = ethereal
+name = ethereal \ No newline at end of file
diff --git a/mushroom.lua b/mushroom.lua
index 8de756a..3df858b 100644
--- a/mushroom.lua
+++ b/mushroom.lua
@@ -1,118 +1,4 @@
--- does flowers:mushroom_red exists?
--- if not then create temporary shroom stuff
-
-if minetest.registered_nodes["flowers:mushroom_red"] then
-
- print ("[Ethereal] Using current mushrooms in flowers mod")
-
-else
-
- print ("[Ethereal] Defining temporary mushrooms")
-
--- The following code was taken from minetest 0.4.13 dev flowers mod
--- incase players are using older version of minetest
-
-minetest.register_node(":flowers:mushroom_red", {
- description = "Red Mushroom",
- tiles = {"flowers_mushroom_red.png"},
- inventory_image = "flowers_mushroom_red.png",
- wield_image = "flowers_mushroom_red.png",
- drawtype = "plantlike",
- paramtype = "light",
- sunlight_propagates = true,
- walkable = false,
- buildable_to = true,
- groups = {snappy = 3, flammable = 3, attached_node = 1},
- sounds = default.node_sound_leaves_defaults(),
- on_use = minetest.item_eat(-5),
- selection_box = {
- type = "fixed",
- fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3}
- }
-})
-
-minetest.register_node(":flowers:mushroom_brown", {
- description = "Brown Mushroom",
- tiles = {"flowers_mushroom_brown.png"},
- inventory_image = "flowers_mushroom_brown.png",
- wield_image = "flowers_mushroom_brown.png",
- drawtype = "plantlike",
- paramtype = "light",
- sunlight_propagates = true,
- walkable = false,
- buildable_to = true,
- groups = {snappy = 3, flammable = 3, attached_node = 1},
- sounds = default.node_sound_leaves_defaults(),
- on_use = minetest.item_eat(1),
- selection_box = {
- type = "fixed",
- fixed = {-0.3, -0.5, -0.3, 0.3, 0, 0.3}
- }
-})
-
--- mushroom spread and death
-minetest.register_abm({
- nodenames = {"flowers:mushroom_brown", "flowers:mushroom_red"},
- interval = 11,
- chance = 50,
- action = function(pos, node)
-
- if minetest.get_node_light(pos, nil) > 14 then
-
- minetest.remove_node(pos)
-
- return
- end
-
- local random = {
- x = pos.x + math.random(-2, 2),
- y = pos.y + math.random(-1, 1),
- z = pos.z + math.random(-2, 2)
- }
-
- local random_node = minetest.get_node_or_nil(random)
-
- if not random_node
- or random_node.name ~= "air" then
- return
- end
-
- local node_under = minetest.get_node_or_nil({
- x = random.x,
- y = random.y - 1,
- z = random.z
- })
-
- if not node_under then
- return
- end
-
- if minetest.get_item_group(node_under.name, "soil") ~= 0
- and minetest.get_node_light(pos, nil) < 9
- and minetest.get_node_light(random, nil) < 9 then
- minetest.swap_node(random, {name = node.name})
- end
- end
-})
-
-end
-
--- these old mushroom related nodes can be simplified now
-minetest.register_alias("flowers:mushroom_spores_brown", "flowers:mushroom_brown")
-minetest.register_alias("flowers:mushroom_spores_red", "flowers:mushroom_red")
-minetest.register_alias("flowers:mushroom_fertile_brown", "flowers:mushroom_brown")
-minetest.register_alias("flowers:mushroom_fertile_red", "flowers:mushroom_red")
-
--- set compatibility with old ethereal shrooms
-minetest.register_alias("ethereal:mushroom_craftingitem", "flowers:mushroom_brown")
-minetest.register_alias("ethereal:mushroom_plant", "flowers:mushroom_brown")
-minetest.register_alias("ethereal:mushroom_soup_cooked", "ethereal:mushroom_soup")
-minetest.register_alias("ethereal:mushroom_1", "flowers:mushroom_brown")
-minetest.register_alias("ethereal:mushroom_2", "flowers:mushroom_brown")
-minetest.register_alias("ethereal:mushroom_3", "flowers:mushroom_brown")
-minetest.register_alias("ethereal:mushroom_4", "flowers:mushroom_brown")
-
-- mushroom soup (Heals 1 heart)
minetest.register_craftitem("ethereal:mushroom_soup", {
description = "Mushroom Soup",
@@ -128,3 +14,12 @@ minetest.register_craft({
{"ethereal:bowl"},
}
})
+
+-- 4x red mushrooms make mushroom block
+minetest.register_craft({
+ output = "ethereal:mushroom",
+ recipe = {
+ {"flowers:mushroom_red", "flowers:mushroom_red"},
+ {"flowers:mushroom_red", "flowers:mushroom_red"},
+ }
+}) \ No newline at end of file
diff --git a/onion.lua b/onion.lua
index 382a7cf..4678ca5 100644
--- a/onion.lua
+++ b/onion.lua
@@ -1,116 +1,100 @@
--- Wild Onion Plant
+
+-- wild onion
minetest.register_craftitem("ethereal:wild_onion_plant", {
description = "Wild Onion",
- groups = {not_in_creative_inventory=1},
inventory_image = "wild_onion.png",
wield_image = "wild_onion.png",
- on_use = minetest.item_eat(2),
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:wild_onion_1")
- end
+ end,
+ on_use = minetest.item_eat(2),
})
-- Define Onion growth stages
-local onion_def = {
+local crop_def = {
drawtype = "plantlike",
tiles = {"ethereal_wild_onion_1.png"},
paramtype = "light",
sunlight_propagates = true,
walkable = false,
buildable_to = true,
- drop = {
- items = {
- {items = {"ethereal:wild_onion_plant"}, rarity = 1},
- }
- },
+ drop = "",
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
},
groups = {
snappy = 3, flammable = 2, plant = 1, attached_node = 1,
- onion = 1, growing = 1, not_in_creative_inventory = 1
+ growing = 1, not_in_creative_inventory = 1
},
sounds = default.node_sound_leaves_defaults(),
}
-minetest.register_node("ethereal:onion_1", table.copy(onion_def))
-onion_def.tiles[1] = "ethereal_wild_onion_2.png"
-onion_def.groups.onion = 2
-minetest.register_node("ethereal:onion_2", table.copy(onion_def))
+--stage 1
+minetest.register_node("ethereal:onion_1", table.copy(crop_def))
-onion_def.tiles[1] = "ethereal_wild_onion_3.png"
-onion_def.groups.onion = 3
-onion_def.drop.items[2] = {
- items = {"ethereal:wild_onion_plant 2"}, rarity = 3
-}
-minetest.register_node("ethereal:onion_3", table.copy(onion_def))
+--stage 2
+crop_def.tiles = {"ethereal_wild_onion_2.png"}
+minetest.register_node("ethereal:onion_2", table.copy(crop_def))
+
+--stage 3
+crop_def.tiles = {"ethereal_wild_onion_3.png"}
+minetest.register_node("ethereal:onion_3", table.copy(crop_def))
-onion_def.tiles[1] = "ethereal_wild_onion_4.png"
-onion_def.groups.onion = 4
-onion_def.drop.items[2] = {
- items = {"ethereal:wild_onion_plant 3"}, rarity = 3
+--stage 4
+crop_def.tiles = {"ethereal_wild_onion_4.png"}
+crop_def.drop = {
+ items = {
+ {items = {"ethereal:wild_onion_plant"}, rarity = 1},
+ {items = {"ethereal:wild_onion_plant 2"}, rarity = 3},
+ }
}
-minetest.register_node("ethereal:onion_4", table.copy(onion_def))
+minetest.register_node("ethereal:onion_4", table.copy(crop_def))
-onion_def.tiles[1] = "ethereal_wild_onion_5.png"
-onion_def.groups.onion = 5
-onion_def.groups.growing = nil
-onion_def.drop.items = {
- {items = {"ethereal:wild_onion_plant 2"}, rarity = 1},
- {items = {"ethereal:wild_onion_plant 3"}, rarity = 2},
+--stage 5
+crop_def.tiles = {"ethereal_wild_onion_5.png"}
+crop_def.groups.growing = 0
+crop_def.drop = {
+ items = {
+ {items = {"ethereal:wild_onion_plant 2"}, rarity = 1},
+ {items = {"ethereal:wild_onion_plant 3"}, rarity = 2},
+ }
}
-minetest.register_node("ethereal:onion_5", table.copy(onion_def))
+minetest.register_node("ethereal:onion_5", table.copy(crop_def))
--- Abm for growing Wild Onion
-if farming.mod ~= "redo" then
+-- growing routine if farming redo isn't present
+if not farming or not farming.mod or farming.mod ~= "redo" then
minetest.register_abm({
- nodenames = {"group:onion"},
+ nodenames = {"ethereal:onion_1", "ethereal:onion_2", "ethereal:onion_3", "ethereal:onion_4"},
neighbors = {"farming:soil_wet"},
- interval = 50,
- chance = 3,
+ interval = 9,
+ chance = 20,
catch_up = false,
action = function(pos, node)
- -- return if already full grown
- if minetest.get_item_group(node.name, "growing") < 1 then
- return
- end
-
- -- check if on wet soil
+ -- are we on wet soil?
pos.y = pos.y - 1
if minetest.get_item_group(minetest.get_node(pos).name, "soil") < 3 then
return
end
pos.y = pos.y + 1
- -- check light
+ -- do we have enough light?
local light = minetest.get_node_light(pos)
+
if not light
or light < 13 then
return
end
- -- grow
- node.name = "ethereal:onion_"..minetest.get_item_group(node.name, "onion") + 1
+ -- grow to next stage
+ local num = node.name:split("_")[2]
+
+ node.name = "ethereal:onion_" .. tonumber(num + 1)
+
minetest.swap_node(pos, node)
end
})
-end
-
-
--- Legacy
-
-minetest.register_alias("ethereal:wild_onion_craftingitem", "ethereal:wild_onion_plant")
-
-for i = 1, 5 do
- minetest.register_alias("ethereal:wild_onion_"..i, "ethereal:onion_"..i)
-end
-
--- Temporary compatibility lines for Xanadu server
-minetest.register_alias("ethereal:onion_7", "ethereal:onion_4")
-minetest.register_alias("ethereal:onion_8", "ethereal:onion_5")
-minetest.register_alias("ethereal:wild_onion_7", "ethereal:onion_4")
-minetest.register_alias("ethereal:wild_onion_8", "ethereal:onion_5")
+end -- END IF
diff --git a/ores.lua b/ores.lua
new file mode 100644
index 0000000..d071929
--- /dev/null
+++ b/ores.lua
@@ -0,0 +1,84 @@
+
+-- Baked Clay
+
+minetest.register_ore({
+ ore_type = "blob",
+ ore = "bakedclay:red",
+ wherein = {"bakedclay:orange"},
+ clust_scarcity = 4 * 4 * 4,
+ clust_num_ores = 8,
+ clust_size = 6,
+ y_min = -10,
+ y_max = 71,
+ noise_params = {
+ offset = 0.35,
+ scale = 0.2,
+ spread = {x = 5, y = 5, z = 5},
+ seed = -316,
+ octaves = 1,
+ persist = 0.5
+ },
+})
+
+minetest.register_ore({
+ ore_type = "blob",
+ ore = "bakedclay:grey",
+ wherein = {"bakedclay:orange"},
+ clust_scarcity = 4 * 4 * 4,
+ clust_num_ores = 8,
+ clust_size = 6,
+ y_min = -10,
+ y_max = 71,
+ noise_params = {
+ offset = 0.35,
+ scale = 0.2,
+ spread = {x = 5, y = 5, z = 5},
+ seed = -613,
+ octaves = 1,
+ persist = 0.5
+ },
+})
+
+local add_ore = function(a, b, c, d, e, f, g)
+
+ minetest.register_ore({
+ ore_type = "scatter",
+ ore = a,
+ wherein = b,
+ clust_scarcity = c,
+ clust_num_ores = d,
+ clust_size = e,
+ y_min = f,
+ y_max = g,
+ })
+end
+
+-- Coal
+
+add_ore("default:stone_with_coal", "default:desert_stone", 24*24*24, 27, 6, -31000, -16)
+
+-- Iron
+
+add_ore("default:stone_with_iron", "default:desert_stone", 9*9*9, 5, 3, -63, -16)
+add_ore("default:stone_with_iron", "default:desert_stone", 24*24*24, 27, 6, -31000, -64)
+
+--Mese
+
+add_ore("default:stone_with_mese", "default:desert_stone", 14*14*14, 5, 3, -31000, -256)
+
+-- Gold
+
+add_ore("default:stone_with_gold", "default:desert_stone", 15*15*15, 3, 2, -255, -64)
+add_ore("default:stone_with_gold", "default:desert_stone", 13*13*13, 5, 3, -31000, -256)
+
+-- Diamond
+
+add_ore("default:stone_with_diamond", "default:desert_stone", 17*17*17, 4, 3, -255, -128)
+add_ore("default:stone_with_diamond", "default:desert_stone", 15*15*15, 4, 3, -31000, -256)
+
+-- Copper
+
+add_ore("default:stone_with_copper", "default:desert_stone", 9*9*9, 5, 3, -31000, -64)
+
+-- Coral Sand
+add_ore("ethereal:sandy", "default:sand", 10*10*10, 24, 4, -100, -12)
diff --git a/papyrus.lua b/papyrus.lua
index fe245b2..0c71893 100644
--- a/papyrus.lua
+++ b/papyrus.lua
@@ -1,3 +1,4 @@
+
-- override default papyrus to make it walkable
minetest.override_item("default:papyrus", {walkable = true, sunlight_propagates = true})
@@ -5,8 +6,8 @@ minetest.override_item("default:papyrus", {walkable = true, sunlight_propagates
minetest.register_abm({
nodenames = {"default:papyrus", "ethereal:bamboo"},
neighbors = {"group:soil"},
- interval = 50,
- chance = 20,
+ interval = 14, --50,
+ chance = 71, --20,
catch_up = false,
action = function(pos, node)
diff --git a/plantlife.lua b/plantlife.lua
index e0e5978..7d5bca5 100644
--- a/plantlife.lua
+++ b/plantlife.lua
@@ -1,3 +1,4 @@
+
-- Fire Flower
minetest.register_node("ethereal:fire_flower", {
description = "Fire Flower",
@@ -9,6 +10,7 @@ minetest.register_node("ethereal:fire_flower", {
light_source = 5,
sunlight_propagates = true,
walkable = false,
+ buildable_to = true,
damage_per_second = 2,
groups = {snappy = 1, oddly_breakable_by_hand = 3, igniter = 2},
sounds = default.node_sound_leaves_defaults(),
@@ -16,6 +18,7 @@ minetest.register_node("ethereal:fire_flower", {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
},
+
on_punch = function(pos, node, puncher)
puncher:punch(puncher, 1.0, {
@@ -28,7 +31,7 @@ minetest.register_node("ethereal:fire_flower", {
minetest.register_craft({
type = "fuel",
recipe = "ethereal:fire_flower",
- burntime = 40,
+ burntime = 20,
})
-- Fire Dust
@@ -47,9 +50,37 @@ minetest.register_craft({
minetest.register_craft({
type = "fuel",
recipe = "ethereal:fire_dust",
- burntime = 20,
+ burntime = 10,
+})
+
+-- vines
+minetest.register_node("ethereal:vine", {
+ description = "Vine",
+ drawtype = "signlike",
+ tiles = {"vine.png"},
+ inventory_image = "vine.png",
+ wield_image = "vine.png",
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+ walkable = false,
+ climbable = true,
+ is_ground_content = false,
+ selection_box = {
+ type = "wallmounted",
+ },
+ groups = {choppy = 3, oddly_breakable_by_hand = 1},
+ legacy_wallmounted = true,
+ sounds = default.node_sound_leaves_defaults(),
})
+minetest.register_craft({
+ output = "ethereal:vine 2",
+ recipe = {
+ {"group:leaves", "group:leaves"},
+ {"group:leaves", "group:leaves"},
+ {"group:leaves", "group:leaves"},
+ }
+})
-- light strings (glowing vine)
minetest.register_node("ethereal:lightstring", {
@@ -191,7 +222,7 @@ function ethereal.add_moss(typ, descr, texture, receipe_item)
minetest.register_craft({
output = "ethereal:"..typ.."_moss",
- recipe = {{"default:dirt", receipe_item }}
+ recipe = {{"default:dirt", receipe_item }}
})
end
@@ -201,380 +232,57 @@ ethereal.add_moss( "fiery", "Fiery", "ethereal_grass_fiery_top.png", "ethereal:d
ethereal.add_moss( "gray", "Gray", "ethereal_grass_gray_top.png", "ethereal:snowygrass")
ethereal.add_moss( "green", "Green", "default_grass.png", "default:jungleleaves")
--- fix apples hanging in sky when no tree around
-minetest.override_item("default:apple", {
- drop = "default:apple",
-})
-
--- Banana (Heals one heart when eaten)
-minetest.register_node("ethereal:banana", {
- description = "Banana",
- drawtype = "torchlike",
- visual_scale = 1.0,
- tiles = {"banana_single.png"},
- inventory_image = "banana_single.png",
- wield_image = "banana_single.png",
- paramtype = "light",
- sunlight_propagates = true,
- walkable = false,
- selection_box = {
- type = "fixed",
- fixed = {-0.2, -0.5, -0.2, 0.2, 0.2, 0.2}
- },
- groups = {
- fleshy = 3, dig_immediate = 3, flammable = 2,
- leafdecay = 1, leafdecay_drop = 1
- },
- drop = "ethereal:banana",
- on_use = minetest.item_eat(2),
- sounds = default.node_sound_leaves_defaults(),
- after_place_node = function(pos, placer)
- if placer:is_player() then
- minetest.set_node(pos, {name = "ethereal:banana", param2 = 1})
- end
- end,
-})
-
--- Banana Dough
-minetest.register_craftitem("ethereal:banana_dough", {
- description = "Banana Dough",
- inventory_image = "banana_dough.png",
-})
-
-minetest.register_craft({
- type = "shapeless",
- output = "ethereal:banana_dough",
- recipe = {"farming:flour", "ethereal:banana"}
-})
-
-minetest.register_craft({
- type = "cooking",
- cooktime = 14,
- output = "ethereal:banana_bread",
- recipe = "ethereal:banana_dough"
-})
-
--- Orange (Heals 2 hearts when eaten)
-minetest.register_node("ethereal:orange", {
- description = "Orange",
+-- Illuminated Cave Shrooms (Red, Green and Blue)
+minetest.register_node("ethereal:illumishroom", {
+ description = "Red Illumishroom",
drawtype = "plantlike",
- visual_scale = 1.0,
- tiles = {"farming_orange.png"},
- inventory_image = "farming_orange.png",
- wield_image = "farming_orange.png",
+ tiles = { "illumishroom.png" },
+ inventory_image = "illumishroom.png",
+ wield_image = "illumishroom.png",
paramtype = "light",
+ light_source = 5,
sunlight_propagates = true,
walkable = false,
- selection_box = {
- type = "fixed",
- fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
- },
- groups = {
- fleshy = 3, dig_immediate = 3, flammable = 2,
- leafdecay = 3, leafdecay_drop = 1
- },
- drop = "ethereal:orange",
- on_use = minetest.item_eat(4),
+ groups = {dig_immediate = 3, attached_node = 1,flammable = 3},
sounds = default.node_sound_leaves_defaults(),
- after_place_node = function(pos, placer)
- if placer:is_player() then
- minetest.set_node(pos, {name = "ethereal:orange", param2 = 1})
- end
- end,
-})
-
--- Pine Nuts (Heals 1/2 heart when eaten)
-minetest.register_craftitem("ethereal:pine_nuts", {
- description = "Pine Nuts",
- inventory_image = "pine_nuts.png",
- wield_image = "pine_nuts.png",
- on_use = minetest.item_eat(1),
-})
-
--- Banana Loaf (Heals 3 hearts when eaten)
-minetest.register_craftitem("ethereal:banana_bread", {
- description = "Banana Loaf",
- inventory_image = "banana_bread.png",
- wield_image = "banana_bread.png",
- on_use = minetest.item_eat(6),
-})
-
--- Coconut (Gives 4 coconut slices, each heal 1/2 heart)
-minetest.register_node("ethereal:coconut", {
- description = "Coconut",
- drawtype = "plantlike",
- walkable = false,
- paramtype = "light",
- sunlight_propagates = true,
- tiles = {"moretrees_coconut.png"},
- inventory_image = "moretrees_coconut.png",
- wield_image = "moretrees_coconut.png",
selection_box = {
type = "fixed",
- fixed = {-0.35, -0.35, -0.35, 0.35, 0.35, 0.35}
- },
- groups = {
- snappy = 1, oddly_breakable_by_hand = 1, cracky = 1,
- choppy = 1, flammable = 1, leafdecay = 3, leafdecay_drop = 1
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
},
- drop = "ethereal:coconut_slice 4",
- sounds = default.node_sound_wood_defaults(),
})
--- Coconut Slice (Heals half heart when eaten)
-minetest.register_craftitem("ethereal:coconut_slice", {
- description = "Coconut Slice",
- inventory_image = "moretrees_coconut_slice.png",
- wield_image = "moretrees_coconut_slice.png",
- on_use = minetest.item_eat(1),
-})
-
--- Golden Apple (Found on Healing Tree, heals all 10 hearts)
-minetest.register_node("ethereal:golden_apple", {
- description = "Golden Apple",
+minetest.register_node("ethereal:illumishroom2", {
+ description = "Green Illumishroom",
drawtype = "plantlike",
- visual_scale = 1.0,
- tiles = {"default_apple_gold.png"},
- inventory_image = "default_apple_gold.png",
- wield_image = "default_apple_gold.png",
+ tiles = { "illumishroom2.png" },
+ inventory_image = "illumishroom2.png",
+ wield_image = "illumishroom2.png",
paramtype = "light",
+ light_source = 5,
sunlight_propagates = true,
walkable = false,
- selection_box = {
- type = "fixed",
- fixed = {-0.2, -0.3, -0.2, 0.2, 0.2, 0.2}
- },
- groups = {
- fleshy = 3, dig_immediate = 3,
- leafdecay = 3,leafdecay_drop = 1
- },
- drop = "ethereal:golden_apple",
- on_use = minetest.item_eat(20),
+ groups = {dig_immediate = 3, attached_node = 1,flammable = 3},
sounds = default.node_sound_leaves_defaults(),
- after_place_node = function(pos, placer, itemstack)
- if placer:is_player() then
- minetest.set_node(pos, {name = "ethereal:golden_apple", param2 = 1})
- end
- end,
-})
-
--- Bamboo (thanks to Nelo-slay on DeviantArt for the free Bamboo base image)
-minetest.register_node("ethereal:bamboo", {
- description = "bamboo",
- drawtype = "plantlike",
- tiles = {"bamboo.png"},
- inventory_image = "bamboo.png",
- wield_image = "bamboo.png",
- paramtype = "light",
- sunlight_propagates = true,
- walkable = true,
- selection_box = {
- type = "fixed",
- fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
- },
- groups = {choppy = 3, oddly_breakable_by_hand = 1, flammable = 2, tree = 1},
- sounds = default.node_sound_leaves_defaults(),
- after_dig_node = function(pos, node, metadata, digger)
- default.dig_up(pos, node, digger)
- end,
-})
-
-minetest.register_craft({
- type = "fuel",
- recipe = "ethereal:bamboo",
- burntime = 1,
-})
-
--- Bamboo Sprout
-minetest.register_node("ethereal:bamboo_sprout", {
- description = "Bamboo Sprout",
- drawtype = "plantlike",
- tiles = {"bamboo_sprout.png"},
- inventory_image = "bamboo_sprout.png",
- wield_image = "bamboo_sprout.png",
- paramtype = "light",
- sunlight_propagates = true,
- walkable = false,
- groups = {
- snappy = 3, attached_node = 1, flammable = 2,
- dig_immediate = 3, ethereal_sapling = 1
- },
- sounds = default.node_sound_defaults(),
selection_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
},
- on_use = minetest.item_eat(-2),
-})
-
--- Wooden Bowl (for Mushroom Soup)
-minetest.register_craftitem("ethereal:bowl", {
- description = "Bowl",
- inventory_image = "bowl.png",
-})
-
-minetest.register_craft({
- output = "ethereal:bowl",
- recipe = {
- {"group:wood", "", "group:wood"},
- {"", "group:wood", ""},
- {"", "", ""},
- }
-})
-
--- Hearty Stew (Heals 5 hearts - thanks to ZonerDarkRevention for his DokuCraft DeviantArt bowl texture)
-minetest.register_craftitem("ethereal:hearty_stew", {
- description = "Hearty Stew",
- inventory_image = "hearty_stew.png",
- wield_image = "hearty_stew.png",
- on_use = minetest.item_eat(10, "ethereal:bowl"),
-})
-
-minetest.register_alias("ethereal:hearty_stew_cooked", "ethereal:hearty_stew")
-
-minetest.register_craft({
- output = "ethereal:hearty_stew",
- recipe = {
- {"ethereal:wild_onion_plant","ethereal:mushroom_plant", "ethereal:fern_tubers"},
- {"","ethereal:mushroom_plant", ""},
- {"","ethereal:bowl", ""},
- }
-})
-
--- Bamboo Flooring
-minetest.register_node("ethereal:bamboo_floor", {
- description = ("Bamboo Floor"),
- drawtype = 'nodebox',
- tiles = { "bamboo_floor.png" },
- wield_image = "bamboo_floor.png",
- inventory_image = "bamboo_floor.png",
- paramtype = "light",
- paramtype2 = "wallmounted",
- walkable = true,
- node_box = {
- type = "wallmounted",
- wall_top = {-0.5, 0.4375, -0.5, 0.5, 0.5, 0.5},
- wall_bottom = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},
- wall_side = {-0.5, -0.5, -0.5, -0.4375, 0.5, 0.5},
- },
- selection_box = {type = "wallmounted"},
- groups = {snappy = 3, choppy = 3 , flammable = 2},
- sounds = default.node_sound_wood_defaults(),
-})
-
--- Craft Bamboo into Bamboo Flooring
-minetest.register_craft({
- output = "ethereal:bamboo_floor 2",
- recipe = {
- {"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
- {"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
- {"ethereal:bamboo", "ethereal:bamboo", "ethereal:bamboo"},
- }
-})
-
--- Craft Bamboo into Paper
-minetest.register_craft({
- output = "default:paper 6",
- recipe = {
- {"ethereal:bamboo", "ethereal:bamboo"},
- {"ethereal:bamboo", "ethereal:bamboo"},
- {"ethereal:bamboo", "ethereal:bamboo"},
- }
-})
-
--- X pattern craft recipes (5x a in X pattern gives 5 b)
-for _,items in pairs({
- {"default:cobble", "default:gravel"},
- {"default:gravel", "default:dirt"},
- {"default:dirt", "default:sand"},
- {"default:ice", "default:snow"},
- {"ethereal:dry_dirt", "default:desert_sand"},
-}) do
- local a, b = unpack(items)
- minetest.register_craft({
- output = b.." 5",
- recipe = {
- {a, "", a},
- {"", a, ""},
- {a, "", a},
- }
- })
-end
-
--- Paper (2x3 string = 4 paper)
-minetest.register_craft({
- output = "default:paper 4",
- recipe = {
- {"farming:string", "farming:string", ""},
- {"farming:string", "farming:string", ""},
- {"farming:string", "farming:string", ""},
- }
})
--- Bucket of Cactus Pulp
-minetest.register_craftitem("ethereal:bucket_cactus", {
- description = "Bucket of Cactus Pulp",
- inventory_image = "bucket_cactus.png",
- wield_image = "bucket_cactus.png",
- stack_max = 1,
- on_use = minetest.item_eat(2, "bucket:bucket_empty"),
-})
-
-minetest.register_craft({
- output = "ethereal:bucket_cactus",
- recipe = {
- {"bucket:bucket_empty","default:cactus"},
- }
-})
-
--- Palm Wax
-minetest.register_craftitem("ethereal:palm_wax", {
- description = "Palm Wax",
- inventory_image = "palm_wax.png",
- wield_image = "palm_wax.png",
-})
-
-minetest.register_craft({
- type = "cooking",
- cooktime = 10,
- output = "ethereal:palm_wax",
- recipe = "ethereal:palmleaves"
-})
-
--- Candle from Wax and String/Cotton
-minetest.register_node("ethereal:candle", {
- description = "Candle",
+minetest.register_node("ethereal:illumishroom3", {
+ description = "Cyan Illumishroom",
drawtype = "plantlike",
- inventory_image = "candle_static.png",
- wield_image = "candle_static.png",
- tiles = {
- {
- name = "candle.png",
- animation={
- type="vertical_frames",
- aspect_w = 32,
- aspect_h = 32,
- length = 1.0
- }
- },
- },
+ tiles = { "illumishroom3.png" },
+ inventory_image = "illumishroom3.png",
+ wield_image = "illumishroom3.png",
paramtype = "light",
- light_source = 11,
+ light_source = 5,
sunlight_propagates = true,
walkable = false,
- groups = {dig_immediate = 3, attached_node = 1},
- sounds = default.node_sound_defaults(),
+ groups = {dig_immediate = 3, attached_node = 1,flammable = 3},
+ sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "fixed",
- fixed = { -0.15, -0.5, -0.15, 0.15, 0.2, 0.15 }
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
},
})
-
-minetest.register_craft({
- output = "ethereal:candle 4",
- recipe = {
- {"","farming:cotton"},
- {"","ethereal:palm_wax"},
- {"","ethereal:palm_wax"},
- }
-})
diff --git a/plantpack.lua b/plantpack.lua
index 09e361e..c323e45 100644
--- a/plantpack.lua
+++ b/plantpack.lua
@@ -11,8 +11,8 @@ minetest.register_decoration({
fill_ratio = 0.005,
biomes = {"desert", "sandstone"},
decoration = {
- "bakedclay:cactus_echinocereus", "bakedclay:cactus_matucana",
- "bakedclay:cactus_baseball", "bakedclay:cactus_golden"
+ "xanadu:cactus_echinocereus", "xanadu:cactus_matucana",
+ "xanadu:cactus_baseball", "xanadu:cactus_golden"
},
})
@@ -24,8 +24,8 @@ minetest.register_decoration({
fill_ratio = 0.004,
biomes = {"desert", "sandstone"},
decoration = {
- "bakedclay:desert_kangaroo", "bakedclay:desert_brittle",
- "bakedclay:desert_ocotillo", "bakedclay:desert_whitesage"
+ "xanadu:desert_kangaroo", "xanadu:desert_brittle",
+ "xanadu:desert_ocotillo", "xanadu:desert_whitesage"
},
})
@@ -39,8 +39,8 @@ minetest.register_decoration({
fill_ratio = 0.005,
biomes = {"prairie", "grassy", "grassytwo"},
decoration = {
- "bakedclay:grass_prairie", "bakedclay:grass_cord",
- "bakedclay:grass_wheatgrass", "bakedclay:desert_whitesage"
+ "xanadu:grass_prairie", "xanadu:grass_cord",
+ "xanadu:grass_wheatgrass", "xanadu:desert_whitesage"
},
})
@@ -55,8 +55,8 @@ minetest.register_decoration({
fill_ratio = 0.005,
biomes = {"prairie", "grassy", "grassytwo", "bamboo"},
decoration = {
- "bakedclay:flower_jacobsladder", "bakedclay:flower_thistle",
- "bakedclay:flower_wildcarrot"
+ "xanadu:flower_jacobsladder", "xanadu:flower_thistle",
+ "xanadu:flower_wildcarrot"
},
})
@@ -70,8 +70,8 @@ minetest.register_decoration({
fill_ratio = 0.005,
biomes = {"prairie", "grassy", "grassytwo", "grove"},
decoration = {
- "bakedclay:flower_delphinium", "bakedclay:flower_celosia",
- "bakedclay:flower_daisy", "bakedclay:flower_bluerose"
+ "xanadu:flower_delphinium", "xanadu:flower_celosia",
+ "xanadu:flower_daisy", "xanadu:flower_bluerose"
},
})
@@ -89,7 +89,7 @@ minetest.register_decoration({
"prairie", "grassy", "grassytwo", "grove", "junglee",
"grayness", "jumble"
},
- decoration = {"bakedclay:shrub_kerria", "bakedclay:shrub_spicebush"},
+ decoration = {"xanadu:shrub_kerria", "xanadu:shrub_spicebush"},
})
--= Jungle Biome
@@ -101,9 +101,9 @@ minetest.register_decoration({
fill_ratio = 0.007,
biomes = {"junglee", "jumble"},
decoration = {
- "bakedclay:rainforest_guzmania", "bakedclay:rainforest_devil",
- "bakedclay:rainforest_lazarus", "bakedclay:rainforest_lollipop",
- "bakedclay:mushroom_woolly"
+ "xanadu:rainforest_guzmania", "xanadu:rainforest_devil",
+ "xanadu:rainforest_lazarus", "xanadu:rainforest_lollipop",
+ "xanadu:mushroom_woolly"
},
})
@@ -119,9 +119,9 @@ minetest.register_decoration({
fill_ratio = 0.005,
biomes = {"snowy", "alpine", "grayness"},
decoration = {
- "bakedclay:mountain_edelweiss", "bakedclay:mountain_armeria",
- "bakedclay:mountain_bellflower", "bakedclay:mountain_willowherb",
- "bakedclay:mountain_bistort"
+ "xanadu:mountain_edelweiss", "xanadu:mountain_armeria",
+ "xanadu:mountain_bellflower", "xanadu:mountain_willowherb",
+ "xanadu:mountain_bistort"
},
})
@@ -135,8 +135,8 @@ minetest.register_decoration({
fill_ratio = 0.005,
biomes = {"mushroom"},
decoration = {
- "bakedclay:mushroom_powderpuff", "bakedclay:mushroom_chanterelle",
- "bakedclay:mushroom_parasol"
+ "xanadu:mushroom_powderpuff", "xanadu:mushroom_chanterelle",
+ "xanadu:mushroom_parasol"
},
})
@@ -149,8 +149,8 @@ minetest.register_decoration({
fill_ratio = 0.015,
biomes = {"sandclay", "grassy_ocean", "grassy", "grassytwo", "jumble"},
decoration = {
- "bakedclay:wetlands_cattails", "bakedclay:wetlands_pickerel",
- "bakedclay:wetlands_mannagrass", "bakedclay:wetlands_turtle"
+ "xanadu:wetlands_cattails", "xanadu:wetlands_pickerel",
+ "xanadu:wetlands_mannagrass", "xanadu:wetlands_turtle"
},
spawn_by = "default:water_source",
num_spawn_by = 1,
@@ -166,7 +166,7 @@ minetest.register_decoration({
"ethereal:dirt_with_snow", "ethereal:jungle_dirt",
"ethereal:prairie_dirt", "ethereal:grove_dirt",
"ethereal:dry_dirt", "ethereal:fiery_dirt", "default:sand",
- "default:desert_sand", "bakedclay:red", "ethereal:bamboo_dirt"
+ "default:desert_sand", "xanadu:red", "ethereal:bamboo_dirt"
},
sidelen = 16,
fill_ratio = 0.004,
@@ -175,16 +175,18 @@ minetest.register_decoration({
"junglee", "grassy", "grassytwo", "jumble", "snowy", "alpine",
"fiery", "mesa", "bamboo"
},
- decoration = {"bakedclay:spooky_thornbush", "bakedclay:spooky_baneberry"},
+ decoration = {"xanadu:spooky_thornbush", "xanadu:spooky_baneberry"},
})
--- Extra recipe for hearty stew
+--= Poppy's growing in Clearing Biome in memory of RealBadAngel
-minetest.register_craft({
- output = "ethereal:hearty_stew",
- recipe = {
- {"ethereal:wild_onion_plant","ethereal:mushroom_plant", "farming:beans"},
- {"","ethereal:mushroom_plant", ""},
- {"","ethereal:bowl", ""},
- }
+minetest.register_decoration({
+ deco_type = "simple",
+ place_on = {
+ "ethereal:green_dirt",
+ },
+ sidelen = 16,
+ fill_ratio = 0.004,
+ biomes = {"clearing"},
+ decoration = {"xanadu:poppy"},
})
diff --git a/sapling.lua b/sapling.lua
index 896cb69..f0007a5 100644
--- a/sapling.lua
+++ b/sapling.lua
@@ -1,3 +1,26 @@
+
+-- Bamboo Sprout
+minetest.register_node("ethereal:bamboo_sprout", {
+ description = "Bamboo Sprout",
+ drawtype = "plantlike",
+ tiles = {"bamboo_sprout.png"},
+ inventory_image = "bamboo_sprout.png",
+ wield_image = "bamboo_sprout.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = false,
+ groups = {
+ snappy = 3, attached_node = 1, flammable = 2,
+ dig_immediate = 3, ethereal_sapling = 1
+ },
+ sounds = default.node_sound_defaults(),
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5},
+ },
+ on_use = minetest.item_eat(-2),
+})
+
-- Register Saplings
ethereal.register_sapling = function(name, desc, texture)
@@ -5,9 +28,9 @@ ethereal.register_sapling = function(name, desc, texture)
description = desc .. " Tree Sapling",
drawtype = "plantlike",
visual_scale = 1.0,
- tiles = {texture .. "_sapling.png"},
- inventory_image = texture .. "_sapling.png",
- wield_image = texture .. "_sapling.png",
+ tiles = {texture .. ".png"},
+ inventory_image = texture .. ".png",
+ wield_image = texture .. ".png",
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
@@ -24,22 +47,18 @@ ethereal.register_sapling = function(name, desc, texture)
})
end
-ethereal.register_sapling("ethereal:willow", "Willow", "willow")
-ethereal.register_sapling("ethereal:yellow_tree", "Healing", "yellow_tree")
-ethereal.register_sapling("ethereal:tree", "Apple", "ethereal_tree")
-ethereal.register_sapling("ethereal:jungle_tree","Jungle", "ethereal_jungle_tree")
-ethereal.register_sapling("ethereal:pine_tree", "Pine", "ethereal_pine_tree")
-ethereal.register_sapling("ethereal:big_tree", "Big", "ethereal_big_tree")
-ethereal.register_sapling("ethereal:banana_tree", "Banana", "banana_tree")
-ethereal.register_sapling("ethereal:frost_tree", "Frost", "ethereal_frost_tree")
-ethereal.register_sapling("ethereal:mushroom", "Mushroom", "ethereal_mushroom")
-ethereal.register_sapling("ethereal:palm", "Palm", "moretrees_palm")
-ethereal.register_sapling("ethereal:redwood", "Redwood", "redwood")
-ethereal.register_sapling("ethereal:orange_tree", "Orange", "orange_tree")
-ethereal.register_sapling("ethereal:acacia", "Acacia", "moretrees_acacia")
-ethereal.register_sapling("ethereal:birch", "Birch", "moretrees_birch")
-
-ethereal.add_tree = function (pos, ofx, ofz, schem)
+ethereal.register_sapling("ethereal:willow", "Willow", "willow_sapling")
+ethereal.register_sapling("ethereal:yellow_tree", "Healing", "yellow_tree_sapling")
+ethereal.register_sapling("ethereal:big_tree", "Big", "ethereal_big_tree_sapling")
+ethereal.register_sapling("ethereal:banana_tree", "Banana", "banana_tree_sapling")
+ethereal.register_sapling("ethereal:frost_tree", "Frost", "ethereal_frost_tree_sapling")
+ethereal.register_sapling("ethereal:mushroom", "Mushroom", "ethereal_mushroom_sapling")
+ethereal.register_sapling("ethereal:palm", "Palm", "moretrees_palm_sapling")
+ethereal.register_sapling("ethereal:redwood", "Redwood", "redwood_sapling")
+ethereal.register_sapling("ethereal:orange_tree", "Orange", "orange_tree_sapling")
+ethereal.register_sapling("ethereal:birch", "Birch", "moretrees_birch_sapling")
+
+ethereal.add_tree = function (pos, ofx, ofy, ofz, schem)
-- check for schematic
if not schem then
print ("Schematic not found")
@@ -48,13 +67,61 @@ ethereal.add_tree = function (pos, ofx, ofz, schem)
-- remove sapling and place schematic
minetest.swap_node(pos, {name = "air"})
minetest.place_schematic(
- {x = pos.x - ofx, y = pos.y, z =pos.z - ofz},
- schem, "random", {}, false
- )
+ {x = pos.x - ofx, y = pos.y - ofy, z = pos.z - ofz},
+ schem, 0, nil, false)
end
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")
+end
+
+function ethereal.grow_big_tree(pos)
+ ethereal.add_tree(pos, 4, 0, 4, path .. "bigtree.mts")
+end
+
+function ethereal.grow_banana_tree(pos)
+ ethereal.add_tree(pos, 3, 0, 3, ethereal.bananatree)
+end
+
+function ethereal.grow_frost_tree(pos)
+ ethereal.add_tree(pos, 4, 0, 4, path .. "frosttrees.mts")
+end
+
+function ethereal.grow_mushroom_tree(pos)
+ ethereal.add_tree(pos, 4, 0, 4, path .. "mushroomone.mts")
+end
+
+function ethereal.grow_palm_tree(pos)
+ ethereal.add_tree(pos, 4, 0, 4, path .. "palmtree.mts")
+end
+
+function ethereal.grow_willow_tree(pos)
+ ethereal.add_tree(pos, 5, 0, 5, path .. "willow.mts")
+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
+end
+
+function ethereal.grow_orange_tree(pos)
+ ethereal.add_tree(pos, 1, 0, 1, ethereal.orangetree)
+end
+
+function ethereal.grow_bamboo_tree(pos)
+ ethereal.add_tree(pos, 1, 0, 1, ethereal.bambootree)
+end
+
+function ethereal.grow_birch_tree(pos)
+ ethereal.add_tree(pos, 2, 0, 2, ethereal.birchtree)
+end
+
ethereal.grow_sapling = function (pos, node)
local under = minetest.get_node({
@@ -63,68 +130,52 @@ ethereal.grow_sapling = function (pos, node)
z = pos.z
}).name
- -- Check if Sapling is growing on correct substrate
+ -- Check if Ethereal Sapling is growing on correct substrate
if node.name == "ethereal:yellow_tree_sapling"
and under == "default:dirt_with_snow" then
- ethereal.add_tree(pos, 4, 4, path .. "yellowtree.mts")
-
- elseif node.name == "ethereal:tree_sapling"
- and under == "ethereal:green_dirt" then
- ethereal.add_tree(pos, 1, 1, ethereal.appletree)
-
- elseif node.name == "ethereal:jungle_tree_sapling"
- and under == "ethereal:jungle_dirt" then
- ethereal.add_tree(pos, 6, 6, path .. "jungletree.mts")
-
- elseif node.name == "ethereal:pine_tree_sapling"
- and under == "ethereal:cold_dirt" then
- ethereal.add_tree(pos, 3, 3, path .. "pinetree.mts")
+ ethereal.grow_yellow_tree(pos)
elseif node.name == "ethereal:big_tree_sapling"
and under == "ethereal:green_dirt" then
- ethereal.add_tree(pos, 4, 4, path .. "bigtree.mts")
+ ethereal.grow_big_tree(pos)
elseif node.name == "ethereal:banana_tree_sapling"
and under == "ethereal:grove_dirt" then
- ethereal.add_tree(pos, 3, 3, ethereal.bananatree)
+ ethereal.grow_banana_tree(pos)
elseif node.name == "ethereal:frost_tree_sapling"
and under == "ethereal:crystal_dirt" then
- ethereal.add_tree(pos, 4, 4, path .. "frosttrees.mts")
+ ethereal.grow_frost_tree(pos)
elseif node.name == "ethereal:mushroom_sapling"
and under == "ethereal:mushroom_dirt" then
- ethereal.add_tree(pos, 4, 4, path .. "mushroomone.mts")
+ ethereal.grow_mushroom_tree(pos)
elseif node.name == "ethereal:palm_sapling"
and under == "default:sand" then
- ethereal.add_tree(pos, 4, 4, path .. "palmtree.mts")
+ ethereal.grow_palm_tree(pos)
elseif node.name == "ethereal:willow_sapling"
and under == "ethereal:gray_dirt" then
- ethereal.add_tree(pos, 5, 5, path .. "willow.mts")
+ ethereal.grow_willow_tree(pos)
elseif node.name == "ethereal:redwood_sapling"
and under == "bakedclay:red" then
- ethereal.add_tree(pos, 9, 9, path .. "redwood.mts")
+ ethereal.grow_redwood_tree(pos)
elseif node.name == "ethereal:orange_tree_sapling"
and under == "ethereal:prairie_dirt" then
- ethereal.add_tree(pos, 1, 1, ethereal.orangetree)
-
- elseif node.name == "ethereal:acacia_sapling"
- and under == "default:dirt_with_dry_grass" then
- ethereal.add_tree(pos, 5, 5, path .. "acaciatree.mts")
+ ethereal.grow_orange_tree(pos)
elseif node.name == "ethereal:bamboo_sprout"
and under == "ethereal:bamboo_dirt" then
- ethereal.add_tree(pos, 1, 1, ethereal.bambootree)
+ ethereal.grow_bamboo_tree(pos)
elseif node.name == "ethereal:birch_sapling"
and under == "ethereal:green_dirt" then
- ethereal.add_tree(pos, 2, 2, ethereal.birchtree)
-
+ ethereal.grow_birch_tree(pos)
end
+
end
-- Grow saplings
@@ -134,23 +185,13 @@ minetest.register_abm({
chance = 50,
catch_up = false,
action = function(pos, node)
- ethereal.grow_sapling(pos, node)
- end,
-})
-minetest.register_craftitem("ethereal:tree_tool", {
- description = "Tree Tool",
- inventory_image = "default_stick.png",
- on_use = function(itemstack, user, pointed_thing)
+ local light_level = minetest.get_node_light(pos)
- if not pointed_thing
- or pointed_thing.type ~= "node" then
+ if not light_level or light_level < 13 then
return
end
- local pos = pointed_thing.under
- local nod = minetest.get_node(pos)
-
- ethereal.grow_sapling(pos, nod)
+ ethereal.grow_sapling(pos, node)
end,
})
diff --git a/schematics/apple_tree.lua b/schematics/apple_tree.lua
deleted file mode 100644
index 3d4dd1c..0000000
--- a/schematics/apple_tree.lua
+++ /dev/null
@@ -1,38 +0,0 @@
-
--- Apple Tree (built column by column, bottom to top)
-
-local i = "air"
-local t = "default:tree"
-local l = "default:leaves"
-local a = "default:apple"
-
-ethereal.appletree = {
- size = {x=3, y=6, z=3},
- data = {
-
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=l, param1=223}, {name=l, param1=223}, {name=a, param1=050},
- {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255},
- {name=l, param1=223}, {name=a, param1=050}, {name=l, param1=223},
-
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=l, param1=223}, {name=t, param1=255}, {name=i, param1=223},
- {name=l, param1=255}, {name=t, param1=255}, {name=l, param1=255},
- {name=l, param1=223}, {name=l, param1=255}, {name=l, param1=223},
-
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=a, param1=050}, {name=l, param1=223}, {name=l, param1=223},
- {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255},
- {name=l, param1=223}, {name=l, param1=223}, {name=l, param1=223},
-
- },
- yslice_prob = {
- {ypos=1, prob=127},
- },
-}
diff --git a/schematics/bamboo_tree.lua b/schematics/bamboo_tree.lua
index a6c825b..13f06f1 100644
--- a/schematics/bamboo_tree.lua
+++ b/schematics/bamboo_tree.lua
@@ -1,73 +1,77 @@
--- Bamboo Tree (built column by column, bottom to top)
+-- bamboo stalk with leaves
-local i = "air"
-local t = "ethereal:bamboo"
-local l = "ethereal:bamboo_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}
ethereal.bambootree = {
- size = {x=3, y=18, z=3},
+
+ size = {x = 3, y = 18, z = 3},
+
data = {
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=l, param1=100}, {name=l, param1=255}, {name=l, param1=100},
- {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ 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,
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=l, param1=100}, {name=l, param1=255}, {name=l, param1=100},
- {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=l, param1=127}, {name=i, param1=000},
+ 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,
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=l, param1=100}, {name=l, param1=255}, {name=l, param1=100},
- {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ 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,
},
+
yslice_prob = {
- {ypos=3, prob=127},
+ {ypos = 3, prob = 127},
},
}
diff --git a/schematics/banana_tree.lua b/schematics/banana_tree.lua
index 37b727f..194992f 100644
--- a/schematics/banana_tree.lua
+++ b/schematics/banana_tree.lua
@@ -1,80 +1,85 @@
--- Banana Tree (built column by column, bottom to top)
+-- banana tree
-local i = "air"
-local t = "ethereal:banana_trunk"
-local l = "ethereal:bananaleaves"
-local b = "ethereal:banana"
+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}
ethereal.bananatree = {
- size = {x=7, y=8, z=7},
+
+ size = {x = 7, y = 8, z = 7},
+
data = {
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=l, param1=180}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ 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,
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=b, param1=070}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=b, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ 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,
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=b, param1=070}, {name=t, param1=255}, {name=b, param1=070}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=b, param1=255}, {name=l, param1=255}, {name=b, param1=255}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=i, param1=000},
-{name=l, param1=255}, {name=l, param1=180}, {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000}, {name=l, param1=180}, {name=l, param1=255},
+ 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,
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=b, param1=070}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=b, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ 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,
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=l, param1=180}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ 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,
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ 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,
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ 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,
},
+
yslice_prob = {
- {ypos=1, prob=127},
+ {ypos = 1, prob = 127},
},
}
diff --git a/schematics/bananatree.mts b/schematics/bananatree.mts
deleted file mode 100644
index 2149d98..0000000
--- a/schematics/bananatree.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/birch_tree.lua b/schematics/birch_tree.lua
index 32894d0..40d326f 100644
--- a/schematics/birch_tree.lua
+++ b/schematics/birch_tree.lua
@@ -1,50 +1,60 @@
--- Birch Tree (built column by column, bottom to top)
-
-local i = "air"
-local t = "ethereal:birch_trunk"
-local l = "ethereal:birch_leaves"
-
-ethereal.birchtree = {size = {x = 5, y = 7, z = 5}, data = {
-
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=l, param1=150}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=150},
-{name=l, param1=150}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=150},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255},
-{name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255},
-{name=i, param1=000}, {name=l, param1=150}, {name=l, param1=255}, {name=l, param1=150}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000}, {name=i, param1=000},
-
-{name=i, param1=000}, {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000}, {name=i, param1=000},
-{name=l, param1=255}, {name=l, param1=255}, {name=t, param1=255}, {name=l, param1=255}, {name=l, param1=255},
-{name=l, param1=255}, {name=l, param1=255}, {name=t, param1=255}, {name=l, param1=255}, {name=l, param1=255},
-{name=i, param1=000}, {name=l, param1=255}, {name=t, param1=255}, {name=l, param1=255}, {name=i, param1=000},
-{name=i, param1=000}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=i, param1=000},
-
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255},
-{name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255},
-{name=i, param1=000}, {name=l, param1=150}, {name=l, param1=255}, {name=l, param1=150}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=l, param1=255}, {name=i, param1=000}, {name=i, param1=000},
-
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=l, param1=150}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=150},
-{name=l, param1=150}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=150},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-
-}, yslice_prob = {{ypos = 1, prob = 127}}}
+-- 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}
+
+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}
+ },
+}
diff --git a/schematics/bush.lua b/schematics/bush.lua
index 196fe37..1395b06 100644
--- a/schematics/bush.lua
+++ b/schematics/bush.lua
@@ -1,35 +1,39 @@
--- Bush (built column by column, bottom to top)
+-- bush
-local i = "air"
-local b = "ethereal:bush"
+local ai = {name = "air", param1 = 000}
+local bp = {name = "ethereal:bush", param1 = 255}
+local br = {name = "ethereal:bush", param1 = 100}
ethereal.bush = {
- size = {x=5, y=3, z=5},
+
+ size = {x = 5, y = 3, z = 5},
+
data = {
-{name=b, param1=100}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=100},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ br, bp, bp, bp, br,
+ ai, ai, ai, ai, ai,
+ ai, ai, ai, ai, ai,
-{name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255},
-{name=i, param1=000}, {name=b, param1=100}, {name=b, param1=255}, {name=b, param1=100}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ bp, bp, bp, bp, bp,
+ ai, br, bp, br, ai,
+ ai, ai, ai, ai, ai,
-{name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255},
-{name=i, param1=000}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=b, param1=100}, {name=i, param1=000}, {name=i, param1=000},
+ bp, bp, bp, bp, bp,
+ ai, bp, bp, bp, ai,
+ ai, ai, br, ai, ai,
-{name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255},
-{name=i, param1=000}, {name=b, param1=100}, {name=b, param1=255}, {name=b, param1=100}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ bp, bp, bp, bp, bp,
+ ai, br, bp, br, ai,
+ ai, ai, ai, ai, ai,
-{name=b, param1=100}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=255}, {name=b, param1=100},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
-{name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
+ br, bp, bp, bp, br,
+ ai, ai, ai, ai, ai,
+ ai, ai, ai, ai, ai,
},
+
yslice_prob = {
- {ypos=1, prob=127},
+ {ypos = 1, prob = 127},
},
}
diff --git a/schematics/jungletree.mts b/schematics/jungletree.mts
deleted file mode 100644
index a4aaa01..0000000
--- a/schematics/jungletree.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/large_cactus.mts b/schematics/large_cactus.mts
deleted file mode 100644
index b71077b..0000000
--- a/schematics/large_cactus.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/orange_tree.lua b/schematics/orange_tree.lua
index 27876bf..c7cff9c 100644
--- a/schematics/orange_tree.lua
+++ b/schematics/orange_tree.lua
@@ -1,38 +1,42 @@
--- Orange Tree (built column by column, bottom to top)
+-- orange tree
-local i = "air"
-local t = "default:tree"
-local l = "ethereal:orange_leaves"
-local o = "ethereal:orange"
+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}
ethereal.orangetree = {
- size = {x=3, y=6, z=3},
+
+ size = {x = 3, y = 6, z = 3},
+
data = {
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=l, param1=223}, {name=l, param1=223}, {name=o, param1=100},
- {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255},
- {name=l, param1=223}, {name=o, param1=100}, {name=l, param1=223},
-
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=i, param1=000}, {name=t, param1=255}, {name=i, param1=000},
- {name=l, param1=223}, {name=t, param1=255}, {name=l, param1=223},
- {name=l, param1=255}, {name=t, param1=255}, {name=l, param1=255},
- {name=l, param1=223}, {name=l, param1=255}, {name=l, param1=223},
-
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=i, param1=000}, {name=i, param1=000}, {name=i, param1=000},
- {name=o, param1=100}, {name=l, param1=223}, {name=l, param1=223},
- {name=l, param1=255}, {name=l, param1=255}, {name=l, param1=255},
- {name=l, param1=223}, {name=l, param1=223}, {name=l, param1=223},
+ 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 = 1, prob = 127},
},
}
diff --git a/schematics/orangetree.mts b/schematics/orangetree.mts
deleted file mode 100644
index 4536dd0..0000000
--- a/schematics/orangetree.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/redwood_tree.mts b/schematics/redwood_tree.mts
new file mode 100644
index 0000000..50c367a
--- /dev/null
+++ b/schematics/redwood_tree.mts
Binary files differ
diff --git a/schematics/tree.mts b/schematics/tree.mts
deleted file mode 100644
index 4ba4898..0000000
--- a/schematics/tree.mts
+++ /dev/null
Binary files differ
diff --git a/schematics/waterlily.lua b/schematics/waterlily.lua
index d6bfaa3..1936b04 100644
--- a/schematics/waterlily.lua
+++ b/schematics/waterlily.lua
@@ -1,69 +1,17 @@
--- Waterlily (built column by column, bottom to top)
-
-local a = "default:sand"
-local b = "default:water_source"
-local c = "flowers:waterlily"
+-- waterlily
ethereal.waterlily = {
size = {x = 1, y = 3, z = 1},
data = {
- {name=a, param1=255},
- {name=b, param1=255},
- {name=c, param1=255},
+ {name = "default:sand", param1 = 255},
+ {name = "default:water_source", param1 = 255},
+ {name = "flowers:waterlily", param1 = 255},
},
}
-if minetest.registered_nodes["flowers:waterlily"] then
-
minetest.override_item("flowers:waterlily", {
walkable = true,
})
-
-else
-
-minetest.register_node(":flowers:waterlily", {
- description = "Waterlily",
- drawtype = "nodebox",
- paramtype = "light",
- paramtype2 = "facedir",
- tiles = {"flowers_waterlily.png"},
- inventory_image = "flowers_waterlily.png",
- wield_image = "flowers_waterlily.png",
- liquids_pointable = true,
- walkable = true,
- buildable_to = true,
- groups = {snappy = 3, flower = 1},
- sounds = default.node_sound_leaves_defaults(),
- node_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -0.46875, 0.5}
- },
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}
- },
-
- after_place_node = function(pos, placer, itemstack, pointed_thing)
- local find_water = minetest.find_nodes_in_area({x = pos.x - 1, y = pos.y, z = pos.z - 1},
- {x = pos.x + 1, y = pos.y, z = pos.z + 1}, "default:water_source")
- local find_river_water = minetest.find_nodes_in_area({x = pos.x - 1, y = pos.y, z = pos.z - 1},
- {x = pos.x + 1, y = pos.y, z = pos.z + 1}, "default:river_water_source")
- if #find_water ~= 0 then
- minetest.set_node(pos, {name = "default:water_source"})
- pos.y = pos.y + 1
- minetest.set_node(pos, {name = "flowers:waterlily", param2 = math.random(0, 3)})
- elseif #find_river_water ~= 0 then
- minetest.set_node(pos, {name = "default:river_water_source"})
- pos.y = pos.y + 1
- minetest.set_node(pos, {name = "flowers:waterlily", param2 = math.random(0, 3)})
- else
- minetest.remove_node(pos)
- return true
- end
- end
-})
-
-end
diff --git a/screenshot.png b/screenshot.png
index 93fa73a..c4d8001 100644
--- a/screenshot.png
+++ b/screenshot.png
Binary files differ
diff --git a/sealife.lua b/sealife.lua
index 6db5742..ceb27a6 100644
--- a/sealife.lua
+++ b/sealife.lua
@@ -1,3 +1,4 @@
+
-- Seaweed
minetest.register_node("ethereal:seaweed", {
description = "Seaweed",
@@ -17,6 +18,9 @@ minetest.register_node("ethereal:seaweed", {
groups = {snappy = 3},
on_use = minetest.item_eat(1),
sounds = default.node_sound_leaves_defaults(),
+ after_dig_node = function(pos, node, metadata, digger)
+ default.dig_up(pos, node, digger)
+ end,
})
minetest.register_craft( {
@@ -123,25 +127,12 @@ minetest.register_node("ethereal:sandy", {
tiles = {"default_sand.png"},
is_ground_content = true,
groups = {
- crumbly = 3, falling_node = 1, sand = 1, soil = 1,
- not_in_creative_inventory = 1
+ crumbly = 3, falling_node = 1, sand = 1, not_in_creative_inventory = 1
},
drop = "default:sand",
sounds = default.node_sound_sand_defaults(),
})
--- Register Undersea Sand
-minetest.register_ore({
- ore_type = "scatter",
- ore = "ethereal:sandy",
- wherein = "default:sand",
- clust_scarcity = 10*10*10,
- clust_num_ores = 24,
- clust_size = 4,
- y_max = -12,
- y_min = -100,
-})
-
-- randomly generate coral or seaweed and have seaweed grow up to 14 high
minetest.register_abm({
nodenames = {"ethereal:sandy"},
diff --git a/stairs.lua b/stairs.lua
index c6519d9..aa4236a 100644
--- a/stairs.lua
+++ b/stairs.lua
@@ -1,25 +1,22 @@
--- Is More Blocks mod installed?
+-- Stairs Redo
+if stairs and stairs.mod and stairs.mod == "redo" then
-if not minetest.global_exists("stairsplus") then
-
--- If NOT then register standard stairs
-
-stairs.register_stair_and_slab("crystal_block", "ethereal:crystal_block",
+stairs.register_all("crystal_block", "ethereal:crystal_block",
{cracky = 1, level = 2},
{"crystal_block.png"},
"Crystal Block Stair",
"Crystal Block Slab",
default.node_sound_glass_defaults())
-stairs.register_stair_and_slab("icebrick", "ethereal:icebrick",
+stairs.register_all("icebrick", "ethereal:icebrick",
{crumbly = 3, melts = 1},
{"brick_ice.png"},
"Ice Brick Stair",
"Ice Brick Slab",
default.node_sound_glass_defaults())
-stairs.register_stair_and_slab("snowbrick", "ethereal:snowbrick",
+stairs.register_all("snowbrick", "ethereal:snowbrick",
{crumbly = 3, melts = 1},
{"brick_snow.png"},
"Snow Brick Stair",
@@ -29,79 +26,85 @@ stairs.register_stair_and_slab("snowbrick", "ethereal:snowbrick",
dug = {name = "default_snow_footstep", gain = 0.75},
}))
-stairs.register_stair_and_slab("dry_dirt", "ethereal:dry_dirt",
+stairs.register_all("dry_dirt", "ethereal:dry_dirt",
{crumbly = 3},
{"ethereal_dry_dirt.png"},
"Dry Dirt Stair",
"Dry Dirt Slab",
default.node_sound_dirt_defaults())
-stairs.register_stair_and_slab("mushroom_trunk", "ethereal:mushroom_trunk",
+stairs.register_all("mushroom_trunk", "ethereal:mushroom_trunk",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
{"mushroom_trunk.png"},
"Mushroom Trunk Stair",
"Mushroom Trunk Slab",
default.node_sound_wood_defaults())
-stairs.register_stair_and_slab("mushroom", "ethereal:mushroom",
+stairs.register_all("mushroom", "ethereal:mushroom",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
{"mushroom_block.png"},
"Mushroom Top Stair",
"Mushroom Top Slab",
default.node_sound_wood_defaults())
-stairs.register_stair_and_slab("frost_wood", "ethereal:frost_wood",
+stairs.register_all("frost_wood", "ethereal:frost_wood",
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
{"frost_wood.png"},
"Frost Wood Stair",
"Frost Wood Slab",
default.node_sound_wood_defaults())
-stairs.register_stair_and_slab("yellow_wood", "ethereal:yellow_wood",
+stairs.register_all("yellow_wood", "ethereal:yellow_wood",
{choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
{"yellow_wood.png"},
"Healing Wood Stair",
"Healing Wood Slab",
default.node_sound_wood_defaults())
-stairs.register_stair_and_slab("palm_wood", "ethereal:palm_wood",
+stairs.register_all("palm_wood", "ethereal:palm_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"moretrees_palm_wood.png"},
"Palm Wood Stair",
"Palm Wood Slab",
default.node_sound_wood_defaults())
-stairs.register_stair_and_slab("birch_wood", "ethereal:birch_wood",
+stairs.register_all("birch_wood", "ethereal:birch_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"moretrees_birch_wood.png"},
"Birch Wood Stair",
"Birch Wood Slab",
default.node_sound_wood_defaults())
-stairs.register_stair_and_slab("banana_wood", "ethereal:banana_wood",
+stairs.register_all("banana_wood", "ethereal:banana_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"banana_wood.png"},
"Banana Wood Stair",
"Banana Wood Slab",
default.node_sound_wood_defaults())
-stairs.register_stair_and_slab("willow_wood", "ethereal:willow_wood",
+stairs.register_all("willow_wood", "ethereal:willow_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"willow_wood.png"},
"Willow Wood Stair",
"Willow Wood Slab",
default.node_sound_wood_defaults())
-stairs.register_stair_and_slab("redwood_wood", "ethereal:redwood_wood",
+stairs.register_all("redwood_wood", "ethereal:redwood_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"redwood_wood.png"},
"Redwood stair",
"Redwood Slab",
default.node_sound_wood_defaults())
-else
+stairs.register_all("bamboo_wood", "ethereal:bamboo_floor",
+ {snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
+ {"bamboo_floor.png"},
+ "Bamboo stair",
+ "Bamboo Slab",
+ default.node_sound_wood_defaults())
--- if SO then register stairs plus stairs
+-- Stairs Plus (in More Blocks)
+elseif minetest.global_exists("stairsplus") then
stairsplus:register_all("ethereal", "crystal_block", "ethereal:crystal_block", {
description = "Crystal block",
@@ -197,4 +200,115 @@ stairsplus:register_all("ethereal", "redwood_wood", "ethereal:redwood_wood", {
sounds = default.node_sound_wood_defaults(),
})
-end -- END IF
+stairsplus:register_all("ethereal", "bamboo_wood", "ethereal:bamboo_floor", {
+ description = "Bamboo",
+ tiles = {"bamboo_floor.png"},
+ groups = {snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
+ sounds = default.node_sound_wood_defaults(),
+})
+
+-- Default Stairs
+else
+
+stairs.register_stair_and_slab("crystal_block", "ethereal:crystal_block",
+ {cracky = 1, level = 2},
+ {"crystal_block.png"},
+ "Crystal Block Stair",
+ "Crystal Block Slab",
+ default.node_sound_glass_defaults())
+
+stairs.register_stair_and_slab("icebrick", "ethereal:icebrick",
+ {crumbly = 3, melts = 1},
+ {"brick_ice.png"},
+ "Ice Brick Stair",
+ "Ice Brick Slab",
+ default.node_sound_glass_defaults())
+
+stairs.register_stair_and_slab("snowbrick", "ethereal:snowbrick",
+ {crumbly = 3, melts = 1},
+ {"brick_snow.png"},
+ "Snow Brick Stair",
+ "Snow Brick Slab",
+ default.node_sound_dirt_defaults({
+ footstep = {name = "default_snow_footstep", gain = 0.25},
+ dug = {name = "default_snow_footstep", gain = 0.75},
+ }))
+
+stairs.register_stair_and_slab("dry_dirt", "ethereal:dry_dirt",
+ {crumbly = 3},
+ {"ethereal_dry_dirt.png"},
+ "Dry Dirt Stair",
+ "Dry Dirt Slab",
+ default.node_sound_dirt_defaults())
+
+stairs.register_stair_and_slab("mushroom_trunk", "ethereal:mushroom_trunk",
+ {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
+ {"mushroom_trunk.png"},
+ "Mushroom Trunk Stair",
+ "Mushroom Trunk Slab",
+ default.node_sound_wood_defaults())
+
+stairs.register_stair_and_slab("mushroom", "ethereal:mushroom",
+ {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
+ {"mushroom_block.png"},
+ "Mushroom Top Stair",
+ "Mushroom Top Slab",
+ default.node_sound_wood_defaults())
+
+stairs.register_stair_and_slab("frost_wood", "ethereal:frost_wood",
+ {choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
+ {"frost_wood.png"},
+ "Frost Wood Stair",
+ "Frost Wood Slab",
+ default.node_sound_wood_defaults())
+
+stairs.register_stair_and_slab("yellow_wood", "ethereal:yellow_wood",
+ {choppy = 2, oddly_breakable_by_hand = 1, put_out_fire = 1},
+ {"yellow_wood.png"},
+ "Healing Wood Stair",
+ "Healing Wood Slab",
+ default.node_sound_wood_defaults())
+
+stairs.register_stair_and_slab("palm_wood", "ethereal:palm_wood",
+ {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
+ {"moretrees_palm_wood.png"},
+ "Palm Wood Stair",
+ "Palm Wood Slab",
+ default.node_sound_wood_defaults())
+
+stairs.register_stair_and_slab("birch_wood", "ethereal:birch_wood",
+ {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
+ {"moretrees_birch_wood.png"},
+ "Birch Wood Stair",
+ "Birch Wood Slab",
+ default.node_sound_wood_defaults())
+
+stairs.register_stair_and_slab("banana_wood", "ethereal:banana_wood",
+ {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
+ {"banana_wood.png"},
+ "Banana Wood Stair",
+ "Banana Wood Slab",
+ default.node_sound_wood_defaults())
+
+stairs.register_stair_and_slab("willow_wood", "ethereal:willow_wood",
+ {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
+ {"willow_wood.png"},
+ "Willow Wood Stair",
+ "Willow Wood Slab",
+ default.node_sound_wood_defaults())
+
+stairs.register_stair_and_slab("redwood_wood", "ethereal:redwood_wood",
+ {choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
+ {"redwood_wood.png"},
+ "Redwood stair",
+ "Redwood Slab",
+ default.node_sound_wood_defaults())
+
+stairs.register_stair_and_slab("bamboo_wood", "ethereal:bamboo_floor",
+ {snappy = 3, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
+ {"bamboo_floor.png"},
+ "Bamboo stair",
+ "Bamboo Slab",
+ default.node_sound_wood_defaults())
+
+end
diff --git a/strawberry.lua b/strawberry.lua
index d919cca..22cbdae 100644
--- a/strawberry.lua
+++ b/strawberry.lua
@@ -1,16 +1,17 @@
+
-- Strawberry (can also be planted as seed)
minetest.register_craftitem("ethereal:strawberry", {
description = "Strawberry",
inventory_image = "strawberry.png",
wield_image = "strawberry.png",
- on_use = minetest.item_eat(1),
on_place = function(itemstack, placer, pointed_thing)
return farming.place_seed(itemstack, placer, pointed_thing, "ethereal:strawberry_1")
end,
+ on_use = minetest.item_eat(1),
})
-- Define Strawberry Bush growth stages
-minetest.register_node("ethereal:strawberry_1", {
+local crop_def = {
drawtype = "plantlike",
tiles = {"strawberry_1.png"},
paramtype = "light",
@@ -25,206 +26,98 @@ minetest.register_node("ethereal:strawberry_1", {
},
groups = {
snappy = 3, flammable =2, plant = 1, attached_node = 1,
- not_in_creative_inventory = 1, strawberry = 1, growing = 1
+ not_in_creative_inventory = 1, growing = 1
},
sounds = default.node_sound_leaves_defaults(),
-})
+}
-minetest.register_node("ethereal:strawberry_2", {
- drawtype = "plantlike",
- tiles = {"strawberry_2.png"},
- paramtype = "light",
- sunlight_propagates = true,
- waving = 1,
- walkable = false,
- buildable_to = true,
- drop = "",
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
- },
- groups = {
- snappy = 3, flammable = 2, plant = 1, attached_node = 1,
- not_in_creative_inventory = 1, strawberry = 2, growing = 1
- },
- sounds = default.node_sound_leaves_defaults(),
-})
+--stage 1
+minetest.register_node("ethereal:strawberry_1", table.copy(crop_def))
-minetest.register_node("ethereal:strawberry_3", {
- drawtype = "plantlike",
- tiles = {"strawberry_3.png"},
- paramtype = "light",
- sunlight_propagates = true,
- waving = 1,
- walkable = false,
- buildable_to = true,
- drop = "",
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
- },
- groups = {
- snappy = 3, flammable = 2, plant = 1, attached_node = 1,
- not_in_creative_inventory = 1, strawberry = 3, growing = 1
- },
- sounds = default.node_sound_leaves_defaults(),
-})
+-- stage 2
+crop_def.tiles = {"strawberry_2.png"}
+minetest.register_node("ethereal:strawberry_2", table.copy(crop_def))
-minetest.register_node("ethereal:strawberry_4", {
- drawtype = "plantlike",
- tiles = {"strawberry_4.png"},
- paramtype = "light",
- sunlight_propagates = true,
- waving = 1,
- walkable = false,
- buildable_to = true,
- drop = "",
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
- },
- groups = {
- snappy = 3, flammable = 2, plant = 1, attached_node = 1,
- not_in_creative_inventory = 1, strawberry = 4, growing=1
- },
- sounds = default.node_sound_leaves_defaults(),
-})
+-- stage 3
+crop_def.tiles = {"strawberry_3.png"}
+minetest.register_node("ethereal:strawberry_3", table.copy(crop_def))
-minetest.register_node("ethereal:strawberry_5", {
- drawtype = "plantlike",
- tiles = {"strawberry_5.png"},
- paramtype = "light",
- sunlight_propagates = true,
- waving = 1,
- walkable = false,
- buildable_to = true,
- drop = "",
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
- },
- groups = {
- snappy = 3, flammable = 2, plant = 1, attached_node = 1,
- not_in_creative_inventory = 1, strawberry = 5, growing = 1
- },
- sounds = default.node_sound_leaves_defaults(),
-})
+-- stage 4
+crop_def.tiles = {"strawberry_4.png"}
+minetest.register_node("ethereal:strawberry_4", table.copy(crop_def))
-minetest.register_node("ethereal:strawberry_6", {
- drawtype = "plantlike",
- tiles = {"strawberry_6.png"},
- paramtype = "light",
- sunlight_propagates = true,
- waving = 1,
- walkable = false,
- buildable_to = true,
- drop = {
- items = {
- {items = {"ethereal:strawberry 1"},rarity = 2},
- {items = {"ethereal:strawberry 2"},rarity = 3},
- }
- },
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
- },
- groups = {
- snappy = 3, flammable = 2, plant = 1, attached_node = 1,
- not_in_creative_inventory = 1, strawberry = 6, growing = 1
- },
- sounds = default.node_sound_leaves_defaults(),
-})
+-- stage 5
+crop_def.tiles = {"strawberry_5.png"}
+minetest.register_node("ethereal:strawberry_5", table.copy(crop_def))
--- Mapgen places this stage on map so will use is_ground_content=true
-minetest.register_node("ethereal:strawberry_7", {
- drawtype = "plantlike",
- tiles = {"strawberry_7.png"},
- paramtype = "light",
- sunlight_propagates = true,
- waving = 1,
- walkable = false,
- buildable_to = true,
- drop = {
- items = {
- {items = {"ethereal:strawberry 1"},rarity = 1},
- {items = {"ethereal:strawberry 2"},rarity = 3},
- }
- },
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
- },
- groups = {
- snappy = 3, flammable = 2, plant = 1, attached_node = 1,
- not_in_creative_inventory = 1, strawberry = 7, growing = 1
- },
- sounds = default.node_sound_leaves_defaults(),
-})
+-- stage 6
+crop_def.tiles = {"strawberry_6.png"}
+crop_def.drop = {
+ items = {
+ {items = {"ethereal:strawberry 1"},rarity = 2},
+ {items = {"ethereal:strawberry 2"},rarity = 3},
+ }
+}
+minetest.register_node("ethereal:strawberry_6", table.copy(crop_def))
-minetest.register_node("ethereal:strawberry_8", {
- drawtype = "plantlike",
- tiles = {"strawberry_8.png"},
- paramtype = "light",
- sunlight_propagates = true,
- waving = 1,
- walkable = false,
- buildable_to = true,
- drop = {
- items = {
- {items = {"ethereal:strawberry 2"},rarity = 1},
- {items = {"ethereal:strawberry 3"},rarity = 3},
- }
- },
- selection_box = {
- type = "fixed",
- fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5}
- },
- groups = {
- snappy = 3, flammable = 2, plant = 1, attached_node = 1,
- not_in_creative_inventory = 1, strawberry = 8
- },
- sounds = default.node_sound_leaves_defaults(),
-})
+-- stage 7
+crop_def.tiles = {"strawberry_7.png"}
+crop_def.drop = {
+ items = {
+ {items = {"ethereal:strawberry 1"},rarity = 1},
+ {items = {"ethereal:strawberry 2"},rarity = 3},
+ }
+}
+minetest.register_node("ethereal:strawberry_7", table.copy(crop_def))
--- Register Alias for backward compatibility with already generated Ethereal worlds
-minetest.register_alias("ethereal:strawberry_bush", "ethereal:strawberry_7")
-minetest.register_alias("ethereal:seed_strawberry", "ethereal:strawberry")
+-- stage 8
+crop_def.tiles = {"strawberry_8.png"}
+crop_def.groups.growing = 0
+crop_def.drop = {
+ items = {
+ {items = {"ethereal:strawberry 2"},rarity = 1},
+ {items = {"ethereal:strawberry 3"},rarity = 3},
+ }
+}
+minetest.register_node("ethereal:strawberry_8", table.copy(crop_def))
--- Amb for growing Strawberry Bush
-if farming.mod ~= "redo" then
+-- growing routine if farming redo isn't present
+if not farming or not farming.mod or farming.mod ~= "redo" then
minetest.register_abm({
- nodenames = {"group:strawberry"},
+ nodenames = {
+ "ethereal:strawberry_1", "ethereal:strawberry_2", "ethereal:strawberry_3",
+ "ethereal:strawberry_4", "ethereal:strawberry_5", "ethereal:strawberry_6",
+ "ethereal:strawberry_7"
+ },
neighbors = {"farming:soil_wet"},
- interval = 50,
- chance = 3,
+ interval = 9,
+ chance = 20,
catch_up = false,
action = function(pos, node)
- -- return if already full grown
- if minetest.get_item_group(node.name, "strawberry") == 8 then
- return
- end
-
- -- check if on wet soil
+
+ -- are we on wet soil?
pos.y = pos.y - 1
- local n = minetest.get_node(pos)
- if minetest.get_item_group(n.name, "soil") < 3 then
+ if minetest.get_item_group(minetest.get_node(pos).name, "soil") < 3 then
return
end
pos.y = pos.y + 1
- -- check light
- if not minetest.get_node_light(pos) then
- return
- end
- if minetest.get_node_light(pos) < 13 then
+ -- do we have enough light?
+ local light = minetest.get_node_light(pos)
+
+ if not light
+ or light < 13 then
return
end
- -- grow
- local height = minetest.get_item_group(node.name, "strawberry") + 1
- minetest.swap_node(pos, {name = "ethereal:strawberry_"..height})
+ -- grow to next stage
+ local num = node.name:split("_")[2]
+
+ node.name = "ethereal:strawberry_" .. tonumber(num + 1)
+
+ minetest.swap_node(pos, node)
end
})
-end
+end -- END IF
diff --git a/textures/blank.png b/textures/blank.png
new file mode 100644
index 0000000..b25455e
--- /dev/null
+++ b/textures/blank.png
Binary files differ
diff --git a/textures/bone.png b/textures/bone.png
new file mode 100644
index 0000000..d86e7be
--- /dev/null
+++ b/textures/bone.png
Binary files differ
diff --git a/textures/bonemeal.png b/textures/bonemeal.png
new file mode 100644
index 0000000..f141263
--- /dev/null
+++ b/textures/bonemeal.png
Binary files differ
diff --git a/textures/bonemeal_particle.png b/textures/bonemeal_particle.png
new file mode 100644
index 0000000..71ef90f
--- /dev/null
+++ b/textures/bonemeal_particle.png
Binary files differ
diff --git a/textures/default_fence_overlay.png b/textures/default_fence_overlay.png
deleted file mode 100644
index 780e736..0000000
--- a/textures/default_fence_overlay.png
+++ /dev/null
Binary files differ
diff --git a/textures/default_gate_overlay.png b/textures/default_gate_overlay.png
deleted file mode 100644
index 008c0ec..0000000
--- a/textures/default_gate_overlay.png
+++ /dev/null
Binary files differ
diff --git a/textures/default_pine_wood.png b/textures/default_pine_wood.png
deleted file mode 100644
index 6844ceb..0000000
--- a/textures/default_pine_wood.png
+++ /dev/null
Binary files differ
diff --git a/textures/flowers_mushroom_brown.png b/textures/flowers_mushroom_brown.png
deleted file mode 100644
index 33ffcd4..0000000
--- a/textures/flowers_mushroom_brown.png
+++ /dev/null
Binary files differ
diff --git a/textures/flowers_mushroom_red.png b/textures/flowers_mushroom_red.png
deleted file mode 100644
index a68f5d5..0000000
--- a/textures/flowers_mushroom_red.png
+++ /dev/null
Binary files differ
diff --git a/textures/flowers_waterlily.png b/textures/flowers_waterlily.png
deleted file mode 100644
index 1f504f7..0000000
--- a/textures/flowers_waterlily.png
+++ /dev/null
Binary files differ
diff --git a/textures/moretrees_acacia_sapling.png b/textures/moretrees_acacia_sapling.png
deleted file mode 100644
index 07170a0..0000000
--- a/textures/moretrees_acacia_sapling.png
+++ /dev/null
Binary files differ
diff --git a/textures/moretrees_acacia_trunk.png b/textures/moretrees_acacia_trunk.png
deleted file mode 100644
index 169823d..0000000
--- a/textures/moretrees_acacia_trunk.png
+++ /dev/null
Binary files differ
diff --git a/textures/moretrees_acacia_trunk_top.png b/textures/moretrees_acacia_trunk_top.png
deleted file mode 100644
index 2cf5ef0..0000000
--- a/textures/moretrees_acacia_trunk_top.png
+++ /dev/null
Binary files differ
diff --git a/textures/moretrees_acacia_wood.png b/textures/moretrees_acacia_wood.png
deleted file mode 100644
index f5e6a68..0000000
--- a/textures/moretrees_acacia_wood.png
+++ /dev/null
Binary files differ
diff --git a/water.lua b/water.lua
index e9f14b3..c9d58ec 100644
--- a/water.lua
+++ b/water.lua
@@ -1,3 +1,4 @@
+
-- Ice Brick
minetest.register_node("ethereal:icebrick", {
description = "Ice Brick",
@@ -39,18 +40,6 @@ minetest.register_craft({
}
})
--- Over time Cobble placed in water changes to Mossy Cobble
-minetest.register_abm({
- nodenames = {"default:cobble"},
- neighbors = {"group:water"},
- interval = 17,
- chance = 100,
- catch_up = false,
- action = function(pos, node)
- minetest.swap_node(pos, {name = "default:mossycobble"})
- end
-})
-
-- If Crystal Spike, Crystal Dirt, Snow near Water, change Water to Ice
minetest.register_abm({
nodenames = {
@@ -154,7 +143,7 @@ minetest.register_abm({
if num > 0 then
- minetest.swap_node(pos, {name = "default:water_flowing"})
+ minetest.swap_node(pos, {name = "air"})
minetest.add_item(pos, {name = node.name})
end
diff --git a/wood.lua b/wood.lua
index d0b891e..febdd39 100644
--- a/wood.lua
+++ b/wood.lua
@@ -1,40 +1,5 @@
---= Define Trunks and Wood
--- Acacia Trunk (thanks to VanessaE for acacia textures)
-if minetest.registered_nodes["default:acacia_tree"] then
- minetest.register_alias("ethereal:acacia_trunk", "default:acacia_tree")
- minetest.register_alias("ethereal:acacia_wood", "default:acacia_wood")
- print ("using acacia tree in default game")
-else
-minetest.register_node("ethereal:acacia_trunk", {
- description = "Acacia Trunk",
- tiles = {
- "moretrees_acacia_trunk_top.png",
- "moretrees_acacia_trunk_top.png",
- "moretrees_acacia_trunk.png"
- },
- groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
- sounds = default.node_sound_wood_defaults(),
- paramtype2 = "facedir",
- on_place = minetest.rotate_node,
-})
-
--- Acacia Wood
-minetest.register_node("ethereal:acacia_wood", {
- description = "Acacia Wood",
- tiles = {"moretrees_acacia_wood.png"},
- is_ground_content = false,
- groups = {wood = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
- sounds = default.node_sound_wood_defaults(),
-})
-
-minetest.register_craft({
- output = "ethereal:acacia_wood 4",
- recipe = {{"ethereal:acacia_trunk"}}
-})
-end
-
--- Willow Trunk
+-- willow trunk
minetest.register_node("ethereal:willow_trunk", {
description = "Willow Trunk",
tiles = {
@@ -48,7 +13,7 @@ minetest.register_node("ethereal:willow_trunk", {
on_place = minetest.rotate_node,
})
--- Willow Wood
+-- willow wood
minetest.register_node("ethereal:willow_wood", {
description = "Willow Wood",
tiles = {"willow_wood.png"},
@@ -62,7 +27,7 @@ minetest.register_craft({
recipe = {{"ethereal:willow_trunk"}}
})
--- Redwood Trunk
+-- redwood trunk
minetest.register_node("ethereal:redwood_trunk", {
description = "Redwood Trunk",
tiles = {
@@ -76,7 +41,7 @@ minetest.register_node("ethereal:redwood_trunk", {
on_place = minetest.rotate_node,
})
--- Redwood Wood
+-- redwood wood
minetest.register_node("ethereal:redwood_wood", {
description = "Redwood Wood",
tiles = {"redwood_wood.png"},
@@ -90,7 +55,7 @@ minetest.register_craft({
recipe = {{"ethereal:redwood_trunk"}},
})
--- Frost Trunk
+-- frost trunk
minetest.register_node("ethereal:frost_tree", {
description = "Frost Tree",
tiles = {
@@ -104,7 +69,7 @@ minetest.register_node("ethereal:frost_tree", {
on_place = minetest.rotate_node,
})
--- Frost Wood
+-- frost wood
minetest.register_node("ethereal:frost_wood", {
description = "Frost Wood",
tiles = {"frost_wood.png"},
@@ -118,7 +83,7 @@ minetest.register_craft({
recipe = {{"ethereal:frost_tree"}}
})
--- Healing Trunk
+-- healing trunk
minetest.register_node("ethereal:yellow_trunk", {
description = "Healing Tree Trunk",
tiles = {
@@ -132,7 +97,7 @@ minetest.register_node("ethereal:yellow_trunk", {
on_place = minetest.rotate_node,
})
--- Healing Wood
+-- healing wood
minetest.register_node("ethereal:yellow_wood", {
description = "Healing Tree Wood",
tiles = {"yellow_wood.png"},
@@ -146,7 +111,7 @@ minetest.register_craft({
recipe = {{"ethereal:yellow_trunk"}}
})
--- Palm Trunk (thanks to VanessaE for palm textures)
+-- palm trunk (thanks to VanessaE for palm textures)
minetest.register_node("ethereal:palm_trunk", {
description = "Palm Trunk",
tiles = {
@@ -160,7 +125,7 @@ minetest.register_node("ethereal:palm_trunk", {
on_place = minetest.rotate_node,
})
--- Palm Wood
+-- palm wood
minetest.register_node("ethereal:palm_wood", {
description = "Palm Wood",
tiles = {"moretrees_palm_wood.png"},
@@ -174,7 +139,7 @@ minetest.register_craft({
recipe = {{"ethereal:palm_trunk"}}
})
--- Banana Tree Trunk
+-- banana trunk
minetest.register_node("ethereal:banana_trunk", {
description = "Banana Trunk",
tiles = {
@@ -188,7 +153,7 @@ minetest.register_node("ethereal:banana_trunk", {
on_place = minetest.rotate_node,
})
--- Banana Tree Wood
+-- banana wood
minetest.register_node("ethereal:banana_wood", {
description = "Banana Wood",
tiles = {"banana_wood.png"},
@@ -202,7 +167,7 @@ minetest.register_craft({
recipe = {{"ethereal:banana_trunk"}}
})
--- Scorched Trunk
+-- scorched trunk
minetest.register_node("ethereal:scorched_tree", {
description = "Scorched Tree",
tiles = {
@@ -225,7 +190,7 @@ minetest.register_craft({
}
})
--- Mushroom Trunk
+-- mushroom trunk
minetest.register_node("ethereal:mushroom_trunk", {
description = "Mushroom",
tiles = {
@@ -239,7 +204,7 @@ minetest.register_node("ethereal:mushroom_trunk", {
on_place = minetest.rotate_node,
})
--- Birch Trunk (thanks to VanessaE for birch textures)
+-- birch trunk (thanks to VanessaE for birch textures)
minetest.register_node("ethereal:birch_trunk", {
description = "Birch Trunk",
tiles = {
@@ -253,7 +218,7 @@ minetest.register_node("ethereal:birch_trunk", {
on_place = minetest.rotate_node,
})
--- Birch Wood
+-- birch wood
minetest.register_node("ethereal:birch_wood", {
description = "Birch Wood",
tiles = {"moretrees_birch_wood.png"},
@@ -266,3 +231,30 @@ minetest.register_craft({
output = "ethereal:birch_wood 4",
recipe = {{"ethereal:birch_trunk"}}
})
+
+-- Bamboo (thanks to Nelo-slay on DeviantArt for the free Bamboo base image)
+minetest.register_node("ethereal:bamboo", {
+ description = "bamboo",
+ drawtype = "plantlike",
+ tiles = {"bamboo.png"},
+ inventory_image = "bamboo.png",
+ wield_image = "bamboo.png",
+ paramtype = "light",
+ sunlight_propagates = true,
+ walkable = true,
+ selection_box = {
+ type = "fixed",
+ fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}
+ },
+ groups = {choppy = 3, oddly_breakable_by_hand = 1, flammable = 2, tree = 1},
+ sounds = default.node_sound_leaves_defaults(),
+ after_dig_node = function(pos, node, metadata, digger)
+ default.dig_up(pos, node, digger)
+ end,
+})
+
+minetest.register_craft({
+ type = "fuel",
+ recipe = "ethereal:bamboo",
+ burntime = 1,
+})