From 6b41029b842569028df1079f997f699538f05860 Mon Sep 17 00:00:00 2001 From: FaceDeer Date: Sun, 26 Jan 2020 19:56:19 -0700 Subject: [PATCH] polishing up the Primordial layer --- df_caverns/primordial.lua | 114 ++++-- df_caverns/underworld.lua | 2 +- df_primordial_items/doc.lua | 72 ++++ df_primordial_items/fungal_nodes.lua | 12 +- df_primordial_items/giant_fern.lua | 20 +- df_primordial_items/giant_mycelium.lua | 12 +- df_primordial_items/jungle_mushroom.lua | 19 +- df_primordial_items/jungle_nodes.lua | 44 ++- df_primordial_items/jungle_tree.lua | 18 +- df_primordial_items/locale/template.pot | 399 ++++++++++++++++---- df_primordial_items/primordial_mushroom.lua | 72 +++- df_underworld_items/puzzle_seal.lua | 4 + 12 files changed, 630 insertions(+), 158 deletions(-) diff --git a/df_caverns/primordial.lua b/df_caverns/primordial.lua index d2342b6..6aa43e8 100644 --- a/df_caverns/primordial.lua +++ b/df_caverns/primordial.lua @@ -38,6 +38,15 @@ local fungal_plants = { minetest.get_content_id("df_primordial_items:glow_pods"), } +local fungal_plant_names = {} +local fungal_plants = {} +for node_name, node_def in pairs(minetest.registered_nodes) do + if minetest.get_item_group(node_name, "primordial_fungal_plant") > 0 then + table.insert(fungal_plant_names, node_name) + table.insert(fungal_plants, minetest.get_content_id(node_name)) + end +end + local mushroom_cavern_floor = function(abs_cracks, humidity, vi, area, data, data_param2) local ystride = area.ystride local humidityfactor = humidity/200 + 0.5 @@ -117,26 +126,22 @@ end -------------------------------------------------------------------------------------------------- -- Jungle biome - -local jungle_plants = { - minetest.get_content_id("df_primordial_items:fern_1"), - minetest.get_content_id("df_primordial_items:fern_2"), - minetest.get_content_id("df_primordial_items:glow_plant_1"), - minetest.get_content_id("df_primordial_items:glow_plant_2"), - minetest.get_content_id("df_primordial_items:glow_plant_3"), - minetest.get_content_id("df_primordial_items:jungle_grass_1"), - minetest.get_content_id("df_primordial_items:jungle_grass_2"), - minetest.get_content_id("df_primordial_items:jungle_grass_3"), - minetest.get_content_id("df_primordial_items:jungle_mushroom_1"), - minetest.get_content_id("df_primordial_items:jungle_mushroom_2"), -} +local jungle_plant_names = {} +local jungle_plants = {} +for node_name, node_def in pairs(minetest.registered_nodes) do + if minetest.get_item_group(node_name, "primordial_jungle_plant") > 0 then + table.insert(jungle_plant_names, node_name) + table.insert(jungle_plants, minetest.get_content_id(node_name)) + end +end local c_jungle_dirt = minetest.get_content_id("df_primordial_items:dirt_with_jungle_grass") local c_plant_matter = minetest.get_content_id("df_primordial_items:plant_matter") local c_packed_roots = minetest.get_content_id("df_primordial_items:packed_roots") local c_glowstone = minetest.get_content_id("df_underworld_items:glowstone") local c_ivy = minetest.get_content_id("df_primordial_items:jungle_ivy") -local c_root = minetest.get_content_id("df_primordial_items:jungle_roots_2") +local c_root_2 = minetest.get_content_id("df_primordial_items:jungle_roots_2") +local c_root_1 = minetest.get_content_id("df_primordial_items:jungle_roots_1") local jungle_cavern_floor = function(abs_cracks, humidity, vi, area, data, data_param2) local ystride = area.ystride @@ -163,12 +168,13 @@ local jungle_cavern_ceiling = function(abs_cracks, vi, area, data, data_param2) data[vi] = c_glowstone elseif abs_cracks > 0.75 and math.random() < 0.1 then local ystride = area.ystride + data[vi] = c_dirt local index = vi - ystride local hanging_node if math.random() < 0.5 then hanging_node = c_ivy else - hanging_node = c_root + hanging_node = c_root_2 end for i = 1, math.random(16) do if data[index] == c_air then @@ -184,6 +190,24 @@ end local jungle_warren_ceiling = function(abs_cracks, vi, area, data, data_param2) if abs_cracks < 0.1 then data[vi] = c_glowstone + elseif abs_cracks > 0.75 and math.random() < 0.1 then + local ystride = area.ystride + data[vi] = c_dirt + local index = vi - ystride + local hanging_node + if math.random() < 0.5 then + hanging_node = c_root_1 + else + hanging_node = c_root_2 + end + for i = 1, math.random(8) do + if data[index] == c_air then + data[index] = hanging_node + index = index - ystride + else + break + end + end end end @@ -244,8 +268,6 @@ local decorate_primordial = function(minp, maxp, seed, vm, node_arrays, area, da else mushroom_cavern_ceiling(abs_cracks, humidity, vi, area, data, data_param2) end - - end ---------------------------------------------- @@ -295,6 +317,7 @@ local decorate_primordial = function(minp, maxp, seed, vm, node_arrays, area, da -- columns -- no flowstone below the Sunless Sea, replace with something else + local random_dir = {1, -1, area.zstride, -area.zstride} for _, vi in ipairs(node_arrays.column_nodes) do local jungle = nvals_cave[vi] < 0 if jungle then @@ -302,6 +325,12 @@ local decorate_primordial = function(minp, maxp, seed, vm, node_arrays, area, da minetest.get_node_timer(area:position(vi)):start(math.random(10, 60)) else data[vi] = c_mycelial_dirt + if math.random() < 0.01 then + local rand_vi = vi + random_dir[math.random(1,4)] + if data[rand_vi] == c_air then + data[rand_vi] = c_giant_mycelium + end + end end end @@ -317,15 +346,50 @@ subterrane.register_layer({ perlin_cave = perlin_cave_primordial, perlin_wave = perlin_wave_primordial, solidify_lava = true, --- columns = { --- maximum_radius = 20, --- minimum_radius = 5, --- node = "df_mapitems:wet_flowstone", -- no flowstone below the Sunless Sea, replace with something else --- weight = 0.5, --- maximum_count = 60, --- minimum_count = 10, --- }, + columns = { + maximum_radius = 20, + minimum_radius = 5, + node = "default:stone", -- no flowstone below the Sunless Sea, replace with something else + weight = 0.5, + maximum_count = 60, + minimum_count = 10, + }, decorate = decorate_primordial, double_frequency = true, is_ground_content = df_caverns.is_ground_content, }) + +-- Rather than make plants farmable, have them randomly respawn in jungle soil. You can only get them down there. +minetest.register_abm({ + label = "Primordial plant growth", + nodenames = {"df_primordial_items:dirt_with_jungle_grass"}, + neighbors = {"air"}, + interval = 60.0, + chance = 20, + action = function(pos, node, active_object_count, active_object_count_wider) + if minetest.find_node_near(pos, 2, {"group:primordial_jungle_plant"}) == nil then + local pos_above = {x=pos.x, y=pos.y+1, z=pos.z} + local node_above = minetest.get_node(pos_above) + if node_above.name == "air" then + minetest.set_node(pos_above, {name = jungle_plant_names[math.random(1,#jungle_plant_names)]}) + end + end + end, +}) + +minetest.register_abm({ + label = "Primordial fungus growth", + nodenames = {"df_primordial_items:dirt_with_mycelium"}, + neighbors = {"air"}, + interval = 60.0, + chance = 20, + action = function(pos, node, active_object_count, active_object_count_wider) + if minetest.find_node_near(pos, 3, {"group:primordial_fungal_plant"}) == nil then + local pos_above = {x=pos.x, y=pos.y+1, z=pos.z} + local node_above = minetest.get_node(pos_above) + if node_above.name == "air" then + minetest.set_node(pos_above, {name = fungal_plant_names[math.random(1,#fungal_plant_names)]}) + end + end + end, +}) diff --git a/df_caverns/underworld.lua b/df_caverns/underworld.lua index 90477bb..49171fb 100644 --- a/df_caverns/underworld.lua +++ b/df_caverns/underworld.lua @@ -442,7 +442,7 @@ minetest.register_on_generated(function(minp, maxp, seed) -- puzzle seal local puzzle_seal = nil - if pit_uninitialized and math.random() < 0.15 then + if pit_uninitialized and math.random() < 0.05 then local index2d = mapgen_helper.index2d(emin, emax, minp.x + 3, minp.z + 3) local abs_cave = math.abs(nvals_cave[index2d]) -- range is from 0 to approximately 2, with 0 being connected and 2s being islands local wave = nvals_wave[index2d] * wave_mult diff --git a/df_primordial_items/doc.lua b/df_primordial_items/doc.lua index e69de29..77d722b 100644 --- a/df_primordial_items/doc.lua +++ b/df_primordial_items/doc.lua @@ -0,0 +1,72 @@ +if not minetest.get_modpath("doc") then + return +end + +df_primordial_items.doc.big_mushroom_desc = S("Compared to the behemoths found elsewhere in the deep places of the world, the giant mushrooms of the primordial jungles are on the smaller side - often overwhelmed by the green plants that grow in the mysterious light below. Still, they can become substantial resources.") +df_primordial_items.doc.big_mushroom_usage = S("The soft flesh of these large mushrooms is much less woody than other giant mushrooms, making it ill-suited to structural use. This makes it rather more nutritious, however.") + +df_primordial_items.doc.dirt_with_jungle_grass_desc = S("The soil of the primordial jungle is rife with strange life at every scale.") +df_primordial_items.doc.dirt_with_jungle_grass_usage = S("When left uncultivated primordial jungle soil will sprout all manner of strange wild plants.") +df_primordial_items.doc.dirt_with_mycelium_desc = S("Fungal fibers have infiltrated the ground in a spongy mass, making the soil half mineral and half living matter.") +df_primordial_items.doc.dirt_with_mycelium_usage = S("When left uncultivated mycelial soil will sprout all manner of strange wild fungi.") + +df_primordial_items.doc.fern_desc = S("The dark-leaved ferns of the primordial jungle harken back to an earlier era of life in the world.") +--df_primordial_items.doc.fern_usage = S("") +df_primordial_items.doc.grass_desc = S("These fibrous plants that grow in the deep appear similar to grass at a glance, but they are more closely related to horsetails - a form of vegetation from before the advent of modern plant forms. Ironically, pale cave wheat is more kin to surface grass than this is.") +--df_primordial_items.doc.grass_usage = S("") + +df_primordial_items.doc.ivy_desc = S("Tangled weaves of ivy hang from the ceiling where there are wide enough gaps between the bright sources of light.") +df_primordial_items.doc.ivy_usage = S("Ivy is climbable, if it hangs close enough to the ground it can serve as a path between floor and ceiling.") +df_primordial_items.doc.roots_desc = S("Somewhere above an enormous plant has wedged its roots down through the rock and emerged from the ceiling of another cavern.") +df_primordial_items.doc.roots_usage = S("These hanging roots are climbable.") + +df_primordial_items.doc.fungal_grass_desc = S("Questing fibers of fungal mycelium sometimes erupt from the soil and reach upward, driven by chemical cues to seek out nourishment above. They look a lot like white grass, at a glance.") +--df_primordial_items.doc.fungal_grass_usage = S("") + +df_primordial_items.doc.tree_desc = S("The large woody plants of the primordial jungle are similar in appearance to the jungle trees of the surface, but are a result of convergent evolution from ancient cycad plants toward a common form.") +df_primordial_items.doc.tree_usage = S("Like wood of the surface world, primordial jungle trees can be chopped and carved as building material or as fuel.") +df_primordial_items.doc.tree_glowing_desc = S("The cracks in the bark of some primordial jungle trees become host to phosphorescent veins of symbiotic fungus.") +df_primordial_items.doc.tree_glowing_usage = S("The glowing bark fungus doesn't extend into the wood of the trunk, resulting in surprisingly mundane building material when hewn.") +--df_primordial_items.doc.leaves_desc = S("") +--df_primordial_items.doc.leaves_usage = S("") +df_primordial_items.doc.glowing_leaves_desc = S("Some fronds of primordial jungle trees also become host to the phosphorescent fungus that creeps through cracks in the bark.") +--df_primordial_items.doc.glowing_leaves_usage = S("") + +df_primordial_items.doc.giant_fern_desc = S("The still air of these ancient caverns have allowed ferns to grow to prodigious sizes, where storms and rain would normally tear their weaker fronds off on the surface of the world.") +df_primordial_items.doc.giant_fern_usage = S("When a fern grows to such sizes its stem becomes dense enough to be used as a form of wood.") + +df_primordial_items.doc.giant_hyphae_desc = S("Fungus in its purest form, these gigantic rope-like hyphae creep over the surface of soil and burrow in to feed wherever nutrients are sensed.") +df_primordial_items.doc.giant_hyphae_usage = S("Much like a rope, hyphae have fibers inside that can be unraveled and used for a variety of crafts.") +df_primordial_items.doc.mycelial_fibers_desc = S("Fibers extracted from gigantic fungal hyphae.") +--df_primordial_items.doc.mycelial_fibers_usage = S("") +df_primordial_items.doc.mycelial_thread_desc = df_primordial_items.doc.mycelial_fibers_desc +--df_primordial_items.doc.mycelial_thread_usage = S("") + +df_primordial_items.doc.giant_mushroom_desc = S("The grandest of the great mushroom species can be found in the deepest primordial caverns. Their broad caps have hanging gills.") +df_primordial_items.doc.giant_mushroom_usage = S("Much like the giant mushrooms of higher cavern layers, these can be carved into woody material for use as fuel or for building things. The grain of these primordial mushrooms is knurled.") +--df_primordial_items.doc.gills_desc = S("") +--df_primordial_items.doc.gills_usage = S("") + +--df_primordial_items.doc.glow_orb_desc = S("") +--df_primordial_items.doc.glow_orb_usage = S("") +--df_primordial_items.doc.glow_plant_desc = S("") +--df_primordial_items.doc.glow_plant_usage = S("") +--df_primordial_items.doc.glow_pod_desc = S("") +--df_primordial_items.doc.glow_pod_usage = S("") + +-- The giant hanging fungal structures from the ceiling +--df_primordial_items.doc.glownode_desc = S("") +--df_primordial_items.doc.glownode_usage = S("") +--df_primordial_items.doc.glownode_stalk_desc = S("") +--df_primordial_items.doc.glownode_stalk_usage = S("") + +df_primordial_items.doc.packed_roots_desc = S("The steady light and unchanging growing conditions of the primordial caverns have led to great mountainous masses of plant material growing in particularly fertile spots, hardly identifiable as individual organisms.") +df_primordial_items.doc.packed_roots_usage = S("The gnarled interwoven root-like foundations of this plant material is not useful as building material, but can serve as a fuel source.") +df_primordial_items.doc.plant_matter_desc = df_primordial_items.doc.packed_roots_desc +df_primordial_items.doc.plant_matter_usage = df_primordial_items.doc.packed_roots_usage + +--df_primordial_items.doc.small_mushroom_desc = S("") +--df_primordial_items.doc.small_mushroom_usage = S("") +-- +--df_primordial_items.doc.thorn_desc = S("") +--df_primordial_items.doc.thorn_usage = S("") diff --git a/df_primordial_items/fungal_nodes.lua b/df_primordial_items/fungal_nodes.lua index 5df9fb5..51b16df 100644 --- a/df_primordial_items/fungal_nodes.lua +++ b/df_primordial_items/fungal_nodes.lua @@ -14,7 +14,7 @@ minetest.register_node("df_primordial_items:fungal_grass_1", { tiles = {"dfcaverns_mush_grass_01.png"}, inventory_image = "dfcaverns_mush_grass_01.png", wield_image = "dfcaverns_mush_grass_01.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_fungal_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -32,7 +32,7 @@ minetest.register_node("df_primordial_items:fungal_grass_2", { tiles = {"dfcaverns_mush_grass_02.png"}, inventory_image = "dfcaverns_mush_grass_02.png", wield_image = "dfcaverns_mush_grass_02.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_fungal_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -53,7 +53,7 @@ minetest.register_node("df_primordial_items:glow_orb", { tiles = {"dfcaverns_mush_orb.png"}, inventory_image = "dfcaverns_mush_orb.png", wield_image = "dfcaverns_mush_orb.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_fungal_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -72,7 +72,7 @@ minetest.register_node("df_primordial_items:glow_orb_stalks", { tiles = {"dfcaverns_mush_stalks.png"}, inventory_image = "dfcaverns_mush_stalks.png", wield_image = "dfcaverns_mush_stalks.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_fungal_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -91,7 +91,7 @@ minetest.register_node("df_primordial_items:glow_pods", { tiles = {"dfcaverns_mush_pods.png"}, inventory_image = "dfcaverns_mush_pods.png", wield_image = "dfcaverns_mush_pods.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_fungal_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -108,6 +108,8 @@ minetest.register_node("df_primordial_items:glow_pods", { minetest.register_node("df_primordial_items:dirt_with_mycelium", { description = S("Dirt with Primordial Mycelium"), + _doc_items_longdesc = df_primordial_items.doc.dirt_with_mycelium_desc, + _doc_items_usagehelp = df_primordial_items.doc.dirt_with_mycelium_usage, tiles = {"dfcaverns_mush_soil.png"}, groups = {crumbly = 3, soil = 1}, is_ground_content = false, diff --git a/df_primordial_items/giant_fern.lua b/df_primordial_items/giant_fern.lua index 8973c1e..6517459 100644 --- a/df_primordial_items/giant_fern.lua +++ b/df_primordial_items/giant_fern.lua @@ -130,6 +130,24 @@ minetest.register_node("df_primordial_items:giant_fern_tree_slant_full", { }, }) +minetest.register_node("df_primordial_items:fern_wood", { + description = S("Fern Wood"), + _doc_items_longdesc = df_primordial_items.doc.giant_fern_desc, + _doc_items_usagehelp = df_primordial_items.doc.giant_fern_usage, + paramtype2 = "facedir", + tiles = {"default_wood.png^[multiply:#10FF10"}, + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_craft({ + output = "df_primordial_items:fern_wood 4", + recipe = { + {"group:fern_stem"}, + } +}) + minetest.register_node("df_primordial_items:giant_fern_leaves", { description = S("Giant Fern Leaves"), _doc_items_longdesc = df_primordial_items.doc.giant_fern_desc, @@ -268,4 +286,4 @@ minetest.register_node("df_primordial_items:fern_sapling", { minetest.set_node(pos, {name="air"}) -- clear sapling so fern can replace it mapgen_helper.place_schematic(pos, fern, rotation) end, -}) +}) \ No newline at end of file diff --git a/df_primordial_items/giant_mycelium.lua b/df_primordial_items/giant_mycelium.lua index 03f5c31..42a774c 100644 --- a/df_primordial_items/giant_mycelium.lua +++ b/df_primordial_items/giant_mycelium.lua @@ -22,6 +22,8 @@ end minetest.register_node("df_primordial_items:giant_hypha_root", { description = S("Rooted Giant Hypha"), + _doc_items_longdesc = df_primordial_items.doc.giant_hyphae_desc, + _doc_items_usagehelp = df_primordial_items.doc.giant_hyphae_usage, tiles = { {name="dfcaverns_mush_giant_hypha.png"}, }, @@ -49,6 +51,8 @@ minetest.register_node("df_primordial_items:giant_hypha_root", { }) minetest.register_node("df_primordial_items:giant_hypha", { description = S("Giant Hypha"), + _doc_items_longdesc = df_primordial_items.doc.giant_hyphae_desc, + _doc_items_usagehelp = df_primordial_items.doc.giant_hyphae_usage, tiles = { {name="dfcaverns_mush_giant_hypha.png"}, }, @@ -77,12 +81,16 @@ minetest.register_node("df_primordial_items:giant_hypha", { minetest.register_craftitem("df_primordial_items:mycelial_fibers", { description = S("Giant Mycelial Fibers"), + _doc_items_longdesc = df_primordial_items.doc.mycelial_fibers_desc, + _doc_items_usagehelp = df_primordial_items.doc.mycelial_fibers_usage, groups = {wool = 1}, inventory_image = "dfcaverns_mush_mycelial_fibers.png", }) minetest.register_craftitem("df_primordial_items:mycelial_thread", { description = S("Mycelial thread"), + _doc_items_longdesc = df_primordial_items.doc.mycelial_thread_desc, + _doc_items_usagehelp = df_primordial_items.doc.mycelial_thread_usage, inventory_image = "dfcaverns_pig_tail_thread.png", groups = {flammable = 1, thread = 1}, }) @@ -347,7 +355,9 @@ minetest.register_node("df_primordial_items:giant_hypha_apical_meristem", { end, }) --- this version grows instantly via ABM, it is meant for mapgen usage +-- this version grows instantly via ABM, it is meant for mapgen usage. +-- An ABM is used so that it will trigger only after the surrounding map chunks have +-- also been generated, in case it wants to grow into them. minetest.register_node("df_primordial_items:giant_hypha_apical_mapgen", { description = S("Giant Hypha Apical Meristem"), tiles = { diff --git a/df_primordial_items/jungle_mushroom.lua b/df_primordial_items/jungle_mushroom.lua index 57cc7ed..87acb6d 100644 --- a/df_primordial_items/jungle_mushroom.lua +++ b/df_primordial_items/jungle_mushroom.lua @@ -24,7 +24,7 @@ minetest.register_node("df_primordial_items:jungle_mushroom_cap_1", { tiles = {"dfcaverns_jungle_mushroom_top_02.png"}, paramtype2 = "facedir", is_ground_content = false, - groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, primordial_mushroom_cap = 1}, sounds = df_trees.node_sound_tree_soft_fungus_defaults(), on_place = minetest.rotate_node, drop = { @@ -48,7 +48,7 @@ minetest.register_node("df_primordial_items:jungle_mushroom_cap_2", { tiles = {"dfcaverns_jungle_mushroom_top_01.png"}, paramtype2 = "facedir", is_ground_content = false, - groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, primordial_mushroom_cap = 1}, sounds = df_trees.node_sound_tree_soft_fungus_defaults(), on_place = minetest.rotate_node, drop = { @@ -77,14 +77,15 @@ minetest.register_craftitem("df_primordial_items:diced_mushroom", { minetest.register_craft({ output = "df_primordial_items:diced_mushroom 4", type = "shapeless", - recipe = { "df_primordial_items:jungle_mushroom_cap_1"}, -}) -minetest.register_craft({ - output = "df_primordial_items:diced_mushroom 4", - type = "shapeless", - recipe = { "df_primordial_items:jungle_mushroom_cap_2"}, + recipe = { "group:primordial_mushroom_cap"}, }) +-- Note: no wood-making recipe for the trunk, it's pretty useless +minetest.register_craft({ + type = "fuel", + recipe = "df_primordial_items:jungle_mushroom_trunk", + burntime = 15, +}) minetest.register_node("df_primordial_items:jungle_mushroom_sapling", { description = S("Primordial Jungle Mushroom Sapling"), @@ -93,7 +94,7 @@ minetest.register_node("df_primordial_items:jungle_mushroom_sapling", { tiles = {"dfcaverns_jungle_mushroom_02.png^[brighten"}, inventory_image = "dfcaverns_jungle_mushroom_02.png^[brighten", wield_image = "dfcaverns_jungle_mushroom_02.png^[brighten", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, light_sensitive_fungus = 13}, paramtype = "light", drawtype = "plantlike", buildable_to = true, diff --git a/df_primordial_items/jungle_nodes.lua b/df_primordial_items/jungle_nodes.lua index 328ae36..0a68a42 100644 --- a/df_primordial_items/jungle_nodes.lua +++ b/df_primordial_items/jungle_nodes.lua @@ -17,7 +17,7 @@ minetest.register_node("df_primordial_items:fern_1", { tiles = {"dfcaverns_jungle_fern_01.png"}, inventory_image = "dfcaverns_jungle_fern_01.png", wield_image = "dfcaverns_jungle_fern_01.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_jungle_plant = 1}, visual_scale = 1.69, paramtype = "light", drawtype = "plantlike", @@ -37,7 +37,7 @@ minetest.register_node("df_primordial_items:fern_2", { visual_scale = 1.69, inventory_image = "dfcaverns_jungle_fern_02.png", wield_image = "dfcaverns_jungle_fern_02.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_jungle_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -58,7 +58,7 @@ minetest.register_node("df_primordial_items:glow_plant_1", { tiles = {"dfcaverns_jungle_flower_01.png"}, inventory_image = "dfcaverns_jungle_flower_01.png", wield_image = "dfcaverns_jungle_flower_01.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_jungle_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -77,7 +77,7 @@ minetest.register_node("df_primordial_items:glow_plant_2", { tiles = {"dfcaverns_jungle_glow_plant_01.png"}, inventory_image = "dfcaverns_jungle_glow_plant_01.png", wield_image = "dfcaverns_jungle_glow_plant_01.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_jungle_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -96,7 +96,7 @@ minetest.register_node("df_primordial_items:glow_plant_3", { tiles = {"dfcaverns_jungle_glow_plant_02.png"}, inventory_image = "dfcaverns_jungle_glow_plant_02.png", wield_image = "dfcaverns_jungle_glow_plant_02.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_jungle_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -119,7 +119,7 @@ minetest.register_node("df_primordial_items:jungle_grass_1", { tiles = {"dfcaverns_jungle_grass_01.png"}, inventory_image = "dfcaverns_jungle_grass_01.png", wield_image = "dfcaverns_jungle_grass_01.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_jungle_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -137,7 +137,7 @@ minetest.register_node("df_primordial_items:jungle_grass_2", { tiles = {"dfcaverns_jungle_grass_02.png"}, inventory_image = "dfcaverns_jungle_grass_02.png", wield_image = "dfcaverns_jungle_grass_02.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_jungle_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -156,7 +156,7 @@ minetest.register_node("df_primordial_items:jungle_grass_3", { tiles = {"dfcaverns_jungle_grass_03.png"}, inventory_image = "dfcaverns_jungle_grass_03.png", wield_image = "dfcaverns_jungle_grass_03.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_jungle_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -206,7 +206,7 @@ minetest.register_node("df_primordial_items:jungle_mushroom_1", { tiles = {"dfcaverns_jungle_mushroom_01.png"}, inventory_image = "dfcaverns_jungle_mushroom_01.png", wield_image = "dfcaverns_jungle_mushroom_01.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_jungle_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -224,7 +224,7 @@ minetest.register_node("df_primordial_items:jungle_mushroom_2", { tiles = {"dfcaverns_jungle_mushroom_02.png"}, inventory_image = "dfcaverns_jungle_mushroom_02.png", wield_image = "dfcaverns_jungle_mushroom_02.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, primordial_jungle_plant = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -240,6 +240,8 @@ minetest.register_node("df_primordial_items:jungle_mushroom_2", { minetest.register_node("df_primordial_items:dirt_with_jungle_grass", { description = S("Dirt With Primordial Jungle Grass"), + _doc_items_longdesc = df_primordial_items.doc.dirt_with_jungle_grass_desc, + _doc_items_usagehelp = df_primordial_items.doc.dirt_with_jungle_grass_usage, tiles = {"dfcaverns_jungle_plant_grass_node_01.png"}, groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, is_ground_content = false, @@ -287,10 +289,16 @@ minetest.register_node("df_primordial_items:packed_roots", { tiles = {"dfcaverns_jungle_plant_packed_roots_01.png"}, paramtype2 = "facedir", is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, sounds = default.node_sound_wood_defaults(), }) +minetest.register_craft({ + type = "fuel", + recipe = "df_primordial_items:packed_roots", + burntime = 40, +}) + ---------------------------------------------------------------------------------------- -- Roots @@ -301,19 +309,15 @@ minetest.register_node("df_primordial_items:jungle_roots_1", { tiles = {"dfcaverns_jungle_root_01.png"}, inventory_image = "dfcaverns_jungle_root_01.png", wield_image = "dfcaverns_jungle_root_01.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, flammable = 1}, paramtype = "light", - paramtype2 = "wallmounted", - drawtype = "signlike", + drawtype = "plantlike", sounds = default.node_sound_leaves_defaults(), use_texture_alpha = true, sunlight_propagates = true, walkable = false, climbable = true, is_ground_content = false, - selection_box = { - type = "wallmounted", - }, }) minetest.register_node("df_primordial_items:jungle_roots_2", { @@ -345,7 +349,7 @@ minetest.register_node("df_primordial_items:jungle_thorns", { visual_scale = 1.41, inventory_image = "dfcaverns_jungle_thorns_01.png", wield_image = "dfcaverns_jungle_thorns_01.png", - groups = {snappy = 3, flora = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, flammable = 1, primordial_jungle_plant = 1}, paramtype = "light", drawtype = "plantlike", walkable = false, @@ -357,6 +361,10 @@ minetest.register_node("df_primordial_items:jungle_thorns", { damage_per_second = 1, }) + +-- TODO I had an idea to make thorns grow into mazes naturally using cellular automata rules, but it turned out to be +-- complicated and probably not worth it right now. Deal with it later. + --local thorn_dir = --{ -- {x=1,y=0,z=1}, diff --git a/df_primordial_items/jungle_tree.lua b/df_primordial_items/jungle_tree.lua index 022418a..3ea4261 100644 --- a/df_primordial_items/jungle_tree.lua +++ b/df_primordial_items/jungle_tree.lua @@ -59,7 +59,7 @@ minetest.register_node("df_primordial_items:jungle_leaves_glowing", { rarity = 10, }, { - items = {"df_primordial_items:jungle_leaves"}, + items = {"df_primordial_items:jungle_leaves_glowing"}, } } }, @@ -75,7 +75,7 @@ minetest.register_node("df_primordial_items:jungle_tree", { tiles = {"dfcaverns_jungle_wood_02.png", "dfcaverns_jungle_wood_02.png", "dfcaverns_jungle_wood_01.png"}, paramtype2 = "facedir", is_ground_content = false, - groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, primordial_jungle_tree = 1}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -87,7 +87,7 @@ minetest.register_node("df_primordial_items:jungle_tree_mossy", { tiles = {"dfcaverns_jungle_wood_02.png", "dfcaverns_jungle_wood_02.png", "dfcaverns_jungle_wood_03.png"}, paramtype2 = "facedir", is_ground_content = false, - groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, primordial_jungle_tree = 1}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) @@ -100,18 +100,24 @@ minetest.register_node("df_primordial_items:jungle_tree_glowing", { paramtype2 = "facedir", is_ground_content = false, light_source = 4, - groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, primordial_jungle_tree = 1}, sounds = default.node_sound_wood_defaults(), on_place = minetest.rotate_node }) - default.register_leafdecay({ trunks = {"df_primordial_items:jungle_tree", "df_primordial_items:jungle_tree_mossy", "df_primordial_items:jungle_tree_glowing"}, leaves = {"df_primordial_items:jungle_leaves", "df_primordial_items:jungle_leaves_glowing"}, radius = 1, }) +minetest.register_craft({ + output = "default:junglewood 4", + recipe = { + {"group:primordial_jungle_tree"}, + } +}) + ---------------------------- -- Spawn @@ -222,7 +228,7 @@ minetest.register_node("df_primordial_items:jungletree_sapling", { tiles = {"dfcaverns_jungle_sapling.png"}, inventory_image = "dfcaverns_jungle_sapling.png", wield_image = "dfcaverns_jungle_sapling.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, sapling = 1}, paramtype = "light", drawtype = "plantlike", buildable_to = true, diff --git a/df_primordial_items/locale/template.pot b/df_primordial_items/locale/template.pot index 9aa6ef7..7a58c95 100644 --- a/df_primordial_items/locale/template.pot +++ b/df_primordial_items/locale/template.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-08-07 23:25-0600\n" +"POT-Creation-Date: 2020-01-26 16:09-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,138 +17,373 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: df_primordial_items\fungal_nodes.lua:10 -msgid "Primordial Mushroom Trunk" -msgstr "" - -#: df_primordial_items\fungal_nodes.lua:22 -msgid "Primordial Mushroom Cap" -msgstr "" - -#: df_primordial_items\fungal_nodes.lua:34 -msgid "Primordial Mushroom Gills" -msgstr "" - -#: df_primordial_items\fungal_nodes.lua:50 -msgid "Glowing Primordial Mushroom Gills" -msgstr "" - -#: df_primordial_items\fungal_nodes.lua:70 +#: df_primordial_items\ceiling_fungus.lua:9 msgid "Primordial Fungal Lantern" msgstr "" -#: df_primordial_items\fungal_nodes.lua:84 +#: df_primordial_items\ceiling_fungus.lua:23 msgid "Primordial Fungal Lantern Stalk" msgstr "" -#: df_primordial_items\fungal_nodes.lua:101 -msgid "Primordial Fungal Grass" -msgstr "" - -#: df_primordial_items\fungal_nodes.lua:117 -#: df_primordial_items\jungle_nodes.lua:117 -#: df_primordial_items\jungle_nodes.lua:133 -#: df_primordial_items\jungle_nodes.lua:150 -msgid "Primordial Jungle Grass" -msgstr "" - -#: df_primordial_items\fungal_nodes.lua:136 -#: df_primordial_items\fungal_nodes.lua:153 -#: df_primordial_items\fungal_nodes.lua:170 +#: df_primordial_items\ceiling_fungus.lua:35 +#: df_primordial_items\fungal_nodes.lua:50 +#: df_primordial_items\fungal_nodes.lua:69 msgid "Primordial Fungal Orb" msgstr "" -#: df_primordial_items\fungal_nodes.lua:187 +#: df_primordial_items\doc.lua:5 +msgid "" +"Compared to the behemoths found elsewhere in the deep places of the world, " +"the giant mushrooms of the primordial jungles are on the smaller side - " +"often overwhelmed by the green plants that grow in the mysterious light " +"below. Still, they can become substantial resources." +msgstr "" + +#: df_primordial_items\doc.lua:6 +msgid "" +"The soft flesh of these large mushrooms is much less woody than other giant " +"mushrooms, making it ill-suited to structural use. This makes it rather more " +"nutritious, however." +msgstr "" + +#: df_primordial_items\doc.lua:8 +msgid "" +"The soil of the primordial jungle is rife with strange life at every scale." +msgstr "" + +#: df_primordial_items\doc.lua:9 +msgid "" +"When left uncultivated primordial jungle soil will sprout all manner of " +"strange wild plants." +msgstr "" + +#: df_primordial_items\doc.lua:10 +msgid "" +"Fungal fibers have infiltrated the ground in a spongy mass, making the soil " +"half mineral and half living matter." +msgstr "" + +#: df_primordial_items\doc.lua:11 +msgid "" +"When left uncultivated mycelial soil will sprout all manner of strange wild " +"fungi." +msgstr "" + +#: df_primordial_items\doc.lua:13 +msgid "" +"The dark-leaved ferns of the primordial jungle harken back to an earlier era " +"of life in the world." +msgstr "" + +#: df_primordial_items\doc.lua:15 +msgid "" +"These fibrous plants that grow in the deep appear similar to grass at a " +"glance, but they are more closely related to horsetails - a form of " +"vegetation from before the advent of modern plant forms. Ironically, pale " +"cave wheat is more kin to surface grass than this is." +msgstr "" + +#: df_primordial_items\doc.lua:18 +msgid "" +"Tangled weaves of ivy hang from the ceiling where there are wide enough gaps " +"between the bright sources of light." +msgstr "" + +#: df_primordial_items\doc.lua:19 +msgid "" +"Ivy is climbable, if it hangs close enough to the ground it can serve as a " +"path between floor and ceiling." +msgstr "" + +#: df_primordial_items\doc.lua:20 +msgid "" +"Somewhere above an enormous plant has wedged its roots down through the rock " +"and emerged from the ceiling of another cavern." +msgstr "" + +#: df_primordial_items\doc.lua:21 +msgid "These hanging roots are climbable." +msgstr "" + +#: df_primordial_items\doc.lua:23 +msgid "" +"Questing fibers of fungal mycelium sometimes erupt from the soil and reach " +"upward, driven by chemical cues to seek out nourishment above. They look a " +"lot like white grass, at a glance." +msgstr "" + +#: df_primordial_items\doc.lua:26 +msgid "" +"The large woody plants of the primordial jungle are similar in appearance to " +"the jungle trees of the surface, but are a result of convergent evolution " +"from ancient cycad plants toward a common form." +msgstr "" + +#: df_primordial_items\doc.lua:27 +msgid "" +"Like wood of the surface world, primordial jungle trees can be chopped and " +"carved as building material or as fuel." +msgstr "" + +#: df_primordial_items\doc.lua:28 +msgid "" +"The cracks in the bark of some primordial jungle trees become host to " +"phosphorescent veins of symbiotic fungus." +msgstr "" + +#: df_primordial_items\doc.lua:29 +msgid "" +"The glowing bark fungus doesn't extend into the wood of the trunk, resulting " +"in surprisingly mundane building material when hewn." +msgstr "" + +#: df_primordial_items\doc.lua:32 +msgid "" +"Some fronds of primordial jungle trees also become host to the " +"phosphorescent fungus that creeps through cracks in the bark." +msgstr "" + +#: df_primordial_items\doc.lua:35 +msgid "" +"The still air of these ancient caverns have allowed ferns to grow to " +"prodigious sizes, where storms and rain would normally tear their weaker " +"fronds off on the surface of the world." +msgstr "" + +#: df_primordial_items\doc.lua:36 +msgid "" +"When a fern grows to such sizes its stem becomes dense enough to be used as " +"a form of wood." +msgstr "" + +#: df_primordial_items\doc.lua:38 +msgid "" +"Fungus in its purest form, these gigantic rope-like hyphae creep over the " +"surface of soil and burrow in to feed wherever nutrients are sensed." +msgstr "" + +#: df_primordial_items\doc.lua:39 +msgid "" +"Much like a rope, hyphae have fibers inside that can be unraveled and used " +"for a variety of crafts." +msgstr "" + +#: df_primordial_items\doc.lua:40 +msgid "Fibers extracted from gigantic fungal hyphae." +msgstr "" + +#: df_primordial_items\doc.lua:45 +msgid "" +"The grandest of the great mushroom species can be found in the deepest " +"primordial caverns. Their broad caps have hanging gills." +msgstr "" + +#: df_primordial_items\doc.lua:46 +msgid "" +"Much like the giant mushrooms of higher cavern layers, these can be carved " +"into woody material for use as fuel or for building things. The grain of " +"these primordial mushrooms is knurled." +msgstr "" + +#: df_primordial_items\doc.lua:63 +msgid "" +"The steady light and unchanging growing conditions of the primordial caverns " +"have led to great mountainous masses of plant material growing in " +"particularly fertile spots, hardly identifiable as individual organisms." +msgstr "" + +#: df_primordial_items\doc.lua:64 +msgid "" +"The gnarled interwoven root-like foundations of this plant material is not " +"useful as building material, but can serve as a fuel source." +msgstr "" + +#: df_primordial_items\fungal_nodes.lua:11 +#: df_primordial_items\fungal_nodes.lua:29 +msgid "Primordial Fungal Grass" +msgstr "" + +#: df_primordial_items\fungal_nodes.lua:88 msgid "Primordial Fungal Pod" msgstr "" -#: df_primordial_items\fungal_nodes.lua:207 -msgid "Dirt With Primordial Mycelium" +#: df_primordial_items\fungal_nodes.lua:110 +msgid "Dirt with Primordial Mycelium" msgstr "" -#: df_primordial_items\giant_fern.lua:6 -#: df_primordial_items\giant_fern.lua:20 -#: df_primordial_items\giant_fern.lua:56 -#: df_primordial_items\giant_fern.lua:92 +#: df_primordial_items\fungal_nodes.lua:126 +msgid "Dirt with Primordial Mycelium and Footprint" +msgstr "" + +#: df_primordial_items\giant_fern.lua:9 +#: df_primordial_items\giant_fern.lua:23 +#: df_primordial_items\giant_fern.lua:60 +#: df_primordial_items\giant_fern.lua:97 msgid "Giant Fern Stem" msgstr "" -#: df_primordial_items\giant_fern.lua:128 +#: df_primordial_items\giant_fern.lua:134 +msgid "Fern Wood" +msgstr "" + +#: df_primordial_items\giant_fern.lua:152 msgid "Giant Fern Leaves" msgstr "" -#: df_primordial_items\jungle_nodes.lua:10 -#: df_primordial_items\jungle_nodes.lua:27 -#: df_primordial_items\jungle_nodes.lua:43 -msgid "Primordial Fern" +#: df_primordial_items\giant_fern.lua:267 +msgid "Giant Fern Sapling" msgstr "" -#: df_primordial_items\jungle_nodes.lua:62 -msgid "Primordial Flower" +#: df_primordial_items\giant_mycelium.lua:24 +msgid "Rooted Giant Hypha" msgstr "" -#: df_primordial_items\jungle_nodes.lua:79 -#: df_primordial_items\jungle_nodes.lua:96 -msgid "Primordial Jungle Pod" +#: df_primordial_items\giant_mycelium.lua:53 +msgid "Giant Hypha" msgstr "" -#: df_primordial_items\jungle_nodes.lua:171 -msgid "Primordial Jungle Ivy" +#: df_primordial_items\giant_mycelium.lua:83 +msgid "Giant Mycelial Fibers" msgstr "" -#: df_primordial_items\jungle_nodes.lua:197 -msgid "Primordial Jungle Tree Leaves" +#: df_primordial_items\giant_mycelium.lua:91 +msgid "Mycelial thread" msgstr "" -#: df_primordial_items\jungle_nodes.lua:214 -msgid "Phosphorescent Primordial Jungle Tree Leaves" +#: df_primordial_items\giant_mycelium.lua:297 +#: df_primordial_items\giant_mycelium.lua:362 +msgid "Giant Hypha Apical Meristem" msgstr "" -#: df_primordial_items\jungle_nodes.lua:234 -msgid "Primordial Jungle Tree" -msgstr "" - -#: df_primordial_items\jungle_nodes.lua:246 -msgid "Mossy Primordial Jungle Tree" -msgstr "" - -#: df_primordial_items\jungle_nodes.lua:258 -msgid "Phosphorescent Primordial Jungle Tree" -msgstr "" - -#: df_primordial_items\jungle_nodes.lua:274 -#: df_primordial_items\jungle_nodes.lua:290 -msgid "Primordial Jungle Mushroom" -msgstr "" - -#: df_primordial_items\jungle_nodes.lua:309 +#: df_primordial_items\jungle_mushroom.lua:9 msgid "Primordial Jungle Mushroom Trunk" msgstr "" -#: df_primordial_items\jungle_nodes.lua:321 -msgid "Primordial Jungle Mushroom Cap" +#: df_primordial_items\jungle_mushroom.lua:21 +msgid "Pale Jungle Mushroom Cap" msgstr "" -#: df_primordial_items\jungle_nodes.lua:336 +#: df_primordial_items\jungle_mushroom.lua:45 +msgid "Dark Jungle Mushroom Cap" +msgstr "" + +#: df_primordial_items\jungle_mushroom.lua:69 +msgid "Diced Mushroom" +msgstr "" + +#: df_primordial_items\jungle_mushroom.lua:91 +msgid "Primordial Jungle Mushroom Sapling" +msgstr "" + +#: df_primordial_items\jungle_nodes.lua:14 +#: df_primordial_items\jungle_nodes.lua:33 +msgid "Primordial Fern" +msgstr "" + +#: df_primordial_items\jungle_nodes.lua:55 +msgid "Primordial Flower" +msgstr "" + +#: df_primordial_items\jungle_nodes.lua:74 +#: df_primordial_items\jungle_nodes.lua:93 +msgid "Primordial Jungle Pod" +msgstr "" + +#: df_primordial_items\jungle_nodes.lua:116 +#: df_primordial_items\jungle_nodes.lua:134 +#: df_primordial_items\jungle_nodes.lua:153 +msgid "Primordial Jungle Grass" +msgstr "" + +#: df_primordial_items\jungle_nodes.lua:176 +msgid "Primordial Jungle Ivy" +msgstr "" + +#: df_primordial_items\jungle_nodes.lua:203 +#: df_primordial_items\jungle_nodes.lua:221 +msgid "Primordial Jungle Mushroom" +msgstr "" + +#: df_primordial_items\jungle_nodes.lua:242 msgid "Dirt With Primordial Jungle Grass" msgstr "" -#: df_primordial_items\jungle_nodes.lua:343 +#: df_primordial_items\jungle_nodes.lua:252 msgid "Primordial Plant Matter" msgstr "" -#: df_primordial_items\jungle_nodes.lua:351 +#: df_primordial_items\jungle_nodes.lua:270 +msgid "Dirt With Primordial Jungle Grass and Footprint" +msgstr "" + +#: df_primordial_items\jungle_nodes.lua:277 +msgid "Primordial Plant Matter with Footprint" +msgstr "" + +#: df_primordial_items\jungle_nodes.lua:286 msgid "Packed Primordial Jungle Roots" msgstr "" -#: df_primordial_items\jungle_nodes.lua:365 +#: df_primordial_items\jungle_nodes.lua:300 msgid "Primordial Jungle Roots" msgstr "" -#: df_primordial_items\jungle_nodes.lua:387 +#: df_primordial_items\jungle_nodes.lua:318 msgid "Primordial Jungle Root" msgstr "" -#: df_primordial_items\jungle_nodes.lua:407 +#: df_primordial_items\jungle_nodes.lua:339 msgid "Primordial Jungle Thorns" msgstr "" + +#: df_primordial_items\jungle_tree.lua:7 +msgid "Primordial Jungle Tree Leaves" +msgstr "" + +#: df_primordial_items\jungle_tree.lua:38 +msgid "Phosphorescent Primordial Jungle Tree Leaves" +msgstr "" + +#: df_primordial_items\jungle_tree.lua:72 +msgid "Primordial Jungle Tree" +msgstr "" + +#: df_primordial_items\jungle_tree.lua:84 +msgid "Mossy Primordial Jungle Tree" +msgstr "" + +#: df_primordial_items\jungle_tree.lua:96 +msgid "Phosphorescent Primordial Jungle Tree" +msgstr "" + +#: df_primordial_items\jungle_tree.lua:225 +msgid "Primordial Jungle Tree Sapling" +msgstr "" + +#: df_primordial_items\primordial_mushroom.lua:6 +msgid "Primordial Mushroom Trunk" +msgstr "" + +#: df_primordial_items\primordial_mushroom.lua:18 +msgid "Primordial Mushroom Cap" +msgstr "" + +#: df_primordial_items\primordial_mushroom.lua:30 +msgid "Primordial Mushroom Gills" +msgstr "" + +#: df_primordial_items\primordial_mushroom.lua:61 +msgid "Glowing Primordial Mushroom Gills" +msgstr "" + +#: df_primordial_items\primordial_mushroom.lua:99 +msgid "Primordial Mushroom Trunk Wood" +msgstr "" + +#: df_primordial_items\primordial_mushroom.lua:117 +msgid "Primordial Cap Wood" +msgstr "" + +#: df_primordial_items\primordial_mushroom.lua:692 +msgid "Primordial Mushroom Spawn" +msgstr "" diff --git a/df_primordial_items/primordial_mushroom.lua b/df_primordial_items/primordial_mushroom.lua index 5597c15..bf6c4b7 100644 --- a/df_primordial_items/primordial_mushroom.lua +++ b/df_primordial_items/primordial_mushroom.lua @@ -4,8 +4,8 @@ local S, NS = dofile(MP.."/intllib.lua") minetest.register_node("df_primordial_items:mushroom_trunk", { description = S("Primordial Mushroom Trunk"), - _doc_items_longdesc = df_primordial_items.doc.big_mushroom_desc, - _doc_items_usagehelp = df_primordial_items.doc.big_mushroom_usage, + _doc_items_longdesc = df_primordial_items.doc.giant_mushroom_desc, + _doc_items_usagehelp = df_primordial_items.doc.giant_mushroom_usage, tiles = {"dfcaverns_mush_shaft_top.png", "dfcaverns_mush_shaft_top.png", "dfcaverns_mush_shaft_side.png"}, paramtype2 = "facedir", is_ground_content = false, @@ -33,7 +33,7 @@ minetest.register_node("df_primordial_items:mushroom_gills", { tiles = {"dfcaverns_mush_gills.png"}, inventory_image = "dfcaverns_mush_gills.png", wield_image = "dfcaverns_mush_gills.png", - groups = {snappy = 3, flora = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, flammable = 1, leaves = 1}, paramtype = "light", drawtype = "plantlike", waving = 2, @@ -64,7 +64,7 @@ minetest.register_node("df_primordial_items:mushroom_gills_glowing", { tiles = {"dfcaverns_mush_gills_glow.png"}, inventory_image = "dfcaverns_mush_gills_glow.png", wield_image = "dfcaverns_mush_gills_glow.png", - groups = {snappy = 3, flora = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, flammable = 1, leaves = 1}, paramtype = "light", drawtype = "plantlike", waving = 2, @@ -89,6 +89,48 @@ minetest.register_node("df_primordial_items:mushroom_gills_glowing", { }, }) +default.register_leafdecay({ + trunks = {"df_primordial_items:mushroom_trunk", "df_primordial_items:mushroom_cap"}, + leaves = {"df_primordial_items:mushroom_gills", "df_primordial_items:mushroom_gills_glowing"}, + radius = 5, +}) + +minetest.register_node("df_primordial_items:primordial_mush_trunk_wood", { + description = S("Primordial Mushroom Trunk Wood"), + _doc_items_longdesc = df_primordial_items.doc.giant_mushroom_desc, + _doc_items_usagehelp = df_primordial_items.doc.giant_mushroom_usage, + paramtype2 = "facedir", + tiles = {"dfcaverns_mush_shaft_side.png^(dfcaverns_mush_gills.png^[multiply:#888888)"}, + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_craft({ + output = "df_primordial_items:primordial_mush_trunk_wood 4", + recipe = { + {"df_primordial_items:mushroom_trunk"}, + } +}) + +minetest.register_node("df_primordial_items:primordial_mush_cap_wood", { + description = S("Primordial Cap Wood"), + _doc_items_longdesc = df_primordial_items.doc.giant_mushroom_desc, + _doc_items_usagehelp = df_primordial_items.doc.giant_mushroom_usage, + paramtype2 = "facedir", + tiles = {"dfcaverns_mush_cap.png^dfcaverns_mush_gills.png"}, + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, wood = 1}, + sounds = default.node_sound_wood_defaults(), +}) + +minetest.register_craft({ + output = "df_primordial_items:primordial_mush_cap_wood 4", + recipe = { + {"df_primordial_items:mushroom_cap"}, + } +}) + ------ -- Schematics: -- Originally created by ClockGen, released under CC-BY 4.0 @@ -642,14 +684,18 @@ df_primordial_items.get_primordial_mushroom = function() return bc_mushroom_21 end +--TODO: separate setting +local min_growth_delay = tonumber(minetest.settings:get("dfcaverns_mycelium_min_growth_delay")) or 240 +local max_growth_delay = tonumber(minetest.settings:get("dfcaverns_mycelium_max_growth_delay")) or 400 + minetest.register_node("df_primordial_items:mush_sapling", { description = S("Primordial Mushroom Spawn"), - _doc_items_longdesc = df_primordial_items.doc.big_mushroom_desc, - _doc_items_usagehelp = df_primordial_items.doc.big_mushroom_usage, + _doc_items_longdesc = df_primordial_items.doc.giant_mushroom_desc, + _doc_items_usagehelp = df_primordial_items.doc.giant_mushroom_usage, tiles = {"dfcaverns_mush_sapling.png"}, inventory_image = "dfcaverns_mush_sapling.png", wield_image = "dfcaverns_mush_sapling.png", - groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1}, + groups = {snappy = 3, flora = 1, attached_node = 1, flammable = 1, sapling = 1, light_sensitive_fungus = 11}, paramtype = "light", drawtype = "plantlike", buildable_to = true, @@ -659,10 +705,16 @@ minetest.register_node("df_primordial_items:mush_sapling", { use_texture_alpha = true, sunlight_propagates = true, on_construct = function(pos) - --TODO: timer - local mushroom = df_primordial.get_primordial_mushroom + minetest.get_node_timer(pos):start(math.random(min_growth_delay, max_growth_delay)) + end, + on_destruct = function(pos) + minetest.get_node_timer(pos):stop() + end, + on_timer = function(pos, elapsed) + local mushroom = df_primordial.get_primordial_mushroom() local rotation = (math.random(1,4)-1)*90 minetest.set_node(pos, {name="air"}) -- clear sapling so mushroom can replace it mapgen_helper.place_schematic(pos, mushroom, rotation) end, -}) \ No newline at end of file +}) + diff --git a/df_underworld_items/puzzle_seal.lua b/df_underworld_items/puzzle_seal.lua index 06eec39..1e8c5a9 100644 --- a/df_underworld_items/puzzle_seal.lua +++ b/df_underworld_items/puzzle_seal.lua @@ -264,6 +264,7 @@ local digging_seal_def = { local node = minetest.get_node(pos) local below_node = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}) if below_node.name == "ignore" then + -- map's not loaded below, try again later minetest.get_node_timer(pos):start(4) return end @@ -295,6 +296,7 @@ local digging_seal_def = { }) if minetest.get_item_group(below_node.name, "slade") == 0 then + tnt.boom({x=pos.x, y=pos.y-2, z=pos.z}, {radius=3}) minetest.set_node(pos, {name="default:lava_source"}) return end @@ -313,6 +315,8 @@ local digging_seal_def = { minetest.place_schematic({x=pos.x-3, y=pos.y-2, z=pos.z-3}, df_underworld_items.seal_stair_schem, 270, {}, true) node.param2 = 0 else + tnt.boom(pos, {radius=3}) + minetest.set_node(pos, {name="default:lava_source"}) return end minetest.set_node(pos, {name="air"})