add some art

This commit is contained in:
FaceDeer 2023-02-12 03:11:46 -07:00
parent fd9f2e97f2
commit cb523dea21
22 changed files with 238 additions and 103 deletions

View File

@ -5,27 +5,39 @@ local modmeta = minetest.get_mod_storage()
collectible_lore = {}
collectible_lore.lorebooks = {}
collectible_lore.get_player_unlocks = function(player_name)
local unlocks_string = modmeta:get("player_" .. player_name)
if unlocks_string == nil then
collectible_lore.get_player_collected = function(player_name)
local collected_string = modmeta:get("player_" .. player_name)
if collected_string == nil then
return {}
else
return minetest.deserialize(unlocks_string)
return minetest.deserialize(collected_string)
end
end
local set_lock = function(player_name, id, state)
local unlocks = collectible_lore.get_player_unlocks(player_name)
unlocks[id] = state
modmeta:set_string("player_" .. player_name, minetest.serialize(unlocks))
collectible_lore.get_player_uncollected_list = function(player_name)
local collected = collectible_lore.get_player_collected(player_name)
--minetest.debug(dump(collected))
local uncollected = {}
for index, def in pairs(collectible_lore.lorebooks) do
if not collected[def.id] then
table.insert(uncollected, index)
end
end
return uncollected
end
collectible_lore.unlock = function(player_name, id)
set_lock(player_name, id, true)
local set_collected = function(player_name, id, state)
local collected = collectible_lore.get_player_collected(player_name)
collected[id] = state
modmeta:set_string("player_" .. player_name, minetest.serialize(collected))
end
collectible_lore.lock = function(player_name, id)
set_lock(player_name, id, nil)
collectible_lore.collect = function(player_name, id)
set_collected(player_name, id, true)
end
collectible_lore.uncollect = function(player_name, id)
set_collected(player_name, id, nil)
end
local collectible_lore_sort = function(first, second)
@ -56,27 +68,27 @@ end
minetest.register_chatcommand("collectible", {
params = "[lock|unlock|clear|show] <player_name> <id>", -- Short parameter description
description = "Remove privilege from player",
params = "[collect|uncollect|clear|show] <player_name> <id>", -- Short parameter description
description = S("Administrative control of collectibles"),
privs = {server=true},
func = function(name, param)
local first, second, third = param:match("^([^%s]+)%s+(%S+)%s*(.*)")
if third == "" then third = nil end
if first == "lock" and second and third then
collectible_lore.lock(second, third)
if first == "uncollect" and second and third then
collectible_lore.uncollect(second, third)
return
elseif first == "unlock" and second and third then
collectible_lore.unlock(second, third)
elseif first == "collect" and second and third then
collectible_lore.collect(second, third)
return
elseif first == "clear" and second then
modmeta:set_string("player_" .. second, minetest.serialize({}))
return
elseif first == "show" and second then
minetest.chat_send_player(name, dump(collectible_lore.get_player_unlocks(second)))
minetest.chat_send_player(name, dump(collectible_lore.get_player_collected(second)))
return
end
minetest.chat_send_player(name, "error parsing command")
minetest.chat_send_player(name, S("error parsing command"))
end,
})

View File

