diff options
Diffstat (limited to 'plantlife_modpack/dryplants/reedmace.lua')
-rw-r--r-- | plantlife_modpack/dryplants/reedmace.lua | 411 |
1 files changed, 0 insertions, 411 deletions
diff --git a/plantlife_modpack/dryplants/reedmace.lua b/plantlife_modpack/dryplants/reedmace.lua deleted file mode 100644 index 9547c7a..0000000 --- a/plantlife_modpack/dryplants/reedmace.lua +++ /dev/null @@ -1,411 +0,0 @@ ------------------------------------------------------------------------------------------------ --- Grasses - Reedmace 0.1.1 ------------------------------------------------------------------------------------------------ --- by Mossmanikin --- textures & ideas partly by Neuromancer - --- License (everything): WTFPL --- Contains code from: biome_lib --- Looked at code from: default, trees ------------------------------------------------------------------------------------------------ - --- NOTES (from wikipedia, some of this might get implemented) --- rhizomes are edible --- outer portion of young plants can be peeled and the heart can be eaten raw or boiled and eaten like asparagus --- leaf bases can be eaten raw or cooked --- sheath can be removed from the developing green flower spike, which can then be boiled and eaten like corn on the cob --- pollen can be collected and used as a flour supplement or thickener --- Typha stems and leaves can be used to make paper --- The seed hairs were used by some Native American groups as tinder for starting fires - ------------------------------------------------------------------------------------------------ --- REEDMACE SHAPES ------------------------------------------------------------------------------------------------ - -abstract_dryplants.grow_reedmace = function(pos) - local size = math.random(1,3) - local spikes = math.random(1,3) - local pos_01 = {x = pos.x, y = pos.y + 1, z = pos.z} - local pos_02 = {x = pos.x, y = pos.y + 2, z = pos.z} - local pos_03 = {x = pos.x, y = pos.y + 3, z = pos.z} - if minetest.get_node(pos_01).name == "air" -- bug fix - or minetest.get_node(pos_01).name == "dryplants:reedmace_sapling" then - if minetest.get_node(pos_02).name ~= "air" then - minetest.set_node(pos_01, {name="dryplants:reedmace_top"}) - elseif minetest.get_node(pos_03).name ~= "air" then - minetest.set_node(pos_01, {name="dryplants:reedmace_height_2"}) - elseif size == 1 then - minetest.set_node(pos_01, {name="dryplants:reedmace_top"}) - elseif size == 2 then - minetest.set_node(pos_01, {name="dryplants:reedmace_height_2"}) - elseif size == 3 then - if spikes == 1 then - minetest.set_node(pos_01, {name="dryplants:reedmace_height_3_spikes"}) - else - minetest.set_node(pos_01, {name="dryplants:reedmace_height_3"}) - end - end - end -end - -abstract_dryplants.grow_reedmace_water = function(pos) - local size = math.random(1,3) - local spikes = math.random(1,3) - local pos_01 = {x = pos.x, y = pos.y + 1, z = pos.z} - local pos_02 = {x = pos.x, y = pos.y + 2, z = pos.z} - local pos_03 = {x = pos.x, y = pos.y + 3, z = pos.z} - local pos_04 = {x = pos.x, y = pos.y + 4, z = pos.z} - minetest.add_entity(pos_01, "dryplants:reedmace_water_entity") - if minetest.get_node(pos_02).name == "air" then -- bug fix - if minetest.get_node(pos_03).name ~= "air" then - minetest.set_node(pos_02, {name="dryplants:reedmace_top"}) - elseif minetest.get_node(pos_04).name ~= "air" then - minetest.set_node(pos_02, {name="dryplants:reedmace_height_2"}) - elseif size == 1 then - minetest.set_node(pos_02, {name="dryplants:reedmace_top"}) - elseif size == 2 then - minetest.set_node(pos_02, {name="dryplants:reedmace_height_2"}) - elseif size == 3 then - if spikes == 1 then - minetest.set_node(pos_02, {name="dryplants:reedmace_height_3_spikes"}) - else - minetest.set_node(pos_02, {name="dryplants:reedmace_height_3"}) - end - end - end -end - ------------------------------------------------------------------------------------------------ --- REEDMACE SPIKES ------------------------------------------------------------------------------------------------ -minetest.register_node("dryplants:reedmace_spikes", { - description = "Reedmace", - drawtype = "plantlike", - paramtype = "light", - tiles = {"dryplants_reedmace_spikes.png"}, - inventory_image = "dryplants_reedmace_spikes.png", - walkable = false, - groups = { - snappy=3, - flammable=2, - not_in_creative_inventory=1 - }, - drop = 'dryplants:reedmace_sapling', - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} - }, -}) ------------------------------------------------------------------------------------------------ --- REEDMACE height: 1 ------------------------------------------------------------------------------------------------ -minetest.register_node("dryplants:reedmace_top", { - description = "Reedmace, height: 1", - drawtype = "plantlike", - paramtype = "light", - tiles = {"dryplants_reedmace_top.png"}, - inventory_image = "dryplants_reedmace_top.png", - walkable = false, - groups = { - snappy=3, - flammable=2, - not_in_creative_inventory=1 - }, - drop = 'dryplants:reedmace_sapling', - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} - }, -}) ------------------------------------------------------------------------------------------------ --- REEDMACE height: 2 ------------------------------------------------------------------------------------------------ -minetest.register_node("dryplants:reedmace_height_2", { - description = "Reedmace, height: 2", - drawtype = "plantlike", - visual_scale = 2, - paramtype = "light", - tiles = {"dryplants_reedmace_height_2.png"}, - inventory_image = "dryplants_reedmace_top.png", - walkable = false, - groups = { - snappy=3, - flammable=2--, - --not_in_creative_inventory=1 - }, - drop = 'dryplants:reedmace_sapling', - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} - }, -}) ------------------------------------------------------------------------------------------------ --- REEDMACE height: 3 ------------------------------------------------------------------------------------------------ -minetest.register_node("dryplants:reedmace_height_3", { - description = "Reedmace, height: 3", - drawtype = "plantlike", - visual_scale = 2, - paramtype = "light", - tiles = {"dryplants_reedmace_height_3.png"}, - inventory_image = "dryplants_reedmace_top.png", - walkable = false, - groups = { - snappy=3, - flammable=2--, - --not_in_creative_inventory=1 - }, - drop = 'dryplants:reedmace_sapling', - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} - }, -}) ------------------------------------------------------------------------------------------------ --- REEDMACE height: 3 & Spikes ------------------------------------------------------------------------------------------------ -minetest.register_node("dryplants:reedmace_height_3_spikes", { - description = "Reedmace, height: 3 & Spikes", - drawtype = "plantlike", - visual_scale = 2, - paramtype = "light", - tiles = {"dryplants_reedmace_height_3_spikes.png"}, - inventory_image = "dryplants_reedmace_top.png", - walkable = false, - groups = { - snappy=3, - flammable=2--, - --not_in_creative_inventory=1 - }, - drop = 'dryplants:reedmace_sapling', - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} - }, -}) ------------------------------------------------------------------------------------------------ --- REEDMACE STEMS ------------------------------------------------------------------------------------------------ -minetest.register_node("dryplants:reedmace", { - description = "Reedmace", - drawtype = "plantlike", - paramtype = "light", - tiles = {"dryplants_reedmace.png"}, - inventory_image = "dryplants_reedmace.png", - walkable = false, - groups = { - snappy=3, - flammable=2, - not_in_creative_inventory=1 - }, - drop = 'dryplants:reedmace_sapling', - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} - }, - after_destruct = function(pos,oldnode) - local node = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}) - if node.name == "dryplants:reedmace_top" - or node.name == "dryplants:reedmace_spikes" then - minetest.dig_node({x=pos.x,y=pos.y+1,z=pos.z}) - minetest.add_item(pos,"dryplants:reedmace_sapling") - end - end, -}) ------------------------------------------------------------------------------------------------ --- REEDMACE BOTTOM ------------------------------------------------------------------------------------------------ -minetest.register_node("dryplants:reedmace_bottom", { - description = "Reedmace", - drawtype = "plantlike", - paramtype = "light", - tiles = {"dryplants_reedmace_bottom.png"}, - inventory_image = "dryplants_reedmace_bottom.png", - walkable = false, - groups = { - snappy=3, - flammable=2, - not_in_creative_inventory=1 - }, - drop = 'dryplants:reedmace_sapling', - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} - }, - after_destruct = function(pos,oldnode) - local node = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}) - if node.name == "dryplants:reedmace" - or node.name == "dryplants:reedmace_top" - or node.name == "dryplants:reedmace_spikes" then - minetest.dig_node({x=pos.x,y=pos.y+1,z=pos.z}) - minetest.add_item(pos,"dryplants:reedmace_sapling") - end - end, -}) ------------------------------------------------------------------------------------------------ --- REEDMACE "SAPLING" (the drop from the above) ------------------------------------------------------------------------------------------------ -minetest.register_node("dryplants:reedmace_sapling", { - description = "Reedmace", - drawtype = "plantlike", - paramtype = "light", - tiles = {"dryplants_reedmace_sapling.png"}, - inventory_image = "dryplants_reedmace_sapling.png", - walkable = false, - groups = { - snappy=3, - flammable=2, - attached_node=1 - }, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} - }, -}) --- abm -minetest.register_abm({ - nodenames = "dryplants:reedmace_sapling", - interval = REEDMACE_GROWING_TIME, - chance = 100/REEDMACE_GROWING_CHANCE, - action = function(pos, node, _, _) - if string.find(minetest.get_node({x = pos.x + 1, y = pos.y, z = pos.z }).name, "default:water") - or string.find(minetest.get_node({x = pos.x, y = pos.y, z = pos.z + 1}).name, "default:water") - or string.find(minetest.get_node({x = pos.x - 1, y = pos.y, z = pos.z }).name, "default:water") - or string.find(minetest.get_node({x = pos.x, y = pos.y, z = pos.z - 1}).name, "default:water") then - if minetest.get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" then - abstract_dryplants.grow_reedmace_water({x = pos.x, y = pos.y - 1, z = pos.z}) - end - minetest.set_node({x=pos.x, y=pos.y, z=pos.z}, {name="default:water_source"}) - else - abstract_dryplants.grow_reedmace({x = pos.x, y = pos.y - 1, z = pos.z}) - end - end -}) ------------------------------------------------------------------------------------------------ --- REEDMACE WATER (for entity) ------------------------------------------------------------------------------------------------ -minetest.register_node("dryplants:reedmace_water", { - description = "Reedmace", - drawtype = "plantlike", - paramtype = "light", - tiles = {"dryplants_reedmace_water.png"}, - inventory_image = "dryplants_reedmace_water.png", - groups = {not_in_creative_inventory=1}, - selection_box = { - type = "fixed", - fixed = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3} - }, -}) ------------------------------------------------------------------------------------------------ --- REEDMACE WATER ENTITY ------------------------------------------------------------------------------------------------ -minetest.register_entity("dryplants:reedmace_water_entity",{ - visual = "mesh", - mesh = "plantlike.obj", - visual_size = {x=10, y=10}, - textures = {"dryplants_reedmace_water.png"}, - collisionbox = {-0.3, -0.5, -0.3, 0.3, 0.5, 0.3}, - on_punch = function(self, puncher) - if puncher:is_player() and puncher:get_inventory() then - if not minetest.setting_getbool("creative_mode") then - puncher:get_inventory():add_item("main", "dryplants:reedmace_sapling") - end - self.object:remove() - end - end, -}) ------------------------------------------------------------------------------------------------ --- SPAWN REEDMACE ------------------------------------------------------------------------------------------------ ---[[biome_lib:spawn_on_surfaces({ - spawn_delay = 1200, - spawn_plants = {"dryplants:reedmace_sapling"}, - spawn_chance = 400, - spawn_surfaces = { - "default:dirt_with_grass", - "default:desert_sand", - "default:sand", - "dryplants:grass_short", - "stoneage:grass_with_silex" - }, - seed_diff = 329, - near_nodes = {"default:water_source"}, - near_nodes_size = 2, - near_nodes_vertical = 1, - near_nodes_count = 1, -})]] ------------------------------------------------------------------------------------------------ --- GENERATE REEDMACE ------------------------------------------------------------------------------------------------ --- near water or swamp -biome_lib:register_generate_plant({ - surface = { - "default:dirt_with_grass", - "default:desert_sand", - "stoneage:grass_with_silex", - "sumpf:peat", - "sumpf:sumpf" - }, - max_count = REEDMACE_NEAR_WATER_PER_MAPBLOCK, - rarity = 101 - REEDMACE_NEAR_WATER_RARITY, - --rarity = 60, - min_elevation = 1, -- above sea level - near_nodes = {"default:water_source","sumpf:dirtywater_source","sumpf:sumpf"}, - near_nodes_size = 2, - near_nodes_vertical = 1, - near_nodes_count = 1, - plantlife_limit = -0.9, - }, - abstract_dryplants.grow_reedmace -) --- in water -biome_lib:register_generate_plant({ - surface = { - "default:dirt", - "default:dirt_with_grass", - --"default:desert_sand", - --"stoneage:grass_with_silex", - "stoneage:sand_with_silex", - "sumpf:peat", - "sumpf:sumpf" - }, - max_count = REEDMACE_IN_WATER_PER_MAPBLOCK, - rarity = 101 - REEDMACE_IN_WATER_RARITY, - --rarity = 35, - min_elevation = 0, -- a bit below sea level - max_elevation = 0, -- "" - near_nodes = {"default:water_source","sumpf:dirtywater_source"}, - near_nodes_size = 1, - near_nodes_count = 1, - plantlife_limit = -0.9, - }, - abstract_dryplants.grow_reedmace_water -) --- for oases & tropical beaches & tropical swamps -biome_lib:register_generate_plant({ - surface = { - "default:sand", - "sumpf:sumpf" - }, - max_count = REEDMACE_FOR_OASES_PER_MAPBLOCK, - rarity = 101 - REEDMACE_FOR_OASES_RARITY, - --rarity = 10, - neighbors = {"default:water_source","sumpf:dirtywater_source","sumpf:sumpf"}, - ncount = 1, - min_elevation = 1, -- above sea level - near_nodes = {"default:desert_sand","sumpf:sumpf"}, - near_nodes_size = 2, - near_nodes_vertical = 1, - near_nodes_count = 1, - plantlife_limit = -0.9, - }, - abstract_dryplants.grow_reedmace -) |