mirror of
https://github.com/FaceDeer/dfcaverns.git
synced 2025-06-28 14:36:20 +02:00
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
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
minetest.register_node("df_mapitems:castle_coral", {
|
||||
description = S("Castle Coral"),
|
||||
@ -16,8 +16,10 @@ minetest.register_node("df_mapitems:castle_coral", {
|
||||
mesh = "octagonal_coral.obj",
|
||||
drop = "df_mapitems:castle_coral_skeleton",
|
||||
paramtype = "light",
|
||||
groups = {cracky=2,},
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
groups = {cracky=2, pickaxey = 1, building_block = 1, coral=1, coral_block=1},
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
_mcl_hardness = 1.5,
|
||||
_mcl_blast_resistance = 6,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:castle_coral_skeleton", {
|
||||
@ -25,21 +27,23 @@ minetest.register_node("df_mapitems:castle_coral_skeleton", {
|
||||
_doc_items_longdesc = df_mapitems.doc.castle_coral_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.castle_coral_usage,
|
||||
tiles = {
|
||||
df_mapitems.texture.coral_skeleton
|
||||
df_dependencies.texture_coral_skeleton
|
||||
},
|
||||
drawtype = "mesh",
|
||||
mesh = "octagonal_coral.obj",
|
||||
paramtype = "light",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3},
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
groups = {cracky = 3,pickaxey = 1, building_block = 1, coral=2, coral_block=1},
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
_mcl_hardness = 1.5,
|
||||
_mcl_blast_resistance = 6,
|
||||
})
|
||||
|
||||
local c_coral = minetest.get_content_id("df_mapitems:castle_coral")
|
||||
local c_coral_skeleton = minetest.get_content_id("df_mapitems:castle_coral_skeleton")
|
||||
|
||||
local c_stone = df_mapitems.node_id.stone
|
||||
local c_water = df_mapitems.node_id.water
|
||||
local c_stone = minetest.get_content_id(df_dependencies.node_name_stone)
|
||||
local c_water = minetest.get_content_id(df_dependencies.node_name_water_source)
|
||||
|
||||
df_mapitems.spawn_castle_coral = function(area, data, vi, iterations)
|
||||
local run = math.random(2,4)
|
||||
@ -47,6 +51,7 @@ df_mapitems.spawn_castle_coral = function(area, data, vi, iterations)
|
||||
local zstride = area.zstride
|
||||
local ystride = area.ystride
|
||||
while run > 0 do
|
||||
-- TODO should this be checking for not-water instead of stone?
|
||||
if math.random() > 0.95 or data[index] == c_stone or not area:containsi(index) then return end
|
||||
data[index] = c_coral
|
||||
if iterations > 2 then
|
||||
|
@ -1,7 +1,7 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
local water_source = df_mapitems.node_name.water
|
||||
local coral_skeleton = df_mapitems.node_name.coral_skeleton
|
||||
local water_source = df_dependencies.node_name_water_source
|
||||
local coral_skeleton = df_dependencies.node_name_coral_skeleton
|
||||
|
||||
minetest.register_node("df_mapitems:cave_coral_3", {
|
||||
description = S("Cave Coral"),
|
||||
@ -12,13 +12,15 @@ minetest.register_node("df_mapitems:cave_coral_3", {
|
||||
light_source = 3,
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, dfcaverns_cave_coral = 1},
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
groups = {cracky = 3, dfcaverns_cave_coral = 1, pickaxey = 1, building_block = 1, coral=1, coral_block=1},
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
on_timer = function(pos)
|
||||
if minetest.find_node_near(pos, 1, {water_source}) == nil then
|
||||
minetest.set_node(pos, {name=coral_skeleton})
|
||||
end
|
||||
end,
|
||||
_mcl_hardness = 1.5,
|
||||
_mcl_blast_resistance = 6,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:cave_coral_2", {
|
||||
@ -30,13 +32,15 @@ minetest.register_node("df_mapitems:cave_coral_2", {
|
||||
light_source = 2,
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, dfcaverns_cave_coral = 1},
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
groups = {cracky = 3, dfcaverns_cave_coral = 1, pickaxey = 1, building_block = 1, coral=1, coral_block=1},
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
on_timer = function(pos)
|
||||
if minetest.find_node_near(pos, 1, {water_source}) == nil then
|
||||
minetest.set_node(pos, {name=coral_skeleton})
|
||||
end
|
||||
end,
|
||||
_mcl_hardness = 1.5,
|
||||
_mcl_blast_resistance = 6,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:cave_coral_1", {
|
||||
@ -48,17 +52,19 @@ minetest.register_node("df_mapitems:cave_coral_1", {
|
||||
light_source = 1,
|
||||
paramtype2 = "facedir",
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, dfcaverns_cave_coral = 1},
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
groups = {cracky = 3, dfcaverns_cave_coral = 1, pickaxey = 1, building_block = 1, coral=1, coral_block=1},
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
on_timer = function(pos)
|
||||
if minetest.find_node_near(pos, 1, {water_source}) == nil then
|
||||
minetest.set_node(pos, {name=coral_skeleton})
|
||||
end
|
||||
end,
|
||||
_mcl_hardness = 1.5,
|
||||
_mcl_blast_resistance = 6,
|
||||
})
|
||||
|
||||
local coral_names = {"df_mapitems:cave_coral_1", "df_mapitems:cave_coral_2", "df_mapitems:cave_coral_3"}
|
||||
local water_node = df_mapitems.node_name.water
|
||||
local water_node = df_dependencies.node_name_water_source
|
||||
minetest.register_abm{
|
||||
label = "df_mapitems:shifting_coral",
|
||||
nodenames = {"group:dfcaverns_cave_coral"},
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
minetest.register_node("df_mapitems:cave_pearls", {
|
||||
description = S("Cave Pearls"),
|
||||
@ -8,7 +8,7 @@ minetest.register_node("df_mapitems:cave_pearls", {
|
||||
drawtype = "nodebox",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {cracky = 2},
|
||||
groups = {cracky = 2, pickaxey = 2,},
|
||||
walkable = false,
|
||||
is_ground_content = false,
|
||||
climbable = true,
|
||||
@ -22,4 +22,6 @@ minetest.register_node("df_mapitems:cave_pearls", {
|
||||
}
|
||||
},
|
||||
on_place = df_mapitems.place_against_surface,
|
||||
_mcl_hardness = 1.5,
|
||||
_mcl_blast_resistance = 6,
|
||||
})
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
--glowing mese crystal blocks
|
||||
minetest.register_node("df_mapitems:glow_mese", {
|
||||
@ -6,14 +6,16 @@ minetest.register_node("df_mapitems:glow_mese", {
|
||||
_doc_items_longdesc = df_mapitems.doc.glow_mese_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.glow_mese_usage,
|
||||
tiles = {"dfcaverns_glow_mese.png"},
|
||||
groups = {cracky=3},
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
groups = {cracky=3, pickaxey=4, material_stone=1, enderman_takable=1},
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
is_ground_content = false,
|
||||
light_source = 13,
|
||||
paramtype = "light",
|
||||
use_texture_alpha = "blend",
|
||||
drawtype = "glasslike",
|
||||
sunlight_propagates = true,
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
@ -28,21 +30,23 @@ minetest.register_node("df_mapitems:mese_crystal", {
|
||||
_doc_items_longdesc = df_mapitems.doc.glow_mese_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.glow_mese_usage,
|
||||
tiles = {"dfcaverns_glow_mese.png"},
|
||||
groups = {cracky = 2},
|
||||
groups = {cracky = 2, pickaxey=4, material_stone=1, building_block=1, enderman_takable=1},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "mesh",
|
||||
mesh = "underch_crystal.obj",
|
||||
light_source = 12,
|
||||
is_ground_content = false,
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
use_texture_alpha = "blend",
|
||||
sunlight_propagates = true,
|
||||
on_place = df_mapitems.place_against_surface,
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = df_mapitems.node_name.mese_crystal .. ' 9',
|
||||
output = df_dependencies.node_name_mese_crystal .. ' 18',
|
||||
recipe = {
|
||||
{'df_mapitems:mese_crystal'},
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
minetest.register_node("df_mapitems:glow_ruby_ore", {
|
||||
description = S("Red Crystal Vein"),
|
||||
@ -6,8 +6,10 @@ minetest.register_node("df_mapitems:glow_ruby_ore", {
|
||||
_doc_items_usagehelp = df_mapitems.doc.glow_ruby_ore_usage,
|
||||
tiles = {"dfcaverns_glow_ruby_ore.png"},
|
||||
is_ground_content = false,
|
||||
groups = {cracky=2},
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
groups = {cracky=2, pickaxey=3, material_stone=1},
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
_mcl_blast_resistance = 1.5,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:big_crystal", {
|
||||
@ -26,8 +28,8 @@ minetest.register_node("df_mapitems:big_crystal", {
|
||||
is_ground_content = false,
|
||||
sunlight_propagates = true,
|
||||
light_source = 12,
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1},
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1, pickaxey=5, material_stone=1, enderman_takable=1},
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 3, 0.5},
|
||||
@ -36,6 +38,8 @@ minetest.register_node("df_mapitems:big_crystal", {
|
||||
type = "fixed",
|
||||
fixed = {-0.5, -0.5, -0.5, 0.5, 3, 0.5},
|
||||
},
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:med_crystal", {
|
||||
@ -54,8 +58,8 @@ minetest.register_node("df_mapitems:med_crystal", {
|
||||
is_ground_content = false,
|
||||
sunlight_propagates = true,
|
||||
light_source = 12,
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1},
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1, pickaxey=5, material_stone=1},
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 1.25, 0.25},
|
||||
@ -64,6 +68,8 @@ minetest.register_node("df_mapitems:med_crystal", {
|
||||
type = "fixed",
|
||||
fixed = {-0.25, -0.5, -0.25, 0.25, 1.25, 0.25},
|
||||
},
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
|
||||
@ -84,8 +90,8 @@ minetest.register_node("df_mapitems:big_crystal_30", {
|
||||
is_ground_content = false,
|
||||
light_source = 12,
|
||||
drop = "df_mapitems:big_crystal",
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1},
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1, pickaxey=5, material_stone=1, enderman_takable=1},
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@ -117,6 +123,8 @@ minetest.register_node("df_mapitems:big_crystal_30", {
|
||||
-- {-0.25, 2.0, -1.625, 0.25, 2.5, -1.125},
|
||||
},
|
||||
},
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:med_crystal_30", {
|
||||
@ -136,8 +144,8 @@ minetest.register_node("df_mapitems:med_crystal_30", {
|
||||
is_ground_content = false,
|
||||
light_source = 12,
|
||||
drop = "df_mapitems:med_crystal",
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1},
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1, pickaxey=5, material_stone=1},
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@ -154,6 +162,8 @@ minetest.register_node("df_mapitems:med_crystal_30", {
|
||||
{-0.25, 0.5, -0.9375, 0.25, 1.0, -0.4375},
|
||||
},
|
||||
},
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:big_crystal_30_45", {
|
||||
@ -173,8 +183,8 @@ minetest.register_node("df_mapitems:big_crystal_30_45", {
|
||||
is_ground_content = false,
|
||||
light_source = 12,
|
||||
drop = "df_mapitems:big_crystal",
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1},
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1, pickaxey=5, material_stone=1, enderman_takable=1},
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@ -191,6 +201,8 @@ minetest.register_node("df_mapitems:big_crystal_30_45", {
|
||||
{0.5, 1.5, -1.5, 1.5, 2.5, -0.5},
|
||||
},
|
||||
},
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
|
||||
@ -211,8 +223,8 @@ minetest.register_node("df_mapitems:med_crystal_30_45", {
|
||||
is_ground_content = false,
|
||||
light_source = 12,
|
||||
drop = "df_mapitems:med_crystal",
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1},
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
groups = {cracky=2, dfcaverns_big_crystal = 1, pickaxey=5, material_stone=1},
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
@ -229,6 +241,8 @@ minetest.register_node("df_mapitems:med_crystal_30_45", {
|
||||
{0.25, 0.5, -0.75, 0.75, 1.0, -0.25},
|
||||
},
|
||||
},
|
||||
_mcl_blast_resistance = 2,
|
||||
_mcl_hardness = 2,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
@ -262,7 +276,7 @@ minetest.register_craft({
|
||||
recipe = {'df_mapitems:med_crystal_30_45'},
|
||||
})
|
||||
|
||||
local c_stone = df_mapitems.node_id.stone
|
||||
local c_stone = minetest.get_content_id(df_dependencies.node_name_stone)
|
||||
local c_air = minetest.get_content_id("air")
|
||||
local c_big_crystal = minetest.get_content_id("df_mapitems:big_crystal")
|
||||
local c_med_crystal = minetest.get_content_id("df_mapitems:med_crystal")
|
||||
|
@ -1,32 +1,36 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
minetest.register_node("df_mapitems:salt_crystal", {
|
||||
description = S("Luminous Salt Crystal"),
|
||||
_doc_items_longdesc = df_mapitems.doc.salt_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.salt_usage,
|
||||
tiles = {"dfcaverns_salt_crystal.png"},
|
||||
groups = {cracky = 2},
|
||||
groups = {cracky = 2, pickaxey = 1, shovely=1, material_stone=1},
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "mesh",
|
||||
mesh = "underch_crystal.obj",
|
||||
light_source = 6,
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
use_texture_alpha = "blend",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = false,
|
||||
on_place = df_mapitems.place_against_surface,
|
||||
_mcl_blast_resistance = 1,
|
||||
_mcl_hardness = 1,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:salty_cobble", {
|
||||
description = S("Salty Cobble"),
|
||||
_doc_items_longdesc = df_mapitems.doc.salty_cobble_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.salty_cobble_desc,
|
||||
tiles = {df_mapitems.texture.cobble .. "^dfcaverns_salty.png"},
|
||||
groups = {cracky = 3, stone = 1, lava_heatable = 1},
|
||||
_magma_conduits_heats_to = df_mapitems.node_name.cobble,
|
||||
tiles = {df_dependencies.texture_cobble .. "^dfcaverns_salty.png"},
|
||||
groups = {cracky = 3, stone = 1, lava_heatable = 1, pickaxey = 1, material_stone=1},
|
||||
_magma_conduits_heats_to = df_dependencies.node_name_cobble,
|
||||
is_ground_content = false,
|
||||
light_source = 2,
|
||||
drop = df_mapitems.node_name.cobble,
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
drop = df_dependencies.node_name_cobble,
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 2,
|
||||
})
|
@ -1,45 +0,0 @@
|
||||
df_mapitems.sounds = {}
|
||||
|
||||
df_mapitems.sounds.stone = default.node_sound_stone_defaults()
|
||||
df_mapitems.sounds.floor_fungus = default.node_sound_stone_defaults({footstep = {name = "dfcaverns_squish", gain = 0.25},})
|
||||
df_mapitems.sounds.sandscum = default.node_sound_sand_defaults({footstep = {name = "dfcaverns_squish", gain = 0.25},})
|
||||
df_mapitems.sounds.glass = default.node_sound_glass_defaults()
|
||||
df_mapitems.sounds.dirt = default.node_sound_dirt_defaults()
|
||||
df_mapitems.sounds.dirt_mossy = default.node_sound_dirt_defaults({footstep = {name = "default_grass_footstep", gain = 0.25},})
|
||||
|
||||
df_mapitems.node_id = {}
|
||||
|
||||
df_mapitems.node_id.stone = minetest.get_content_id("default:stone")
|
||||
df_mapitems.node_id.water = minetest.get_content_id("default:water_source")
|
||||
df_mapitems.node_id.dirt = minetest.get_content_id("default:dirt")
|
||||
|
||||
df_mapitems.texture = {}
|
||||
|
||||
df_mapitems.texture.coral_skeleton = "default_coral_skeleton.png"
|
||||
df_mapitems.texture.cobble = "default_cobble.png"
|
||||
df_mapitems.texture.stone = "default_stone.png"
|
||||
df_mapitems.texture.ice = "default_ice.png"
|
||||
df_mapitems.texture.sand = "default_sand.png"
|
||||
df_mapitems.texture.dirt = "default_dirt.png"
|
||||
|
||||
df_mapitems.node_name = {}
|
||||
|
||||
df_mapitems.node_name.coral_skeleton = "default:coral_skeleton"
|
||||
df_mapitems.node_name.water = "default:water_source"
|
||||
df_mapitems.node_name.mese_crystal = "default:mese_crystal"
|
||||
df_mapitems.node_name.cobble = "default:cobble"
|
||||
df_mapitems.node_name.sand = "default:sand"
|
||||
df_mapitems.node_name.dirt = "default:dirt"
|
||||
df_mapitems.node_name.stone = "default:stone"
|
||||
df_mapitems.node_name.ice = "default:ice"
|
||||
|
||||
df_mapitems.node_name.farming_soil = "farming:soil"
|
||||
df_mapitems.node_name.farming_soil_wet = "farming:soil_wet"
|
||||
|
||||
-- This stuff should only be used during initialization
|
||||
minetest.after(0, function()
|
||||
df_mapitems.node_name = nil
|
||||
df_mapitems.sounds = nil
|
||||
df_mapitems.texture = nil
|
||||
df_mapitems.node_id = nil
|
||||
end)
|
@ -4,7 +4,7 @@ if not minetest.get_modpath("doc") then
|
||||
return
|
||||
end
|
||||
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
df_mapitems.doc.cave_moss_desc = S("Cave moss is technically a form of mold, but fortunately a relatively benign one given its ubiquity. Its fibers form a tough but springy mat over the surface of any organic-rich soil that accumulates deep underground.")
|
||||
df_mapitems.doc.cave_moss_usage = S("Cave moss has no known uses aside from the faint glow it emits. It dies when exposed to bright light sources such as the Sun.")
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
-----------------------------------------------
|
||||
|
||||
@ -7,23 +7,27 @@ df_mapitems.dry_stalagmite_ids = subterrane.register_stalagmite_nodes("df_mapite
|
||||
_doc_items_longdesc = df_mapitems.doc.dripstone_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.dripstone_usage,
|
||||
tiles = {
|
||||
df_mapitems.texture.stone .. "^[brighten",
|
||||
df_dependencies.texture_stone .. "^[brighten",
|
||||
},
|
||||
groups = {cracky = 3, stone = 2},
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
groups = {cracky = 3, stone = 2, pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
is_ground_content = false,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:dry_flowstone", {
|
||||
description = S("Dry Flowstone"),
|
||||
_doc_items_longdesc = df_mapitems.doc.flowstone_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.flowstone_usage,
|
||||
tiles = {df_mapitems.texture.stone .. "^[brighten"},
|
||||
groups = {cracky = 3, stone = 1, lava_heatable = 1},
|
||||
_magma_conduits_heats_to = df_mapitems.node_name.cobble,
|
||||
tiles = {df_dependencies.texture_stone .. "^[brighten"},
|
||||
groups = {cracky = 3, stone = 1, lava_heatable = 1, pickaxey=1, building_block=1, material_stone=1},
|
||||
_magma_conduits_heats_to = df_dependencies.node_name_cobble,
|
||||
is_ground_content = false,
|
||||
drop = df_mapitems.node_name.cobble,
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
drop = df_dependencies.node_name_cobble,
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
-----------------------------------------------
|
||||
@ -33,11 +37,13 @@ df_mapitems.wet_stalagmite_ids = subterrane.register_stalagmite_nodes("df_mapite
|
||||
_doc_items_longdesc = df_mapitems.doc.dripstone_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.dripstone_usage,
|
||||
tiles = {
|
||||
df_mapitems.texture.stone .. "^[brighten^dfcaverns_dripstone_streaks.png",
|
||||
df_dependencies.texture_stone .. "^[brighten^dfcaverns_dripstone_streaks.png",
|
||||
},
|
||||
groups = {cracky = 3, stone = 2, subterrane_wet_dripstone = 1},
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
groups = {cracky = 3, stone = 2, subterrane_wet_dripstone = 1, pickaxey=1, building_block=1, material_stone=1},
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
is_ground_content = false,
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
}, "df_mapitems:dry_stal")
|
||||
|
||||
|
||||
@ -45,12 +51,14 @@ minetest.register_node("df_mapitems:wet_flowstone", {
|
||||
description = S("Wet Flowstone"),
|
||||
_doc_items_longdesc = df_mapitems.doc.flowstone_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.flowstone_usage,
|
||||
tiles = {df_mapitems.texture.stone .. "^[brighten^dfcaverns_dripstone_streaks.png"},
|
||||
groups = {cracky = 3, stone = 1, subterrane_wet_dripstone = 1, lava_heatable = 1},
|
||||
tiles = {df_dependencies.texture_stone .. "^[brighten^dfcaverns_dripstone_streaks.png"},
|
||||
groups = {cracky = 3, stone = 1, subterrane_wet_dripstone = 1, lava_heatable = 1, pickaxey=1, building_block=1, material_stone=1},
|
||||
_magma_conduits_heats_to = "df_mapitems:dry_flowstone",
|
||||
is_ground_content = false,
|
||||
drop = df_mapitems.node_name.cobble,
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
drop = df_dependencies.node_name_cobble,
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
-----------------------------------------------
|
||||
@ -60,9 +68,11 @@ df_mapitems.icicle_ids = subterrane.register_stalagmite_nodes("df_mapitems:icicl
|
||||
_doc_items_longdesc = df_mapitems.doc.icicle_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.icicle_usage,
|
||||
tiles = {
|
||||
df_mapitems.texture.ice,
|
||||
df_dependencies.texture_ice,
|
||||
},
|
||||
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1, slippery = 3},
|
||||
sounds = df_mapitems.sounds.glass,
|
||||
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1, slippery = 3, pickaxey=1, building_block=1, handy=1, slippery=3, building_block=1, ice=1},
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
local growth_multiplier = 1
|
||||
if minetest.get_modpath("df_farming") then
|
||||
@ -23,7 +23,7 @@ minetest.register_node("df_mapitems:glow_worm", {
|
||||
inventory_image = "dfcaverns_glow_worm.png",
|
||||
wield_image = "dfcaverns_glow_worm.png",
|
||||
is_ground_content = false,
|
||||
groups = {oddly_breakable_by_hand=3, light_sensitive_fungus = 12},
|
||||
groups = {oddly_breakable_by_hand=3, light_sensitive_fungus = 12, shearsy=1, swordy=1, destroy_by_lava_flow=1},
|
||||
_dfcaverns_dead_node = "air",
|
||||
light_source = 9,
|
||||
paramtype = "light",
|
||||
@ -32,6 +32,8 @@ minetest.register_node("df_mapitems:glow_worm", {
|
||||
buildable_to = true,
|
||||
floodable = true,
|
||||
visual_scale = 1.0,
|
||||
_mcl_blast_resistance = 0.2,
|
||||
_mcl_hardness = 0.2,
|
||||
after_place_node = function(pos, placer)
|
||||
if df_mapitems.config.glow_worm_delay_multiplier > 0 then
|
||||
minetest.get_node_timer(pos):start(math.random(
|
||||
|
@ -1,4 +1,4 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
|
||||
local function soil_type_spread(label, node_to_spread, target_node)
|
||||
@ -18,21 +18,21 @@ local function soil_type_spread(label, node_to_spread, target_node)
|
||||
}
|
||||
end
|
||||
|
||||
local farming_soil = df_mapitems.node_name.farming_soil
|
||||
local farming_soil_wet = df_mapitems.node_name.farming_soil_wet
|
||||
local farming_soil = df_dependencies.node_name_dirt_furrowed
|
||||
local farming_soil_wet = df_dependencies.node_name_dirt_wet
|
||||
|
||||
--------------------------------------------------
|
||||
-- Cave moss
|
||||
|
||||
-- cyan/dark cyan
|
||||
|
||||
local dirt_texture = df_mapitems.texture.dirt
|
||||
local sand_texture = df_mapitems.texture.sand
|
||||
local dirt_texture = df_dependencies.texture_dirt
|
||||
local sand_texture = df_dependencies.texture_sand
|
||||
|
||||
local dirt_node = df_mapitems.node_name.dirt
|
||||
local sand_node = df_mapitems.node_name.sand
|
||||
local stone_node = df_mapitems.node_name.stone
|
||||
local cobble_node = df_mapitems.node_name.cobble
|
||||
local dirt_node = df_dependencies.node_name_dirt
|
||||
local sand_node = df_dependencies.node_name_sand
|
||||
local stone_node = df_dependencies.node_name_stone
|
||||
local cobble_node = df_dependencies.node_name_cobble
|
||||
|
||||
minetest.register_node("df_mapitems:dirt_with_cave_moss", {
|
||||
description = S("Dirt with Cave Moss"),
|
||||
@ -45,14 +45,16 @@ minetest.register_node("df_mapitems:dirt_with_cave_moss", {
|
||||
is_ground_content = false,
|
||||
light_source = 2,
|
||||
paramtype = "light",
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8},
|
||||
sounds = df_mapitems.sounds.dirt_mossy,
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8, handy=1,shovely=1,dirt=2, soil_sapling=2, soil_sugarcane=1, cultivatable=1, enderman_takable=1, building_block=1, compostability=30, opaque=1},
|
||||
sounds = df_dependencies.sound_dirt({footstep = {name = df_dependencies.soundfile_grass_footstep, gain = 0.25},}),
|
||||
soil = {
|
||||
base = "df_mapitems:dirt_with_cave_moss",
|
||||
dry = farming_soil,
|
||||
wet = farming_soil_wet
|
||||
},
|
||||
_dfcaverns_dead_node = dirt_node,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
soil_type_spread("df_mapitems:cave_moss_spread", "df_mapitems:dirt_with_cave_moss", dirt_node)
|
||||
@ -71,9 +73,11 @@ minetest.register_node("df_mapitems:sand_scum", {
|
||||
is_ground_content = false,
|
||||
light_source = 2,
|
||||
paramtype = "light",
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8},
|
||||
sounds = df_mapitems.sounds.sandscum,
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8, handy=1,shovely=1, falling_node=1, sand=1, soil_sugarcane=1, enderman_takable=1, building_block=1, material_sand=1, opaque=1},
|
||||
sounds = df_dependencies.sound_sand({footstep = {name = "dfcaverns_squish", gain = 0.25},}),
|
||||
_dfcaverns_dead_node = sand_node,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
soil_type_spread("df_mapitems:sand_scum_spread", "df_mapitems:sand_scum", sand_node)
|
||||
@ -92,14 +96,16 @@ minetest.register_node("df_mapitems:dirt_with_pebble_fungus", {
|
||||
is_ground_content = false,
|
||||
light_source = 2,
|
||||
paramtype = "light",
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8},
|
||||
sounds = df_mapitems.sounds.dirt,
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8, handy=1,shovely=1,dirt=2, soil_sapling=2, soil_sugarcane=1, cultivatable=1, enderman_takable=1, building_block=1, compostability=30, opaque=1},
|
||||
sounds = df_dependencies.sound_dirt(),
|
||||
soil = {
|
||||
base = "df_mapitems:dirt_with_pebble_fungus",
|
||||
dry = farming_soil,
|
||||
wet = farming_soil_wet
|
||||
},
|
||||
_dfcaverns_dead_node = dirt_node,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
soil_type_spread("df_mapitems:pebble_fungus_spread", "df_mapitems:dirt_with_pebble_fungus", dirt_node)
|
||||
@ -118,14 +124,16 @@ minetest.register_node("df_mapitems:dirt_with_stillworm", {
|
||||
is_ground_content = false,
|
||||
light_source = 2,
|
||||
paramtype = "light",
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8},
|
||||
sounds = df_mapitems.sounds.dirt_mossy,
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8, handy=1,shovely=1,dirt=2, soil_sapling=2, soil_sugarcane=1, cultivatable=1, enderman_takable=1, building_block=1, compostability=30, opaque=1},
|
||||
sounds = df_dependencies.sound_dirt({footstep = {name = df_dependencies.soundfile_grass_footstep, gain = 0.25},}),
|
||||
soil = {
|
||||
base = "df_mapitems:dirt_with_stillworm",
|
||||
dry = farming_soil,
|
||||
wet = farming_soil_wet
|
||||
},
|
||||
_dfcaverns_dead_node = dirt_node,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
soil_type_spread("df_mapitems:stillworm_spread", "df_mapitems:dirt_with_stillworm", dirt_node)
|
||||
@ -141,30 +149,34 @@ minetest.register_node("df_mapitems:spongestone", {
|
||||
drop = dirt_node,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8},
|
||||
sounds = df_mapitems.sounds.dirt,
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8, shovely=1,dirt=2, enderman_takable=1, building_block=1, compostability=10, opaque=1},
|
||||
sounds = df_dependencies.sound_dirt(),
|
||||
soil = {
|
||||
base = "df_mapitems:spongestone",
|
||||
dry = farming_soil,
|
||||
wet = farming_soil_wet
|
||||
},
|
||||
_dfcaverns_dead_node = dirt_node,
|
||||
_mcl_blast_resistance = 0.6,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:rock_rot", {
|
||||
description = S("Rock Rot"),
|
||||
_doc_items_longdesc = df_mapitems.doc.rock_rot_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.rock_rot_usage,
|
||||
tiles = {df_mapitems.texture.stone .. "^dfcaverns_ground_cover_rock_rot.png", df_mapitems.texture.stone,
|
||||
{name = df_mapitems.texture.stone .. "^(dfcaverns_ground_cover_rock_rot.png^[mask:dfcaverns_ground_cover_side_mask.png)",
|
||||
tiles = {df_dependencies.texture_stone .. "^dfcaverns_ground_cover_rock_rot.png", df_dependencies.texture_stone,
|
||||
{name = df_dependencies.texture_stone .. "^(dfcaverns_ground_cover_rock_rot.png^[mask:dfcaverns_ground_cover_side_mask.png)",
|
||||
tileable_vertical = false}},
|
||||
drop = df_mapitems.node_name.cobble,
|
||||
drop = df_dependencies.node_name_cobble,
|
||||
is_ground_content = false,
|
||||
light_source = 2,
|
||||
paramtype = "light",
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8},
|
||||
sounds = df_mapitems.sounds.dirt,
|
||||
groups = {crumbly = 3, soil = 1, light_sensitive_fungus = 8, shovely=1,dirt=2, enderman_takable=1, building_block=1, compostability=5, opaque=1},
|
||||
sounds = df_dependencies.sound_dirt(),
|
||||
_dfcaverns_dead_node = stone_node,
|
||||
_mcl_blast_resistance = 3,
|
||||
_mcl_hardness = 1,
|
||||
})
|
||||
|
||||
soil_type_spread("df_mapitems:rock_rot_spread", "df_mapitems:rock_rot", stone_node)
|
||||
@ -179,26 +191,30 @@ 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 = {df_mapitems.texture.cobble .. "^dfcaverns_floor_fungus.png"},
|
||||
tiles = {df_dependencies.texture_cobble .. "^dfcaverns_floor_fungus.png"},
|
||||
drop = cobble_node,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, stone = 2, slippery = 1, light_sensitive_fungus = 8, df_caverns_floor_fungus = 1},
|
||||
_dfcaverns_dead_node = df_mapitems.node_name.cobble,
|
||||
sounds = df_mapitems.sounds.floor_fungus,
|
||||
is_ground_content = false,
|
||||
groups = {cracky = 3, stone = 2, slippery = 1, light_sensitive_fungus = 8, df_caverns_floor_fungus = 1, pickaxey=1, building_block=1, material_stone=1, opaque=1},
|
||||
_dfcaverns_dead_node = df_dependencies.node_name_cobble,
|
||||
sounds = df_dependencies.sound_stone({footstep = {name = "dfcaverns_squish", gain = 0.25},}),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
})
|
||||
|
||||
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 = {df_mapitems.texture.cobble .. "^dfcaverns_floor_fungus_fine.png"},
|
||||
tiles = {df_dependencies.texture_cobble .. "^dfcaverns_floor_fungus_fine.png"},
|
||||
drop = cobble_node,
|
||||
is_ground_content = false,
|
||||
paramtype = "light",
|
||||
groups = {cracky = 3, stone = 2, slippery = 1, light_sensitive_fungus = 8, df_caverns_floor_fungus = 1},
|
||||
_dfcaverns_dead_node = df_mapitems.node_name.cobble,
|
||||
df_mapitems.sounds.floor_fungus,
|
||||
groups = {cracky = 3, stone = 2, slippery = 1, light_sensitive_fungus = 8, df_caverns_floor_fungus = 1, pickaxey=1, building_block=1, material_stone=1, opaque=1},
|
||||
_dfcaverns_dead_node = df_dependencies.node_name_cobble,
|
||||
sounds = df_dependencies.sound_stone({footstep = {name = "dfcaverns_squish", gain = 0.25},}),
|
||||
_mcl_blast_resistance = 6,
|
||||
_mcl_hardness = 1.5,
|
||||
on_timer = function(pos, elapsed)
|
||||
minetest.swap_node(pos, {name="df_mapitems:cobble_with_floor_fungus"})
|
||||
end,
|
||||
@ -219,7 +235,7 @@ minetest.register_abm{
|
||||
if above_def and (above_def.buildable_to == true or above_def.walkable == false) then
|
||||
minetest.swap_node(pos, {name="df_mapitems:cobble_with_floor_fungus_fine"})
|
||||
if math.random() > 0.5 then
|
||||
minetest.get_node_timer(pos):start(math.random(100, 1000))
|
||||
minetest.get_node_timer(pos):start(math.random(1000, 10000))
|
||||
end
|
||||
end
|
||||
end,
|
||||
@ -232,14 +248,16 @@ 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 = {df_mapitems.texture.ice .. "^dfcaverns_hoar_moss.png"},
|
||||
drop = df_mapitems.node_name.ice,
|
||||
tiles = {df_dependencies.texture_ice .. "^dfcaverns_hoar_moss.png"},
|
||||
drop = df_dependencies.node_name_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 = df_mapitems.sounds.glass,
|
||||
_dfcaverns_dead_node = df_mapitems.node_name.ice,
|
||||
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1, slippery = 2, light_sensitive_fungus = 8, handy=1,pickaxey=1, building_block=1, ice=1, opaque=1},
|
||||
sounds = df_dependencies.sound_glass(),
|
||||
_dfcaverns_dead_node = df_dependencies.node_name_ice,
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.5,
|
||||
})
|
||||
|
||||
|
||||
@ -260,7 +278,7 @@ if minetest.get_modpath("footprints") then
|
||||
|
||||
footprints.register_trample_node("df_mapitems:sand_scum", {
|
||||
trampled_node_def_override = {description = S("Sand Scum with Footprint"),},
|
||||
hard_pack_node_name = df_mapitems.node_name.sand,
|
||||
hard_pack_node_name = df_dependencies.node_name_sand,
|
||||
footprint_opacity = 128,
|
||||
hard_pack_probability = HARDPACK_PROBABILITY,
|
||||
hard_pack_count = HARDPACK_COUNT * 0.5,
|
||||
|
@ -1,12 +1,10 @@
|
||||
df_mapitems = {}
|
||||
|
||||
local modname = minetest.get_current_modname()
|
||||
df_mapitems.S = minetest.get_translator(modname)
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
|
||||
--load companion lua files
|
||||
dofile(modpath.."/config.lua")
|
||||
dofile(modpath.."/dependencies.lua")
|
||||
dofile(modpath.."/doc.lua")
|
||||
dofile(modpath.."/aliases.lua")
|
||||
dofile(modpath.."/util.lua")
|
||||
|
@ -1,4 +1,4 @@
|
||||
name = df_mapitems
|
||||
description = Various node types used by the dfcaverns mapgen mod. Includes cave coral, flowstone, glowing crystals, glow worms, moss and fungi ground cover, and snare weed.
|
||||
depends = default, subterrane
|
||||
optional_depends = df_farming, farming, doc, radiant_damage, footprints
|
||||
depends = df_dependencies, subterrane
|
||||
optional_depends = df_farming, doc, radiant_damage, footprints
|
@ -1,18 +1,20 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
minetest.register_node("df_mapitems:snareweed", {
|
||||
description = S("Snareweed"),
|
||||
_doc_items_longdesc = df_mapitems.doc.snareweed_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.snareweed_usage,
|
||||
tiles = {df_mapitems.texture.dirt .. "^dfcaverns_snareweed_roots.png", df_mapitems.texture.dirt},
|
||||
tiles = {df_dependencies.texture_dirt .. "^dfcaverns_snareweed_roots.png", df_dependencies.texture_dirt},
|
||||
drawtype="plantlike_rooted",
|
||||
paramtype2 = "leveled",
|
||||
special_tiles = {{name = "dfcaverns_snareweed.png", tileable_vertical = true}},
|
||||
is_ground_content = false,
|
||||
drop = df_mapitems.node_name.dirt,
|
||||
drop = df_dependencies.node_name_dirt,
|
||||
light_source = 6,
|
||||
groups = {crumbly = 3, soil = 1},
|
||||
sounds = df_mapitems.sounds.dirt,
|
||||
groups = {crumbly = 3, soil = 1, handy=1,shovely=1, dirt=1,},
|
||||
sounds = df_dependencies.sound_dirt(),
|
||||
_mcl_blast_resistance = 0.5,
|
||||
_mcl_hardness = 0.6,
|
||||
})
|
||||
|
||||
if df_mapitems.config.snareweed_damage then
|
||||
@ -41,9 +43,9 @@ if df_mapitems.config.snareweed_damage then
|
||||
end
|
||||
|
||||
|
||||
local c_water = df_mapitems.node_id.water
|
||||
local c_dirt = df_mapitems.node_id.dirt
|
||||
local c_stone = df_mapitems.node_id.stone
|
||||
local c_water = minetest.get_content_id(df_dependencies.node_name_water_source)
|
||||
local c_dirt = minetest.get_content_id(df_dependencies.node_name_dirt)
|
||||
local c_stone = minetest.get_content_id(df_dependencies.node_name_stone)
|
||||
local c_snareweed = minetest.get_content_id("df_mapitems:snareweed")
|
||||
|
||||
df_mapitems.place_snareweed = function(area, data, bi, param2_data)
|
||||
|
BIN
df_mapitems/sounds/dfcaverns_slow_heartbeat.ogg
Normal file
BIN
df_mapitems/sounds/dfcaverns_slow_heartbeat.ogg
Normal file
Binary file not shown.
@ -1,3 +1,5 @@
|
||||
dfcaverns_squish.1.ogg - from https://freesound.org/people/DrMinky/sounds/167074/ by DrMinky under Creative Commons BY 3.0
|
||||
dfcaverns_squish.2.ogg - from https://freesound.org/people/DrMinky/sounds/167075/ by DrMinky under Creative Commons BY 3.0
|
||||
dfcaverns_squish.3.ogg - from https://freesound.org/people/DrMinky/sounds/167073/ by DrMinky under Creative Commons BY 3.0
|
||||
dfcaverns_squish.3.ogg - from https://freesound.org/people/DrMinky/sounds/167073/ by DrMinky under Creative Commons BY 3.0
|
||||
|
||||
slow heartbeat - https://freesound.org/people/daandraait/sounds/249716/ under CC0
|
@ -59,7 +59,7 @@ df_mapitems.place_against_surface = function(itemstack, placer, pointed_thing)
|
||||
end
|
||||
-- add the node and remove 1 item from the itemstack
|
||||
minetest.add_node(above_pos, {name = itemstack:get_name(), param2 = param2})
|
||||
if not minetest.settings:get_bool("creative_mode", false) and not minetest.check_player_privs(placer, "creative") then
|
||||
if not minetest.is_creative_enabled(placer:get_player_name()) then
|
||||
itemstack:take_item()
|
||||
end
|
||||
return itemstack
|
||||
|
@ -1,34 +1,42 @@
|
||||
local S = df_mapitems.S
|
||||
local S = minetest.get_translator(minetest.get_current_modname())
|
||||
|
||||
-- overridden to trigger an achievement, without making achievements a dependency of this mod
|
||||
df_mapitems.on_veinstone_punched = function()
|
||||
end
|
||||
|
||||
minetest.register_node("df_mapitems:veinstone", {
|
||||
description = S("Veinstone"),
|
||||
_doc_items_longdesc = df_mapitems.doc.veinstone_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.veinstone_usage,
|
||||
tiles = {df_mapitems.texture.stone .. "^dfcaverns_veins.png"},
|
||||
groups = {cracky = 3, stone = 1, lava_heatable = 1},
|
||||
_magma_conduits_heats_to = df_mapitems.node_name.cobble,
|
||||
tiles = {df_dependencies.texture_stone .. "^dfcaverns_veins.png"},
|
||||
groups = {cracky = 3, stone = 1, lava_heatable = 1, pickaxey=1, building_block=1, material_stone=1},
|
||||
_magma_conduits_heats_to = df_dependencies.node_name_cobble,
|
||||
is_ground_content = false,
|
||||
light_source = 2,
|
||||
drop = "df_mapitems:veinstone",
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
on_punch = function(pos, node, puncher, pointed_thing)
|
||||
minetest.node_punch(pos, node, puncher, pointed_thing)
|
||||
minetest.swap_node(pos, {name="df_mapitems:veinstone_pulse"})
|
||||
minetest.get_node_timer(pos):start(2)
|
||||
minetest.sound_play({name="dfcaverns_slow_heartbeat", gain=0.5}, {pos = pos})
|
||||
df_mapitems.on_veinstone_punched(pos, node, puncher, pointed_thing)
|
||||
end,
|
||||
_mcl_blast_resistance = 10,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:veinstone_pulse", {
|
||||
description = S("Veinstone"),
|
||||
_doc_items_longdesc = df_mapitems.doc.veinstone_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.veinstone_usage,
|
||||
tiles = {df_mapitems.texture.stone .. "^dfcaverns_veins.png"},
|
||||
groups = {cracky = 3, stone = 1, lava_heatable = 1, not_in_creative_inventory = 1},
|
||||
_magma_conduits_heats_to = df_mapitems.node_name.cobble,
|
||||
tiles = {df_dependencies.texture_stone .. "^dfcaverns_veins.png"},
|
||||
groups = {cracky = 3, stone = 1, lava_heatable = 1, not_in_creative_inventory = 1, pickaxey=1, building_block=1, material_stone=1},
|
||||
_magma_conduits_heats_to = df_dependencies.node_name_cobble,
|
||||
is_ground_content = false,
|
||||
light_source = 8,
|
||||
drop = "df_mapitems:veinstone",
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
on_timer = function(pos, elapsed)
|
||||
local positions, count = minetest.find_nodes_in_area(vector.add(pos,1), vector.subtract(pos,1), "df_mapitems:veinstone")
|
||||
if count["df_mapitems:veinstone"] == 0 then
|
||||
@ -40,27 +48,34 @@ minetest.register_node("df_mapitems:veinstone_pulse", {
|
||||
if positions[1] == nil then
|
||||
positions = {[1] = minetest.find_node_near(pos, 4, "df_mapitems:veinstone")}
|
||||
end
|
||||
if (positions[1] ~= nil) then
|
||||
minetest.sound_play({name="dfcaverns_slow_heartbeat", gain=0.5}, {pos = pos})
|
||||
end
|
||||
for _, neighbor_pos in pairs(positions) do
|
||||
minetest.swap_node(neighbor_pos, {name="df_mapitems:veinstone_pulse"})
|
||||
minetest.get_node_timer(neighbor_pos):start(2)
|
||||
end
|
||||
end
|
||||
minetest.swap_node(pos, {name="df_mapitems:veinstone_refractory"})
|
||||
minetest.get_node_timer(pos):start(12)
|
||||
end,
|
||||
_mcl_blast_resistance = 10,
|
||||
_mcl_hardness = 3,
|
||||
})
|
||||
|
||||
minetest.register_node("df_mapitems:veinstone_refractory", {
|
||||
description = S("Veinstone"),
|
||||
_doc_items_longdesc = df_mapitems.doc.veinstone_desc,
|
||||
_doc_items_usagehelp = df_mapitems.doc.veinstone_usage,
|
||||
tiles = {df_mapitems.texture.stone .. "^dfcaverns_veins.png"},
|
||||
groups = {cracky = 3, stone = 1, lava_heatable = 1, not_in_creative_inventory = 1},
|
||||
_magma_conduits_heats_to = df_mapitems.node_name.cobble,
|
||||
tiles = {df_dependencies.texture_stone .. "^dfcaverns_veins.png"},
|
||||
groups = {cracky = 3, stone = 1, lava_heatable = 1, not_in_creative_inventory = 1, pickaxey=1, building_block=1, material_stone=1},
|
||||
_magma_conduits_heats_to = df_dependencies.node_name_cobble,
|
||||
is_ground_content = false,
|
||||
light_source = 1,
|
||||
drop = "df_mapitems:veinstone",
|
||||
sounds = df_mapitems.sounds.stone,
|
||||
sounds = df_dependencies.sound_stone(),
|
||||
on_timer = function(pos, elapsed)
|
||||
minetest.swap_node(pos, {name="df_mapitems:veinstone"})
|
||||
end,
|
||||
_mcl_blast_resistance = 10,
|
||||
_mcl_hardness = 3,
|
||||
})
|
Reference in New Issue
Block a user