many worldgen mods and gonna try technic now

This commit is contained in:
2026-09-13 03:30:48 -06:00
parent bac6ac94a3
commit 548749cb1a
4811 changed files with 163271 additions and 1 deletions
+27
View File
@@ -0,0 +1,27 @@
MIT License
Copyright (c) 2022 Skandarella
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Modified Code by Liil/Wilhelmine/Skandarella (c) 2022
Textures and Schematics by Liil/Wilhelmine/Skandarella under (MIT) License (c) 2022
+494
View File
@@ -0,0 +1,494 @@
local S = minetest.get_translator("livingcaves")
local modname = "livingcaves"
local modpath = minetest.get_modpath(modname)
local mg_name = minetest.get_mapgen_setting("mg_name")
-- ground nodes
minetest.register_node("livingcaves:mossycaverock", {
description = S("Mossy Cave Rock"),
tiles = {"livingcaves_mossycaverock.png"},
groups = {cracky = 3, stone = 1},
drop = "livingcaves:mossycaverock",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:lichycaverock", {
description = S("Lichen infested Cave Rock"),
tiles = {"livingcaves_lichyrock.png"},
groups = {cracky = 3, stone = 1},
drop = "livingcaves:lichycaverock",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:mushcave_bottom", {
description = S("Mushroom Infested Rock"),
tiles = {"livingcaves_mushcave_bottom.png"},
groups = {cracky = 3, stone = 1},
drop = "livingcaves:mushcave_bottom",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:mushcave_bottom2", {
description = S("Mushroom Infested Rock"),
tiles = {"livingcaves_mushcave_bottom2.png"},
groups = {cracky = 3, stone = 1},
drop = "livingcaves:mushcave_bottom2",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:dripstonecave_bottom", {
description = S("Dripstone Cave Stone"),
tiles = {"livingcaves_dripstonecave_bottom.png"},
groups = {cracky = 3, stone = 1},
drop = "livingcaves:dripstonecave_bottom",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:dripstonecave_bottom2", {
description = S("Dripstone Cave Stone"),
tiles = {"livingcaves_dripstonecave_bottom2.png"},
groups = {cracky = 3, stone = 1},
drop = "livingcaves:dripstonecave_bottom2",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:bacteriacave_bottom", {
description = S("Bacteria Infested Rock"),
tiles = {"livingcaves_bacteriacave_bottom.png"},
groups = {cracky = 3, stone = 1},
drop = "livingcaves:bacteriacave_bottom",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:bacteriacave_bottom2", {
description = S("Bacteria Infested Rock"),
tiles = {"livingcaves_bacteriacave_bottom2.png"},
groups = {cracky = 3, stone = 1},
drop = "livingcaves:bacteriacave_bottom2",
light_source = 4,
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:rootdirt", {
description = S("Dirt With Roots"),
tiles = {"livingcaves_rootdirt.png"},
groups = {crumbly = 3, soil = 1,},
drop = "livingcaves:rootdirt",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:rootdirt2", {
description = S("Dirt With Roots"),
tiles = {"livingcaves_rootdirt2.png"},
groups = {crumbly = 3, soil = 1,},
drop = "livingcaves:rootdirt2",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:icecave_ice", {
description = S("Cave Ice"),
tiles = {"livingcaves_icecave_ice.png"},
groups = {cracky = 3, cools_lava = 1, slippery = 3},
drop = "livingcaves:icecave_ice",
legacy_mineral = true,
sounds = default.node_sound_ice_defaults(),
})
minetest.register_node("livingcaves:icecave_ice2", {
description = S("Cave Ice"),
tiles = {"livingcaves_icecave_ice2.png"},
groups = {cracky = 3, cools_lava = 1, slippery = 3},
drop = "livingcaves:icecave_ice2",
legacy_mineral = true,
sounds = default.node_sound_ice_defaults(),
})
minetest.register_node("livingcaves:bacteriacave_trapstone", {
description = S("Flesh Eating Bacteria Trapstone"),
tiles = {"livingcaves_bacteriacave_trapstone.png"},
groups = {choppy = 3, wood = 1},
drop = "livingcaves:bacteriacave_trapstone",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:bacteriacave_trapnode", {
description = S("Flesh Eating Bacteria Trap"),
tiles = {"livingcaves_bacteriacave_bottom.png"},
groups = {choppy = 3, wood = 1},
walkable = false,
drop = "livingcaves:bacteriacave_trapnode",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:bacteriacave_poolstone", {
description = S("Bacteria Poolstone"),
tiles = {"livingcaves_bacteriacave_poolstone.png"},
groups = {cracky = 3, stone = 1},
drop = "livingcaves:bacteriacave_poolstone",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:bacteriacave_nestfoot", {
description = S("Bacteria Nest Foot"),
tiles = {"livingcaves_bacteriacave_nestfoot.png"},
groups = {choppy = 3, stone = 1},
drop = "livingcaves:bacteriacave_nestfoot",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("livingcaves:bacteriacave_nest", {
description = S("Bacteria Nest Core"),
tiles = {
{
name = "livingcaves_bacteriacave_nest.png",
animation = {type="vertical_frames", length = 4}
}
},
groups = {choppy = 3, stone = 1},
light_source = 7,
drop = "livingcaves:bacteriacave_nest",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:stone"},
is_ground_content = true,
sidelen = 16,
place_offset_y = -1,
fill_ratio = 8,
flags = "force_placement,all_floors",
y_max = -30,
y_min = -90,
decoration = "livingcaves:mushcave_bottom"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:stone"},
is_ground_content = true,
sidelen = 16,
place_offset_y = -1,
fill_ratio = 8,
flags = "force_placement,all_ceilings",
y_max = -30,
y_min = -90,
decoration = "livingcaves:mushcave_bottom2"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:stone"},
is_ground_content = true,
sidelen = 16,
place_offset_y = -1,
fill_ratio = 8,
flags = "force_placement,all_floors",
y_max = -90,
y_min = -200,
decoration = "livingcaves:dripstonecave_bottom"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:stone"},
is_ground_content = true,
sidelen = 16,
place_offset_y = -1,
fill_ratio = 8,
flags = "force_placement,all_ceilings",
y_max = -90,
y_min = -200,
decoration = "livingcaves:dripstonecave_bottom2"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:stone"},
is_ground_content = true,
sidelen = 16,
place_offset_y = -1,
fill_ratio = 8,
flags = "force_placement,all_floors",
y_max = -200,
y_min = -400,
decoration = "livingcaves:bacteriacave_bottom"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:stone"},
is_ground_content = true,
sidelen = 16,
place_offset_y = -1,
fill_ratio = 8,
flags = "force_placement,all_ceilings",
y_max = -200,
y_min = -400,
decoration = "livingcaves:bacteriacave_bottom2"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:stone"},
is_ground_content = true,
sidelen = 16,
place_offset_y = -1,
fill_ratio = 8,
biomes = {"snowy_grassland", "icesheet_under", "icesheet", "snowy_grassland_under", "tundra_highland", "tundra_beach", "tundra_under", "taiga", "taiga_under", "livingfloatlands:coldsteppe"},
flags = "force_placement,all_floors",
y_max = -1,
y_min = -30,
decoration = "livingcaves:icecave_ice"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:stone"},
is_ground_content = true,
sidelen = 16,
place_offset_y = -1,
fill_ratio = 8,
biomes = {"snowy_grassland", "icesheet_under", "icesheet", "snowy_grassland_under", "tundra_highland", "tundra_beach", "tundra_under", "taiga", "taiga_under", "livingfloatlands:coldsteppe"},
flags = "force_placement,all_ceilings",
y_max = -1,
y_min = -30,
decoration = "livingcaves:icecave_ice2"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:stone"},
is_ground_content = true,
sidelen = 16,
place_offset_y = -1,
fill_ratio = 2,
biomes = {"coniferous_forest_under", "coniferous_forest", "deciduous_forest_under", "deciduous_forest", "savanna", "savanna_under", "rainforest", "rainforest_swamp", "rainforest_under", "naturalbiomes:alpine", "naturalbiomes:mediterranean", "naturalbiomes:wetsavanna", "livingjungle:jungle", "livingfloatlands:coldgiantforest", "livingfloatlands:giantforest", "livingfloatlands:paleojungle"},
flags = "force_placement,all_ceilings",
y_max = -1,
y_min = -30,
decoration = "livingcaves:rootdirt"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:stone"},
is_ground_content = true,
sidelen = 16,
place_offset_y = -1,
fill_ratio = 2,
biomes = {"coniferous_forest_under", "coniferous_forest", "deciduous_forest_under", "deciduous_forest", "savanna", "savanna_under", "rainforest", "rainforest_swamp", "rainforest_under", "naturalbiomes:alpine", "naturalbiomes:mediterranean", "naturalbiomes:wetsavanna", "livingjungle:jungle", "livingfloatlands:coldgiantforest", "livingfloatlands:giantforest", "livingfloatlands:paleojungle"},
flags = "force_placement,all_ceilings",
y_max = -1,
y_min = -30,
decoration = "livingcaves:rootdirt2"
})
minetest.register_node("livingcaves:spiderweb", {
description = S("Spider Web"),
tiles = {"livingcaves_spidernet.png"},
drop = "livingcaves:spiderweb",
drawtype = "plantlike",
liquid_viscosity = 15,
liquidtype = "source",
liquid_alternative_flowing = "livingcaves:spiderweb",
liquid_alternative_source = "livingcaves:spiderweb",
liquid_renewable = false,
liquid_range = 0,
drowning = 0,
paramtype = "light",
sunlight_propagates = true,
walkable = false,
climbable = false,
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults()
})
minetest.register_node("livingcaves:spiderweb2", {
description = S("Spider Web"),
tiles = {"livingcaves_spidernet2.png"},
drop = "livingcaves:spiderweb2",
drawtype = "plantlike",
liquid_viscosity = 15,
liquidtype = "source",
liquid_alternative_flowing = "livingcaves:spiderweb2",
liquid_alternative_source = "livingcaves:spiderweb2",
liquid_renewable = false,
liquid_range = 0,
drowning = 0,
paramtype = "light",
sunlight_propagates = true,
walkable = false,
climbable = false,
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults()
})
minetest.register_node("livingcaves:spiderweb3", {
description = S("Spider Web"),
tiles = {"livingcaves_spidernet3.png"},
drop = "livingcaves:spiderweb3",
drawtype = "plantlike",
liquid_viscosity = 15,
liquidtype = "source",
liquid_alternative_flowing = "livingcaves:spiderweb3",
liquid_alternative_source = "livingcaves:spiderweb3",
liquid_renewable = false,
liquid_range = 0,
drowning = 0,
paramtype = "light",
sunlight_propagates = true,
walkable = false,
climbable = false,
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults()
})
minetest.register_node("livingcaves:spiderweb4", {
description = S("Spider Web"),
tiles = {"livingcaves_spidernet4.png"},
drop = "livingcaves:spiderweb4",
drawtype = "plantlike",
liquid_viscosity = 15,
liquidtype = "source",
liquid_alternative_flowing = "livingcaves:spiderweb4",
liquid_alternative_source = "livingcaves:spiderweb4",
liquid_renewable = false,
liquid_range = 0,
drowning = 0,
paramtype = "light",
sunlight_propagates = true,
walkable = false,
climbable = false,
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults()
})
minetest.register_node("livingcaves:spiderweb5", {
description = S("Spider Web"),
tiles = {"livingcaves_spidernet5.png"},
drop = "livingcaves:spiderweb5",
drawtype = "plantlike",
liquid_viscosity = 15,
liquidtype = "source",
liquid_alternative_flowing = "livingcaves:spiderweb5",
liquid_alternative_source = "livingcaves:spiderweb5",
liquid_renewable = false,
liquid_range = 0,
drowning = 0,
paramtype = "light",
sunlight_propagates = true,
walkable = false,
climbable = false,
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults()
})
minetest.register_node("livingcaves:spiderweb6", {
description = S("Spider Web"),
tiles = {"livingcaves_spidernet6.png"},
drop = "livingcaves:spiderweb6",
drawtype = "plantlike",
liquid_viscosity = 15,
liquidtype = "source",
liquid_alternative_flowing = "livingcaves:spiderweb6",
liquid_alternative_source = "livingcaves:spiderweb6",
liquid_renewable = false,
liquid_range = 0,
drowning = 0,
paramtype = "light",
sunlight_propagates = true,
walkable = false,
climbable = false,
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults()
})
minetest.register_node("livingcaves:spiderweb7", {
description = S("Spider Web"),
tiles = {"livingcaves_spidernet7.png"},
drop = "livingcaves:spiderweb7",
drawtype = "raillike",
liquid_viscosity = 15,
liquidtype = "source",
liquid_alternative_flowing = "livingcaves:spiderweb7",
liquid_alternative_source = "livingcaves:spiderweb7",
liquid_renewable = false,
liquid_range = 0,
drowning = 0,
paramtype = "light",
sunlight_propagates = true,
walkable = false,
climbable = false,
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults()
})
minetest.register_node("livingcaves:spiderweb8", {
description = S("Spider Web"),
tiles = {"livingcaves_spidernet8.png"},
drop = "livingcaves:spiderweb8",
drawtype = "raillike",
liquid_viscosity = 15,
liquidtype = "source",
liquid_alternative_flowing = "livingcaves:spiderweb8",
liquid_alternative_source = "livingcaves:spiderweb8",
liquid_renewable = false,
liquid_range = 0,
drowning = 0,
paramtype = "light",
sunlight_propagates = true,
walkable = false,
climbable = false,
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults()
})
minetest.register_node("livingcaves:spiderweb9", {
description = S("Spider Web"),
tiles = {"livingcaves_spidernet9.png"},
drop = "livingcaves:spiderweb9",
drawtype = "raillike",
liquid_viscosity = 15,
liquidtype = "source",
liquid_alternative_flowing = "livingcaves:spiderweb9",
liquid_alternative_source = "livingcaves:spiderweb9",
liquid_renewable = false,
liquid_range = 0,
drowning = 0,
paramtype = "light",
sunlight_propagates = true,
walkable = false,
climbable = false,
groups = {crumbly = 3, sand = 1, liquid = 3, disable_jump = 1},
sounds = default.node_sound_sand_defaults()
})
+527
View File
@@ -0,0 +1,527 @@
local S = minetest.get_translator("livingcaves")
-- bucket
minetest.register_craft({
output = "livingcaves:bucket_empty 1",
recipe = {
{"livingcaves:stalagmitelarge", "", "livingcaves:stalagmitelarge"},
{"", "default:stick", ""},
}
})
-- root wood
minetest.register_node("livingcaves:root_wood", {
description = S("Root Woven"),
tiles = {"livingcaves_rootdirt_woven.png"},
paramtype = "light",
drawtype = "allfaces_optional",
is_ground_content = false,
groups = {wood = 1, snappy = 3, flammable = 2},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "livingcaves:root_wood 4",
recipe = {{"livingcaves:rootdirt"}}
})
minetest.register_craft({
output = "livingcaves:root_wood 4",
recipe = {{"livingcaves:rootdirt2"}}
})
stairs.register_stair_and_slab(
"livingcaves_rootdirt_woven",
"livingcaves:root_wood",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"livingcaves_rootdirt_woven.png"},
S("Root Stair"),
S("Root Slab"),
default.node_sound_wood_defaults()
)
stairs.register_stair_and_slab(
"livingcaves_root_dirt",
"livingcaves:rootdirt",
{choppy = 2, oddly_breakable_by_hand = 1, flammable = 3},
{"livingcaves_rootdirt.png", "livingcaves_rootdirt.png", "livingcaves_rootdirt.png"},
S("Root Dirt Stair"),
S("Root Dirt Slab"),
default.node_sound_wood_defaults()
)
doors.register_fencegate(
"livingcaves:gate_root_wood",
{
description = S("Root Fence Gate"),
texture = "livingcaves_rootdirt_fencewood.png",
material = "livingcaves:root_wood",
groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence(
"livingcaves:fence_root_wood",
{
description = S("Root Fence"),
texture = "livingcaves_rootdirt_fencewood.png",
inventory_image = "default_fence_overlay.png^livingcaves_rootdirt_fencewood.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^livingcaves_rootdirt_fencewood.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "livingcaves:root_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
default.register_fence_rail(
"livingcaves:fence_rail_root_wood",
{
description = S("Root Fence Rail"),
texture = "livingcaves_rootdirt_fencewood.png",
inventory_image = "default_fence_rail_overlay.png^livingcaves_rootdirt_fencewood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^livingcaves_rootdirt_fencewood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "livingcaves:root_wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults()
}
)
doors.register( "door_livingcaves_root", {
tiles = { { name = "livingcaves_door_rootdirt.png", backface_culling = true } },
description = S"Root Door",
inventory_image = "livingcaves_door_rootdirt_inv.png",
groups = { choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{ "livingcaves:root_wood", "livingcaves:root_wood", "livingcaves:root_wood" },
{ "default:stick", "default:stick", "default:stick" },
{ "livingcaves:root_wood", "livingcaves:root_wood", "livingcaves:root_wood" },
}
} )
doors.register_trapdoor("livingcaves:root_trapdoor", {
description = S("Root Trapdoor"),
inventory_image = "livingcaves_roottrapdoor.png",
wield_image = "livingcaves_roottrapdoor.png",
tile_front = "livingcaves_roottrapdoor.png",
tile_side = "livingcaves_root_trapdoor_side.png",
gain_open = 0.06,
gain_close = 0.13,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
})
minetest.register_craft({
output = "livingcaves:root_trapdoor",
recipe = {
{"livingcaves:root_wood", "livingcaves:root_wood", "livingcaves:root_wood"},
{"livingcaves:root_wood", "livingcaves:root_wood", "livingcaves:root_wood"},
{"", "", ""},
}
})
minetest.register_node("livingcaves:root_lamp", {
description = S("Root Mushroom Lamp"),
light_source = 9,
drawtype = "torchlike",
inventory_image = "livingcaves_rootlamp.png",
wield_image = "livingcaves_rootlamp.png",
paramtype2 = "wallmounted",
walkable = false,
groups = {dig_immediate = 3, attached_node = 1},
tiles = {
{
name = "livingcaves_rootlamp2.png",
},
{
name = "livingcaves_rootlamp3.png",
},
{
name = "livingcaves_rootlamp.png",
}
},
selection_box = {
type = "wallmounted",
wall_top = {-0.25, -0.3, -0.25, 0.25, 0.5, 0.25},
wall_bottom = {-0.25, -0.5, -0.25, 0.25, 0.1, 0.25},
wall_side = {-0.5, -0.35, -0.15, -0.15, 0.4, 0.15}
}
})
minetest.register_craft({
output = "livingcaves:root_lamp",
recipe = {
{"livingcaves:rootcave_hangingroot", "livingcaves:glowshroom_top", "livingcaves:glowshroom"},
{"", "", ""},
}
})
minetest.register_craft({
output = "livingcaves:root_lamp",
recipe = {
{"livingcaves:rootcave_hangingroot2", "livingcaves:glowshroom_top", "livingcaves:glowshroom"},
{"", "", ""},
}
})
--- ice
walls.register(":livingcaves:icebrick_wall", S"Ice Brick Wall", "livingcaves_icecbricks.png",
"livingcaves:icebrick_wall", default.node_sound_stone_defaults())
stairs.register_stair_and_slab(
"livingcaves_icecbricks",
"livingcaves:icebrick",
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
{"livingcaves_icecbricks.png"},
S("Ice Brick Stair"),
S("Ice Brick Slab"),
default.node_sound_ice_defaults()
)
minetest.register_node("livingcaves:icebrick", {
description = S("Ice Brick"),
tiles = {"livingcaves_icecbricks.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_ice_defaults(),
})
minetest.register_craft({
output = "livingcaves:icebrick",
type = "shapeless",
recipe =
{"livingcaves:icecave_ice", "livingcaves:icecave_ice"}
})
minetest.register_craft({
output = "livingcaves:icebrick",
type = "shapeless",
recipe =
{"livingcaves:icecave_ice2", "livingcaves:icecave_ice2"}
})
minetest.register_craft({
output = "livingcaves:icebrick_wall",
type = "shapeless",
recipe =
{"livingcaves:icebrick"}
})
default.register_fence(
"livingcaves:fence_ice",
{
description = S("Ice Fence"),
texture = "livingcaves_ice_fencewood.png",
inventory_image = "default_fence_overlay.png^livingcaves_ice_fencewood.png^default_fence_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_overlay.png^livingcaves_ice_fencewood.png^default_fence_overlay.png^[makealpha:255,126,126",
material = "livingcaves:icebrick",
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_ice_defaults(),
}
)
default.register_fence_rail(
"livingcaves:fence_rail_ice",
{
description = S("Ice Fence Rail"),
texture = "livingcaves_ice_fencewood.png",
inventory_image = "default_fence_rail_overlay.png^livingcaves_ice_fencewood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
wield_image = "default_fence_rail_overlay.png^livingcaves_ice_fencewood.png^" ..
"default_fence_rail_overlay.png^[makealpha:255,126,126",
material = "livingcaves:icebrick",
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_ice_defaults(),
}
)
doors.register( "door_livingcaves_ice", {
tiles = { { name = "livingcaves_door_ice.png", backface_culling = true } },
description = S"Ice Door",
inventory_image = "livingcaves_door_ice_inv.png",
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_metal_defaults( ),
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
recipe = {
{ "livingcaves:icebrick", "livingcaves:icebrick", "livingcaves:icebrick" },
{ "livingcaves:icestalagmite", "livingcaves:icestalagmite", "livingcaves:icestalagmite" },
{ "livingcaves:icestalagmitelarge", "livingcaves:icestalagmitelarge", "livingcaves:icestalagmitelarge" },
}
} )
doors.register_trapdoor("livingcaves:ice_trapdoor", {
description = S("Ice Trapdoor"),
inventory_image = "livingcaves_icetrapdoor.png",
wield_image = "livingcaves_icetrapdoor.png",
tile_front = "livingcaves_icetrapdoor.png",
tile_side = "livingcaves_icetrapdoor_side.png",
gain_open = 0.06,
gain_close = 0.13,
sounds = default.node_sound_metal_defaults( ),
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
groups = {cracky = 3, stone = 2, door = 1},
})
minetest.register_craft({
output = "livingcaves:ice_trapdoor",
recipe = {
{"livingcaves:icestalagmite", "livingcaves:icestalagmite", "livingcaves:icestalagmite"},
{"livingcaves:icestalagmite", "livingcaves:icestalagmite", "livingcaves:icestalagmite"},
{"", "", ""},
}
})
--- dripstone
walls.register(":livingcaves:dripstonebrick_wall", S"Dripstone Brick Wall", "livingcaves_dripstonecave_bricks.png",
"livingcaves:dripstonebrick_wall", default.node_sound_stone_defaults())
stairs.register_stair_and_slab(
"livingcaves_dripstonecave_bricks",
"livingcaves:dripstonebrick",
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
{"livingcaves_dripstonecave_bricks.png"},
S("Dripstone Brick Stair"),
S("Dripstone Brick Slab"),
default.node_sound_stone_defaults()
)
minetest.register_node("livingcaves:dripstonebrick", {
description = S("Dripstone Bricks"),
tiles = {"livingcaves_dripstonecave_bricks.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "livingcaves:dripstonebrick",
type = "shapeless",
recipe =
{"livingcaves:dripstonecave_bottom", "livingcaves:dripstonecave_bottom"}
})
minetest.register_craft({
output = "livingcaves:dripstonebrick",
type = "shapeless",
recipe =
{"livingcaves:dripstonecave_bottom2", "livingcaves:dripstonecave_bottom2"}
})
minetest.register_craft({
output = "livingcaves:dripstonebrick_wall",
type = "shapeless",
recipe =
{"livingcaves:dripstonebrick"}
})
doors.register( "door_livingcaves_dripstone", {
tiles = { { name = "livingcaves_door_dripstone.png", backface_culling = true } },
description = S"Dripstone Door",
inventory_image = "livingcaves_door_dripstone_inv.png",
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_metal_defaults( ),
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
recipe = {
{ "livingcaves:dripstonebrick", "livingcaves:dripstonebrick", "livingcaves:dripstonebrick" },
{ "livingcaves:stalagmite", "livingcaves:stalagmite", "livingcaves:stalagmite" },
{ "livingcaves:stalagmitelarge", "livingcaves:stalagmitelarge", "livingcaves:stalagmitelarge" },
}
} )
doors.register_trapdoor("livingcaves:dripstone_trapdoor", {
description = S("Dripstone Trapdoor"),
inventory_image = "livingcaves_dripstonetrapdoor.png",
wield_image = "livingcaves_dripstonetrapdoor.png",
tile_front = "livingcaves_dripstonetrapdoor.png",
tile_side = "livingcaves_dripstonetrapdoor_side.png",
gain_open = 0.06,
gain_close = 0.13,
sounds = default.node_sound_metal_defaults( ),
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
groups = {cracky = 3, stone = 2, door = 1},
})
minetest.register_craft({
output = "livingcaves:dripstone_trapdoor",
recipe = {
{"livingcaves:stalagmite", "livingcaves:stalagmite", "livingcaves:stalagmite"},
{"livingcaves:stalagmite", "livingcaves:stalagmite", "livingcaves:stalagmite"},
{"", "", ""},
}
})
--- mushroom
walls.register(":livingcaves:mossybrick_wall", S"Mossy Brick Wall", "livingcaves_mushcave_mossybricks.png",
"livingcaves:mossybrick_wall", default.node_sound_stone_defaults())
stairs.register_stair_and_slab(
"livingcaves_mushcave_mossybricks",
"livingcaves:mushcave_mossybricks",
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
{"livingcaves_mushcave_mossybricks.png"},
S("Mossy Stone Brick Stair"),
S("Mossy Stone Brick Slab"),
default.node_sound_stone_defaults()
)
minetest.register_node("livingcaves:mushcave_mossybricks", {
description = S("Mushcave Mossy Bricks"),
tiles = {"livingcaves_mushcave_mossybricks.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "livingcaves:mushcave_mossybricks",
type = "shapeless",
recipe =
{"livingcaves:mushcave_bottom", "livingcaves:mushcave_bottom"}
})
minetest.register_craft({
output = "livingcaves:mossybrick_wall",
type = "shapeless",
recipe =
{"livingcaves:mushcave_mossybricks"}
})
--- coocking
minetest.register_node("livingcaves:healingsoup", {
description = S("Healing Soup"),
drawtype = "plantlike",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
wield_image = "livingcaves_healingsoup_inv.png",
inventory_image = "livingcaves_healingsoup_inv.png",
tiles = {
{
name = "livingcaves_healingsoup.png",
animation = {type="vertical_frames", length = 2}
}
},
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 0.0, 4 / 16},
},
groups = {drink = 1, food = 1, snappy = 3, flammable = 2},
on_use = minetest.item_eat(5),
sounds = default.node_sound_metal_defaults(),
})
minetest.register_craft({
output = "livingcaves:healingsoup",
type = "shapeless",
recipe =
{"livingcaves:lichen", "livingcaves:glowshroom_top", "livingcaves:mushroom_edible", "livingcaves:bucket_cavewater"}
})
--- spider web to string
minetest.register_craft({
output = "farming:string",
type = "shapeless",
recipe =
{"livingcaves:spiderweb9", "livingcaves:spiderweb9"}
})
minetest.register_craft({
output = "farming:string",
type = "shapeless",
recipe =
{"livingcaves:spiderweb8", "livingcaves:spiderweb8"}
})
minetest.register_craft({
output = "farming:string",
type = "shapeless",
recipe =
{"livingcaves:spiderweb7", "livingcaves:spiderweb7"}
})
minetest.register_craft({
output = "farming:string",
type = "shapeless",
recipe =
{"livingcaves:spiderweb6", "livingcaves:spiderweb6"}
})
minetest.register_craft({
output = "farming:string",
type = "shapeless",
recipe =
{"livingcaves:spiderweb5", "livingcaves:spiderweb5"}
})
minetest.register_craft({
output = "farming:string",
type = "shapeless",
recipe =
{"livingcaves:spiderweb4", "livingcaves:spiderweb4"}
})
minetest.register_craft({
output = "farming:string",
type = "shapeless",
recipe =
{"livingcaves:spiderweb3", "livingcaves:spiderweb3"}
})
minetest.register_craft({
output = "farming:string",
type = "shapeless",
recipe =
{"livingcaves:spiderweb2", "livingcaves:spiderweb2"}
})
minetest.register_craft({
output = "farming:string",
type = "shapeless",
recipe =
{"livingcaves:spiderweb", "livingcaves:spiderweb"}
})
File diff suppressed because it is too large Load Diff
+79
View File
@@ -0,0 +1,79 @@
minetest.register_craft({
output = "dye:orange 2",
recipe = {
{"livingcaves:bacteriacave_mold3"}
},
})
minetest.register_craft({
output = "dye:violet 2",
recipe = {
{"livingcaves:bacteriacave_mold"}
},
})
minetest.register_craft({
output = "dye:brown 2",
recipe = {
{"livingcaves:rootcave_smallroot"}
},
})
minetest.register_craft({
output = "dye:brown 2",
recipe = {
{"livingcaves:rootcave_smallroot2"}
},
})
minetest.register_craft({
output = "dye:green 2",
recipe = {
{"livingcaves:hangingmoss"}
},
})
minetest.register_craft({
output = "dye:green 2",
recipe = {
{"livingcaves:hangingmossend"}
},
})
minetest.register_craft({
output = "dye:grey 2",
recipe = {
{"livingcaves:bacteriacave_mold2"}
},
})
minetest.register_craft({
output = "dye:grey 2",
recipe = {
{"livingcaves:hangingmold"}
},
})
minetest.register_craft({
output = "dye:grey 2",
recipe = {
{"livingcaves:hangingmoldend"}
},
})
minetest.register_craft({
output = "dye:dark_green 2",
recipe = {
{"livingcaves:moss"}
},
})
minetest.register_craft({
output = "dye:cyan 2",
recipe = {
{"livingcaves:lichen"}
},
})
+9
View File
@@ -0,0 +1,9 @@
if minetest.get_modpath("hunger_ng") ~= nil then
hunger_ng.add_hunger_data('livingcaves:mushroom_edible', {
satiates = 2.0,
})
hunger_ng.add_hunger_data('livingcaves:healingsoup', {
heals = 20.0,
satiates = 3.0,
})
end
+32
View File
@@ -0,0 +1,32 @@
--This creates the livingcaves object.
livingcaves = {}
--This creates the livingcaves.settings object, and fills it with either the menu selected choices as defined in settingtypes.txt, or default values, (In this case, false).
livingcaves.settings = {
clear_biomes = minetest.settings:get_bool("livingcaves.clear_biomes") or false,
clear_decos = minetest.settings:get_bool("livingcaves.clear_decos") or false,
clear_ores = minetest.settings:get_bool("livingcaves.clear_ores") or false,
}
if livingcaves.settings.clear_biomes then
minetest.clear_registered_biomes()
end
if livingcaves.settings.clear_decos then
minetest.clear_registered_decorations()
end
if livingcaves.settings.clear_ores then
minetest.clear_registered_ores()
end
local path = minetest.get_modpath(minetest.get_current_modname()) .. "/"
-- plants
dofile(path .. "cavenodes.lua") --
dofile(path .. "decor.lua") --
dofile(path .. "water.lua") --
dofile(path .. "crafting.lua") --
dofile(path .. "dye.lua") --
dofile(path .. "hunger.lua") --
+85
View File
@@ -0,0 +1,85 @@
# textdomain: livingcaves
### cavenodes.lua ###
Mossy Cave Rock=Moosbewachsener Höhlenstein
Lichen infested Cave Rock=Flechtenzersetzter Höhlenstein
Mushroom Infested Rock=Pilzzersetzter Stein
Dripstone Cave Stone=Tropfstein Höhlenstein
Bacteria Infested Rock=Bakterienzersetzter Stein
Dirt With Roots=Dreck mit Wurzeln
Cave Ice=Höhleneis
Flesh Eating Bacteria Trapstone=Fleischfressender Bakterien Stein
Flesh Eating Bacteria Trap=Fleischfressende Bakterien Falle
Bacteria Poolstone=Bakterien Beckenstein
Bacteria Nest Foot=Bakterien Nestfuß
Bacteria Nest Core=Bakteriennest Kern
Spider Web=Spinnennetz
### crafting.lua ###
Root Woven=Geflochtene Wurzel
Root Stair=Wurzeltreppe
Root Slab=Wurzelplatte
Root Dirt Stair=Wurzeldreck Treppe
Root Dirt Slab=Wurzeldreck Platte
Root Fence Gate=Wurzelzauntor
Root Fence=Wurzelzaun
Root Fence Rail=Wurzelzaun Geländer
Root Door=Wurzeltür
Root Trapdoor=Wurzelfalltür
Root Mushroom Lamp=Wurzelpilz Lampe
Ice Brick Wall=Eisziegelmauer
Ice Brick Stair=Eisziegeltreppe
Ice Brick Slab=Eisziegelplatte
Ice Brick=Eisziegel
Ice Fence=Eiszaun
Ice Fence Rail=Eiszaun Geländer
Ice Door=Eistür
Ice Trapdoor=Eisfalltür
Dripstone Brick Wall=Tropfsteinziegelmauer
Dripstone Brick Stair=Tropfsteinziegeltreppe
Dripstone Brick Slab=Tropfsteinziegelplatte
Dripstone Bricks=Tropfsteinziegel
Dripstone Door=Tropfsteintür
Dripstone Trapdoor=Tropfsteinfalltür
Mossy Brick Wall=Bemooste Ziegelmauer
Mossy Stone Brick Stair=Bemooste Ziegletreppe
Mossy Stone Brick Slab=Bemooste Ziegelplatte
Mushcave Mossy Bricks=Bemooste Ziegel
Healing Soup=Heilende Suppe
### decor.lua ###
Cave Moss=Höhlenmoos
Cave Lichen=Höhlenflechte
Hanging Moss=Hängemoos
Glowing Mushroom Stem=Leuchtender Pilzstamm
Glowing Mushroom Hat=Leuchtender Pilzhut
Large Stalagmite=Großer Stalagmit
Large Stalagmite Spike=Große Stalagmitenspitze
Stalagmite=Stalagmit
Stalagmite Spike=Stalgmitenspitze
Stalagtite=Stalagtit
Stalagtite Spike=Stalagtitenspitze
Large Stalagtite=Großer Stalagtit
Large Stalagtite Spike=Große Stalagtitenspitze
Cave Water Source=Höhlenwasser Quelle
Flowing Cave Water=Fließendes Höhlenwasser
Empty Cave Bucket=Leerer Höhleneimer
Cave Water Bucket=Höhlenwassereimer
Water Bucket=Wassereimer
River Water Bucket=Flusswassereimer
Hanging Mold=Hängender Schimmel
Bacteria with Mold=Bakterien mit Schimmel
Bacteria Colony=Bakterienkolonie
Smelly Mushroom=Stinkender Pilz
Hanging Roots=Hängende Wurzeln
Small Cave Roots=Kleine Höhlenwurzeln
Big Cave Roots=Große Höhlenwurzeln
Large Ice Stalagmite=Großer Eisstalagmit
Large Ice Stalagmite Spike=Große Eisstalagmitenspitze
Ice Stalagmite=Eisstalagmit
Ice Stalagmite Spike=Eisstalagmit Spitze
Ice Stalagtite=Eisstalagtit
Stalagtite Ice Spike=Eisstalagtitenspitze
Large Ice Stalagtite=Großer Eisstalagtit
Large Ice Stalagtite Spike=Große Eisstalagtitenspitze
+3
View File
@@ -0,0 +1,3 @@
name = livingcaves
description = modifies the caves of minetest game
depends = default, stairs, doors, bucket
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 684 KiB

+10
View File
@@ -0,0 +1,10 @@
#livingcaves settings
#If enabled, will clear all registered biomes.
livingcaves.clear_biomes (Enable to clear registered biomes. true / false) bool true
#If enabled, will clear all registered decorations.
livingcaves.clear_decos (Enable to clear registered decorations. true / false) bool true
#If enabled, will clear all registered ores.
livingcaves.clear_ores (Enable to clear registered ores. true / false) bool false
Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 886 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 856 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Some files were not shown because too many files have changed in this diff Show More