polishing up the Primordial layer

This commit is contained in:
FaceDeer 2020-01-26 19:56:19 -07:00
parent 9ddb8c5b6f
commit 6b41029b84
12 changed files with 630 additions and 158 deletions

View File

@ -38,6 +38,15 @@ local fungal_plants = {
minetest.get_content_id("df_primordial_items:glow_pods"), 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 mushroom_cavern_floor = function(abs_cracks, humidity, vi, area, data, data_param2)
local ystride = area.ystride local ystride = area.ystride
local humidityfactor = humidity/200 + 0.5 local humidityfactor = humidity/200 + 0.5
@ -117,26 +126,22 @@ end
-------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------
-- Jungle biome -- Jungle biome
local jungle_plant_names = {}
local jungle_plants = { local jungle_plants = {}
minetest.get_content_id("df_primordial_items:fern_1"), for node_name, node_def in pairs(minetest.registered_nodes) do
minetest.get_content_id("df_primordial_items:fern_2"), if minetest.get_item_group(node_name, "primordial_jungle_plant") > 0 then
minetest.get_content_id("df_primordial_items:glow_plant_1"), table.insert(jungle_plant_names, node_name)
minetest.get_content_id("df_primordial_items:glow_plant_2"), table.insert(jungle_plants, minetest.get_content_id(node_name))
minetest.get_content_id("df_primordial_items:glow_plant_3"), end
minetest.get_content_id("df_primordial_items:jungle_grass_1"), end
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 c_jungle_dirt = minetest.get_content_id("df_primordial_items:dirt_with_jungle_grass") 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_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_packed_roots = minetest.get_content_id("df_primordial_items:packed_roots")
local c_glowstone = minetest.get_content_id("df_underworld_items:glowstone") 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_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 jungle_cavern_floor = function(abs_cracks, humidity, vi, area, data, data_param2)
local ystride = area.ystride local ystride = area.ystride
@ -163,12 +168,13 @@ local jungle_cavern_ceiling = function(abs_cracks, vi, area, data, data_param2)
data[vi] = c_glowstone data[vi] = c_glowstone
elseif abs_cracks > 0.75 and math.random() < 0.1 then elseif abs_cracks > 0.75 and math.random() < 0.1 then
local ystride = area.ystride local ystride = area.ystride
data[vi] = c_dirt
local index = vi - ystride local index = vi - ystride
local hanging_node local hanging_node
if math.random() < 0.5 then if math.random() < 0.5 then
hanging_node = c_ivy hanging_node = c_ivy
else else
hanging_node = c_root hanging_node = c_root_2
end end
for i = 1, math.random(16) do for i = 1, math.random(16) do
if data[index] == c_air then if data[index] == c_air then
@ -184,6 +190,24 @@ end
local jungle_warren_ceiling = function(abs_cracks, vi, area, data, data_param2) local jungle_warren_ceiling = function(abs_cracks, vi, area, data, data_param2)
if abs_cracks < 0.1 then if abs_cracks < 0.1 then
data[vi] = c_glowstone 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
end end
@ -244,8 +268,6 @@ local decorate_primordial = function(minp, maxp, seed, vm, node_arrays, area, da
else else
mushroom_cavern_ceiling(abs_cracks, humidity, vi, area, data, data_param2) mushroom_cavern_ceiling(abs_cracks, humidity, vi, area, data, data_param2)
end end
end end
---------------------------------------------- ----------------------------------------------
@ -295,6 +317,7 @@ local decorate_primordial = function(minp, maxp, seed, vm, node_arrays, area, da
-- columns -- columns
-- no flowstone below the Sunless Sea, replace with something else -- 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 for _, vi in ipairs(node_arrays.column_nodes) do
local jungle = nvals_cave[vi] < 0 local jungle = nvals_cave[vi] < 0
if jungle then 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)) minetest.get_node_timer(area:position(vi)):start(math.random(10, 60))
else else
data[vi] = c_mycelial_dirt 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
end end
@ -317,15 +346,50 @@ subterrane.register_layer({
perlin_cave = perlin_cave_primordial, perlin_cave = perlin_cave_primordial,
perlin_wave = perlin_wave_primordial, perlin_wave = perlin_wave_primordial,
solidify_lava = true, solidify_lava = true,
-- columns = { columns = {
-- maximum_radius = 20, maximum_radius = 20,
-- minimum_radius = 5, minimum_radius = 5,
-- node = "df_mapitems:wet_flowstone", -- no flowstone below the Sunless Sea, replace with something else node = "default:stone", -- no flowstone below the Sunless Sea, replace with something else
-- weight = 0.5, weight = 0.5,
-- maximum_count = 60, maximum_count = 60,
-- minimum_count = 10, minimum_count = 10,
-- }, },
decorate = decorate_primordial, decorate = decorate_primordial,
double_frequency = true, double_frequency = true,
is_ground_content = df_caverns.is_ground_content, 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,
})

View File

@ -442,7 +442,7 @@ minetest.register_on_generated(function(minp, maxp, seed)
-- puzzle seal -- puzzle seal
local puzzle_seal = nil 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 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 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 local wave = nvals_wave[index2d] * wave_mult

View File

@ -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("")

View File

@ -14,7 +14,7 @@ minetest.register_node("df_primordial_items:fungal_grass_1", {
tiles = {"dfcaverns_mush_grass_01.png"}, tiles = {"dfcaverns_mush_grass_01.png"},
inventory_image = "dfcaverns_mush_grass_01.png", inventory_image = "dfcaverns_mush_grass_01.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -32,7 +32,7 @@ minetest.register_node("df_primordial_items:fungal_grass_2", {
tiles = {"dfcaverns_mush_grass_02.png"}, tiles = {"dfcaverns_mush_grass_02.png"},
inventory_image = "dfcaverns_mush_grass_02.png", inventory_image = "dfcaverns_mush_grass_02.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -53,7 +53,7 @@ minetest.register_node("df_primordial_items:glow_orb", {
tiles = {"dfcaverns_mush_orb.png"}, tiles = {"dfcaverns_mush_orb.png"},
inventory_image = "dfcaverns_mush_orb.png", inventory_image = "dfcaverns_mush_orb.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -72,7 +72,7 @@ minetest.register_node("df_primordial_items:glow_orb_stalks", {
tiles = {"dfcaverns_mush_stalks.png"}, tiles = {"dfcaverns_mush_stalks.png"},
inventory_image = "dfcaverns_mush_stalks.png", inventory_image = "dfcaverns_mush_stalks.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -91,7 +91,7 @@ minetest.register_node("df_primordial_items:glow_pods", {
tiles = {"dfcaverns_mush_pods.png"}, tiles = {"dfcaverns_mush_pods.png"},
inventory_image = "dfcaverns_mush_pods.png", inventory_image = "dfcaverns_mush_pods.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -108,6 +108,8 @@ minetest.register_node("df_primordial_items:glow_pods", {
minetest.register_node("df_primordial_items:dirt_with_mycelium", { minetest.register_node("df_primordial_items:dirt_with_mycelium", {
description = S("Dirt with Primordial 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"}, tiles = {"dfcaverns_mush_soil.png"},
groups = {crumbly = 3, soil = 1}, groups = {crumbly = 3, soil = 1},
is_ground_content = false, is_ground_content = false,

View File

@ -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", { minetest.register_node("df_primordial_items:giant_fern_leaves", {
description = S("Giant Fern Leaves"), description = S("Giant Fern Leaves"),
_doc_items_longdesc = df_primordial_items.doc.giant_fern_desc, _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 minetest.set_node(pos, {name="air"}) -- clear sapling so fern can replace it
mapgen_helper.place_schematic(pos, fern, rotation) mapgen_helper.place_schematic(pos, fern, rotation)
end, end,
}) })

View File

@ -22,6 +22,8 @@ end
minetest.register_node("df_primordial_items:giant_hypha_root", { minetest.register_node("df_primordial_items:giant_hypha_root", {
description = S("Rooted Giant Hypha"), 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 = { tiles = {
{name="dfcaverns_mush_giant_hypha.png"}, {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", { minetest.register_node("df_primordial_items:giant_hypha", {
description = S("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 = { tiles = {
{name="dfcaverns_mush_giant_hypha.png"}, {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", { minetest.register_craftitem("df_primordial_items:mycelial_fibers", {
description = S("Giant 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}, groups = {wool = 1},
inventory_image = "dfcaverns_mush_mycelial_fibers.png", inventory_image = "dfcaverns_mush_mycelial_fibers.png",
}) })
minetest.register_craftitem("df_primordial_items:mycelial_thread", { minetest.register_craftitem("df_primordial_items:mycelial_thread", {
description = S("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", inventory_image = "dfcaverns_pig_tail_thread.png",
groups = {flammable = 1, thread = 1}, groups = {flammable = 1, thread = 1},
}) })
@ -347,7 +355,9 @@ minetest.register_node("df_primordial_items:giant_hypha_apical_meristem", {
end, 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", { minetest.register_node("df_primordial_items:giant_hypha_apical_mapgen", {
description = S("Giant Hypha Apical Meristem"), description = S("Giant Hypha Apical Meristem"),
tiles = { tiles = {

View File

@ -24,7 +24,7 @@ minetest.register_node("df_primordial_items:jungle_mushroom_cap_1", {
tiles = {"dfcaverns_jungle_mushroom_top_02.png"}, tiles = {"dfcaverns_jungle_mushroom_top_02.png"},
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, 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(), sounds = df_trees.node_sound_tree_soft_fungus_defaults(),
on_place = minetest.rotate_node, on_place = minetest.rotate_node,
drop = { drop = {
@ -48,7 +48,7 @@ minetest.register_node("df_primordial_items:jungle_mushroom_cap_2", {
tiles = {"dfcaverns_jungle_mushroom_top_01.png"}, tiles = {"dfcaverns_jungle_mushroom_top_01.png"},
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, 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(), sounds = df_trees.node_sound_tree_soft_fungus_defaults(),
on_place = minetest.rotate_node, on_place = minetest.rotate_node,
drop = { drop = {
@ -77,14 +77,15 @@ minetest.register_craftitem("df_primordial_items:diced_mushroom", {
minetest.register_craft({ minetest.register_craft({
output = "df_primordial_items:diced_mushroom 4", output = "df_primordial_items:diced_mushroom 4",
type = "shapeless", type = "shapeless",
recipe = { "df_primordial_items:jungle_mushroom_cap_1"}, recipe = { "group:primordial_mushroom_cap"},
})
minetest.register_craft({
output = "df_primordial_items:diced_mushroom 4",
type = "shapeless",
recipe = { "df_primordial_items:jungle_mushroom_cap_2"},
}) })
-- 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", { minetest.register_node("df_primordial_items:jungle_mushroom_sapling", {
description = S("Primordial 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"}, tiles = {"dfcaverns_jungle_mushroom_02.png^[brighten"},
inventory_image = "dfcaverns_jungle_mushroom_02.png^[brighten", inventory_image = "dfcaverns_jungle_mushroom_02.png^[brighten",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,

View File

@ -17,7 +17,7 @@ minetest.register_node("df_primordial_items:fern_1", {
tiles = {"dfcaverns_jungle_fern_01.png"}, tiles = {"dfcaverns_jungle_fern_01.png"},
inventory_image = "dfcaverns_jungle_fern_01.png", inventory_image = "dfcaverns_jungle_fern_01.png",
wield_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, visual_scale = 1.69,
paramtype = "light", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
@ -37,7 +37,7 @@ minetest.register_node("df_primordial_items:fern_2", {
visual_scale = 1.69, visual_scale = 1.69,
inventory_image = "dfcaverns_jungle_fern_02.png", inventory_image = "dfcaverns_jungle_fern_02.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -58,7 +58,7 @@ minetest.register_node("df_primordial_items:glow_plant_1", {
tiles = {"dfcaverns_jungle_flower_01.png"}, tiles = {"dfcaverns_jungle_flower_01.png"},
inventory_image = "dfcaverns_jungle_flower_01.png", inventory_image = "dfcaverns_jungle_flower_01.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -77,7 +77,7 @@ minetest.register_node("df_primordial_items:glow_plant_2", {
tiles = {"dfcaverns_jungle_glow_plant_01.png"}, tiles = {"dfcaverns_jungle_glow_plant_01.png"},
inventory_image = "dfcaverns_jungle_glow_plant_01.png", inventory_image = "dfcaverns_jungle_glow_plant_01.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -96,7 +96,7 @@ minetest.register_node("df_primordial_items:glow_plant_3", {
tiles = {"dfcaverns_jungle_glow_plant_02.png"}, tiles = {"dfcaverns_jungle_glow_plant_02.png"},
inventory_image = "dfcaverns_jungle_glow_plant_02.png", inventory_image = "dfcaverns_jungle_glow_plant_02.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -119,7 +119,7 @@ minetest.register_node("df_primordial_items:jungle_grass_1", {
tiles = {"dfcaverns_jungle_grass_01.png"}, tiles = {"dfcaverns_jungle_grass_01.png"},
inventory_image = "dfcaverns_jungle_grass_01.png", inventory_image = "dfcaverns_jungle_grass_01.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -137,7 +137,7 @@ minetest.register_node("df_primordial_items:jungle_grass_2", {
tiles = {"dfcaverns_jungle_grass_02.png"}, tiles = {"dfcaverns_jungle_grass_02.png"},
inventory_image = "dfcaverns_jungle_grass_02.png", inventory_image = "dfcaverns_jungle_grass_02.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -156,7 +156,7 @@ minetest.register_node("df_primordial_items:jungle_grass_3", {
tiles = {"dfcaverns_jungle_grass_03.png"}, tiles = {"dfcaverns_jungle_grass_03.png"},
inventory_image = "dfcaverns_jungle_grass_03.png", inventory_image = "dfcaverns_jungle_grass_03.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -206,7 +206,7 @@ minetest.register_node("df_primordial_items:jungle_mushroom_1", {
tiles = {"dfcaverns_jungle_mushroom_01.png"}, tiles = {"dfcaverns_jungle_mushroom_01.png"},
inventory_image = "dfcaverns_jungle_mushroom_01.png", inventory_image = "dfcaverns_jungle_mushroom_01.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -224,7 +224,7 @@ minetest.register_node("df_primordial_items:jungle_mushroom_2", {
tiles = {"dfcaverns_jungle_mushroom_02.png"}, tiles = {"dfcaverns_jungle_mushroom_02.png"},
inventory_image = "dfcaverns_jungle_mushroom_02.png", inventory_image = "dfcaverns_jungle_mushroom_02.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, 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", { minetest.register_node("df_primordial_items:dirt_with_jungle_grass", {
description = S("Dirt With Primordial 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"}, tiles = {"dfcaverns_jungle_plant_grass_node_01.png"},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1}, groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
is_ground_content = false, is_ground_content = false,
@ -287,10 +289,16 @@ minetest.register_node("df_primordial_items:packed_roots", {
tiles = {"dfcaverns_jungle_plant_packed_roots_01.png"}, tiles = {"dfcaverns_jungle_plant_packed_roots_01.png"},
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, 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(), sounds = default.node_sound_wood_defaults(),
}) })
minetest.register_craft({
type = "fuel",
recipe = "df_primordial_items:packed_roots",
burntime = 40,
})
---------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------
-- Roots -- Roots
@ -301,19 +309,15 @@ minetest.register_node("df_primordial_items:jungle_roots_1", {
tiles = {"dfcaverns_jungle_root_01.png"}, tiles = {"dfcaverns_jungle_root_01.png"},
inventory_image = "dfcaverns_jungle_root_01.png", inventory_image = "dfcaverns_jungle_root_01.png",
wield_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", paramtype = "light",
paramtype2 = "wallmounted", drawtype = "plantlike",
drawtype = "signlike",
sounds = default.node_sound_leaves_defaults(), sounds = default.node_sound_leaves_defaults(),
use_texture_alpha = true, use_texture_alpha = true,
sunlight_propagates = true, sunlight_propagates = true,
walkable = false, walkable = false,
climbable = true, climbable = true,
is_ground_content = false, is_ground_content = false,
selection_box = {
type = "wallmounted",
},
}) })
minetest.register_node("df_primordial_items:jungle_roots_2", { 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, visual_scale = 1.41,
inventory_image = "dfcaverns_jungle_thorns_01.png", inventory_image = "dfcaverns_jungle_thorns_01.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
walkable = false, walkable = false,
@ -357,6 +361,10 @@ minetest.register_node("df_primordial_items:jungle_thorns", {
damage_per_second = 1, 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 = --local thorn_dir =
--{ --{
-- {x=1,y=0,z=1}, -- {x=1,y=0,z=1},

View File

@ -59,7 +59,7 @@ minetest.register_node("df_primordial_items:jungle_leaves_glowing", {
rarity = 10, 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"}, tiles = {"dfcaverns_jungle_wood_02.png", "dfcaverns_jungle_wood_02.png", "dfcaverns_jungle_wood_01.png"},
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, 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(), sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node 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"}, tiles = {"dfcaverns_jungle_wood_02.png", "dfcaverns_jungle_wood_02.png", "dfcaverns_jungle_wood_03.png"},
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, 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(), sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node on_place = minetest.rotate_node
}) })
@ -100,18 +100,24 @@ minetest.register_node("df_primordial_items:jungle_tree_glowing", {
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
light_source = 4, 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(), sounds = default.node_sound_wood_defaults(),
on_place = minetest.rotate_node on_place = minetest.rotate_node
}) })
default.register_leafdecay({ default.register_leafdecay({
trunks = {"df_primordial_items:jungle_tree", "df_primordial_items:jungle_tree_mossy", "df_primordial_items:jungle_tree_glowing"}, 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"}, leaves = {"df_primordial_items:jungle_leaves", "df_primordial_items:jungle_leaves_glowing"},
radius = 1, radius = 1,
}) })
minetest.register_craft({
output = "default:junglewood 4",
recipe = {
{"group:primordial_jungle_tree"},
}
})
---------------------------- ----------------------------
-- Spawn -- Spawn
@ -222,7 +228,7 @@ minetest.register_node("df_primordial_items:jungletree_sapling", {
tiles = {"dfcaverns_jungle_sapling.png"}, tiles = {"dfcaverns_jungle_sapling.png"},
inventory_image = "dfcaverns_jungle_sapling.png", inventory_image = "dfcaverns_jungle_sapling.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,138 +17,373 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: df_primordial_items\fungal_nodes.lua:10 #: df_primordial_items\ceiling_fungus.lua:9
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
msgid "Primordial Fungal Lantern" msgid "Primordial Fungal Lantern"
msgstr "" msgstr ""
#: df_primordial_items\fungal_nodes.lua:84 #: df_primordial_items\ceiling_fungus.lua:23
msgid "Primordial Fungal Lantern Stalk" msgid "Primordial Fungal Lantern Stalk"
msgstr "" msgstr ""
#: df_primordial_items\fungal_nodes.lua:101 #: df_primordial_items\ceiling_fungus.lua:35
msgid "Primordial Fungal Grass" #: df_primordial_items\fungal_nodes.lua:50
msgstr "" #: df_primordial_items\fungal_nodes.lua:69
#: 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
msgid "Primordial Fungal Orb" msgid "Primordial Fungal Orb"
msgstr "" 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" msgid "Primordial Fungal Pod"
msgstr "" msgstr ""
#: df_primordial_items\fungal_nodes.lua:207 #: df_primordial_items\fungal_nodes.lua:110
msgid "Dirt With Primordial Mycelium" msgid "Dirt with Primordial Mycelium"
msgstr "" msgstr ""
#: df_primordial_items\giant_fern.lua:6 #: df_primordial_items\fungal_nodes.lua:126
#: df_primordial_items\giant_fern.lua:20 msgid "Dirt with Primordial Mycelium and Footprint"
#: df_primordial_items\giant_fern.lua:56 msgstr ""
#: df_primordial_items\giant_fern.lua:92
#: 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" msgid "Giant Fern Stem"
msgstr "" 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" msgid "Giant Fern Leaves"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:10 #: df_primordial_items\giant_fern.lua:267
#: df_primordial_items\jungle_nodes.lua:27 msgid "Giant Fern Sapling"
#: df_primordial_items\jungle_nodes.lua:43
msgid "Primordial Fern"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:62 #: df_primordial_items\giant_mycelium.lua:24
msgid "Primordial Flower" msgid "Rooted Giant Hypha"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:79 #: df_primordial_items\giant_mycelium.lua:53
#: df_primordial_items\jungle_nodes.lua:96 msgid "Giant Hypha"
msgid "Primordial Jungle Pod"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:171 #: df_primordial_items\giant_mycelium.lua:83
msgid "Primordial Jungle Ivy" msgid "Giant Mycelial Fibers"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:197 #: df_primordial_items\giant_mycelium.lua:91
msgid "Primordial Jungle Tree Leaves" msgid "Mycelial thread"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:214 #: df_primordial_items\giant_mycelium.lua:297
msgid "Phosphorescent Primordial Jungle Tree Leaves" #: df_primordial_items\giant_mycelium.lua:362
msgid "Giant Hypha Apical Meristem"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:234 #: df_primordial_items\jungle_mushroom.lua:9
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
msgid "Primordial Jungle Mushroom Trunk" msgid "Primordial Jungle Mushroom Trunk"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:321 #: df_primordial_items\jungle_mushroom.lua:21
msgid "Primordial Jungle Mushroom Cap" msgid "Pale Jungle Mushroom Cap"
msgstr "" 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" msgid "Dirt With Primordial Jungle Grass"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:343 #: df_primordial_items\jungle_nodes.lua:252
msgid "Primordial Plant Matter" msgid "Primordial Plant Matter"
msgstr "" 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" msgid "Packed Primordial Jungle Roots"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:365 #: df_primordial_items\jungle_nodes.lua:300
msgid "Primordial Jungle Roots" msgid "Primordial Jungle Roots"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:387 #: df_primordial_items\jungle_nodes.lua:318
msgid "Primordial Jungle Root" msgid "Primordial Jungle Root"
msgstr "" msgstr ""
#: df_primordial_items\jungle_nodes.lua:407 #: df_primordial_items\jungle_nodes.lua:339
msgid "Primordial Jungle Thorns" msgid "Primordial Jungle Thorns"
msgstr "" 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 ""

View File

@ -4,8 +4,8 @@ local S, NS = dofile(MP.."/intllib.lua")
minetest.register_node("df_primordial_items:mushroom_trunk", { minetest.register_node("df_primordial_items:mushroom_trunk", {
description = S("Primordial Mushroom Trunk"), description = S("Primordial Mushroom Trunk"),
_doc_items_longdesc = df_primordial_items.doc.big_mushroom_desc, _doc_items_longdesc = df_primordial_items.doc.giant_mushroom_desc,
_doc_items_usagehelp = df_primordial_items.doc.big_mushroom_usage, _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"}, tiles = {"dfcaverns_mush_shaft_top.png", "dfcaverns_mush_shaft_top.png", "dfcaverns_mush_shaft_side.png"},
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
@ -33,7 +33,7 @@ minetest.register_node("df_primordial_items:mushroom_gills", {
tiles = {"dfcaverns_mush_gills.png"}, tiles = {"dfcaverns_mush_gills.png"},
inventory_image = "dfcaverns_mush_gills.png", inventory_image = "dfcaverns_mush_gills.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
waving = 2, waving = 2,
@ -64,7 +64,7 @@ minetest.register_node("df_primordial_items:mushroom_gills_glowing", {
tiles = {"dfcaverns_mush_gills_glow.png"}, tiles = {"dfcaverns_mush_gills_glow.png"},
inventory_image = "dfcaverns_mush_gills_glow.png", inventory_image = "dfcaverns_mush_gills_glow.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
waving = 2, 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: -- Schematics:
-- Originally created by ClockGen, released under CC-BY 4.0 -- 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 return bc_mushroom_21
end 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", { minetest.register_node("df_primordial_items:mush_sapling", {
description = S("Primordial Mushroom Spawn"), description = S("Primordial Mushroom Spawn"),
_doc_items_longdesc = df_primordial_items.doc.big_mushroom_desc, _doc_items_longdesc = df_primordial_items.doc.giant_mushroom_desc,
_doc_items_usagehelp = df_primordial_items.doc.big_mushroom_usage, _doc_items_usagehelp = df_primordial_items.doc.giant_mushroom_usage,
tiles = {"dfcaverns_mush_sapling.png"}, tiles = {"dfcaverns_mush_sapling.png"},
inventory_image = "dfcaverns_mush_sapling.png", inventory_image = "dfcaverns_mush_sapling.png",
wield_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", paramtype = "light",
drawtype = "plantlike", drawtype = "plantlike",
buildable_to = true, buildable_to = true,
@ -659,10 +705,16 @@ minetest.register_node("df_primordial_items:mush_sapling", {
use_texture_alpha = true, use_texture_alpha = true,
sunlight_propagates = true, sunlight_propagates = true,
on_construct = function(pos) on_construct = function(pos)
--TODO: timer minetest.get_node_timer(pos):start(math.random(min_growth_delay, max_growth_delay))
local mushroom = df_primordial.get_primordial_mushroom 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 local rotation = (math.random(1,4)-1)*90
minetest.set_node(pos, {name="air"}) -- clear sapling so mushroom can replace it minetest.set_node(pos, {name="air"}) -- clear sapling so mushroom can replace it
mapgen_helper.place_schematic(pos, mushroom, rotation) mapgen_helper.place_schematic(pos, mushroom, rotation)
end, end,
}) })

View File

@ -264,6 +264,7 @@ local digging_seal_def = {
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
local below_node = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}) local below_node = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z})
if below_node.name == "ignore" then if below_node.name == "ignore" then
-- map's not loaded below, try again later
minetest.get_node_timer(pos):start(4) minetest.get_node_timer(pos):start(4)
return return
end end
@ -295,6 +296,7 @@ local digging_seal_def = {
}) })
if minetest.get_item_group(below_node.name, "slade") == 0 then 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"}) minetest.set_node(pos, {name="default:lava_source"})
return return
end 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) 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 node.param2 = 0
else else
tnt.boom(pos, {radius=3})
minetest.set_node(pos, {name="default:lava_source"})
return return
end end
minetest.set_node(pos, {name="air"}) minetest.set_node(pos, {name="air"})