diff --git a/README.txt b/README.txt index 7a488b7..da42da3 100644 --- a/README.txt +++ b/README.txt @@ -1,5 +1,5 @@ ===BEDS MOD for MINETEST-C55=== -by PilzAdam +by PilzAdam & thefamilygrog66 Introduction: This mods brings beds to Minetest. You can use them to sleep at night diff --git a/init.lua b/init.lua index 9f33c20..6a7dfb7 100644 --- a/init.lua +++ b/init.lua @@ -45,6 +45,7 @@ for i in ipairs(beds_list) do on_construct = function(pos) local node = minetest.env:get_node(pos) + local p = {x=pos.x, y=pos.y, z=pos.z} local param2 = node.param2 node.name = "beds:bed_top_"..colour if param2 == 0 then @@ -56,8 +57,10 @@ for i in ipairs(beds_list) do elseif param2 == 3 then pos.x = pos.x-1 end - if( minetest.env:get_node({x=pos.x, y=pos.y, z=pos.z}).name == "air" ) then + if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to then minetest.env:set_node(pos, node) + else + minetest.env:remove_node(p) end end, @@ -120,7 +123,7 @@ for i in ipairs(beds_list) do minetest.register_node("beds:bed_top_"..colour, { drawtype = "nodebox", - tiles = {"beds_bed_top_top_"..colour..".png", "default_wood.png", "beds_bed_side_top_r_"..colour..".png", "beds_bed_side_top_l_"..colour..".png", "default_wood.png", "beds_bed_side_"..colour..".png"}, + tiles = {"beds_bed_top_top_"..colour..".png", "default_wood.png", "beds_bed_side_top_r_"..colour..".png", "beds_bed_side_top_l_"..colour..".png", "beds_bed_top_front.png", "beds_bed_side_"..colour..".png"}, paramtype = "light", paramtype2 = "facedir", groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, @@ -145,9 +148,6 @@ for i in ipairs(beds_list) do }, }) - minetest.register_alias("beds:bed_bottom", "beds:bed_bottom_blue") - minetest.register_alias("beds:bed_top", "beds:bed_top_blue") - minetest.register_alias("beds:bed", "beds:bed_bottom_blue") minetest.register_alias("beds:bed_"..colour, "beds:bed_bottom_"..colour) minetest.register_craft({ @@ -158,6 +158,14 @@ for i in ipairs(beds_list) do } }) + minetest.register_craft({ + output = "beds:bed_"..colour, + recipe = { + {"wool:white", "wool:"..colour, "wool:"..colour, }, + {"default:stick", "", "default:stick", } + } + }) + minetest.register_abm({ nodenames = {"beds:bed_bottom_"..colour}, interval = 1, @@ -195,6 +203,10 @@ for i in ipairs(beds_list) do }) end +minetest.register_alias("beds:bed_bottom", "beds:bed_bottom_blue") +minetest.register_alias("beds:bed_top", "beds:bed_top_blue") +minetest.register_alias("beds:bed", "beds:bed_bottom_blue") + beds_player_spawns = {} local file = io.open(minetest.get_worldpath().."/beds_player_spawns", "r") if file then diff --git a/textures/beds_bed_top_front.png b/textures/beds_bed_top_front.png new file mode 100644 index 0000000..9760d27 Binary files /dev/null and b/textures/beds_bed_top_front.png differ