mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2024-11-09 20:11:47 +01:00
98fb313eb1
* bring in the art assets from ClockGen's "better_caves_modpack" under CC BY 4.0,, code written from scratch. * update mapgen_helper * import ClockGen's giant mushroom schematics, make them and giant ferns growable * add giant jungle mushroom, rough out actual cavern layer code framework * fungal ceiling decorations * decorate fungal floor a bit * update mapgen_helper * update primordial mushroom schematic placement to ensure it fits * add giant mycelium fungoidal structure * add giant mycelium to mapgen * fix settings for giant mycelium * make mycelium grow when players aren't present * allow mycelium growth to pause when it hits unloaded areas * add a use for giant mycelium * make giant mushrooms edible, make jungle trees growable * rough out the jungle biome * Make a spectrum of jungle growth * optimize pngs, add is_ground_content to everything * use custom is_ground_content method * fix a crash with veinstone, and simplify nvals_cave lookup now that overgen covers the same area * more fixes for overgen support * remove unintentional airspace from underside of slade * fix for overgen crash in level 2 * primordial column material, add sealed shafts to underworld * add seal block * Set up puzzle seals to be able to dig a staircase shaft through the slade layer. TODO: the puzzle to guard the trigger. * puzzle seals now fully functional. Need to add clues for decoding the keys next. * add a small bit of anti-griefing - the seal breach bell only tolls globally 13 times per activation * add flowers to the underworld warrior bones * switch to a different key bell * fancy up the puzzle seal temples with some custom blocks, add sub-slade grid passages * add a clue to the seal formspec * tweak background of inscription 2 so it's less obviously a copy of the background for inscription 1 * switch to compositing to save a few bytes * fancy up the seal's upper surface with inscriptions to make the formspec feel consistent * puzzle particle, bones were only spawning on top of structures * fix ice/oil on level 3, tweak some loot probabilities * add trail mod support * remove deprecated files * boost default plant growth delay, add growing selection boxes * update map colours * add named waypoints to the underworld * try a more efficient way of changing the interiors of columns * polishing up the Primordial layer * update guide with some Primordial teasers * updated magma sea screenshot * update mapgen_helper and subterrane * reduce density of megaflora a bit - was too hard to walk through * spreading_dirt_type depends on light, create my own ABM instead * add names to the glowing pits and some of the ruins * separate setting for ruin markers * record identity of slade-breachers * make mycelia climbable * update subterrane * change surface tunnel detection to allow above-ground stalactites and stalagmites * add rare thicker Goblin Caps, suitable for use as huts. * better goblin cap schematics * update colours * make it slightly harder to dig down through amethyst sheathing of pits * fixing up fungus light sensitivity, tree growth code * fix a few minor bugs * update deprecated functions * add various eating sounds * make mapping kit requirement more flexible * update spindlestem growth code, remove deprecated functions * fix leftover undefined variable * add fireflies to primordial, spread out the post-mapgen node timer for plant matter a bit more. * fix bones formspec * add lbm to upgrade old bones * fix slade undiggability * make torchspines smokey and manually lightable * fix drop definitions * generate dry stalactites in near-surface caverns. * caverns become far too smokey, alas * add pitter patter of spore tree spores, alternate paper recipe * new mapgen_helper metrics * add smokey back to torchspine now that it can be dialed down a bit * replace glowstone texture with a new animated one * switch from ABM to node timer for mapgen mycelium growth * make mapgen mycelium timer delay configurable * improve the efficiency of giant mycelium growth using flat node array, fewer dereferences * remove the smoke from torchspines again - it doesn't dissipate that deep underground * give slade a more muted, gloomy hue to differentiate it from nether stone * update screenshots with new slade colors * update mapgen_helper
133 lines
4.6 KiB
Lua
133 lines
4.6 KiB
Lua
-- internationalization boilerplate
|
|
local MP = minetest.get_modpath(minetest.get_current_modname())
|
|
local S, NS = dofile(MP.."/intllib.lua")
|
|
|
|
--------------------------------------------------
|
|
-- Cave moss
|
|
|
|
-- cyan/dark cyan
|
|
|
|
minetest.register_node("df_mapitems:dirt_with_cave_moss", {
|
|
description = S("Dirt with Cave Moss"),
|
|
_doc_items_longdesc = df_mapitems.doc.cave_moss_desc,
|
|
_doc_items_usagehelp = df_mapitems.doc.cave_moss_usage,
|
|
tiles = {"default_dirt.png^dfcaverns_cave_moss.png", "default_dirt.png",
|
|
{name = "default_dirt.png^dfcaverns_cave_moss_side.png",
|
|
tileable_vertical = false}},
|
|
drop = "default:dirt",
|
|
is_ground_content = false,
|
|
light_source = 2,
|
|
paramtype = "light",
|
|
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8},
|
|
sounds = default.node_sound_dirt_defaults({
|
|
footstep = {name = "default_grass_footstep", gain = 0.25},
|
|
}),
|
|
soil = {
|
|
base = "df_mapitems:dirt_with_cave_moss",
|
|
dry = "farming:soil",
|
|
wet = "farming:soil_wet"
|
|
},
|
|
_dfcaverns_dead_node = "default:dirt",
|
|
})
|
|
|
|
minetest.register_abm{
|
|
label = "df_mapitems:cave_moss_spread",
|
|
nodenames = {"default:dirt"},
|
|
neighbors = {"df_mapitems:dirt_with_cave_moss"},
|
|
interval = 60,
|
|
chance = 15,
|
|
catch_up = true,
|
|
action = function(pos)
|
|
local above_def = minetest.registered_nodes[minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}).name]
|
|
if above_def and (above_def.buildable_to == true or above_def.walkable == false) then
|
|
minetest.swap_node(pos, {name="df_mapitems:dirt_with_cave_moss"})
|
|
end
|
|
end,
|
|
}
|
|
|
|
if minetest.get_modpath("trail") and trail and trail.register_trample_node then
|
|
local HARDPACK_PROBABILITY = minetest.settings:get("trail_hardpack_probability") or 0.5 -- Chance walked dirt/grass is worn and compacted to trail:trail.
|
|
local HARDPACK_COUNT = minetest.settings:get("trail_hardpack_count") or 5 -- Number of times the above chance needs to be passed for soil to compact.
|
|
|
|
trail.register_trample_node("df_mapitems:dirt_with_cave_moss", {
|
|
trampled_node_def_override = {description = S("Dirt with Cave Moss and Footprint"),},
|
|
hard_pack_node_name = "trail:trail",
|
|
footprint_opacity = 128,
|
|
hard_pack_probability = HARDPACK_PROBABILITY,
|
|
hard_pack_count = HARDPACK_COUNT,
|
|
})
|
|
end
|
|
|
|
--------------------------------------------------
|
|
-- floor fungus
|
|
|
|
-- white/yellow
|
|
|
|
minetest.register_node("df_mapitems:cobble_with_floor_fungus", {
|
|
description = S("Cobblestone with Floor Fungus"),
|
|
_doc_items_longdesc = df_mapitems.doc.floor_fungus_desc,
|
|
_doc_items_usagehelp = df_mapitems.doc.floor_fungus_usage,
|
|
tiles = {"default_cobble.png^dfcaverns_floor_fungus.png"},
|
|
drops = "default:cobble",
|
|
is_ground_content = false,
|
|
paramtype = "light",
|
|
groups = {cracky = 3, stone = 2, slippery = 1, light_sensitive_fungus = 8},
|
|
_dfcaverns_dead_node = "default:cobble",
|
|
sounds = default.node_sound_stone_defaults({
|
|
footstep = {name = "dfcaverns_squish", gain = 0.25},
|
|
}),
|
|
})
|
|
|
|
minetest.register_node("df_mapitems:cobble_with_floor_fungus_fine", {
|
|
description = S("Cobblestone with Floor Fungus"),
|
|
_doc_items_longdesc = df_mapitems.doc.floor_fungus_desc,
|
|
_doc_items_usagehelp = df_mapitems.doc.floor_fungus_usage,
|
|
tiles = {"default_cobble.png^dfcaverns_floor_fungus_fine.png"},
|
|
drops = "default:cobble",
|
|
is_ground_content = false,
|
|
paramtype = "light",
|
|
groups = {cracky = 3, stone = 2, slippery = 1, light_sensitive_fungus = 8},
|
|
_dfcaverns_dead_node = "default:cobble",
|
|
sounds = default.node_sound_stone_defaults({
|
|
footstep = {name = "dfcaverns_squish", gain = 0.25},
|
|
}),
|
|
})
|
|
|
|
minetest.register_abm{
|
|
label = "df_mapitems:floor_fungus_spread",
|
|
nodenames = {"default:cobble"},
|
|
neighbors = {"df_mapitems:cobble_with_floor_fungus"},
|
|
interval = 60,
|
|
chance = 10,
|
|
catch_up = true,
|
|
action = function(pos)
|
|
minetest.swap_node(pos, {name="df_mapitems:cobble_with_floor_fungus_fine"})
|
|
end,
|
|
}
|
|
minetest.register_abm{
|
|
label = "df_mapitems:floor_fungus_thickening",
|
|
nodenames = {"default:cobble_with_floor_fungus_fine"},
|
|
interval = 59,
|
|
chance = 10,
|
|
catch_up = true,
|
|
action = function(pos)
|
|
minetest.swap_node(pos, {name="df_mapitems:cobble_with_floor_fungus"})
|
|
end,
|
|
}
|
|
|
|
------------------------------------------------------
|
|
-- Hoar moss
|
|
|
|
minetest.register_node("df_mapitems:ice_with_hoar_moss", {
|
|
description = S("Ice with Hoar Moss"),
|
|
_doc_items_longdesc = df_mapitems.doc.hoar_moss_desc,
|
|
_doc_items_usagehelp = df_mapitems.doc.hoar_moss_usage,
|
|
tiles = {"default_ice.png^dfcaverns_hoar_moss.png"},
|
|
drops = "default:ice",
|
|
paramtype = "light",
|
|
light_source = 2,
|
|
is_ground_content = false,
|
|
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1, slippery = 2, light_sensitive_fungus = 8},
|
|
sounds = default.node_sound_glass_defaults(),
|
|
_dfcaverns_dead_node = "default:ice",
|
|
}) |