Files

527 lines
15 KiB
Lua

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"}
})