diff options
Diffstat (limited to 'plantlife_modpack/ferns/treefern.lua')
-rw-r--r-- | plantlife_modpack/ferns/treefern.lua | 228 |
1 files changed, 0 insertions, 228 deletions
diff --git a/plantlife_modpack/ferns/treefern.lua b/plantlife_modpack/ferns/treefern.lua deleted file mode 100644 index 4ba502b..0000000 --- a/plantlife_modpack/ferns/treefern.lua +++ /dev/null @@ -1,228 +0,0 @@ ------------------------------------------------------------------------------------------------ --- Ferns - Tree Fern 0.1.1 ------------------------------------------------------------------------------------------------ --- by Mossmanikin --- License (everything): WTFPL --- Contains code from: biome_lib --- Looked at code from: default , trees ------------------------------------------------------------------------------------------------ - -assert(abstract_ferns.config.enable_treefern == true) - -abstract_ferns.grow_tree_fern = function(pos) - - local pos_01 = {x = pos.x, y = pos.y + 1, z = pos.z} - if minetest.get_node(pos_01).name ~= "air" - and minetest.get_node(pos_01).name ~= "ferns:sapling_tree_fern" - and minetest.get_node(pos_01).name ~= "default:junglegrass" then - return - end - - local size = math.random(1, 4) + math.random(1, 4) - if (size > 5) then - size = 10 - size - end - size = size + 1 - local crown = ({ "ferns:tree_fern_leaves", "ferns:tree_fern_leaves_02" })[math.random(1, 2)] - - local i = 1 - while (i < size-1) do - if minetest.get_node({x = pos.x, y = pos.y + i + 1, z = pos.z}).name ~= "air" then - break - end - minetest.set_node({x = pos.x, y = pos.y + i, z = pos.z}, { name = "ferns:fern_trunk" }) - i = i + 1 - end - - minetest.set_node({x = pos.x, y = pos.y + i, z = pos.z}, { name = crown }) -end - ------------------------------------------------------------------------------------------------ --- TREE FERN LEAVES ------------------------------------------------------------------------------------------------ - --- TODO: Both of these nodes look the same? - -minetest.register_node("ferns:tree_fern_leaves", { - description = "Tree Fern Crown (Dicksonia)", - drawtype = "plantlike", - visual_scale = 2, - paramtype = "light", - paramtype2 = "facedir", - --tiles = {"[combine:32x32:0,0=top_left.png:0,16=bottom_left.png:16,0=top_right.png:16,16=bottom_right.png"}, - tiles = {"ferns_fern_tree.png"}, - inventory_image = "ferns_fern_tree_inv.png", - walkable = false, - groups = {snappy=3,flammable=2,attached_node=1}, - drop = { - max_items = 2, - items = { - { - -- occasionally, drop a second sapling instead of leaves - -- (extra saplings can also be obtained by replanting and - -- reharvesting leaves) - items = {"ferns:sapling_tree_fern"}, - rarity = 10, - }, - { - items = {"ferns:sapling_tree_fern"}, - }, - { - items = {"ferns:tree_fern_leaves"}, - } - } - }, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, - }, -}) -minetest.register_node("ferns:tree_fern_leaves_02", { - drawtype = "plantlike", - visual_scale = 2, - paramtype = "light", - tiles = {"ferns_fern_big.png"}, - walkable = false, - groups = {snappy=3,flammable=2,attached_node=1,not_in_creative_inventory=1}, - drop = { - max_items = 2, - items = { - { - -- occasionally, drop a second sapling instead of leaves - -- (extra saplings can also be obtained by replanting and - -- reharvesting leaves) - items = {"ferns:sapling_tree_fern"}, - rarity = 10, - }, - { - items = {"ferns:sapling_tree_fern"}, - }, - { - items = {"ferns:tree_fern_leaves"}, - } - } - }, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, - }, -}) ------------------------------------------------------------------------------------------------ --- FERN TRUNK ------------------------------------------------------------------------------------------------ -minetest.register_node("ferns:fern_trunk", { - description = "Fern Trunk (Dicksonia)", - drawtype = "nodebox", - paramtype = "light", - tiles = { - "ferns_fern_trunk_top.png", - "ferns_fern_trunk_top.png", - "ferns_fern_trunk.png" - }, - node_box = { - type = "fixed", - fixed = {-1/8, -1/2, -1/8, 1/8, 1/2, 1/8}, - }, - selection_box = { - type = "fixed", - fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7}, - }, - groups = {tree=1,choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, - sounds = default.node_sound_wood_defaults(), - after_destruct = function(pos,oldnode) - local node = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}) - if node.name == "ferns:fern_trunk" then - minetest.dig_node({x=pos.x,y=pos.y+1,z=pos.z}) - minetest.add_item(pos,"ferns:fern_trunk") - end - end, -}) - ------------------------------------------------------------------------------------------------ --- TREE FERN SAPLING ------------------------------------------------------------------------------------------------ -minetest.register_node("ferns:sapling_tree_fern", { - description = "Tree Fern Sapling (Dicksonia)", - drawtype = "plantlike", - paramtype = "light", - paramtype2 = "facedir", - tiles = {"ferns_sapling_tree_fern.png"}, - inventory_image = "ferns_sapling_tree_fern.png", - walkable = false, - groups = {snappy=3,flammable=2,flora=1,attached_node=1}, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-7/16, -1/2, -7/16, 7/16, 0, 7/16}, - }, -}) --- abm -minetest.register_abm({ - nodenames = "ferns:sapling_tree_fern", - interval = 1000, - chance = 4, - action = function(pos, node, _, _) - abstract_ferns.grow_tree_fern({x = pos.x, y = pos.y-1, z = pos.z}) - end -}) - ------------------------------------------------------------------------------------------------ --- GENERATE TREE FERN ------------------------------------------------------------------------------------------------ - --- in jungles -if abstract_ferns.config.enable_treeferns_in_jungle == true then - biome_lib:register_generate_plant({ - surface = { - "default:dirt_with_grass", - "default:sand", - "default:desert_sand", - }, - max_count = 35,--27, - avoid_nodes = {"default:tree"}, - avoid_radius = 4, - rarity = 50, - seed_diff = 329, - min_elevation = -10, - near_nodes = {"default:jungletree"}, - near_nodes_size = 6, - near_nodes_vertical = 2,--4, - near_nodes_count = 1, - plantlife_limit = -0.9, - humidity_max = -1.0, - humidity_min = 0.4, - temp_max = -0.5, - temp_min = 0.13, - }, - abstract_ferns.grow_tree_fern - ) -end - --- for oases & tropical beaches -if abstract_ferns.config.enable_treeferns_in_oases == true then - biome_lib:register_generate_plant({ - surface = { - "default:sand"--, - --"default:desert_sand" - }, - max_count = 35, - rarity = 50, - seed_diff = 329, - neighbors = {"default:desert_sand"}, - ncount = 1, - min_elevation = 1, - near_nodes = {"default:water_source"}, - near_nodes_size = 2, - near_nodes_vertical = 1, - near_nodes_count = 1, - plantlife_limit = -0.9, - humidity_max = -1.0, - humidity_min = 1.0, - temp_max = -1.0, - temp_min = 1.0, - }, - abstract_ferns.grow_tree_fern -) -end |