diff options
-rw-r--r-- | README.md | 0 | ||||
-rw-r--r-- | crafts.lua | 32 | ||||
-rw-r--r-- | crafts.lua~ | 34 | ||||
-rw-r--r-- | depends.txt | 2 | ||||
-rw-r--r-- | depends.txt~ | 1 | ||||
-rw-r--r-- | init.lua | 403 | ||||
-rw-r--r-- | init.lua~ | 403 | ||||
-rw-r--r-- | textures/Thumbs.db | bin | 0 -> 6144 bytes | |||
-rw-r--r-- | textures/conifers_leaves.png | bin | 0 -> 333 bytes | |||
-rw-r--r-- | textures/conifers_leaves_special.png | bin | 0 -> 367 bytes | |||
-rw-r--r-- | textures/conifers_sapling.png | bin | 0 -> 454 bytes | |||
-rw-r--r-- | textures/conifers_trunk.png | bin | 0 -> 699 bytes | |||
-rw-r--r-- | textures/conifers_trunk_reversed.png | bin | 0 -> 721 bytes | |||
-rw-r--r-- | textures/conifers_trunktop.png | bin | 0 -> 768 bytes | |||
-rw-r--r-- | textures/jungletree_bark.png | bin | 0 -> 705 bytes | |||
-rw-r--r-- | textures/jungletree_leaves_green.png | bin | 0 -> 456 bytes | |||
-rw-r--r-- | textures/jungletree_leaves_red.png | bin | 0 -> 469 bytes | |||
-rw-r--r-- | textures/jungletree_leaves_yellow.png | bin | 0 -> 467 bytes | |||
-rw-r--r-- | textures/jungletree_sapling.png | bin | 0 -> 215 bytes |
19 files changed, 875 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/README.md diff --git a/crafts.lua b/crafts.lua new file mode 100644 index 0000000..46fc41d --- /dev/null +++ b/crafts.lua @@ -0,0 +1,32 @@ +-- +-- Conifers crafting definitions +-- +minetest.register_craft({ + output = 'node "conifers:trunk_reversed" 2', + recipe = { + {'node "conifers:trunk"', 'node "conifers:trunk"'}, + } +}) + +minetest.register_craft({ + output = 'node "conifers:trunk" 2', + recipe = { + {'node "conifers:trunk_reversed"'}, + {'node "conifers:trunk_reversed"'} + } +}) + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'conifers:trunk'} + } +}) + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'conifers:trunk_reversed'} + } +}) + diff --git a/crafts.lua~ b/crafts.lua~ new file mode 100644 index 0000000..4012996 --- /dev/null +++ b/crafts.lua~ @@ -0,0 +1,34 @@ + + +-- +-- Conifers crafting definitions +-- +minetest.register_craft({ + output = 'node "conifers:trunk_reversed" 2', + recipe = { + {'node "conifers:trunk"', 'node "conifers:trunk"'}, + } +}) + +minetest.register_craft({ + output = 'node "conifers:trunk" 2', + recipe = { + {'node "conifers:trunk_reversed"'}, + {'node "conifers:trunk_reversed"'} + } +}) + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'conifers:trunk'} + } +}) + +minetest.register_craft({ + output = 'default:wood 4', + recipe = { + {'conifers:trunk_reversed'} + } +}) + diff --git a/depends.txt b/depends.txt new file mode 100644 index 0000000..d1473e1 --- /dev/null +++ b/depends.txt @@ -0,0 +1,2 @@ +default +plants_lib diff --git a/depends.txt~ b/depends.txt~ new file mode 100644 index 0000000..4ad96d5 --- /dev/null +++ b/depends.txt~ @@ -0,0 +1 @@ +default diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..1be7c1c --- /dev/null +++ b/init.lua @@ -0,0 +1,403 @@ +-- More trees! +-- +-- This mod adds more types of trees to the game +-- at present, they consist of jungle trees and conifers +-- +-- Much of the code here came from cisoun's conifers mod and bas080's +-- jungle trees mod. +-- +-- Brought together into one mod and made L-systems compatible by Vanessa +-- Ezekowitz. +-- +-- Jungle tree axioms/rules tweaked by RealBadAngel +-- + +local DEBUG = false + +-- Jungletree init stuff: + +local JT_SPAWN_INTERVAL = 100 +local JT_SPAWN_CHANCE = 10 + +local JT_GROW_INTERVAL = 1000 +local JT_GROW_CHANCE = 100 + +local JT_RADIUS = 8 +local JT_WATER_RADIUS = 25 +local JT_WATER_COUNT = 10 + +local jungletree_seed_diff = plantlife_seed_diff + +-- Conifers init stuff: + +local CONIFERS_SPAWN_SAPLING_CHANCE = 500 +local CONIFERS_SPAWN_SAPLING_INTERVAL = 3600 + +local CONIFERS_GROW_SAPLING_CHANCE = 100 +local CONIFERS_GROW_SAPLING_INTERVAL = 3600 + +--local CONIFERS_TRUNK_MINHEIGHT = 7 +--local CONIFERS_TRUNK_MAXHEIGHT = 25 + +--local CONIFERS_LEAVES_MINHEIGHT = 2 +--local CONIFERS_LEAVES_MAXHEIGHT = 6 +--local CONIFERS_LEAVES_MAXRADIUS = 5 +--local CONIFERS_LEAVES_NARROWRADIUS = 3 -- For narrow typed conifers. + +local CONIFERS_DISTANCE = 9 -- how far apart should conifer saplings spawn? +local CONIFERS_ALTITUDE = 25 + +local CONIFERS_REMOVE_TREES = false -- Remove trees above CONIFERS_ALTITUDE? +local CONIFERS_RTREES_INTERVAL = 360 +local CONIFERS_RTREES_CHANCE = 10 + +local conifers_seed_diff = plantlife_seed_diff+30 + +-- Spawning functions + +spawn_on_surfaces( + JT_SPAWN_INTERVAL, -- ABM interval parameter + "jungletree:sapling", -- We want to spawn a sapling + JT_RADIUS, -- Keep this much room around saplings + JT_SPAWN_CHANCE, -- ABM chance parameter + "default:dirt_with_grass", -- must grow on grass only + {"jungletree:sapling","default:jungletree"}, -- avoid spawning near these + jungletree_seed_diff, -- duh? :-) + 5, -- minimum light needed + nil, -- maximim (default, 14) + nil, -- ABM neighbors parameter... + nil, -- don't care what else is around + nil, -- we don't care about facedir + nil, -- or water depth + -5, -- must be 5m below sea level or higher + 15, -- but no higher than 15m + {"default:water_source"}, -- Jungle trees must be near water + JT_WATER_RADIUS, -- within this radius of it (default 25) + JT_WATER_COUNT -- with this many water nodes in the area +) + +spawn_on_surfaces( + CONIFERS_SPAWN_SAPLING_INTERVAL, + "conifers:sapling", + CONIFERS_DISTANCE, + CONIFERS_SPAWN_SAPLING_CHANCE, + "default:dirt_with_grass", + {"conifers:sapling", "conifers:trunk"}, + conifers_seed_diff, + nil, + nil, + {"default:dirt_with_grass"}, + 3, + nil, + nil, + CONIFERS_ALTITUDE, + nil +) + +-- growing functions + +grow_plants( + JT_GROW_INTERVAL, + JT_GROW_CHANCE, + "jungletree:sapling", + nil, + nil, + nil, + nil, + nil, + nil, + nil, + nil, + "grow_jungletree", + jungletree_seed_diff +) + +grow_plants( + CONIFERS_GROW_SAPLING_INTERVAL, + CONIFERS_GROW_SAPLING_CHANCE, + "conifers:sapling", + nil, + nil, + nil, + nil, + nil, + nil, + nil, + nil, + "grow_conifer", + conifers_seed_diff +) + +-- Code that actually spawns the trees! + +function grow_jungletree(pos, noise) + minetest.env:remove_node(pos) + if math.random(1, 2) > 1.5 then + minetest.env:spawn_tree(pos,jungle_tree1) + else + minetest.env:spawn_tree(pos,jungle_tree2) + end +end + +function grow_conifer(pos, noise) + minetest.env:remove_node(pos) + if math.random(1, 2) > 1.5 then + minetest.env:spawn_tree(pos,conifer_tree1) + else + minetest.env:spawn_tree(pos,conifer_tree2) + end +end + +-- Other stuff + +-- Should we remove all the trees above the conifers altitude? +if CONIFERS_REMOVE_TREES == true then + minetest.register_abm({ + nodenames = { + "default:tree", + "default:leaves" + }, + interval = CONIFERS_RTREES_INTERVAL, + chance = CONIFERS_RTREES_CHANCE, + + action = function(pos, node, _, _) + if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" + and pos.y >= CONIFERS_ALTITUDE + then + minetest.env:add_node(pos , {name = "air"}) + end + end + }) +end + +-- L-System Tree definitions + +jungle_tree1={ + axiom="FFFFFA", + rules_a="FFFFF[&&-FFFBF[&&&FFf]^^^FFf][&&+FFFBFF[&&&FFf]^^^FFf][&&---FFFBFF[&&&FFf]^^^FFf][&&+++FFFBFF[&&&FFf]^^^FFf]FF/A", + rules_b="[-FFf&F][+FFf&F]B", + trunk="default:jungletree", + leaves="jungletree:leaves_green", + leaves2="jungletree:leaves_yellow", + leaves2_chance=50, + angle=45, + iterations=4, + random_level=2, + trunk_type="crossed", + thin_branches=true; + fruit_chance=15, + fruit="vines:vine" +} + +jungle_tree2={ + axiom="FFFFFA", + rules_a="FFFFF[&&-FFFBF[&&&FFf]^^^FFf][&&+FFFBFF[&&&FFf]^^^FFf][&&---FFFBFF[&&&FFf]^^^FFf][&&+++FFFBFF[&&&FFf]^^^FFf]FF/A", + rules_b="[-FFf&F][+FFf&F]B", + trunk="default:jungletree", + leaves="jungletree:leaves_green", + leaves2="jungletree:leaves_red", + leaves2_chance=50, + angle=45, + iterations=4, + random_level=2, + trunk_type="crossed", + thin_branches=true; + fruit_chance=15, + fruit="vines:vine" +} + + +conifer_tree1={ + axiom="FFFAF[&&-F][&&+F][&&---F][&&+++F]FF", + rules_a="FF[FF][&&-FBF][&&+FBF][&&---FBF][&&+++FBF]F/A", + rules_b="[-FB][+FB]", + trunk="conifers:trunk", + leaves="conifers:leaves", + angle=45, + iterations=7, + random_level=4, + thin_trunks=true +} + +conifer_tree2={ + axiom="FFFAF[&&-F][&&+F][&&---F][&&+++F]FF", + rules_a="FF[FF][&&-FBF][&&+FBF][&&---FBF][&&+++FBF]F/A", + rules_b="[-FB][+FB]", + trunk="conifers:trunk", + leaves="conifers:leaves_special", + angle=45, + iterations=7, + random_level=4, + thin_trunks=true +} + +-- Nodes for jungle trees + +minetest.register_node(":jungletree:sapling", { + description = "Jungle Tree Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"jungletree_sapling.png"}, + inventory_image = "jungletree_sapling.png", + wield_image = "default_sapling.png", + paramtype = "light", + walkable = false, + groups = {snappy=2,dig_immediate=3,flammable=2}, +}) + +local leaves = {"green","yellow","red"} +for color = 1, 3 do + local leave_name = ":jungletree:leaves_"..leaves[color] + minetest.register_node(leave_name, { + description = "Jungle Tree Leaves", + drawtype = "allfaces_optional", + tiles = {"jungletree_leaves_"..leaves[color]..".png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2}, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'jungletree:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {leave_name}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), + }) +end + +-- Nodes for conifers + +minetest.register_node(":conifers:trunk", { + description = "Conifer trunk", + tile_images = { + "conifers_trunktop.png", + "conifers_trunktop.png", + "conifers_trunk.png", + "conifers_trunk.png", + "conifers_trunk.png", + "conifers_trunk.png" + }, + paramtype = "facedir_simple", + 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(":conifers:trunk_reversed", { + description = "Conifer reversed trunk", + tile_images = { + "conifers_trunk_reversed.png", + "conifers_trunk_reversed.png", + "conifers_trunktop.png", + "conifers_trunktop.png", + "conifers_trunk_reversed.png", + "conifers_trunk_reversed.png" + }, + --inventory_image = minetest.inventorycube( + --"conifers_trunk.png", + --"conifers_trunktop.png", + --"conifers_trunk.png" + --), + paramtype = "facedir_simple", + material = minetest.digprop_woodlike(1.0), + legacy_facedir_simple = true, + 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(":conifers:leaves", { + description = "Conifer leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tile_images = { "conifers_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 = {'conifers:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'conifers:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults() +}) + +minetest.register_node(":conifers:leaves_special", { + description = "Bright conifer leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tile_images = { "conifers_leaves_special.png" }, + paramtype = "light", + groups = { + snappy = 3, + leafdecay = 3, + flammable = 2 + }, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'conifers:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'conifers:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults() +}) + +minetest.register_node(":conifers:sapling", { + description = "Conifer sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tile_images = {"conifers_sapling.png"}, + inventory_image = "conifers_sapling.png", + wield_image = "conifers_sapling.png", + paramtype = "light", + walkable = false, + groups = { + snappy = 2, + dig_immediate = 3, + flammable = 2 + }, + sounds = default.node_sound_defaults(), +}) + diff --git a/init.lua~ b/init.lua~ new file mode 100644 index 0000000..ac0768b --- /dev/null +++ b/init.lua~ @@ -0,0 +1,403 @@ +-- More trees! +-- +-- This mod adds more types of trees to the game +-- at present, they consist of jungle trees and conifers +-- +-- Much of the code here came from cisoun's conifers mod and bas080's +-- jungle trees mod. +-- +-- Brought together into one mod and made L-systems compatible by Vanessa +-- Ezekowitz. +-- +-- Jungle tree axioms/rules tweaked by RealBadAngel +-- + +local DEBUG = true + +-- Jungletree init stuff: + +local JT_SPAWN_INTERVAL = 1 -- 100 +local JT_SPAWN_CHANCE = 2 -- 10 + +local JT_GROW_INTERVAL = 1 -- 1000 +local JT_GROW_CHANCE = 2 -- 100 + +local JT_RADIUS = 8 +local JT_WATER_RADIUS = 25 +local JT_WATER_COUNT = 10 + +local jungletree_seed_diff = plantlife_seed_diff + +-- Conifers init stuff: + +local CONIFERS_SPAWN_SAPLING_CHANCE = 1 -- 500 +local CONIFERS_SPAWN_SAPLING_INTERVAL = 2 -- 3600 + +local CONIFERS_GROW_SAPLING_CHANCE = 1 -- 100 +local CONIFERS_GROW_SAPLING_INTERVAL = 2 -- 3600 + +--local CONIFERS_TRUNK_MINHEIGHT = 7 +--local CONIFERS_TRUNK_MAXHEIGHT = 25 + +--local CONIFERS_LEAVES_MINHEIGHT = 2 +--local CONIFERS_LEAVES_MAXHEIGHT = 6 +--local CONIFERS_LEAVES_MAXRADIUS = 5 +--local CONIFERS_LEAVES_NARROWRADIUS = 3 -- For narrow typed conifers. + +local CONIFERS_DISTANCE = 9 -- how far apart should conifer saplings spawn? +local CONIFERS_ALTITUDE = 25 + +local CONIFERS_REMOVE_TREES = false -- Remove trees above CONIFERS_ALTITUDE? +local CONIFERS_RTREES_INTERVAL = 360 +local CONIFERS_RTREES_CHANCE = 10 + +local conifers_seed_diff = plantlife_seed_diff+30 + +-- Spawning functions + +spawn_on_surfaces( + JT_SPAWN_INTERVAL, -- ABM interval parameter + "jungletree:sapling", -- We want to spawn a sapling + JT_RADIUS, -- Keep this much room around saplings + JT_SPAWN_CHANCE, -- ABM chance parameter + "default:dirt_with_grass", -- must grow on grass only + {"jungletree:sapling","default:jungletree"}, -- avoid spawning near these + jungletree_seed_diff, -- duh? :-) + 5, -- minimum light needed + nil, -- maximim (default, 14) + nil, -- ABM neighbors parameter... + nil, -- don't care what else is around + nil, -- we don't care about facedir + nil, -- or water depth + -5, -- must be 5m below sea level or higher + 15, -- but no higher than 15m + {"default:water_source"}, -- Jungle trees must be near water + JT_WATER_RADIUS, -- within this radius of it (default 25) + JT_WATER_COUNT -- with this many water nodes in the area +) + +spawn_on_surfaces( + CONIFERS_SPAWN_SAPLING_INTERVAL, + "conifers:sapling", + CONIFERS_DISTANCE, + CONIFERS_SPAWN_SAPLING_CHANCE, + "default:dirt_with_grass", + {"conifers:sapling", "conifers:trunk"}, + conifers_seed_diff, + nil, + nil, + {"default:dirt_with_grass"}, + 3, + nil, + nil, + CONIFERS_ALTITUDE, + nil +) + +-- growing functions + +grow_plants( + JT_GROW_INTERVAL, + JT_GROW_CHANCE, + "jungletree:sapling", + nil, + nil, + nil, + nil, + nil, + nil, + nil, + nil, + "grow_jungletree", + jungletree_seed_diff +) + +grow_plants( + CONIFERS_GROW_SAPLING_INTERVAL, + CONIFERS_GROW_SAPLING_CHANCE, + "conifers:sapling", + nil, + nil, + nil, + nil, + nil, + nil, + nil, + nil, + "grow_conifer", + conifers_seed_diff +) + +-- Code that actually spawns the trees! + +function grow_jungletree(pos, noise) + minetest.env:remove_node(pos) + if math.random(1, 2) > 1.5 then + minetest.env:spawn_tree(pos,jungle_tree1) + else + minetest.env:spawn_tree(pos,jungle_tree2) + end +end + +function grow_conifer(pos, noise) + minetest.env:remove_node(pos) + if math.random(1, 2) > 1.5 then + minetest.env:spawn_tree(pos,conifer_tree1) + else + minetest.env:spawn_tree(pos,conifer_tree2) + end +end + +-- Other stuff + +-- Should we remove all the trees above the conifers altitude? +if CONIFERS_REMOVE_TREES == true then + minetest.register_abm({ + nodenames = { + "default:tree", + "default:leaves" + }, + interval = CONIFERS_RTREES_INTERVAL, + chance = CONIFERS_RTREES_CHANCE, + + action = function(pos, node, _, _) + if minetest.env:get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" + and pos.y >= CONIFERS_ALTITUDE + then + minetest.env:add_node(pos , {name = "air"}) + end + end + }) +end + +-- L-System Tree definitions + +jungle_tree1={ + axiom="FFFFFA", + rules_a="FFFFF[&&-FFFBF[&&&FFf]^^^FFf][&&+FFFBFF[&&&FFf]^^^FFf][&&---FFFBFF[&&&FFf]^^^FFf][&&+++FFFBFF[&&&FFf]^^^FFf]FF/A", + rules_b="[-FFf&F][+FFf&F]B", + trunk="default:jungletree", + leaves="jungletree:leaves_green", + leaves2="jungletree:leaves_yellow", + leaves2_chance=50, + angle=45, + iterations=4, + random_level=2, + trunk_type="crossed", + thin_branches=true; + fruit_chance=15, + fruit="vines:vine" +} + +jungle_tree2={ + axiom="FFFFFA", + rules_a="FFFFF[&&-FFFBF[&&&FFf]^^^FFf][&&+FFFBFF[&&&FFf]^^^FFf][&&---FFFBFF[&&&FFf]^^^FFf][&&+++FFFBFF[&&&FFf]^^^FFf]FF/A", + rules_b="[-FFf&F][+FFf&F]B", + trunk="default:jungletree", + leaves="jungletree:leaves_green", + leaves2="jungletree:leaves_red", + leaves2_chance=50, + angle=45, + iterations=4, + random_level=2, + trunk_type="crossed", + thin_branches=true; + fruit_chance=15, + fruit="vines:vine" +} + + +conifer_tree1={ + axiom="FFFAF[&&-F][&&+F][&&---F][&&+++F]FF", + rules_a="FF[FF][&&-FBF][&&+FBF][&&---FBF][&&+++FBF]F/A", + rules_b="[-FB][+FB]", + trunk="conifers:trunk", + leaves="conifers:leaves", + angle=45, + iterations=7, + random_level=4, + thin_trunks=true +} + +conifer_tree2={ + axiom="FFFAF[&&-F][&&+F][&&---F][&&+++F]FF", + rules_a="FF[FF][&&-FBF][&&+FBF][&&---FBF][&&+++FBF]F/A", + rules_b="[-FB][+FB]", + trunk="conifers:trunk", + leaves="conifers:leaves_special", + angle=45, + iterations=7, + random_level=4, + thin_trunks=true +} + +-- Nodes for jungle trees + +minetest.register_node(":jungletree:sapling", { + description = "Jungle Tree Sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tiles = {"jungletree_sapling.png"}, + inventory_image = "jungletree_sapling.png", + wield_image = "default_sapling.png", + paramtype = "light", + walkable = false, + groups = {snappy=2,dig_immediate=3,flammable=2}, +}) + +local leaves = {"green","yellow","red"} +for color = 1, 3 do + local leave_name = ":jungletree:leaves_"..leaves[color] + minetest.register_node(leave_name, { + description = "Jungle Tree Leaves", + drawtype = "allfaces_optional", + tiles = {"jungletree_leaves_"..leaves[color]..".png"}, + paramtype = "light", + groups = {snappy=3, leafdecay=3, flammable=2}, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'jungletree:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {leave_name}, + } + } + }, + sounds = default.node_sound_leaves_defaults(), + }) +end + +-- Nodes for conifers + +minetest.register_node(":conifers:trunk", { + description = "Conifer trunk", + tile_images = { + "conifers_trunktop.png", + "conifers_trunktop.png", + "conifers_trunk.png", + "conifers_trunk.png", + "conifers_trunk.png", + "conifers_trunk.png" + }, + paramtype = "facedir_simple", + 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(":conifers:trunk_reversed", { + description = "Conifer reversed trunk", + tile_images = { + "conifers_trunk_reversed.png", + "conifers_trunk_reversed.png", + "conifers_trunktop.png", + "conifers_trunktop.png", + "conifers_trunk_reversed.png", + "conifers_trunk_reversed.png" + }, + --inventory_image = minetest.inventorycube( + --"conifers_trunk.png", + --"conifers_trunktop.png", + --"conifers_trunk.png" + --), + paramtype = "facedir_simple", + material = minetest.digprop_woodlike(1.0), + legacy_facedir_simple = true, + 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(":conifers:leaves", { + description = "Conifer leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tile_images = { "conifers_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 = {'conifers:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'conifers:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults() +}) + +minetest.register_node(":conifers:leaves_special", { + description = "Bright conifer leaves", + drawtype = "allfaces_optional", + visual_scale = 1.3, + tile_images = { "conifers_leaves_special.png" }, + paramtype = "light", + groups = { + snappy = 3, + leafdecay = 3, + flammable = 2 + }, + drop = { + max_items = 1, + items = { + { + -- player will get sapling with 1/20 chance + items = {'conifers:sapling'}, + rarity = 20, + }, + { + -- player will get leaves only if he get no saplings, + -- this is because max_items is 1 + items = {'conifers:leaves'}, + } + } + }, + sounds = default.node_sound_leaves_defaults() +}) + +minetest.register_node(":conifers:sapling", { + description = "Conifer sapling", + drawtype = "plantlike", + visual_scale = 1.0, + tile_images = {"conifers_sapling.png"}, + inventory_image = "conifers_sapling.png", + wield_image = "conifers_sapling.png", + paramtype = "light", + walkable = false, + groups = { + snappy = 2, + dig_immediate = 3, + flammable = 2 + }, + sounds = default.node_sound_defaults(), +}) + diff --git a/textures/Thumbs.db b/textures/Thumbs.db Binary files differnew file mode 100644 index 0000000..cce32de --- /dev/null +++ b/textures/Thumbs.db diff --git a/textures/conifers_leaves.png b/textures/conifers_leaves.png Binary files differnew file mode 100644 index 0000000..cfaaa1c --- /dev/null +++ b/textures/conifers_leaves.png diff --git a/textures/conifers_leaves_special.png b/textures/conifers_leaves_special.png Binary files differnew file mode 100644 index 0000000..c5dca1c --- /dev/null +++ b/textures/conifers_leaves_special.png diff --git a/textures/conifers_sapling.png b/textures/conifers_sapling.png Binary files differnew file mode 100644 index 0000000..bcbed08 --- /dev/null +++ b/textures/conifers_sapling.png diff --git a/textures/conifers_trunk.png b/textures/conifers_trunk.png Binary files differnew file mode 100644 index 0000000..6e4e67a --- /dev/null +++ b/textures/conifers_trunk.png diff --git a/textures/conifers_trunk_reversed.png b/textures/conifers_trunk_reversed.png Binary files differnew file mode 100644 index 0000000..0730e31 --- /dev/null +++ b/textures/conifers_trunk_reversed.png diff --git a/textures/conifers_trunktop.png b/textures/conifers_trunktop.png Binary files differnew file mode 100644 index 0000000..4f21401 --- /dev/null +++ b/textures/conifers_trunktop.png diff --git a/textures/jungletree_bark.png b/textures/jungletree_bark.png Binary files differnew file mode 100644 index 0000000..d826fdd --- /dev/null +++ b/textures/jungletree_bark.png diff --git a/textures/jungletree_leaves_green.png b/textures/jungletree_leaves_green.png Binary files differnew file mode 100644 index 0000000..00f2ddc --- /dev/null +++ b/textures/jungletree_leaves_green.png diff --git a/textures/jungletree_leaves_red.png b/textures/jungletree_leaves_red.png Binary files differnew file mode 100644 index 0000000..3f3ea19 --- /dev/null +++ b/textures/jungletree_leaves_red.png diff --git a/textures/jungletree_leaves_yellow.png b/textures/jungletree_leaves_yellow.png Binary files differnew file mode 100644 index 0000000..93c7d6a --- /dev/null +++ b/textures/jungletree_leaves_yellow.png diff --git a/textures/jungletree_sapling.png b/textures/jungletree_sapling.png Binary files differnew file mode 100644 index 0000000..1ba0fd1 --- /dev/null +++ b/textures/jungletree_sapling.png |