diff --git a/mods/beds/Changelog.txt b/mods/beds/Changelog.txt index 988db2af..611ced6b 100644 --- a/mods/beds/Changelog.txt +++ b/mods/beds/Changelog.txt @@ -16,3 +16,7 @@ 1.1.1 ----- - Prevent possbile crash by trying to reposition leaving players + +1.2.0 +----- +- Beds converted in meshes, code changed accordingly diff --git a/mods/beds/api.lua b/mods/beds/api.lua index 320fcfb3..fc63ba1f 100644 --- a/mods/beds/api.lua +++ b/mods/beds/api.lua @@ -1,23 +1,23 @@ function beds.register_bed(name, def) - minetest.register_node(name .. "_bottom", { + minetest.register_node(name, { description = def.description, inventory_image = def.inventory_image, wield_image = def.wield_image, - drawtype = "nodebox", - tiles = def.tiles.bottom, + drawtype = "mesh", + mesh = def.mesh, + tiles = def.tiles, paramtype = "light", paramtype2 = "facedir", stack_max = 1, - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 1}, + groups = {snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3, bed=1}, sounds = default.node_sound_wood_defaults(), - node_box = { - type = "fixed", - fixed = def.nodebox.bottom, - }, selection_box = { type = "fixed", - fixed = def.selectionbox, - + fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 1.5}, + }, + collision_box = { + type = "fixed", + fixed = def.collisionbox, }, after_place_node = function(pos, placer, itemstack) local n = minetest.get_node_or_nil(pos) @@ -31,44 +31,19 @@ function beds.register_bed(name, def) local def = minetest.registered_items[n2.name] or nil if not n2 or not def or not def.buildable_to then minetest.remove_node(pos) + minetest.chat_send_player(placer:get_player_name(), "No room to place the bed!") return true end - minetest.set_node(p, {name = n.name:gsub("%_bottom", "_top"), param2 = n.param2}) + minetest.set_node(p, {name = n.name, param2 = n.param2}) return false - end, - on_destruct = function(pos) - local n = minetest.get_node_or_nil(pos) - if not n then return end - local dir = minetest.facedir_to_dir(n.param2) - local p = {x=pos.x+dir.x,y=pos.y,z=pos.z+dir.z} - local n2 = minetest.get_node(p) - if minetest.get_item_group(n2.name, "bed") == 2 and n.param2 == n2.param2 then - minetest.remove_node(p) - end end, on_rightclick = function(pos, node, clicker) beds.on_rightclick(pos, clicker) end, }) - minetest.register_node(name .. "_top", { - drawtype = "nodebox", - tiles = def.tiles.top, - paramtype = "light", - paramtype2 = "facedir", - groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 2}, - sounds = default.node_sound_wood_defaults(), - node_box = { - type = "fixed", - fixed = def.nodebox.top, - }, - selection_box = { - type = "fixed", - fixed = {0, 0, 0, 0, 0, 0}, - }, - }) - - minetest.register_alias(name, name .. "_bottom") + minetest.register_alias(name .. "_bottom", name) + minetest.register_alias(name .. "_top", "air") -- register recipe minetest.register_craft({ diff --git a/mods/beds/beds.lua b/mods/beds/beds.lua index 43bf98ed..5a638f68 100644 --- a/mods/beds/beds.lua +++ b/mods/beds/beds.lua @@ -3,44 +3,9 @@ beds.register_bed("beds:fancy_bed", { description = "Fancy Bed", inventory_image = "beds_bed_fancy.png", wield_image = "beds_bed_fancy.png", - tiles = { - bottom = { - "beds_bed_top1.png", - "default_wood.png", - "beds_bed_side1.png", - "beds_bed_side1.png^[transformFX", - "default_wood.png", - "beds_bed_foot.png", - }, - top = { - "beds_bed_top2.png", - "default_wood.png", - "beds_bed_side2.png", - "beds_bed_side2.png^[transformFX", - "beds_bed_head.png", - "default_wood.png", - } - }, - nodebox = { - bottom = { - {-0.5, -0.5, -0.5, -0.375, -0.065, -0.4375}, - {0.375, -0.5, -0.5, 0.5, -0.065, -0.4375}, - {-0.5, -0.375, -0.5, 0.5, -0.125, -0.4375}, - {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5}, - {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5}, - {-0.4375, -0.3125, -0.4375, 0.4375, -0.0625, 0.5}, - }, - top = { - {-0.5, -0.5, 0.4375, -0.375, 0.1875, 0.5}, - {0.375, -0.5, 0.4375, 0.5, 0.1875, 0.5}, - {-0.5, 0, 0.4375, 0.5, 0.125, 0.5}, - {-0.5, -0.375, 0.4375, 0.5, -0.125, 0.5}, - {-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5}, - {0.4375, -0.375, -0.5, 0.5, -0.125, 0.5}, - {-0.4375, -0.3125, -0.5, 0.4375, -0.0625, 0.4375}, - } - }, - selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, + tiles = {"fancy_bed.png", "default_wood.png"}, + mesh = "fancy_bed.obj", + collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, recipe = { {"", "", "group:stick"}, {"wool:red", "wool:red", "wool:white"}, @@ -53,34 +18,13 @@ beds.register_bed("beds:bed", { description = "Simple Bed", inventory_image = "beds_bed.png", wield_image = "beds_bed.png", - tiles = { - bottom = { - "beds_bed_top_bottom.png^[transformR90", - "default_wood.png", - "beds_bed_side_bottom_r.png", - "beds_bed_side_bottom_r.png^[transformfx", - "beds_transparent.png", - "beds_bed_side_bottom.png" - }, - top = { - "beds_bed_top_top.png^[transformR90", - "default_wood.png", - "beds_bed_side_top_r.png", - "beds_bed_side_top_r.png^[transformfx", - "beds_bed_side_top.png", - "beds_transparent.png", - } - }, - nodebox = { - bottom = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5}, - top = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5}, - }, - selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, + tiles = {"simple_bed.png"}, + mesh = "simple_bed.obj", + collisionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5}, recipe = { {"wool:red", "wool:red", "wool:white"}, {"group:wood", "group:wood", "group:wood"} }, - }) -- aliases for PA's beds mod diff --git a/mods/beds/models/fancy_bed.obj b/mods/beds/models/fancy_bed.obj new file mode 100644 index 00000000..285be20f --- /dev/null +++ b/mods/beds/models/fancy_bed.obj @@ -0,0 +1,160 @@ +# Blender v2.69 (sub 0) OBJ File: '' +# www.blender.org +mtllib fancy_bed.mtl +o mattress_Mattress_nodebox-6_none.001_fancy_bed.png.001 +v 0.437500 -0.312500 -0.437501 +v 0.437500 -0.062500 -0.437501 +v 0.437500 -0.062500 1.437499 +v 0.437500 -0.312500 1.437499 +v -0.437500 -0.312500 -0.437501 +v -0.437500 -0.312500 1.437499 +v -0.437500 -0.062500 1.437499 +v -0.437500 -0.062500 -0.437501 +v 0.437500 -0.176793 -0.437501 +v -0.437500 -0.176793 -0.437501 +vt 0.000171 0.499972 +vt 0.000161 0.000182 +vt 0.999791 0.000253 +vt 0.999873 0.500022 +vt 0.749576 0.000208 +vt 0.749876 0.499854 +vt 0.999848 0.999750 +vt 0.000152 0.999750 +vt 0.749276 0.130648 +vt 0.000112 0.130648 +g mattress_Mattress_nodebox-6_none.001_fancy_bed.png.001_none.001_fancy_bed.png.001 +usemtl none.001_fancy_bed.png.001 +s off +f 1/1 2/2 3/3 4/4 +f 5/2 6/3 7/4 8/1 +f 4/5 3/2 7/1 6/6 +f 1/1 4/4 6/7 5/8 +f 2/1 8/2 7/3 3/4 +f 8/2 2/5 9/9 10/10 +o wood_structure_Wood_structure_nodebox-4.001_none.002 +v 0.374999 -0.375000 1.437499 +v 0.374999 -0.125000 1.437499 +v 0.374999 -0.125000 1.499999 +v 0.374999 -0.375000 1.499999 +v -0.374999 -0.375000 1.437499 +v -0.374999 -0.375000 1.499999 +v -0.374999 -0.125000 1.499999 +v -0.374999 -0.125000 1.437499 +v -0.375000 -0.500000 1.437499 +v -0.375000 0.187500 1.437499 +v -0.375000 0.187500 1.499999 +v -0.375000 -0.500000 1.499999 +v -0.500000 -0.500000 1.437499 +v -0.500000 -0.500000 1.499999 +v -0.500000 0.187500 1.499999 +v -0.500000 0.187500 1.437499 +v -0.437500 -0.375000 -0.437501 +v -0.437500 -0.125000 -0.437501 +v -0.437500 -0.125000 1.437498 +v -0.437500 -0.375000 1.437498 +v -0.500000 -0.375000 -0.437501 +v -0.500000 -0.375000 1.437498 +v -0.500000 -0.125000 1.437498 +v -0.500000 -0.125000 -0.437501 +v 0.375001 -0.000000 1.437499 +v 0.375001 0.125000 1.437499 +v 0.375001 0.125000 1.499999 +v 0.375001 -0.000000 1.499999 +v -0.375001 -0.000000 1.437499 +v -0.375001 -0.000000 1.499999 +v -0.375001 0.125000 1.499999 +v -0.375001 0.125000 1.437499 +v 0.500000 -0.500000 1.437499 +v 0.500000 0.187500 1.437499 +v 0.500000 0.187500 1.499999 +v 0.500000 -0.500000 1.499999 +v 0.375000 -0.500000 1.437499 +v 0.375000 -0.500000 1.499999 +v 0.375000 0.187500 1.499999 +v 0.375000 0.187500 1.437499 +v 0.500000 -0.375000 -0.437501 +v 0.500000 -0.125000 -0.437501 +v 0.500000 -0.125000 1.437499 +v 0.500000 -0.375000 1.437499 +v 0.437500 -0.375000 -0.437501 +v 0.437500 -0.375000 1.437499 +v 0.437500 -0.125000 1.437499 +v 0.437500 -0.125000 -0.437501 +v -0.375000 -0.500000 -0.500000 +v -0.375000 -0.065000 -0.500000 +v -0.375000 -0.065000 -0.437500 +v -0.375000 -0.500000 -0.437500 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 -0.437500 +v -0.500000 -0.065000 -0.437500 +v -0.500000 -0.065000 -0.500000 +v 0.375006 -0.375000 -0.500000 +v 0.375006 -0.125000 -0.500000 +v 0.375006 -0.125000 -0.437500 +v 0.375006 -0.375000 -0.437500 +v -0.375006 -0.375000 -0.500000 +v -0.375006 -0.375000 -0.437500 +v -0.375006 -0.125000 -0.437500 +v -0.375006 -0.125000 -0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 -0.065000 -0.500000 +v 0.500000 -0.065000 -0.437500 +v 0.500000 -0.500000 -0.437500 +v 0.375000 -0.500000 -0.500000 +v 0.375000 -0.500000 -0.437500 +v 0.375000 -0.065000 -0.437500 +v 0.375000 -0.065000 -0.500000 +vt 0.377610 0.378205 +vt 0.622484 0.378175 +vt 0.622515 0.623120 +vt 0.377671 0.623151 +g wood_structure_Wood_structure_nodebox-4.001_none.002_none.002 +usemtl none.002 +s off +f 59/11 60/12 61/13 62/14 +f 63/14 64/11 65/12 66/13 +f 59/11 63/14 66/13 60/12 +f 62/14 61/13 65/12 64/11 +f 59/11 62/14 64/13 63/12 +f 60/12 66/11 65/14 61/13 +f 67/11 71/12 74/13 68/14 +f 70/14 69/11 73/12 72/13 +f 67/11 70/12 72/13 71/14 +f 68/11 74/12 73/13 69/14 +f 75/11 76/12 77/13 78/14 +f 79/14 80/11 81/12 82/13 +f 75/14 79/11 82/12 76/13 +f 78/11 77/12 81/13 80/14 +f 75/11 78/12 80/13 79/14 +f 76/11 82/12 81/13 77/14 +g wood_structure_Wood_structure_nodebox-4.001_none.002_none.003 +usemtl none.003 +f 15/11 16/12 17/13 18/14 +f 11/13 15/14 18/11 12/12 +f 14/14 13/11 17/12 16/13 +f 11/14 14/11 16/12 15/13 +f 12/11 18/12 17/13 13/14 +f 19/11 20/12 21/13 22/14 +f 23/14 24/11 25/12 26/13 +f 19/14 23/11 26/12 20/13 +f 22/11 21/12 25/13 24/14 +f 19/11 22/12 24/13 23/14 +f 20/11 26/12 25/13 21/14 +f 27/14 28/11 29/12 30/13 +f 31/11 32/12 33/13 34/14 +f 27/11 30/12 32/13 31/14 +f 28/14 34/11 33/12 29/13 +f 35/11 39/12 42/13 36/14 +f 38/14 37/11 41/12 40/13 +f 35/14 38/11 40/12 39/13 +f 36/11 42/12 41/13 37/14 +f 43/11 44/12 45/13 46/14 +f 47/14 48/11 49/12 50/13 +f 43/14 47/11 50/12 44/13 +f 46/11 45/12 49/13 48/14 +f 43/11 46/12 48/13 47/14 +f 44/11 50/12 49/13 45/14 +f 51/14 52/11 53/12 54/13 +f 55/13 56/14 57/11 58/12 +f 51/11 54/12 56/13 55/14 +f 52/14 58/11 57/12 53/13 diff --git a/mods/beds/models/simple_bed.obj b/mods/beds/models/simple_bed.obj new file mode 100644 index 00000000..21ecfb47 --- /dev/null +++ b/mods/beds/models/simple_bed.obj @@ -0,0 +1,32 @@ +# Blender v2.69 (sub 0) OBJ File: '' +# www.blender.org +mtllib simple_bed.mtl +o Simple_Bed +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.060000 -0.500000 +v 0.500000 0.060000 1.500000 +v 0.500000 -0.500000 1.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 -0.500000 1.500000 +v -0.500000 0.060000 1.500000 +v -0.500000 0.060000 -0.500000 +vt 0.000112 0.780442 +vt 0.000110 0.999969 +vt 0.780324 0.999889 +vt 0.780377 0.780471 +vt 0.780636 0.390284 +vt 0.999906 0.780382 +vt 0.999906 0.390284 +vt 0.780636 0.000047 +vt 0.999906 0.000094 +vt 0.390235 0.780320 +vt 0.390235 0.000071 +vt 0.000142 0.000142 +usemtl none.002 +s off +f 1/1 2/2 3/3 4/4 +f 5/1 6/4 7/3 8/2 +f 1/5 5/4 8/6 2/7 +f 4/8 3/9 7/7 6/5 +f 1/8 4/4 6/10 5/11 +f 2/11 8/12 7/1 3/10 diff --git a/mods/beds/textures/beds_bed.png b/mods/beds/textures/beds_bed.png index 5c0054c6..5111a916 100644 Binary files a/mods/beds/textures/beds_bed.png and b/mods/beds/textures/beds_bed.png differ diff --git a/mods/beds/textures/beds_bed_fancy.png b/mods/beds/textures/beds_bed_fancy.png index 4f9e8a74..d43e6ecc 100644 Binary files a/mods/beds/textures/beds_bed_fancy.png and b/mods/beds/textures/beds_bed_fancy.png differ diff --git a/mods/beds/textures/beds_bed_foot.png b/mods/beds/textures/beds_bed_foot.png deleted file mode 100644 index 74d84c86..00000000 Binary files a/mods/beds/textures/beds_bed_foot.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_head.png b/mods/beds/textures/beds_bed_head.png deleted file mode 100644 index 763f5e14..00000000 Binary files a/mods/beds/textures/beds_bed_head.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_side1.png b/mods/beds/textures/beds_bed_side1.png deleted file mode 100644 index 1ed8158e..00000000 Binary files a/mods/beds/textures/beds_bed_side1.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_side2.png b/mods/beds/textures/beds_bed_side2.png deleted file mode 100644 index 9d1384d4..00000000 Binary files a/mods/beds/textures/beds_bed_side2.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_side_bottom.png b/mods/beds/textures/beds_bed_side_bottom.png deleted file mode 100644 index 99ff309f..00000000 Binary files a/mods/beds/textures/beds_bed_side_bottom.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_side_bottom_r.png b/mods/beds/textures/beds_bed_side_bottom_r.png deleted file mode 100644 index 6f870e80..00000000 Binary files a/mods/beds/textures/beds_bed_side_bottom_r.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_side_top.png b/mods/beds/textures/beds_bed_side_top.png deleted file mode 100644 index b2807c5f..00000000 Binary files a/mods/beds/textures/beds_bed_side_top.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_side_top_r.png b/mods/beds/textures/beds_bed_side_top_r.png deleted file mode 100644 index 429ad7db..00000000 Binary files a/mods/beds/textures/beds_bed_side_top_r.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_top1.png b/mods/beds/textures/beds_bed_top1.png deleted file mode 100644 index b6fcc2c5..00000000 Binary files a/mods/beds/textures/beds_bed_top1.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_top2.png b/mods/beds/textures/beds_bed_top2.png deleted file mode 100644 index 2fe5bf2b..00000000 Binary files a/mods/beds/textures/beds_bed_top2.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_top_bottom.png b/mods/beds/textures/beds_bed_top_bottom.png deleted file mode 100644 index 9b78be63..00000000 Binary files a/mods/beds/textures/beds_bed_top_bottom.png and /dev/null differ diff --git a/mods/beds/textures/beds_bed_top_top.png b/mods/beds/textures/beds_bed_top_top.png deleted file mode 100644 index e877c808..00000000 Binary files a/mods/beds/textures/beds_bed_top_top.png and /dev/null differ diff --git a/mods/beds/textures/beds_transparent.png b/mods/beds/textures/beds_transparent.png deleted file mode 100644 index 2dc0e3dc..00000000 Binary files a/mods/beds/textures/beds_transparent.png and /dev/null differ diff --git a/mods/beds/textures/fancy_bed.png b/mods/beds/textures/fancy_bed.png new file mode 100644 index 00000000..11ea830a Binary files /dev/null and b/mods/beds/textures/fancy_bed.png differ diff --git a/mods/beds/textures/simple_bed.png b/mods/beds/textures/simple_bed.png new file mode 100644 index 00000000..93922ec6 Binary files /dev/null and b/mods/beds/textures/simple_bed.png differ