Minetest_Tutorial/mods/tutorial_cottages/nodes_furniture.lua

115 lines
3.8 KiB
Lua

---------------------------------------------------------------------------------------
-- furniture
---------------------------------------------------------------------------------------
-- contains:
-- * a bed seperated into foot and head reagion so that it can be placed manually; it has
-- no other functionality than decoration!
-- * a sleeping mat - mostly for NPC that cannot afford a bet yet
-- * bench - if you don't have 3dforniture:chair, then this is the next best thing
-- * table - very simple one
-- * shelf - for stroring things; this one is 3d
-- * stovepipe - so that the smoke from the furnace can get away
-- * washing place - put it over a water source and you can 'wash' yourshelf
---------------------------------------------------------------------------------------
-- intllib support
local S
if (minetest.get_modpath("intllib")) then
S = intllib.Getter()
else
S = function ( s ) return s end
end
-- the basic version of a bed - a sleeping mat
-- to facilitate upgrade path straw mat -> sleeping mat -> bed, this uses a nodebox
minetest.register_node("tutorial_cottages:sleeping_mat", {
description = S("sleeping mat"),
drawtype = 'nodebox',
tiles = { 'cottages_sleepingmat.png' }, -- done by VanessaE
wield_image = 'cottages_sleepingmat.png',
inventory_image = 'cottages_sleepingmat.png',
sunlight_propagates = true,
paramtype = 'light',
paramtype2 = "facedir",
is_ground_content = true,
walkable = false,
groups = { attached_node=1, creative_breakable=1 },
sounds = default.node_sound_leaves_defaults(),
selection_box = {
type = "wallmounted",
},
node_box = {
type = "fixed",
fixed = {
{-0.48, -0.5,-0.48, 0.48, -0.45, 0.48},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.48, -0.5,-0.48, 0.48, -0.25, 0.48},
}
}
})
-- furniture; possible replacement: 3dforniture:chair
minetest.register_node("tutorial_cottages:bench", {
drawtype = "nodebox",
description = S("simple wooden bench"),
tiles = {"cottages_minimal_wood.png", "cottages_minimal_wood.png", "cottages_minimal_wood.png", "cottages_minimal_wood.png", "cottages_minimal_wood.png", "cottages_minimal_wood.png"},
paramtype = "light",
paramtype2 = "facedir",
groups = { creative_breakable=1 },
sounds = default.node_sound_wood_defaults(),
node_box = {
type = "fixed",
fixed = {
-- sitting area
{-0.5, -0.15, 0.1, 0.5, -0.05, 0.5},
-- stützen
{-0.4, -0.5, 0.2, -0.3, -0.15, 0.4},
{ 0.3, -0.5, 0.2, 0.4, -0.15, 0.4},
}
},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, 0, 0.5, 0, 0.5},
}
},
})
-- a simple table; possible replacement: 3dforniture:table
minetest.register_node("tutorial_cottages:table", {
description = S("table"),
drawtype = "nodebox",
-- top, bottom, side1, side2, inner, outer
tiles = {"cottages_minimal_wood.png"},
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = true,
groups = { creative_breakable=1 },
sounds = default.node_sound_wood_defaults(),
node_box = {
type = "fixed",
fixed = {
{ -0.1, -0.5, -0.1, 0.1, 0.3, 0.1},
{ -0.5, 0.3, -0.5, 0.5, 0.4, 0.5},
},
},
selection_box = {
type = "fixed",
fixed = {
{ -0.5, -0.5, -0.5, 0.5, 0.4, 0.5},
},
},
})
minetest.register_alias("cottages:sleeping_mat", "tutorial_cottages:sleeping_mat")
minetest.register_alias("cottages:bench", "tutorial_cottages:bench")
minetest.register_alias("cottages:table", "tutorial_cottages:table")