mirror of
https://github.com/mt-mods/homedecor_modpack.git
synced 2024-12-23 08:20:21 +01:00
177 lines
5.3 KiB
Lua
177 lines
5.3 KiB
Lua
local S = homedecor.gettext
|
|
|
|
local bathroom_tile_colors = {
|
|
{ "1", "white/grey" },
|
|
{ "2", "white/dark grey" },
|
|
{ "3", "white/black" },
|
|
{ "4", "black/dark grey" },
|
|
{ "red", "white/red" },
|
|
{ "green", "white/green" },
|
|
{ "blue", "white/blue" },
|
|
{ "yellow", "white/yellow" },
|
|
{ "tan", "white/tan" },
|
|
}
|
|
|
|
for i in ipairs(bathroom_tile_colors) do
|
|
local color = bathroom_tile_colors[i][1]
|
|
local shade = bathroom_tile_colors[i][2]
|
|
minetest.register_node("homedecor:tiles_"..color, {
|
|
description = "Bathroom/kitchen tiles ("..shade..")",
|
|
tiles = {
|
|
"homedecor_bathroom_tiles_"..color..".png",
|
|
"homedecor_bathroom_tiles_"..color..".png",
|
|
"homedecor_bathroom_tiles_"..color..".png",
|
|
"homedecor_bathroom_tiles_"..color..".png",
|
|
"homedecor_bathroom_tiles_"..color..".png^[transformR90",
|
|
"homedecor_bathroom_tiles_"..color..".png^[transformR90"
|
|
},
|
|
is_ground_content = true,
|
|
groups = {cracky=3},
|
|
sounds = default.node_sound_stone_defaults(),
|
|
})
|
|
end
|
|
|
|
minetest.register_node("homedecor:towel_rod", {
|
|
description = "Towel rod with towel",
|
|
drawtype = "nodebox",
|
|
tiles = {
|
|
"homedecor_towel_rod_top.png",
|
|
"homedecor_towel_rod_bottom.png",
|
|
"homedecor_towel_rod_sides.png",
|
|
"homedecor_towel_rod_sides.png^[transformFX",
|
|
"homedecor_towel_rod_fb.png",
|
|
"homedecor_towel_rod_fb.png"
|
|
},
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.375, 0.1875, 0.25, -0.3125, 0.375, 0.5},
|
|
{ 0.3125, 0.1875, 0.25, 0.375, 0.375, 0.5},
|
|
{-0.3125, 0.25, 0.3125, 0.3125, 0.375, 0.375},
|
|
{-0.3125, 0, 0.375, 0.3125, 0.34375, 0.4375},
|
|
{-0.3125, -0.3125, 0.25, 0.3125, 0.34375, 0.3125},
|
|
}
|
|
},
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = { -0.375, -0.3125, 0.25, 0.375, 0.375, 0.5 }
|
|
},
|
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3},
|
|
sounds = default.node_sound_defaults(),
|
|
})
|
|
|
|
minetest.register_node('homedecor:medicine_cabinet', {
|
|
drawtype = "nodebox",
|
|
description = S("Medicine Cabinet"),
|
|
tiles = {
|
|
'homedecor_medicine_cabinet_tb.png',
|
|
'homedecor_medicine_cabinet_tb.png',
|
|
'homedecor_medicine_cabinet_sides.png',
|
|
'homedecor_medicine_cabinet_sides.png',
|
|
'homedecor_medicine_cabinet_back.png',
|
|
'homedecor_medicine_cabinet_front.png'
|
|
},
|
|
inventory_image = "homedecor_medicine_cabinet_inv.png",
|
|
sunlight_propagates = false,
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
walkable = true,
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = {-0.3125, -0.1875, 0.3125, 0.3125, 0.5, 0.5}
|
|
},
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {-0.3125, -0.1875, 0.3125, 0.3125, 0.5, 0.5}
|
|
},
|
|
groups = { snappy = 3 },
|
|
sounds = default.node_sound_wood_defaults(),
|
|
on_punch = function(pos, node, puncher, pointed_thing)
|
|
local fdir = node.param2
|
|
minetest.set_node(pos, { name = "homedecor:medicine_cabinet_open", param2 = fdir })
|
|
end,
|
|
on_construct = function(pos)
|
|
local meta = minetest.get_meta(pos)
|
|
meta:set_string("formspec",
|
|
"size[8,7]"..
|
|
"list[current_name;main;1,0;6,1;]"..
|
|
"list[current_player;main;0,3;8,4;]")
|
|
meta:set_string("infotext", S("Medicine cabinet"))
|
|
local inv = meta:get_inventory()
|
|
inv:set_size("main", 16)
|
|
end,
|
|
can_dig = function(pos,player)
|
|
local meta = minetest.get_meta(pos);
|
|
local inv = meta:get_inventory()
|
|
return inv:is_empty("main")
|
|
end,
|
|
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
|
|
minetest.log("action", S("%s moves stuff in medicine cabinet at %s"):format(
|
|
player:get_player_name(),
|
|
minetest.pos_to_string(pos)
|
|
))
|
|
end,
|
|
on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
|
minetest.log("action", S("%s moves stuff to medicine cabinet at %s"):format(
|
|
player:get_player_name(),
|
|
minetest.pos_to_string(pos)
|
|
))
|
|
end,
|
|
on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
|
minetest.log("action", S("%s takes stuff from medicine cabinet at %s"):format(
|
|
player:get_player_name(),
|
|
minetest.pos_to_string(pos)
|
|
))
|
|
end,
|
|
})
|
|
|
|
minetest.register_node("homedecor:medicine_cabinet_open", {
|
|
tiles = {
|
|
'homedecor_medicine_cabinet_tb.png',
|
|
'homedecor_medicine_cabinet_tb.png',
|
|
"homedecor_medicine_cabinet_open_right.png",
|
|
'homedecor_medicine_cabinet_sides.png',
|
|
'homedecor_medicine_cabinet_back.png',
|
|
"homedecor_medicine_cabinet_open_front.png"
|
|
},
|
|
drawtype = "nodebox",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
groups = { snappy = 3, not_in_creative_inventory=1 },
|
|
node_box = {
|
|
type = "fixed",
|
|
fixed = {
|
|
{-0.3125, -0.1875, 0.375, 0.3125, 0.5, 0.5}, -- NodeBox1
|
|
{0.28, -0.1875, -0.1875, 0.3125, 0.5, 0.375}, -- NodeBox2
|
|
}
|
|
},
|
|
drop = "homedecor:medicine_cabinet",
|
|
on_punch = function(pos, node, puncher, pointed_thing)
|
|
local fdir = node.param2
|
|
minetest.set_node(pos, { name = "homedecor:medicine_cabinet", param2 = fdir })
|
|
end,
|
|
})
|
|
|
|
minetest.register_node("homedecor:toilet_paper", {
|
|
description = S("Toilet paper"),
|
|
drawtype = "mesh",
|
|
mesh = "homedecor_toilet_paper.obj",
|
|
tiles = { "homedecor_toilet_paper.png" },
|
|
inventory_image = "homedecor_toilet_paper_inv.png",
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
selection_box = {
|
|
type = "fixed",
|
|
fixed = { -0.1875, 0.125, 0.0625, 0.25, 0.4375, 0.5 }
|
|
},
|
|
collision_box = {
|
|
type = "fixed",
|
|
fixed = { -0.1875, 0.125, 0.0625, 0.25, 0.4375, 0.5 }
|
|
},
|
|
groups = {snappy=2,oddly_breakable_by_hand=3,flammable=3},
|
|
sounds = default.node_sound_defaults(),
|
|
})
|
|
|