@ -1,6 +1,8 @@
local S = minetest.get_translator(minetest.get_current_modname())
local modmeta = minetest.get_mod_storage()
cairn_spacing = tonumber(minetest.settings:get("collectible_lore_cairn_spacing")) or 500
local cairn_area = AreaStore()
local existing_area = modmeta:get("areastore_cairn")
@ -25,15 +27,25 @@ local cairn_loot = function(pos, player)
if not player_name then return end
local list = get_cairn_looted_by_list(pos)
if list[player_name] then
return false
end
-- if list[player_name] then
-- minetest.chat_send_player(player_name, S("You've already collected the contents of this cairn."))
-- return false
-- end
list[player_name] = true
local lore_id = collectible_lore.lorebooks[math.random(#(collectible_lore.lorebooks))].id
collectible_lore.unlock(player_name, lore_id)
minetest.debug("unlocked " .. lore_id)
list[player_name] = true
set_cairn_looted_by_list(pos, list)
local uncollected = collectible_lore.get_player_uncollected_list(player_name)
--minetest.debug(dump(uncollected))
if next(uncollected) then
local random_lorebook = uncollected[math.random(#uncollected)]
collectible_lore.collect(player_name, collectible_lore.lorebooks[random_lorebook].id)
minetest.show_formspec(player_name, "collectible_lore:collected",
"formspec_version[6]size[8,2]label[0.5,0.5;" .. S("You've found a collectible item of lore titled:\n@1", collectible_lore.lorebooks[random_lorebook].title) .. "]")
list[player_name] = true
set_cairn_looted_by_list(pos, list)
else
minetest.show_formspec(player_name, "collectible_lore:collected",
"formspec_version[6]size[8,2]label[0.5,0.5;" .. S("You've found all of the collectible items contained in cairns like this one").."]")
end
local leftover = player:get_inventory():add_item("main", "collectible_lore:satchel")
if not leftover:is_empty() then
@ -42,9 +54,6 @@ local cairn_loot = function(pos, player)
return true
end
local range = 10
minetest.register_node("collectible_lore:cairn", {
description = S("Cairn"),
drawtype = "nodebox",
@ -91,17 +100,17 @@ minetest.register_node("collectible_lore:cairn", {
end
end,
on_construct = function(pos)
local nearby = cairn_area:get_areas_in_area(vector.subtract(pos, range/2), vector.add(pos, range/2))
local nearby = cairn_area:get_areas_in_area(vector.subtract(pos, cairn_spacing/2), vector.add(pos, cairn_spacing/2))
if next(nearby) then
minetest.debug("Cairn placed too close to other cairns. Placed at: " .. minetest.pos_to_string(pos) .."\nnearby:\n" .. dump(nearby))
minetest.log("error", "Cairn placed too close to other cairns. Placed at: " .. minetest.pos_to_string(pos) .."\nnearby:\n" .. dump(nearby))
end
cairn_area:insert_area(pos, pos, "")
modmeta:set_string("areastore_cairn", cairn_area:to_string())
end,
})
collectible_lore.get_nearby_cairns = function(pos)
local nearby = cairn_area:get_areas_in_area(vector.subtract(pos, range/2), vector.add(pos, range/2))
collectible_lore.get_nearby_cairns = function(pos, spacing)
local nearby = cairn_area:get_areas_in_area(vector.subtract(pos, spacing/2), vector.add(pos, spacing/2))
if next(nearby) then
return nearby
end
@ -109,47 +118,52 @@ collectible_lore.get_nearby_cairns = function(pos)
end
collectible_lore.place_cairn = function(pos)
cairn_area:insert_area(pos, pos, "")
modmeta:set_string("areastore_cairn", cairn_area:to_string())
local nearby = collectible_lore.get_nearby_cairns(pos, cairn_spacing)
if nearby then return end
minetest.place_node(pos, {name="collectible_lore:cairn"})
end
local player_state = {}
local get_formspec_for_player = function(player_name)
local selected
local state = player_state[player_name] or 1
local unlocks = collectible_lore.get_player_unlocks(player_name)
local collected = collectible_lore.get_player_collected(player_name)
local collected_count = 0
for index, val in pairs(collected) do
collected_count = collected_count + 1
end
local form = {}
table.insert(form, "formspec_version[6]size[10,8]")
table.insert(form, "textlist[0,0;4,7;list;")
local count = 1
for index, value in pairs(collectible_lore.lorebooks) do
local unlocked = unlocks[value.id]
if unlocked and state == count then
selected = value
table.insert(form, "formspec_version[6]size[14,8]")
table.insert(form, "textlist[0.5,0.5;5,6.5;list;")
if collected_count > 0 then
local count = 1
for index, value in pairs(collectible_lore.lorebooks) do
local iscollected = collected[value.id]
if iscollected and state == count then
selected = value
end
count = count + 1
if iscollected then
table.insert(form, minetest.formspec_escape(value.title))
else
table.insert(form, S("<Not found yet>"))
end
table.insert(form, ",")
end
count = count + 1
if unlocked then
table.insert(form, minetest.formspec_escape(value.title))
else
table.insert(form, S("<Locked>"))
end
table.insert(form, ",")
table.remove(form) -- removes trailing comma
end
table.remove(form) -- removes trailing comma
table.insert(form, ";" .. state .. "]")
table.insert(form, "textarea[4.5,0;5.5,7;;text;")
if selected then
local str = selected.text
table.insert(form, minetest.formspec_escape(str))
else
table.insert(form, " ")
table.insert(form, "label[6,0.5;" .. minetest.formspec_escape(selected.title) .. "]")
if selected.text then
table.insert(form, "textarea[6,1;7.5,6.5;;;" .. minetest.formspec_escape(selected.text) .. "]")
elseif selected.image then
table.insert(form, "image[6.5,1;6.5,6.5;" .. selected.image .. "]")
end
end
table.insert(form, "]")
table.insert(form, "label[0.5,7.5;" .. S("Collected: @1/@2", collected_count, #(collectible_lore.lorebooks)) .. "]")
return table.concat(form)
end

View File

@ -1,8 +1,19 @@
# textdomain: collectible_lore
### init.lua ###
Administrative control of collectibles=
error parsing command=
### items.lua ###
<Locked>=
<Not found yet>=
Cairn=
Collected: @1/@2=
Collectibles Satchel=
You've already collected the contents of this cairn.=
You've found a collectible item of lore titled:@n@1=
You've found all of the collectible items contained in cairns like this one=

View File

@ -0,0 +1 @@
collectible_lore_cairn_spacing (Minimum distance between collectible cairns) int 500

View File

@ -239,16 +239,16 @@ Professor Amelia Rose]]),
collectible_lore.register_lorebook({
id = "rose ice sprites",
title = S("Ice Sprites"),
text = S([[Today I had the privilege of witnessing a truly remarkable sight. Deep in the Nether cap caverns, I came across the most beautiful creatures I have ever seen. They were tiny, glowing blue insects that flitted around the tips of the icicles, like tiny fairy lights. I couldn't help but feel enchanted by their beauty.
text = S([[Today I had the privilege of witnessing a truly remarkable sight. Deep in the @1 caverns, I came across the most beautiful creatures I have ever seen. They were tiny, glowing blue insects that flitted around the tips of the icicles, like tiny fairy lights. I couldn't help but feel enchanted by their beauty.
These creatures are called Ice Sprites and they seem to be perfectly at home in the cold, icy environment of the Nether cap caverns. Their glow is intermittent, and when it shuts off, they are nigh invisible. I found it fascinating how such a small creature could survive in such a harsh environment.
These creatures are called Ice Sprites and they seem to be perfectly at home in the cold, icy environment of the @2 caverns. Their glow is intermittent, and when it shuts off, they are nigh invisible. I found it fascinating how such a small creature could survive in such a harsh environment.
I was able to capture one of the Ice Sprites and contain it in a jar. I wanted to study it further and understand more about its biology. But as I sat looking at it, I realized that I had no idea how to keep it alive in the long term. I couldn't bring myself to subject it to a slow and painful death in the name of science. So I made the difficult decision to release it back into its natural habitat.
The more I explore these caverns, the more I am amazed by the strange and wonderful forms of life that exist here. The Ice Sprites have added another layer of mystery to the already puzzling biology of the Nether cap caverns. I am eager to continue my exploration and unravel more of the secrets that lay hidden here.
The more I explore these caverns, the more I am amazed by the strange and wonderful forms of life that exist here. The Ice Sprites have added another layer of mystery to the already puzzling biology of the @3 caverns. I am eager to continue my exploration and unravel more of the secrets that lay hidden here.
Sincerely,
Professor Amelia Rose]]),
Professor Amelia Rose]], df_dependencies.nethercap_name, df_dependencies.nethercap_name, df_dependencies.nethercap_name),
sort = base + 16,
})

View File

@ -73,26 +73,26 @@ Professor Amelia Rose]]),
collectible_lore.register_lorebook({
id = "rose nether cap",
title = S("Marvelous Nether Cap"),
text = S([[Today, my team and I made a fascinating discovery in the deep caverns - the existence of Nether Cap mushrooms. These mushrooms possess an unusual biochemistry that allows them to subsist on ambient heat, in violation of all known laws of thermodynamics. We found them growing in frigid, icy caverns that should, by all rights, be simmering in the heat welling up from below.
title = S("Marvelous @1", df_dependencies.nethercap_name),
text = S([[Today, my team and I made a fascinating discovery in the deep caverns - the existence of @1 mushrooms. These mushrooms possess an unusual biochemistry that allows them to subsist on ambient heat, in violation of all known laws of thermodynamics. We found them growing in frigid, icy caverns that should, by all rights, be simmering in the heat welling up from below.
The Nether Cap mushroom is a true marvel of nature. The wood of the mushroom, in addition to being a beautiful blue hue, retains the odd heat-draining ability of living Nether Caps and is able to quickly freeze nearby water solid. This makes it an incredibly unique and valuable resource, as it could have a wide range of industrial and scientific applications.
The @2 mushroom is a true marvel of nature. The wood of the mushroom, in addition to being a beautiful blue hue, retains the odd heat-draining ability of living @3 and is able to quickly freeze nearby water solid. This makes it an incredibly unique and valuable resource, as it could have a wide range of industrial and scientific applications.
Furthermore, the Nether Cap mushroom is also a valuable tool for understanding the underground ecosystem. The discovery of this species challenges our current understanding of how organisms can survive and thrive in extreme environments. It is clear that there is still much to learn about the deep caverns and the life that lives within them.
Furthermore, the @4 mushroom is also a valuable tool for understanding the underground ecosystem. The discovery of this species challenges our current understanding of how organisms can survive and thrive in extreme environments. It is clear that there is still much to learn about the deep caverns and the life that lives within them.
Sincerely,
Professor Amelia Rose]]),
Professor Amelia Rose]], df_dependencies.nethercap_name, df_dependencies.nethercap_name, df_dependencies.nethercap_name, df_dependencies.nethercap_name),
sort = base + 5,
})
collectible_lore.register_lorebook({
id = "banks nether cap",
title = S("Infuriating Nether Cap"),
text = S([[I have just encountered the Nether cap mushrooms, and I have to admit that my scientific mind is thoroughly flummoxed by them. These enormous blue mushrooms grow deep underground, in caverns that geologically speaking, should be extremely hot. But instead of generating heat, the Nether cap mushrooms are somehow capable of absorbing it.
title = S("Infuriating @1", df_dependencies.nethercap_name),
text = S([[I have just encountered the @1 mushrooms, and I have to admit that my scientific mind is thoroughly flummoxed by them. These enormous blue mushrooms grow deep underground, in caverns that geologically speaking, should be extremely hot. But instead of generating heat, the @2 mushrooms are somehow capable of absorbing it.
This is beyond comprehension, as it defies the laws of thermodynamics. It is simply not possible for a biological organism to feed directly on heat. But yet, here they are. The caverns that they are found in are frigid and icy, which only adds to the confusion.
To make matters worse, the wood of the Nether cap somehow retains this heat-sapping ability even after it's cut. I have never seen anything like it before, and I must admit that I am at a loss for an explanation.
To make matters worse, the wood of the @3 somehow retains this heat-sapping ability even after it's cut. I have never seen anything like it before, and I must admit that I am at a loss for an explanation.
At times like this, it can be difficult to be a man of science. I would love to exterminate this species and put an end to this absurdity, but of course, that is not the way of science. We must study, we must observe, and we must learn. I will have to gather more data and try to make sense of what I am seeing.
@ -101,23 +101,21 @@ Despite my frustration, I must admit that these mushrooms are a remarkable disco
It is frustrating, but the life of a scientist is not always easy. We must be willing to accept that sometimes, our predictions are wrong and that there are things that we simply cannot explain. But that's what makes this journey so exciting. We never know what new wonders await us in the depths of these caverns.
Signed,
Dr. Theodore Banks]]),
Dr. Theodore Banks]], df_dependencies.nethercap_name, df_dependencies.nethercap_name, df_dependencies.nethercap_name),
sort = base + 6,
})
local tt_text2 = ""
if df_trees.config.enable_tnt then
S([[One of the most interesting adaptations of the Tunnel Tube is its method of spore dispersal. The fruiting bodies of these fungi accumulate high-energy compounds that, when ignited, produce a vigorous detonation that flings their spores great distances. This adaptation allows them to spread their spores in the still air of the caverns they grow in.
However, this adaptation also makes them a potential hazard. I would advise against making a campfire in a cavern that is home to Tunnel Tubes, as the explosive nature of these fungi could cause unexpected and potentially dangerous consequences.]])
end
collectible_lore.register_lorebook({
id = "rose tunnel tube",
title = S("Tunnel Tube Ecology"),
text = S([[Today, I had the opportunity to study a particularly fascinating species of subterranean fungus, the Tunnel Tube. These towering growths, typically standing between 10 to 20 feet tall, are characterized by a hollow curved trunk that supports a large fruiting body at the top. The trunk of the Tunnel Tube is a striking purple hue and can be cut and processed to produce sheets of a woody material.]]),
text2 = tt_text2,
author = S("Professor Amelia Rose"),
text = S([[Today, I had the opportunity to study a particularly fascinating species of subterranean fungus, the Tunnel Tube. These towering growths, typically standing between 10 to 20 feet tall, are characterized by a hollow curved trunk that supports a large fruiting body at the top. The trunk of the Tunnel Tube is a striking purple hue and can be cut and processed to produce sheets of a woody material.
One of the most interesting adaptations of the Tunnel Tube is its method of spore dispersal. The fruiting bodies of these fungi accumulate high-energy compounds that, when ignited, produce a vigorous detonation that flings their spores great distances. This adaptation allows them to spread their spores in the still air of the caverns they grow in.
However, this adaptation also makes them a potential hazard. I would advise against making a campfire in a cavern that is home to Tunnel Tubes, as the explosive nature of these fungi could cause unexpected and potentially dangerous consequences.
Sincerely,
Professor Amelia Rose]]),
sort = base + 7,
})
@ -204,8 +202,10 @@ collectible_lore.register_lorebook({
I write to you today to express my frustration with the abundance of Spindlestem mushrooms throughout the caverns I have explored. These blasted mushrooms are everywhere, making it difficult to determine one's location within the caverns based on the local flora. Their inedibility only adds to my disappointment.
It is perhaps a petty thing to write a missive containing nothing but a short complaint directed at this most base and useless of of fungus, but one must give vent at times. These caverns are filled with wonders and yet these tedious growths clutter them. They are hardly worth the time to write about, which gives me such annoyance that I find I must regardless.]]),
author = S("Sir Reginald Sterling"),
It is perhaps a petty thing to write a missive containing nothing but a short complaint directed at this most base and useless of of fungus, but one must give vent at times. These caverns are filled with wonders and yet these tedious growths clutter them. They are hardly worth the time to write about, which gives me such annoyance that I find I must regardless.
Yours,
Sir Reginald Sterling]]),
sort = base + 12,
})

