added sleeping mat with pillow
parent
9cee087886
commit
f5fa45f7b7
|
@ -122,6 +122,37 @@ minetest.register_node("cottages:sleeping_mat", {
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
-- this one has a pillow for the head; thus, param2 becomes visible to the builder, and mobs may use it as a bed
|
||||||
|
minetest.register_node("cottages:sleeping_mat_head", {
|
||||||
|
description = S("sleeping mat with pillow"),
|
||||||
|
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",
|
||||||
|
groups = { snappy = 3 },
|
||||||
|
sounds = default.node_sound_leaves_defaults(),
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.48, -0.5,-0.48, 0.48, -0.5+1/16, 0.48},
|
||||||
|
{-0.34, -0.5+1/16,-0.12, 0.34, -0.5+2/16, 0.34},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
selection_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-0.48, -0.5,-0.48, 0.48, -0.5+2/16, 0.48},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
is_ground_content = false,
|
||||||
|
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
|
||||||
|
return cottages.sleep_in_bed( pos, node, clicker, itemstack, pointed_thing );
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
-- furniture; possible replacement: 3dforniture:chair
|
-- furniture; possible replacement: 3dforniture:chair
|
||||||
minetest.register_node("cottages:bench", {
|
minetest.register_node("cottages:bench", {
|
||||||
|
@ -395,6 +426,12 @@ cottages.sleep_in_bed = function( pos, node, clicker, itemstack, pointed_thing )
|
||||||
local animation = default.player_get_animation( clicker );
|
local animation = default.player_get_animation( clicker );
|
||||||
local pname = clicker:get_player_name();
|
local pname = clicker:get_player_name();
|
||||||
|
|
||||||
|
local p_above = minetest.get_node( {x=pos.x, y=pos.y+1, z=pos.z});
|
||||||
|
if( not( p_above) or not( p_above.name ) or p_above.name ~= 'air' ) then
|
||||||
|
minetest.chat_send_player( pname, "This place is too narrow for sleeping. At least for you!");
|
||||||
|
return;
|
||||||
|
end
|
||||||
|
|
||||||
local place_name = 'place';
|
local place_name = 'place';
|
||||||
-- if only one node is present, the player can only sit;
|
-- if only one node is present, the player can only sit;
|
||||||
-- sleeping requires a bed head+foot or two sleeping mats
|
-- sleeping requires a bed head+foot or two sleeping mats
|
||||||
|
@ -462,7 +499,7 @@ cottages.sleep_in_bed = function( pos, node, clicker, itemstack, pointed_thing )
|
||||||
end
|
end
|
||||||
place_name = 'bed';
|
place_name = 'bed';
|
||||||
|
|
||||||
elseif( node.name=='cottages:sleeping_mat' or node.name=='cottages:straw_mat') then
|
elseif( node.name=='cottages:sleeping_mat' or node.name=='cottages:straw_mat' or node.name=='cottages:sleeping_mat_head') then
|
||||||
place_name = 'mat';
|
place_name = 'mat';
|
||||||
dir = node.param2;
|
dir = node.param2;
|
||||||
allow_sleep = false;
|
allow_sleep = false;
|
||||||
|
@ -470,7 +507,7 @@ cottages.sleep_in_bed = function( pos, node, clicker, itemstack, pointed_thing )
|
||||||
local offset = {{x=0,z=-1}, {x=-1,z=0}, {x=0,z=1}, {x=1,z=0}};
|
local offset = {{x=0,z=-1}, {x=-1,z=0}, {x=0,z=1}, {x=1,z=0}};
|
||||||
for i,off in ipairs( offset ) do
|
for i,off in ipairs( offset ) do
|
||||||
node2 = minetest.get_node( {x=pos.x+off.x, y=pos.y, z=pos.z+off.z} );
|
node2 = minetest.get_node( {x=pos.x+off.x, y=pos.y, z=pos.z+off.z} );
|
||||||
if( node2.name == 'cottages:sleeping_mat' or node2.name=='cottages:straw_mat' ) then
|
if( node2.name == 'cottages:sleeping_mat' or node2.name=='cottages:straw_mat' or node.name=='cottages:sleeping_mat_head' ) then
|
||||||
-- if a second mat is found, sleeping is possible
|
-- if a second mat is found, sleeping is possible
|
||||||
allow_sleep = true;
|
allow_sleep = true;
|
||||||
dir = i-1;
|
dir = i-1;
|
||||||
|
@ -557,6 +594,13 @@ minetest.register_craft({
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "cottages:sleeping_mat_head",
|
||||||
|
recipe = {
|
||||||
|
{"cottages:sleeping_mat","cottages:straw_mat" }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "cottages:table",
|
output = "cottages:table",
|
||||||
recipe = {
|
recipe = {
|
||||||
|
|
Loading…
Reference in New Issue