diff options
author | TenPlus1 <kinsellaja@yahoo.com> | 2015-07-25 16:45:29 +0100 |
---|---|---|
committer | TenPlus1 <kinsellaja@yahoo.com> | 2015-07-25 16:45:29 +0100 |
commit | 170b62ecdeaae56c2c612f534d5c99593ccb10b1 (patch) | |
tree | e496d78772dc7ef061dd6b7c7980aff4443cca28 /sapling.lua | |
parent | f37b81262aaa40445abddc8aa0a17f4801c9d68d (diff) |
Tweaked and Tidied code
Diffstat (limited to 'sapling.lua')
-rw-r--r-- | sapling.lua | 171 |
1 files changed, 91 insertions, 80 deletions
diff --git a/sapling.lua b/sapling.lua index fef6d2a..644a141 100644 --- a/sapling.lua +++ b/sapling.lua @@ -1,61 +1,43 @@ --- Function to Register Saplings -ethereal.register_sapling = function(sapling_node_name, sapling_descr, sapling_texture) - -- if the sapling does not exist yet, create a node for it - if not minetest.registered_nodes[sapling_node_name] then - minetest.register_node( sapling_node_name, { - description = sapling_descr, - drawtype = "plantlike", - visual_scale = 1.0, - tiles = {sapling_texture}, - inventory_image = sapling_texture, - wield_image = sapling_texture, - paramtype = "light", - sunlight_propagates = true, - is_ground_content = false, - walkable = false, - selection_box = { - type = "fixed", - fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5} - }, - groups = { - snappy = 2, dig_immediate = 3, flammable = 2, - ethereal_sapling = 1, attached_node = 1 - }, - sounds = default.node_sound_defaults(), - }) - end -end - -- Register Saplings -ethereal.register_sapling("ethereal:willow_sapling", "Willow Sapling", "willow_sapling.png") -ethereal.register_sapling("ethereal:yellow_tree_sapling", "Healing Tree Sapling", "yellow_tree_sapling.png") -ethereal.register_sapling("ethereal:tree_sapling", "Tree Sapling", "ethereal_tree_sapling.png") -ethereal.register_sapling("ethereal:jungle_tree_sapling","Jungletree Sapling", "ethereal_jungle_tree_sapling.png") -ethereal.register_sapling("ethereal:pine_tree_sapling", "Pine Sapling", "ethereal_pine_tree_sapling.png") -ethereal.register_sapling("ethereal:big_tree_sapling", "Big Tree Sapling", "ethereal_big_tree_sapling.png") -ethereal.register_sapling("ethereal:banana_tree_sapling", "Banana Tree Sapling", "banana_tree_sapling.png") -ethereal.register_sapling("ethereal:frost_tree_sapling", "Frost Sapling", "ethereal_frost_tree_sapling.png") -ethereal.register_sapling("ethereal:gray_tree_sapling", "Gray Sapling", "ethereal_gray_tree_sapling.png") -ethereal.register_sapling("ethereal:mushroom_sapling", "Mushroom Sapling", "ethereal_mushroom_sapling.png") -ethereal.register_sapling("ethereal:palm_sapling", "Palm Sapling", "moretrees_palm_sapling.png") -ethereal.register_sapling("ethereal:redwood_sapling", "Redwood Sapling", "redwood_sapling.png") -ethereal.register_sapling("ethereal:orange_tree_sapling", "Orange Tree Sapling", "orange_tree_sapling.png") -ethereal.register_sapling("ethereal:acacia_sapling", "Acacia Sapling", "moretrees_acacia_sapling.png") - --- current routine -ethereal.place_tree = function (pos, ofx, ofz, schem) - -- Remove Sapling and Place Tree Schematic - minetest.set_node(pos, {name = "air"}) - pos.x = pos.x - ofx - pos.z = pos.z - ofz - minetest.place_schematic( - pos, - minetest.get_modpath("ethereal").."/schematics/"..schem..".mts", - "0", {}, false - ) +ethereal.register_sapling = function(name, desc, texture) + + minetest.register_node(name .. "_sapling", { + description = desc .. " Tree Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {texture .. "_sapling.png"}, + inventory_image = texture .. "_sapling.png", + paramtype = "light", + sunlight_propagates = true, + is_ground_content = false, + walkable = false, + selection_box = { + type = "fixed", + fixed = {-0.5, -0.5, -0.5, 0.5, -5/16, 0.5} + }, + groups = { + snappy = 2, dig_immediate = 3, flammable = 2, + ethereal_sapling = 1, attached_node = 1 + }, + sounds = default.node_sound_defaults(), + }) end --- new routine +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:gray_tree", "Gray", "ethereal_gray_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.add_tree = function (pos, ofx, ofz, schem) -- check for schematic if not schem then @@ -70,40 +52,69 @@ ethereal.add_tree = function (pos, ofx, ofz, schem) ) end +local path = minetest.get_modpath("ethereal").."/schematics/" + ethereal.grow_sapling = function (pos, node) local under = minetest.get_node_or_nil({x = pos.x, y = pos.y - 1, z = pos.z}) if under then under = under.name else return end -- Check if Sapling is growing on correct substrate - if (node.name == "ethereal:yellow_tree_sapling" and under == "default:dirt_with_snow") then - ethereal.place_tree(pos, 4, 4, "yellowtree") - elseif (node.name == "ethereal:tree_sapling" and under == "ethereal:green_dirt") then + 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.place_tree(pos, 6, 6, "jungletree") - elseif (node.name == "ethereal:pine_tree_sapling" and under == "ethereal:cold_dirt") then - ethereal.place_tree(pos, 3, 3, "pinetree") - elseif (node.name == "ethereal:big_tree_sapling" and under == "ethereal:green_dirt") then - ethereal.place_tree(pos, 4, 4, "bigtree") - elseif (node.name == "ethereal:banana_tree_sapling" and under == "ethereal:grove_dirt") then + + 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") + + elseif node.name == "ethereal:big_tree_sapling" + and under == "ethereal:green_dirt" then + ethereal.add_tree(pos, 4, 4, path .. "bigtree.mts") + + elseif node.name == "ethereal:banana_tree_sapling" + and under == "ethereal:grove_dirt" then ethereal.add_tree(pos, 3, 3, ethereal.bananatree) - elseif (node.name == "ethereal:frost_tree_sapling" and under == "ethereal:crystal_dirt") then - ethereal.place_tree(pos, 4, 4, "frosttrees") - elseif (node.name == "ethereal:gray_tree_sapling" and under == "ethereal:gray_dirt") then - ethereal.place_tree(pos, 2, 2, "graytrees") - elseif (node.name == "ethereal:mushroom_sapling" and under == "ethereal:mushroom_dirt") then - ethereal.place_tree(pos, 4, 4, "mushroomone") - elseif (node.name == "ethereal:palm_sapling" and under == "default:sand") then - ethereal.place_tree(pos, 4, 4, "palmtree") - elseif (node.name == "ethereal:willow_sapling" and under == "ethereal:gray_dirt") then - ethereal.place_tree(pos, 5, 5, "willow") - elseif (node.name == "ethereal:redwood_sapling" and under == "bakedclay:red") then - ethereal.place_tree(pos, 9, 9, "redwood") - elseif (node.name == "ethereal:orange_tree_sapling" and under == "ethereal:prairie_dirt") then + + elseif node.name == "ethereal:frost_tree_sapling" + and under == "ethereal:crystal_dirt" then + ethereal.add_tree(pos, 4, 4, path .. "frosttrees.mts") + + elseif node.name == "ethereal:gray_tree_sapling" + and under == "ethereal:gray_dirt" then + ethereal.add_tree(pos, 2, 2, path .. "graytrees.mts") + + elseif node.name == "ethereal:mushroom_sapling" + and under == "ethereal:mushroom_dirt" then + ethereal.add_tree(pos, 4, 4, path .. "mushroomone.mts") + + elseif node.name == "ethereal:palm_sapling" + and under == "default:sand" then + ethereal.add_tree(pos, 4, 4, path .. "palmtree.mts") + + elseif node.name == "ethereal:willow_sapling" + and under == "ethereal:gray_dirt" then + ethereal.add_tree(pos, 5, 5, path .. "willow.mts") + + elseif node.name == "ethereal:redwood_sapling" + and under == "bakedclay:red" then + ethereal.add_tree(pos, 9, 9, path .. "redwood.mts") + + 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:desert_sand") then - ethereal.place_tree(pos, 5, 5, "acaciatree") + + elseif node.name == "ethereal:acacia_sapling" + and under == "default:desert_sand" then + ethereal.add_tree(pos, 5, 5, path .. "acaciatree.mts") end end |