diff options
author | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2013-01-24 23:22:46 -0500 |
---|---|---|
committer | Vanessa Ezekowitz <vanessaezekowitz@gmail.com> | 2013-01-25 16:10:28 -0500 |
commit | 4db9b3076dd368939ef016d77c638bfa997752a4 (patch) | |
tree | c01ab0af0743146f675c8172e599892aba987535 /node_defs.lua | |
parent | 6dc817acb0b00a77a5bf2aa2c022824b6ec1b6ce (diff) |
Modified tree generation and sapling growth calls
to comply with new plantlife API
In addition to that, there have been numerous other, smaller changes:
* Tweaked palm tree model to add coconuts
* Tweaked size of all "fruit" items (really just cones). Rotated their images
in inventory and wield.
* Changed descriptions of sideways trunks to "Sideways Xxxx Trunk"
* Tweaked names of jungle tree leaves to be Jungle Tree Leaves (Xxxx)
* Moved jungletree trunk, sideways trunk, sapling into nodedef loop
* Renamed trunks and trunk tops to bear "_trunk" and "_trunk_top" in their
filenames.
* Added copies of default jungle tree trunks and tops, with naming similar to
the above change.
* Re-arranged init.lua to put all leaves/needles definitions in one place.
* Deleted some outdated textures.
* combined leaves definitions back into main loop with an exception for
jungletrees (if that one is called for, it is skipped, because leaves for
those trees are explicitly defined later)
* Made all leaves drop saplings when dug, 1/20 chance.
* Added leafdecay radii to main tree table but disabled the use of it. To be
implemented in the future. Disabled leaf decay for firs.
Diffstat (limited to 'node_defs.lua')
-rw-r--r-- | node_defs.lua | 315 |
1 files changed, 74 insertions, 241 deletions
diff --git a/node_defs.lua b/node_defs.lua index 8e3b21e..396bf67 100644 --- a/node_defs.lua +++ b/node_defs.lua @@ -1,16 +1,3 @@ -leaves = { - {"beech", "Beech Leaves"}, - {"apple_tree", "Apple Tree Leaves"}, - {"oak", "Oak Leaves"}, - {"sequoia", "Sequoia Needles"}, - {"birch", "Birch Leaves"}, - {"palm", "Palm Leaves"}, - {"spruce", "Spruce Needles"}, - {"pine", "Pine Needles"}, - {"willow", "Willow Leaves"}, - {"rubber_tree", "Rubber Tree Leaves"}, -} - moretrees.avoidnodes = {} table.insert(moretrees.avoidnodes, "default:jungletree") @@ -21,31 +8,20 @@ table.insert(moretrees.avoidnodes, "moretrees:jungletree_leaves_yellow") table.insert(moretrees.avoidnodes, "moretrees:fir_trunk") table.insert(moretrees.avoidnodes, "moretrees:fir_leaves") table.insert(moretrees.avoidnodes, "moretrees:fir_leaves_bright") - -for i in ipairs(leaves) do - local name = leaves[i] - minetest.register_node("moretrees:"..leaves[i][1].."_leaves", { - description = leaves[i][2], - drawtype = "allfaces_optional", - tiles = { "moretrees_"..leaves[i][1].."_leaves.png" }, - paramtype = "light", - groups = {tree=1, snappy=3, flammable=2}, - sounds = default.node_sound_leaves_defaults(), - }) - table.insert(moretrees.avoidnodes, "moretrees:"..leaves[i][1].."_leaves") - end trees = { - {"beech", "Beech", nil, nil, nil }, - {"apple_tree", "Apple Tree", nil, nil, nil }, - {"oak", "Oak", "acorn", "Acorn", {-0.2, -0.5, -0.2, 0.2, 0, 0.2} }, - {"sequoia", "Sequoia", nil, nil, nil }, - {"birch", "Birch", nil, nil, nil }, - {"palm", "Palm", "coconut", "Coconut", {-0.2, -0.5, -0.2, 0.2, 0, 0.2} }, - {"spruce", "Spruce", "spruce_cone", "Spruce Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2} }, - {"pine", "Pine", "pine_cone", "Pine Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2} }, - {"willow", "Willow", nil, nil, nil }, - {"rubber_tree", "Rubber Tree", nil, nil, nil }, + {"beech", "Beech", 4 }, + {"apple_tree", "Apple Tree", 10 }, + {"oak", "Oak", 10, "acorn", "Acorn", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, + {"sequoia", "Sequoia", 7 }, + {"birch", "Birch", 10 }, + {"palm", "Palm", 15, "coconut", "Coconut", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 1.0 }, + {"spruce", "Spruce", 10, "spruce_cone", "Spruce Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, + {"pine", "Pine", 10, "pine_cone", "Pine Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, + {"willow", "Willow", 15 }, + {"rubber_tree", "Rubber Tree", 7 }, + {"jungletree", "Jungle Tree"}, + {"fir", "Fir", 15, "fir_cone", "Fir Cone", {-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 }, } simple_trees = { "beech", "apple_tree", "oak", "sequoia", "palm", "pine", "willow", "rubber_tree"} @@ -53,18 +29,18 @@ simple_trees = { "beech", "apple_tree", "oak", "sequoia", "palm", "pine", "willo for i in ipairs(trees) do local treename = trees[i][1] local treedesc = trees[i][2] - local fruit = trees[i][3] - local fruitdesc = trees[i][4] - local selbox = trees[i][5] - - table.insert(moretrees.avoidnodes, "moretrees:"..treename.."_trunk") + local leafdecayradius = trees[i][3] -- future use, not yet implemented. + local fruit = trees[i][4] + local fruitdesc = trees[i][5] + local selbox = trees[i][6] + local vscale = trees[i][7] minetest.register_node("moretrees:"..treename.."_trunk", { - description = treedesc.." Trunk", + description = treedesc.." Tree Trunk", tiles = { - "moretrees_"..treename.."_top.png", - "moretrees_"..treename.."_top.png", - "moretrees_"..treename..".png" + "moretrees_"..treename.."_trunk_top.png", + "moretrees_"..treename.."_trunk_top.png", + "moretrees_"..treename.."_trunk.png" }, is_ground_content = true, groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, @@ -72,14 +48,14 @@ for i in ipairs(trees) do }) minetest.register_node("moretrees:"..treename.."_trunk_sideways", { - description = treedesc.." Trunk (sideways)", + description = "Sideways "..treedesc.." Tree Trunk", tiles = { - "moretrees_"..treename..".png^[transformR90", - "moretrees_"..treename..".png^[transformR90", - "moretrees_"..treename.."_top.png", - "moretrees_"..treename.."_top.png", - "moretrees_"..treename..".png^[transformR90", - "moretrees_"..treename..".png^[transformR90" + "moretrees_"..treename.."_trunk.png^[transformR90", + "moretrees_"..treename.."_trunk.png^[transformR90", + "moretrees_"..treename.."_trunk_top.png", + "moretrees_"..treename.."_trunk_top.png", + "moretrees_"..treename.."_trunk.png^[transformR90", + "moretrees_"..treename.."_trunk.png^[transformR90" }, is_ground_content = true, groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, @@ -87,7 +63,7 @@ for i in ipairs(trees) do }) minetest.register_node("moretrees:"..treename.."_planks", { - description = treedesc.." Planks", + description = treedesc.." Beech Planks", tiles = {"moretrees_"..treename.."_wood.png"}, is_ground_content = true, groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, @@ -95,7 +71,7 @@ for i in ipairs(trees) do }) minetest.register_node("moretrees:"..treename.."_sapling", { - description = treedesc.." Sapling", + description = treedesc.." Tree Sapling", drawtype = "plantlike", tiles = {"moretrees_"..treename.."_sapling.png"}, inventory_image = "moretrees_"..treename.."_sapling.png", @@ -114,7 +90,9 @@ for i in ipairs(trees) do description = fruitdesc, drawtype = "plantlike", tiles = { "moretrees_"..fruit..".png" }, - inventory_image = "moretrees_"..fruit..".png", + inventory_image = "moretrees_"..fruit..".png^[transformR180", + wield_image = "moretrees_"..fruit..".png^[transformR180", + visual_scale = vscale, paramtype = "light", sunlight_propagates = true, walkable = false, @@ -127,165 +105,61 @@ for i in ipairs(trees) do }) end -end - --- Nodes for jungle trees - -minetest.register_node("moretrees:jungletree_sapling", { - description = "Jungle Tree Sapling", - drawtype = "plantlike", - tiles = {"moretrees_jungletree_sapling.png"}, - inventory_image = "moretrees_jungletree_sapling.png", - paramtype = "light", - walkable = false, - groups = {snappy=2,dig_immediate=3,flammable=2}, -}) + -- player will get sapling with 1/20 chance + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 -minetest.register_node("moretrees:jungletree_trunk", { - description = "Jungle Tree trunk (sideways)", - tiles = { - "default_jungletree_top.png", - "default_jungletree_top.png", - "default_jungletree.png", - "default_jungletree.png", - "default_jungletree.png", - "default_jungletree.png" - }, - groups = {wood=1,snappy=2,dig_immediate=3,flammable=2}, -}) + if treename ~= "jungletree" then + minetest.register_node("moretrees:"..treename.."_leaves", { + description = treedesc.." Tree Leaves", + drawtype = "allfaces_optional", + tiles = { "moretrees_"..treename.."_leaves.png" }, + paramtype = "light", + groups = {tree=1, snappy=3, flammable=2 }, + sounds = default.node_sound_leaves_defaults(), + + -- player will get sapling with 1/20 chance + -- player will get leaves only if he/she gets no + -- saplings, because max_items is 1. + + drop = { + max_items = 1, + items = { + {items = {"moretrees:"..treename.."_sapling"}, rarity = 20 }, + {items = {"moretrees:"..treename.."_leaves"} } + } + }, + }) + end -minetest.register_node("moretrees:jungletree_planks", { - description = "Jungle Tree Planks", - tiles = { - "moretrees_jungletree_wood.png", - }, - groups = {wood=1,snappy=2,dig_immediate=3,flammable=2}, -}) + table.insert(moretrees.avoidnodes, "moretrees:"..treename.."_trunk") + table.insert(moretrees.avoidnodes, "moretrees:"..treename.."_leaves") +end -minetest.register_node("moretrees:jungletree_trunk_sideways", { - description = "Jungle Tree trunk (sideways)", - tiles = { - "default_jungletree.png^[transformR90", - "default_jungletree.png^[transformR90", - "default_jungletree_top.png", - "default_jungletree_top.png", - "default_jungletree.png^[transformR90", - "default_jungletree.png^[transformR90" - }, - groups = {wood=1,snappy=2,dig_immediate=3,flammable=2}, -}) +-- Extra leaves for jungle trees: -local leaves = {"green","yellow","red"} +local jungleleaves = {"green","yellow","red"} +local jungleleavesnames = {"Green", "Yellow", "Red"} for color = 1, 3 do - local leave_name = "moretrees:jungletree_leaves_"..leaves[color] + local leave_name = "moretrees:jungletree_leaves_"..jungleleaves[color] minetest.register_node(leave_name, { - description = "Jungle Tree Leaves", + description = "Jungle Tree Leaves ("..jungleleavesnames[color]..")", drawtype = "allfaces_optional", - tiles = {"moretrees_jungletree_leaves_"..leaves[color]..".png"}, + tiles = {"moretrees_jungletree_leaves_"..jungleleaves[color]..".png"}, paramtype = "light", - groups = {snappy=3, leafdecay=3, flammable=2}, + groups = {snappy=3, flammable=2}, drop = { max_items = 1, items = { - { - -- player will get sapling with 1/20 chance - items = {'moretrees:jungletree_sapling'}, - rarity = 20, - }, - { - -- player will get leaves only if he get no saplings, - -- this is because max_items is 1 - items = {"moretrees:jungletree_leaves_"..leaves[color]}, - } + {items = {'moretrees:jungletree_sapling'}, rarity = 20 }, + {items = {"moretrees:jungletree_leaves_"..jungleleaves[color]} } } }, sounds = default.node_sound_leaves_defaults(), }) end --- Nodes for firs - -minetest.register_node("moretrees:fir_trunk", { - description = "Fir trunk", - tile_images = { - "moretrees_fir_trunktop.png", - "moretrees_fir_trunktop.png", - "moretrees_fir_trunk.png", - "moretrees_fir_trunk.png", - "moretrees_fir_trunk.png", - "moretrees_fir_trunk.png" - }, - is_ground_content = true, - groups = { - tree = 1, - snappy = 2, - choppy = 2, - oddly_breakable_by_hand = 1, - flammable = 2, - wood = 1 - }, - sounds = default.node_sound_wood_defaults() -}) - -minetest.register_node("moretrees:fir_trunk_sideways", { - description = "Fir Trunk (sideways)", - tile_images = { - "moretrees_fir_trunk.png^[transformR90", - "moretrees_fir_trunk.png^[transformR90", - "moretrees_fir_trunktop.png", - "moretrees_fir_trunktop.png", - "moretrees_fir_trunk.png^[transformR90", - "moretrees_fir_trunk.png^[transformR90" - }, - paramtype2 = "facedir", - material = minetest.digprop_woodlike(1.0), - - groups = { - tree = 1, - snappy = 2, - choppy = 2, - oddly_breakable_by_hand = 1, - flammable = 2, - wood = 1 - }, - sounds = default.node_sound_wood_defaults() -}) - -minetest.register_node("moretrees:fir_planks", { - description = "Fir Planks", - tiles = { - "moretrees_fir_wood.png", - }, - groups = {wood=1,snappy=2,dig_immediate=3,flammable=2}, -}) - -minetest.register_node("moretrees:fir_leaves", { - drawtype = "allfaces_optional", - description = "Fir Leaves", - tile_images = { "moretrees_fir_leaves.png" }, - paramtype = "light", - groups = { - snappy = 3, - leafdecay = 3, - flammable = 2 - }, - drop = { - max_items = 1, - items = { - { - -- player will get sapling with 1/20 chance - items = {'moretrees:fir_sapling'}, - rarity = 20, - }, - { - -- player will get leaves only if he get no saplings, - -- this is because max_items is 1 - items = {'moretrees:fir_leaves'}, - } - } - }, - sounds = default.node_sound_leaves_defaults() -}) +-- Extra needles for firs minetest.register_node("moretrees:fir_leaves_bright", { drawtype = "allfaces_optional", @@ -293,59 +167,18 @@ minetest.register_node("moretrees:fir_leaves_bright", { tile_images = { "moretrees_fir_leaves_bright.png" }, paramtype = "light", - groups = { - snappy = 3, - leafdecay = 3, - flammable = 2 - }, + groups = {snappy=3, flammable=2 }, drop = { max_items = 1, items = { - { - -- player will get sapling with 1/20 chance - items = {'moretrees:fir_sapling'}, - rarity = 20, - }, - { - -- player will get leaves only if he get no saplings, - -- this is because max_items is 1 - items = {'moretrees:fir_leaves'}, - } + {items = {'moretrees:fir_sapling'}, rarity = 20 }, + {items = {'moretrees:fir_leaves'} } } }, sounds = default.node_sound_leaves_defaults() }) -minetest.register_node("moretrees:fir_sapling", { - description = "Fir sapling", - drawtype = "plantlike", - tile_images = {"moretrees_fir_sapling.png"}, - inventory_image = "moretrees_fir_sapling.png", - paramtype = "light", - walkable = false, - groups = { - snappy = 2, - dig_immediate = 3, - flammable = 2 - }, - sounds = default.node_sound_defaults(), -}) -minetest.register_node("moretrees:fir_cone", { - description = "Fir cone", - drawtype = "plantlike", - tiles = {"moretrees_fir_cone.png"}, - inventory_image = "moretrees_fir_cone.png", - paramtype = "light", - sunlight_propagates = true, - walkable = false, - groups = {fleshy=3,dig_immediate=3,flammable=2}, - sounds = default.node_sound_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} - }, -}) -- Backward compatbility with old mods/nodes: |