Replicating Dwarf Fortress' underground flora in Minetest
Go to file
FaceDeer 0a0c97b74e
Mineclone compatibility (#36)
* latest versions of mapgen_helper and subterrane

* initial work

* call it "minetest_game" compatibility instead of "default" compatibility

* Getting started on moving all default dependencies to a single root mod

* distilling out more dependencies

* fix some typos

* more default dependencies

* beds

* start getting some MCL equivalents set up

* mine gas dependencies

* reorganize

* add some mapgen stuff

* getting close to actually being able to run mineclone with this

* it actually runs! Crashes with out-of-memory error when you try to go below -64, but it's a start.

* hide flowing pit plasma from creative inventory

* mineclone 5 settings

* Update subterrane

* get rid of meselamp dependency, bring in ancient lanterns from deep roads

* stair dependencies

* add mcl fences

* add mcl blast resistance and hardness to everything. Also an alternate name for Nethercap in MCL, since "nether" has another meaning there.

* buckets of oil and syrup should work in mineclone now

* 'splosions!

* make hunters avoid repaired ancient lanterns

* mapgen torchspine wasn't having its timer set

* split mapgen compatibility code into its own file

* bypass dependency indirection for df_farming.

* apply threshold alpha to food items, they look better that way

* bypass dependency indirection for df_mapitems

* bypass dependency indirection for df_primordial_items

* bypass dependency indirection for df_trees

* bypass dependency indirection for df_underworld_items

* bypass dependency indirection for df_caverns

* fixing up the puzzle seal to work in both

* fix puzzle seal formspec for mcl

* create built-in substitutes for fireflies and bones mods for when those aren't available

* set up mcl dungeon loot for underworld warriors, port over some translations from default

* overlooked a debug

* add itemslot backgrounds for mcl

* added mineclone groups to all registered nodes. TODO: craftitems.

This was extremely tedious. Completely untested, aside from simply running the game.

* minor fixes to the built-in bones node

* eatable group for edibles

* clean up some TODOs

* adjust pit plasma abm conditions

* add df_ambience

* fixing up explosions. Also make slade sand diggable in mcl, and fix a bug in web generators

* make tower cap caves less chirpy, fix bigger goblin hut schematic, allow glowing spindlestem extract bottles

* avoid an undeclared global check

* alas, cave pearls aren't set up right for attached_node_facedir.

* bunch of work on mineclone ores, moved main config into df_dependencies

* add a few more ores

* update depends in mod.conf

* add opaque group to light-sensitive dirt types

Mineclone adds the "opaque" group only to non-light nodes, and torches check for the opaque group to decide whether they can be placed there. light-sensitive nodes need the "light" paramtype to work, though. So adding the opaque group manually to these.

* add a touch of reverb to one of the whisper tracks, it didn't fit with the others without it

* bloodthorn also needs to be set opaque

* add sound to torchspines

* isolate Nethercap translation name to make it easier to swap out in Mineclone contexts

* ambience tweak

* fix dirt spreads

https://github.com/FaceDeer/dfcaverns/issues/35

* adding achievements! Almost all untested yet.

* fix a few achievements glitches

* tweak some more achievements, add delay when achievements unlock other achievements

* fix farming achievements, fix spindlestem callbacks on place

* icons for farming achievements

* more achievement icons, fix ancient lantern achievement

* two more icons, update text

* add icons for upper cavern layers

* all achievements have icons now. Also add another sound to the magma sea ambience

* hook into awards' trigger system to get "x/y" progress displayed for the multi-achievement achievements

* ironically, Mineclone has an old version of awards that is incompatible with my trigger work.

* every award should now have a description and a difficulty.

* removing leftovers

* missing callbacks for farmables

* put growth restrictions on farmables so the achievement doesn't trigger inappropriately.

* enable ores in MCL2, fix some undeclared globals, fix icecap growth in MCL (achievements are a good debugging tool)

* get *all* the copper and iron containing nodes

* fix old awards mod's handling of grouped dig items

* Add a little bonus for players who activate a slade breacher - a handheld 'splosion tool

* used the wrong drop method

* beef up explosions in MCL, make slade brick craftable from slade sand and lava

* better creative mode checks, fix crash when digging walls in MCL

* Update subterrane

* various bugfixes and tweaks

* whipping up a simple puzzle chest to give a clue about ancient numbering

The coding is done, but UI and a node mesh need to be done

* prepare for some art tomorrow

* chest node and sounds

* images for the combination dials

* add puzzle chests to the underworld buildings

* update translations

* oops, can't initialize the contents of puzzle chests every time or players get endless stuff

* add backgrounds to item slots in MCL

* wrap the existing function rather than copy and pasting it

* fix bucket dependency in cooking recipes

* add _mcl_saturation to edibles
2022-08-28 23:48:44 -06:00
big_webs Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
bones_loot Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
chasms Squashed commit of the following: 2022-08-01 14:55:46 -06:00
df_achievements Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
df_ambience Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
df_caverns Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
df_dependencies Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
df_farming Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
df_mapitems Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
df_primordial_items Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
df_trees Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
df_underworld_items Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
hunter_statue Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
ice_sprites Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
looped_node_sound Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
mapgen_helper@2521562a42 Squashed commit of the following: 2022-08-01 14:55:46 -06:00
mine_gas Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
oil Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
pit_caves Mineclone compatibility (#36) 2022-08-28 23:48:44 -06:00
subterrane@e5f8457e93 Update subterrane 2022-08-27 18:35:34 -06:00
.gitattributes 💥🐫 Added .gitattributes 2017-03-07 23:45:35 -07:00
.gitmodules Modpack refactor (#4) 2018-12-31 11:46:27 -07:00
description.txt Modpack refactor (#4) 2018-12-31 11:46:27 -07:00
guide.md Pit caves (#20) 2021-05-07 22:59:30 -06:00
i18n.py add new carpet vegetation to some cavern layers 2020-07-11 13:05:33 -06:00
LICENSE.txt Pit caves (#20) 2021-05-07 22:59:30 -06:00
minetestmapper colors.txt update map colours 2020-11-19 21:29:51 -07:00
modpack.conf add modpack.conf 2020-02-15 23:41:29 -07:00
modpack.txt Modpack refactor (#4) 2018-12-31 11:46:27 -07:00
README.md Chasms (#19) 2021-03-28 15:20:52 -06:00
screenshot.png Small stuff (#8) 2019-08-18 22:20:07 -05:00

Inspired by the world of Dwarf Fortress, this mod adds a series of vast cavern layers to the depths of Minetest with a variety of biomes that are populated with the flora of Dwarf Fortress.

Cavern Layers

The underground is divided into a number of cavern "layers" with a variety of biomes and other features distributed throughout. As one goes deeper one will find increasingly bizzare flora and exotic environments that provide new challenges and opportunities for players.

The uppermost layer is home to relatively conventional tree-like fungal growths of Fungiwood and Tower-Cap mushrooms. These provide a source of underground wood. Also found in this region are plump helmets (an edible farmable mushroom), and cave wheat (a pale grass-like growth whose seeds can be ground for flour).

The next layer down has more exotic growths. Here you can find Goblin Cap mushrooms, the squatter cousins of the Tower Caps. Spore Trees sprout in the warmer and wetter corners of the caverns, raising a climbable three-dimensional mesh or hyphyae above the ground that emits a gentle rain of spore powder. Tunnel Tubes grow in the hottest regions - tall, curved stalks with fruiting bodies at the tips that burst violently when ripe. Smaller growths found here include plump helmets, cave wheat, pig tails (a fibrous fungus that can be grown and harvested for thread) and sweet pods (whose fruiting bodies can be milled for sugar or processed into syrup).

In the third cavern layer yet stranger forms of life flourish in the hostile conditions. The coal-black caverns of the Black Cap forests, rich with carbonaceous deposits that have accumulated over millions of years and lit by smouldering Torchspines, are found here. The frigid Nethercaps, blue-tinted mushrooms leaching heat out of their environment in ways that shouldn't be thermodynamically possible, fill their caverns with ice and snow. In the hotter areas the vicious Bloodthorn grows, with wicked spines that suck moisture from anything they can pierce. In caves too dry to support biological life enormous glowing crystals grow instead. Smaller plants that can be found here include quarry bushes (farmable for their spicy leaves) and dimple cups (whose eponymous parts can be ground to produce a brilliant blue dye).

After the third layer are the shores of the Sunless Sea, the ultimate destination of all water that flows downward through the twisty caves of Minetest. Familiar growths crowd its fertile shores, with Tower Cap, Goblin Cap, Fungiwood and Spore Trees able to take root in this relatively hospitable zone. The caverns of the Sunless Sea are vast in extent but are mostly flooded with water, and below the surface grows treacherous Snareweed and underwater citadels of softly-glowing Cave Coral. Twisting rivers connect the various caverns of the Sunless Sea.

Below the Sunless Sea are seas of a more dangerous sort: lakes of oil and the magma ocean. These caverns are filled with dangerous substances, though there are riches to be had as well; mineral growths fed by the heat and pressure and bountiful fuel sources.

At the very foundation of the world lies an ancient impenetrable realm. There are signs that life once existed here but it is now long gone. Its dead hollows rest on a layer of Slade, a dense material impervious to conventional mining efforts.

Unconventional methods of penetrating the Slade do exist, however. And should it be breached, the exotic Primordial cavern layer can be found beneath.

Other Features

The giant caverns generated by this mod differ slightly from the default giant caverns found in some mapgens, they use an additional source of noise to generate more ledges and horizontal floors. They also contain stalactites and stalagmites of various sizes - from single-node spikes decorating the default twisty tunnels to mountainous behemoths in the main caverns that can reach tens of meters in diameter and hundreds of meters in height.

The trees and plants mentioned above are all farmable, but in contrast to the usual farmable plants and trees they only grow in the absence of bright light. Attempting to plant them in sunlight will kill them. A set of recipes is added for cooking the edible ones into a variety of biscuits, stews, and roasts, and sweet pods can be refined into syrup.

Some of the other cave decorations provide dim bioluminescent lighting in some caverns. Cave moss and hanging glow-worms are most common. There is also non-glowing floor fungus found coating the stone in less hospitable biomes, capable of spreading to adjacent cobblestone structures like a slow-creeping infection.

A more comprehensive guide can be found here.

Synergies with other mods

"dynamic liquid" is recommended to provide Dwarf Fortress-like fluid dynamics and to deal with water that might spill into caverns.

"magma conduits" is recommended for a Dwarf Fortress like magmatic landscape. If not magma conduits, it is at least recommended that mapgen magma be disabled on whatever mapgen you're adding this mod to; mapgen magma is difficult for lua mapgens like this to tidy up and it will often spill into caverns setting large swaths of fungal forests on fire. Depending on the mapgen you're using this mod with you could do this by setting mgv5_lava_depth, mgv7_lava_depth, mgcarpathian_lava_depth, mgflat_lava_depth, mgfractal_lava_depth, or mgvalleys_lava_depth to -2800 (near the default depth of the magma sea).

The "doc" mod is supported to provide in-game documentation for all of the new items and nodes this mod adds.

"ropes" are very useful for navigating some of the large open spaces this mod provides. Some are large enough that a glider may be well suited.

"radiant damage" greatly increases the danger of the Magma Sea if heat radiance is enabled, as well as several of the rare crystals in the deeper layers that emit Mese radiation if that damage type is enabled.

Adding "named_waypoints" and "namegen" will provide some landmarks in the Underworld that a player can use to navigate by.