View File

@ -35,7 +35,6 @@ Dr. Theodore Banks]]),
sort = base + 1,
})
--The Great Caverns general morphology (major caverns, warrens)
collectible_lore.register_lorebook({
@ -201,8 +200,6 @@ Dr. Theodore Banks]]),
sort = base + 11,
})
--Cave pearls
collectible_lore.register_lorebook({
id = "banks pearls",

View File

@ -7,3 +7,4 @@ dofile(modpath.."/ecology_flora.lua")
dofile(modpath.."/ecology_trees.lua")
dofile(modpath.."/geology_the_great_caverns.lua")
dofile(modpath.."/underworld_and_primordial.lua")
dofile(modpath.."/watercolours.lua")

View File

@ -51,7 +51,7 @@ Today I had the opportunity to observe and study a most peculiar fungus, known a
Today I had the opportunity to see the rare and beautiful Castle Corals in the depths of the Sunless Sea. These formations truly resemble miniature undersea castles, complete with towers and battlements, and their delicate structure and intricate details are a sight to behold.@n@nGetting to see the Castle Corals was no small feat, however. The journey was long and treacherous, and the pressure at such depths is intense. But despite the difficulties, the sight of the Castle Corals was more than worth it. Their delicate beauty is unmatched, and the fact that they can only be found in such a remote and challenging location only adds to their value.@n@nIn terms of practical use, the Castle Corals are of little value, as their delicate structure makes them unsuitable for most construction purposes. But for someone like me, who values the beauty and wonder of nature, the Castle Corals are a true treasure.@n@nSincerely,@nProfessor Amelia Rose=
Today I had the privilege of witnessing a truly remarkable sight. Deep in the Nether cap caverns, I came across the most beautiful creatures I have ever seen. They were tiny, glowing blue insects that flitted around the tips of the icicles, like tiny fairy lights. I couldn't help but feel enchanted by their beauty.@n@nThese creatures are called Ice Sprites and they seem to be perfectly at home in the cold, icy environment of the Nether cap caverns. Their glow is intermittent, and when it shuts off, they are nigh invisible. I found it fascinating how such a small creature could survive in such a harsh environment.@n@nI was able to capture one of the Ice Sprites and contain it in a jar. I wanted to study it further and understand more about its biology. But as I sat looking at it, I realized that I had no idea how to keep it alive in the long term. I couldn't bring myself to subject it to a slow and painful death in the name of science. So I made the difficult decision to release it back into its natural habitat.@n@nThe more I explore these caverns, the more I am amazed by the strange and wonderful forms of life that exist here. The Ice Sprites have added another layer of mystery to the already puzzling biology of the Nether cap caverns. I am eager to continue my exploration and unravel more of the secrets that lay hidden here.@n@nSincerely,@nProfessor Amelia Rose=
Today I had the privilege of witnessing a truly remarkable sight. Deep in the @1 caverns, I came across the most beautiful creatures I have ever seen. They were tiny, glowing blue insects that flitted around the tips of the icicles, like tiny fairy lights. I couldn't help but feel enchanted by their beauty.@n@nThese creatures are called Ice Sprites and they seem to be perfectly at home in the cold, icy environment of the @2 caverns. Their glow is intermittent, and when it shuts off, they are nigh invisible. I found it fascinating how such a small creature could survive in such a harsh environment.@n@nI was able to capture one of the Ice Sprites and contain it in a jar. I wanted to study it further and understand more about its biology. But as I sat looking at it, I realized that I had no idea how to keep it alive in the long term. I couldn't bring myself to subject it to a slow and painful death in the name of science. So I made the difficult decision to release it back into its natural habitat.@n@nThe more I explore these caverns, the more I am amazed by the strange and wonderful forms of life that exist here. The Ice Sprites have added another layer of mystery to the already puzzling biology of the @3 caverns. I am eager to continue my exploration and unravel more of the secrets that lay hidden here.@n@nSincerely,@nProfessor Amelia Rose=
Today I stumbled upon a bountiful patch of plump helmets. These thick, fleshy mushrooms are a common sight in the caverns and serve as a staple food source for both lost cave explorers and the fauna that preys on them. Though they can be eaten fresh, I found that they can be quite monotonous on their own. However, when prepared in a more complex dish, they add a nice meaty texture and earthy flavor. It's always a relief to come across a reliable source of sustenance in these underground depths. I will be sure to gather as many as I can to bring back to camp for tonight's meal.@n@n@n@nSincerely,@nProfessor Amelia Rose=
@ -84,25 +84,20 @@ Black Cap=
Blasted Spindlestems=
Bloodthorn=
Dear Members of the Royal Adventurers Society,@n@nI write to you today to express my frustration with the abundance of Spindlestem mushrooms throughout the caverns I have explored. These blasted mushrooms are everywhere, making it difficult to determine one's location within the caverns based on the local flora. Their inedibility only adds to my disappointment.@n@nIt is perhaps a petty thing to write a missive containing nothing but a short complaint directed at this most base and useless of of fungus, but one must give vent at times. These caverns are filled with wonders and yet these tedious growths clutter them. They are hardly worth the time to write about, which gives me such annoyance that I find I must regardless.=
Dear Members of the Royal Adventurers Society,@n@nI write to you today to express my frustration with the abundance of Spindlestem mushrooms throughout the caverns I have explored. These blasted mushrooms are everywhere, making it difficult to determine one's location within the caverns based on the local flora. Their inedibility only adds to my disappointment.@n@nIt is perhaps a petty thing to write a missive containing nothing but a short complaint directed at this most base and useless of of fungus, but one must give vent at times. These caverns are filled with wonders and yet these tedious growths clutter them. They are hardly worth the time to write about, which gives me such annoyance that I find I must regardless.@n@nYours,@nSir Reginald Sterling=
Fungiwood=
Goblin Cap=
I have been conducting experiments on the Tunnel Tubes, a species of fungi that can be found growing deep underground in the caverns. I have successfully harvested the fruiting bodies of the Tunnel Tubes and have been experimenting with refining a gunpowder-like explosive from them. This explosive has shown great potential in mining and construction, but I must note that my experiments were cut short due to several casualties among my crew caused by careless detonations.@n @nIn addition to the explosive potential of the Tunnel Tubes, I have also discovered that the wood produced from their trunks has a unique cross-grained texture that makes it incredibly strong and flexible. This could have a wide range of uses in construction and carpentry. However, I must mention that the purple hue of the wood is unfortunately unpleasant and I have yet to devise a way to bleach the wood to make it more appealing.@n@nOverall, the Tunnel Tubes have a lot of potential for industrial use, but we must be careful in handling them and make sure to take proper safety precautions when working with them. I will continue my experiments and report any further findings.@n@nSigned,@nDr. Theodore Banks=
I have just encountered the Nether cap mushrooms, and I have to admit that my scientific mind is thoroughly flummoxed by them. These enormous blue mushrooms grow deep underground, in caverns that geologically speaking, should be extremely hot. But instead of generating heat, the Nether cap mushrooms are somehow capable of absorbing it.@n@nThis is beyond comprehension, as it defies the laws of thermodynamics. It is simply not possible for a biological organism to feed directly on heat. But yet, here they are. The caverns that they are found in are frigid and icy, which only adds to the confusion.@n@nTo make matters worse, the wood of the Nether cap somehow retains this heat-sapping ability even after it's cut. I have never seen anything like it before, and I must admit that I am at a loss for an explanation.@n@nAt times like this, it can be difficult to be a man of science. I would love to exterminate this species and put an end to this absurdity, but of course, that is not the way of science. We must study, we must observe, and we must learn. I will have to gather more data and try to make sense of what I am seeing.@n@nDespite my frustration, I must admit that these mushrooms are a remarkable discovery. They have the potential to completely change our understanding of geothermal heat flows. I just need to stay objective and stick to the facts.@n@nIt is frustrating, but the life of a scientist is not always easy. We must be willing to accept that sometimes, our predictions are wrong and that there are things that we simply cannot explain. But that's what makes this journey so exciting. We never know what new wonders await us in the depths of these caverns.@n@nSigned,@nDr. Theodore Banks=
I have just encountered the @1 mushrooms, and I have to admit that my scientific mind is thoroughly flummoxed by them. These enormous blue mushrooms grow deep underground, in caverns that geologically speaking, should be extremely hot. But instead of generating heat, the @2 mushrooms are somehow capable of absorbing it.@n@nThis is beyond comprehension, as it defies the laws of thermodynamics. It is simply not possible for a biological organism to feed directly on heat. But yet, here they are. The caverns that they are found in are frigid and icy, which only adds to the confusion.@n@nTo make matters worse, the wood of the @3 somehow retains this heat-sapping ability even after it's cut. I have never seen anything like it before, and I must admit that I am at a loss for an explanation.@n@nAt times like this, it can be difficult to be a man of science. I would love to exterminate this species and put an end to this absurdity, but of course, that is not the way of science. We must study, we must observe, and we must learn. I will have to gather more data and try to make sense of what I am seeing.@n@nDespite my frustration, I must admit that these mushrooms are a remarkable discovery. They have the potential to completely change our understanding of geothermal heat flows. I just need to stay objective and stick to the facts.@n@nIt is frustrating, but the life of a scientist is not always easy. We must be willing to accept that sometimes, our predictions are wrong and that there are things that we simply cannot explain. But that's what makes this journey so exciting. We never know what new wonders await us in the depths of these caverns.@n@nSigned,@nDr. Theodore Banks=
Infuriating Nether Cap=
Infuriating @1=
It appears that Dr. Banks' log on Spindlestems has caused some confusion and I would like to set the record straight. While it is true that the microorganisms living within the caps of Spindlestems are affected by the trace minerals present in the water where they grow, there are other factors at play that he seems to have overlooked.@n@nFirst, I would like to point out that when growing near Goblin Caps, Spindlestems always glow red regardless of the minerals in the soil. This is a fascinating observation that I believe warrants further study. Second, when growing near Tower Caps, Spindlestems don't glow at all. This is another intriguing observation that I believe is worth investigating.@n@nI would like to remind my colleagues that not everything can be reduced to chemistry, and that there is still much we do not understand about the complex interactions between different subterranean organisms. Furthermore, Banks has no explanation for the rare yellow Spindlestem, which is a beautiful and unique variant of this mushroom species.@n@nOn a final note, I would like to point out that the extract of Spindlestems, while transient and limited in palette, is a beautiful and versatile pigment that can be used in many artistic applications. The beauty of the underground world is not limited to just the resources it provides, but also in the subtle and delicate forms that can be found there.@n@nSincerely,@nProfessor Amelia Rose=
Marvelous Nether Cap=
One of the most interesting adaptations of the Tunnel Tube is its method of spore dispersal. The fruiting bodies of these fungi accumulate high-energy compounds that, when ignited, produce a vigorous detonation that flings their spores great distances. This adaptation allows them to spread their spores in the still air of the caverns they grow in.@n@nHowever, this adaptation also makes them a potential hazard. I would advise against making a campfire in a cavern that is home to Tunnel Tubes, as the explosive nature of these fungi could cause unexpected and potentially dangerous consequences.=
Professor Amelia Rose=
Sir Reginald Sterling=
Marvelous @1=
Spindlestem Complexities=
Spindlestem Lanterns=
Spindlestem as Mineral Marker=
@ -116,7 +111,7 @@ Today we came across a truly extraordinary discovery. As we were exploring one o
Today we came across a truly remarkable sight in the caverns - a group of Goblin Cap mushrooms, each one larger than any I have ever seen before. These massive fungi stand at least 10 feet tall and have a squat, bulbous shape that makes them look like little cottages. It's not hard to imagine that some of the more primitive denizens of the deeps might carve out a hollow in the stem of one of these mushrooms to use as a home.@n@nThe stems and caps of the Goblin Cap mushrooms are made of a wood that is both dense and strong. It can be cut into two different hues, a subdued cream and a bright orange-red. The cream colored wood is particularly hard and heavy, while the orange-red wood is lighter and more porous. Both types of wood can be used for construction and other practical applications, but I suspect that the orange-red wood may also have some artistic value.@n@nSincerely,@nProfessor Amelia Rose=
Today, I had the opportunity to study a particularly fascinating species of subterranean fungus, the Tunnel Tube. These towering growths, typically standing between 10 to 20 feet tall, are characterized by a hollow curved trunk that supports a large fruiting body at the top. The trunk of the Tunnel Tube is a striking purple hue and can be cut and processed to produce sheets of a woody material.=
Today, I had the opportunity to study a particularly fascinating species of subterranean fungus, the Tunnel Tube. These towering growths, typically standing between 10 to 20 feet tall, are characterized by a hollow curved trunk that supports a large fruiting body at the top. The trunk of the Tunnel Tube is a striking purple hue and can be cut and processed to produce sheets of a woody material.@n@nOne of the most interesting adaptations of the Tunnel Tube is its method of spore dispersal. The fruiting bodies of these fungi accumulate high-energy compounds that, when ignited, produce a vigorous detonation that flings their spores great distances. This adaptation allows them to spread their spores in the still air of the caverns they grow in.@n@nHowever, this adaptation also makes them a potential hazard. I would advise against making a campfire in a cavern that is home to Tunnel Tubes, as the explosive nature of these fungi could cause unexpected and potentially dangerous consequences.@n@nSincerely,@nProfessor Amelia Rose=
Today, I had the opportunity to study the Spindlestem mushrooms, a common and useful resource for underground travelers. These mushrooms are too big to easily pluck by hand, but too small to be called a proper tree. Despite their thinness, they can grow quite tall and their stem is surprisingly sturdy. They can be used as a wood substitute in many crafting recipes.@n@nThe most distinctive feature of Spindlestem mushrooms is their glow, with some varieties having caps that glow in a red, green, cyan, or even sometimes golden hue. This glow is generated by some form of microorganism that lives within the Spindlestem's caps and can be extracted and bottled to produce a long-lasting source of light.@n@nThe brightness of this light varies with the colour of the cap, but even the dim red Spindlestem extract makes a useful trail marker in these dark caverns. This makes them an excellent resource for underground explorers and spelunkers. The abundance of Spindlestems may render our reliance on foul, smoky torches obsolete.@n@nSincerely,@nProfessor Amelia Rose=
@ -126,7 +121,7 @@ Today, my graduate students and I ventured deeper into the caverns than we ever
Today, my team and I came across a truly remarkable discovery. Deep in the caverns, we stumbled upon a grove of towering mushrooms unlike any we have ever seen before. These mushrooms, which I have named 'Tower Caps', stand at least thirty feet tall when fully grown and have massive stems. The oldest of these mushrooms could be decades old, perhaps even centuries in some rare cases, but under the right conditions, they grow rapidly to full size.@n@nTheir stems and caps provide ample quantities of woody material when cut down and processed. We were able to gather large amounts of this material and it holds great promise for use in construction and as a source of fuel for our expeditions. The discovery of these Tower Caps is not only significant for the practical applications of their wood, but also for the understanding of the unique ecosystem that exists within the caverns. The possibilities for study and research are endless. I can hardly wait to return to the grove and continue our investigations.@n@nSincerely,@nProfessor Amelia Rose=
Today, my team and I made a fascinating discovery in the deep caverns - the existence of Nether Cap mushrooms. These mushrooms possess an unusual biochemistry that allows them to subsist on ambient heat, in violation of all known laws of thermodynamics. We found them growing in frigid, icy caverns that should, by all rights, be simmering in the heat welling up from below.@n@nThe Nether Cap mushroom is a true marvel of nature. The wood of the mushroom, in addition to being a beautiful blue hue, retains the odd heat-draining ability of living Nether Caps and is able to quickly freeze nearby water solid. This makes it an incredibly unique and valuable resource, as it could have a wide range of industrial and scientific applications.@n@nFurthermore, the Nether Cap mushroom is also a valuable tool for understanding the underground ecosystem. The discovery of this species challenges our current understanding of how organisms can survive and thrive in extreme environments. It is clear that there is still much to learn about the deep caverns and the life that lives within them.@n@nSincerely,@nProfessor Amelia Rose=
Today, my team and I made a fascinating discovery in the deep caverns - the existence of @1 mushrooms. These mushrooms possess an unusual biochemistry that allows them to subsist on ambient heat, in violation of all known laws of thermodynamics. We found them growing in frigid, icy caverns that should, by all rights, be simmering in the heat welling up from below.@n@nThe @2 mushroom is a true marvel of nature. The wood of the mushroom, in addition to being a beautiful blue hue, retains the odd heat-draining ability of living @3 and is able to quickly freeze nearby water solid. This makes it an incredibly unique and valuable resource, as it could have a wide range of industrial and scientific applications.@n@nFurthermore, the @4 mushroom is also a valuable tool for understanding the underground ecosystem. The discovery of this species challenges our current understanding of how organisms can survive and thrive in extreme environments. It is clear that there is still much to learn about the deep caverns and the life that lives within them.@n@nSincerely,@nProfessor Amelia Rose=
Today, while conducting a survey of the subterranean fungi, I made a discovery that I found to be quite interesting. As I was observing a group of Spindlestem mushrooms, I noticed that their caps were emitting a red glow. Being an experienced geologist, I immediately suspected that this might be an indication of nearby iron deposits.@n@nTo test this hypothesis, I ventured further into the cavern and found another group of Spindlestems, this time emitting a green glow. I hypothesized that this might be an indication of nearby copper deposits. I conducted a series of experiments to confirm my suspicions, and to my delight, my hypothesis was correct.@n@nI also found that some Spindlestems were emitting a cyan glow, which I suspect is an indication of a mix of both iron and copper deposits. I found this discovery to be quite exciting, and I believe it could have significant implications for underground mining operations.@n@nIt's a shame that Professor Amelia Rose, whose journal entry about Spindlestems I read earlier, failed to mention this important discovery. I suppose it just goes to show that sometimes, a little rigor in scientific observation can go a long way.@n@nSigned,@nDr. Theodore Banks=
@ -264,3 +259,18 @@ Puzzle Seals=
Slade=
The Underworld=
Underworld Ruins=
### watercolours.lua ###
A Towercap, By Amelia Rose=
Bloodthorn, By Amelia Rose=
Chasm Wall, By Amelia Rose=
Coral Glow, By Amelia Rose=
Destination of Life, By Amelia Rose=
Forest of Dust, By Amelia Rose=
Fungiwood, By Amelia Rose=
Goblin Cap, By Amelia Rose=
Sunset Sans Sun, By Amelia Rose=
The Cold Path, By Amelia Rose=
Torches in the Dark, By Amelia Rose=
Tunnel, By Amelia Rose=

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

View File

@ -0,0 +1,89 @@
local S = minetest.get_translator(minetest.get_current_modname())
local base = 150
----------------------------------------------------------
collectible_lore.register_lorebook({
id = "rose watercolor tower cap",
title = S("A Towercap, By Amelia Rose"),
image = "df_lorebooks_towercap.jpg",
sort = base + 0,
})
collectible_lore.register_lorebook({
id = "rose watercolor chasm wall",
title = S("Chasm Wall, By Amelia Rose"),
image = "df_lorebooks_chasm_wall.jpg",
sort = base + 1,
})
collectible_lore.register_lorebook({
id = "rose watercolor fungiwood",
title = S("Fungiwood, By Amelia Rose"),
image = "df_lorebooks_fungiwood.jpg",
sort = base + 2,
})
collectible_lore.register_lorebook({
id = "rose watercolor spore trees",
title = S("Forest of Dust, By Amelia Rose"),
image = "df_lorebooks_spore_trees.jpg",
sort = base + 3,
})
collectible_lore.register_lorebook({
id = "rose watercolor tunnel tube",
title = S("Tunnel, By Amelia Rose"),
image = "df_lorebooks_tunnel_tube.jpg",
sort = base + 4,
})
collectible_lore.register_lorebook({
id = "rose watercolor goblin cap",
title = S("Goblin Cap, By Amelia Rose"),
image = "df_lorebooks_goblin_cap.jpg",
sort = base + 5,
})
collectible_lore.register_lorebook({
id = "rose watercolor nether cap",
title = S("The Cold Path, By Amelia Rose"),
image = "df_lorebooks_nethercap.jpg",
sort = base + 6,
})
collectible_lore.register_lorebook({
id = "rose watercolor black cap",
title = S("Torches in the Dark, By Amelia Rose"),
image = "df_lorebooks_black_cap.jpg",
sort = base + 7,
})
collectible_lore.register_lorebook({
id = "rose watercolor bloodthorn",
title = S("Bloodthorn, By Amelia Rose"),
image = "df_lorebooks_bloodthorn.jpg",
sort = base + 8,
})
collectible_lore.register_lorebook({
id = "rose watercolor sunless sea",
title = S("Sunset Sans Sun, By Amelia Rose"),
image = "df_lorebooks_sunless_sea.jpg",
sort = base + 9,
})
collectible_lore.register_lorebook({
id = "rose watercolor sunless sea 2",
title = S("Coral Glow, By Amelia Rose"),
image = "df_lorebooks_sunless_sea_2.jpg",
sort = base + 10,
})
collectible_lore.register_lorebook({
id = "rose watercolor sunless sea 3",
title = S("Destination of Life, By Amelia Rose"),
image = "df_lorebooks_sunless_sea_3.jpg",
sort = base + 11,
})