diff --git a/aliases.lua b/aliases.lua index e4257c1..b3b5549 100644 --- a/aliases.lua +++ b/aliases.lua @@ -1,19 +1,4 @@ -minetest.register_alias("moretrees:jungletree_sapling", "trees:jungletree_sapling") -minetest.register_alias("moretrees:fir_leaves_bright", "trees:leaves_conifer") -minetest.register_alias("moretrees:fir_leaves", "trees:leaves_conifer") -minetest.register_alias("moretrees:fir_trunk", "trees:tree_conifer") - -minetest.register_alias("moretrees:palm_trunk", "trees:tree_palm") -minetest.register_alias("moretrees:palm_leaves", "trees:leaves_palm") - minetest.register_alias("jungletree:leaves_green", "trees:leaves_green") minetest.register_alias("jungletree:leaves_red", "trees:leaves_red") minetest.register_alias("jungletree:leaves_yellow", "trees:leaves_yellow") - - - -minetest.register_alias("moretrees:jungletree_trunk", "default_jungletree") -minetest.register_alias("moretrees:jungletree_sapling", "trees:jungletree_sapling") -minetest.register_alias("moretrees:jungletree_leaves_green", "trees:leaves_green") -minetest.register_alias("moretrees:jungletree_leaves_yellow", "trees:leaves_yellow") -minetest.register_alias("moretrees:jungletree_leaves_red", "trees:leaves_red") +minetest.register_alias("trees:tree_jungletree", "default:jungletree") diff --git a/conifertree.lua b/conifertree.lua index daa0798..2bff057 100644 --- a/conifertree.lua +++ b/conifertree.lua @@ -38,80 +38,8 @@ abstract_trees.grow_conifertree = function(pos) end end end ---nodes -minetest.register_node("trees:tree_conifer", { - description = "Conifer trunk", - tile_images = { - "trees_tree_top_conifer.png", - "trees_tree_top_conifer.png", - "trees_tree_conifer.png", - "trees_tree_conifer.png", - "trees_tree_conifer.png", - "trees_tree_conifer.png", - }, - is_ground_content = true, - groups = { - tree = 1, - snappy = 2, - choppy = 2, - oddly_breakable_by_hand = 1, - flammable = 2 - }, - sounds = default.node_sound_wood_defaults() -}) -minetest.register_node("trees:leaves_conifer", { - description = "Conifer leaves", - drawtype = "allfaces_optional", - visual_scale = 1.3, - tile_images = { "trees_leaves_conifer.png" }, - --inventory_image = "conifers_leaves.png", - paramtype = "light", - groups = { - snappy = 3, - leafdecay = 3, - flammable = 2 - }, - drop = { - max_items = 1, - items = { - { - items = {'trees:sapling_conifer'}, - rarity = 30, - }, - } - }, - sounds = default.node_sound_leaves_defaults() -}) -minetest.register_node("trees:sapling_conifer", { - description = "Conifer sapling", - drawtype = "plantlike", - visual_scale = 1.0, - tile_images = { "trees_sapling_conifer.png" }, - paramtype = "light", - walkable = false, - groups = { - snappy = 2, - dig_immediate = 3, - flammable = 2 - }, - sounds = default.node_sound_defaults(), -}) - -minetest.register_craft({ - output = 'trees:wood_conifer 4', - recipe = { - {'trees:tree_conifer'}, - } -}) - -minetest.register_node("trees:wood_conifer", { - description = "Conifer Wood", - tiles = {"trees_wood_conifer.png"}, - groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, - sounds = default.node_sound_wood_defaults(), -}) -- abm minetest.register_abm({ nodenames = "trees:sapling_conifer", diff --git a/init.lua b/init.lua index a850389..df760b6 100644 --- a/init.lua +++ b/init.lua @@ -1,9 +1,10 @@ abstract_trees = {} +dofile(minetest.get_modpath("trees").."/nodes.lua") dofile(minetest.get_modpath("trees").."/jungletree.lua") dofile(minetest.get_modpath("trees").."/mangrovetree.lua") dofile(minetest.get_modpath("trees").."/palmtree.lua") -dofile(minetest.get_modpath("trees").."/loaftree.lua") +--dofile(minetest.get_modpath("trees").."/loaftree.lua") dofile(minetest.get_modpath("trees").."/aliases.lua") dofile(minetest.get_modpath("trees").."/conifertree.lua") diff --git a/jungletree.lua b/jungletree.lua index 3bd9d86..2420672 100644 --- a/jungletree.lua +++ b/jungletree.lua @@ -90,6 +90,7 @@ for color = 1, 3 do drawtype = "allfaces_optional", tiles = {"trees_leaves_"..leaves[color]..".png"}, paramtype = "light", + use_texture_alpha = true, groups = {snappy=3, leafdecay=3, flammable=2}, drop = { max_items = 1, diff --git a/mangrovetree.lua b/mangrovetree.lua index e709e2a..1b39897 100644 --- a/mangrovetree.lua +++ b/mangrovetree.lua @@ -50,6 +50,7 @@ name = "mangrove" minetest.register_node("trees:leaves_"..name, { description = name.. " Leaves", drawtype = "allfaces_optional", + use_texture_alpha = true, tiles = {"trees_leaves_"..name..".png"}, paramtype = "light", groups = {snappy=3, leafdecay=3, flammable=2}, @@ -75,13 +76,6 @@ minetest.register_craft({ } }) -minetest.register_node("trees:wood_"..name, { - description = name.. " Wood", - tiles = {"trees_wood_"..name..".png"}, - groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, - sounds = default.node_sound_wood_defaults(), -}) - minetest.register_node("trees:sapling_mangrove", { description = "Mangrove Sapling", drawtype = "plantlike", @@ -103,9 +97,16 @@ minetest.register_abm({ end, }) -minetest.register_alias("trees:leaves_dead_mangrove", "trees:leaves_mangrove") -minetest.register_alias("trees:leaves_dead_mangrove", "trees:leaves_mangrove") -minetest.register_alias("trees:tree_dead_mangrove", "trees:tree_mangrove") +minetest.register_abm({ + nodenames = "trees:sapling_mangrove", + interval = 1000, + chance = 4, + action = function(pos, node, _, _) + if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" then + abstract_trees.grow_mangrovetree({x = pos.x, y = pos.y, z = pos.z}) + end + end +}) --spawning plantslib:register_generate_plant({ diff --git a/nodes.lua b/nodes.lua index 7e89466..f43b71e 100644 --- a/nodes.lua +++ b/nodes.lua @@ -1,5 +1,6 @@ abstract_trees.trees_register_nodes_tree = function(name) + minetest.register_node("trees:leaves_"..name, { description = name.. " Leaves", drawtype = "allfaces_optional", @@ -9,7 +10,7 @@ abstract_trees.trees_register_nodes_tree = function(name) drop = { max_items = 1, items = { - {items = {'jungletree:sapling'},rarity = 20}, + {items = {'trees:sapling_'..name},rarity = 20}, } }, sounds = default.node_sound_leaves_defaults(), @@ -25,12 +26,37 @@ abstract_trees.trees_register_nodes_tree = function(name) minetest.register_node("trees:wood_"..name, { description = name.. " Wood", + paramtype2 = "facedir", tiles = {"trees_wood_"..name..".png"}, groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, sounds = default.node_sound_wood_defaults(), }) + + minetest.register_craft({ + output = 'trees:wood_'..name..' 4', + recipe = { + {'trees:tree_'..name}, + } + }) + + minetest.register_node("trees:sapling_"..name, { + description = name.." sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tile_images = { "trees_sapling_"..name..".png" }, + paramtype = "light", + walkable = false, + groups = { + snappy = 2, + dig_immediate = 3, + flammable = 2 + }, + sounds = default.node_sound_defaults(), + }) + end abstract_trees.trees_register_nodes_tree("palm") abstract_trees.trees_register_nodes_tree("mangrove") +abstract_trees.trees_register_nodes_tree("conifer") diff --git a/palmtree.lua b/palmtree.lua index 92f76a1..73ec2fb 100644 --- a/palmtree.lua +++ b/palmtree.lua @@ -1,6 +1,6 @@ --function -abstract_trees.grow_palmtree = function(pos, size) - local size = 4+math.random(6) +abstract_trees.grow_palmtree = function(pos) + local size = 4+math.random(2) local trunk_section_height = 2 local trunk_node = "trees:tree_palm" local leaves_node = "trees:leaves_palm" @@ -34,28 +34,18 @@ abstract_trees.grow_palmtree = function(pos, size) end end ---nodes -name = "palm" -minetest.register_node("trees:leaves_"..name, { - description = name.. " Leaves", - drawtype = "allfaces_optional", - tiles = {"trees_leaves_palm.png"}, - paramtype = "light", - groups = {snappy=3, flammable=2}, - drop = { - max_items = 1, - items = { - {items = {'trees:sapling_palm'},rarity = 20}, - } - }, - sounds = default.node_sound_leaves_defaults(), -}) -minetest.register_node("trees:tree_"..name, { - description = name.. " Tree", - tiles = {"trees_tree_top_"..name..".png", "trees_tree_top_"..name..".png", "trees_tree_"..name..".png"}, - groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, - sounds = default.node_sound_wood_defaults(), +-- abm +minetest.register_abm({ + nodenames = "trees:sapling_palm", + interval = 1000, + chance = 4, + action = function(pos, node, _, _) + if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" then + abstract_trees.grow_palmtree({x = pos.x, y = pos.y, z = pos.z}) + end + end }) + --spawn plantslib:register_generate_plant({ surface = "default:sand", diff --git a/textures/trees_sapling_palm.png b/textures/trees_sapling_palm.png new file mode 100644 index 0000000..9e318fc Binary files /dev/null and b/textures/trees_sapling_palm.png differ diff --git a/textures/trees_wood_palm.png b/textures/trees_wood_palm.png new file mode 100644 index 0000000..3c8520e Binary files /dev/null and b/textures/trees_wood_palm.png differ