Wrote a whole new door routine, used it to add solid glass and glass-and-wood
doors, converted the others to use that new code, and all use nodeboxes now. Folding doors are now called "closet" doors and will be converted via a handful of aliases. Tweaked crafting recipe for oak closet door to put the steel ingot on the left. Moves all doors' crafting recipes into crafts.lua. This sweeps away the old buggy zlpdoors-derived code.
							
								
								
									
										155
									
								
								crafts.lua
									
									
									
									
									
								
							
							
						
						| @@ -1367,3 +1367,158 @@ minetest.register_craft( { | ||||
| 		"homedecor:fence_chainlink_gate_closed" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| -- doors | ||||
|  | ||||
| -- fancy exterior | ||||
|  | ||||
| minetest.register_craft( { | ||||
|         output = "homedecor:door_exterior_fancy_bottom_left 2", | ||||
|         recipe = { | ||||
| 		{ "default:wood", "default:glass" }, | ||||
| 		{ "default:wood", "default:wood" }, | ||||
| 		{ "default:wood", "default:wood" }, | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_exterior_fancy_bottom_left", | ||||
|         recipe = { | ||||
| 		"homedecor:door_exterior_fancy_bottom_right" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_exterior_fancy_bottom_right", | ||||
|         recipe = { | ||||
| 		"homedecor:door_exterior_fancy_bottom_left" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
|  | ||||
| -- wood and glass (grid style) | ||||
|  | ||||
| minetest.register_craft( { | ||||
|         output = "homedecor:door_wood_glass_bottom_left 2", | ||||
|         recipe = { | ||||
| 		{ "default:glass", "default:wood" }, | ||||
| 		{ "default:wood", "default:glass" }, | ||||
| 		{ "default:glass", "default:wood" }, | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_wood_glass_bottom_left", | ||||
|         recipe = { | ||||
| 		"homedecor:door_wood_glass_bottom_right" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_wood_glass_bottom_right", | ||||
|         recipe = { | ||||
| 		"homedecor:door_wood_glass_bottom_left" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| -- Solid glass with metal handle | ||||
|  | ||||
| minetest.register_craft( { | ||||
|         output = "homedecor:door_glass_bottom_left 2", | ||||
|         recipe = { | ||||
| 		{ "default:glass", "default:glass" }, | ||||
| 		{ "default:glass", "default:steel_ingot" }, | ||||
| 		{ "default:glass", "default:glass" }, | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_glass_bottom_left", | ||||
|         recipe = { | ||||
| 		"homedecor:door_glass_bottom_right" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_glass_bottom_right", | ||||
|         recipe = { | ||||
| 		"homedecor:door_glass_bottom_left" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| -- Closet doors | ||||
|  | ||||
| -- oak | ||||
|  | ||||
| minetest.register_craft( { | ||||
|         output = "homedecor:door_closet_oak_bottom_left 2", | ||||
|         recipe = { | ||||
| 		{ "", "default:stick", "default:stick" }, | ||||
| 		{ "default:steel_ingot", "default:stick", "default:stick" }, | ||||
| 		{ "", "default:stick", "default:stick" }, | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_closet_oak_bottom_left", | ||||
|         recipe = { | ||||
| 		"homedecor:door_closet_oak_bottom_right" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_closet_oak_bottom_right", | ||||
|         recipe = { | ||||
| 		"homedecor:door_closet_oak_bottom_left" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| -- mahogany | ||||
|  | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_closet_mahogany_bottom_left 2", | ||||
|         recipe = { | ||||
| 		"homedecor:door_closet_oak_bottom_left", | ||||
| 		"homedecor:door_closet_oak_bottom_left", | ||||
| 		"default:dirt", | ||||
| 		"default:coal_lump", | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_closet_mahogany_bottom_left 2", | ||||
|         recipe = { | ||||
| 		"homedecor:door_closet_oak_bottom_left", | ||||
| 		"homedecor:door_closet_oak_bottom_left", | ||||
| 		"unifieddyes:dark_orange" | ||||
|         }, | ||||
| 	replacements = { {'unifieddyes:dark_orange', 'vessels:glass_bottle'}, }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_closet_mahogany_bottom_left", | ||||
|         recipe = { | ||||
| 		"homedecor:door_closet_mahogany_bottom_right" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_craft( { | ||||
| 	type = "shapeless", | ||||
|         output = "homedecor:door_closet_mahogany_bottom_right", | ||||
|         recipe = { | ||||
| 		"homedecor:door_closet_mahogany_bottom_left" | ||||
|         }, | ||||
| }) | ||||
|  | ||||
|   | ||||
							
								
								
									
										275
									
								
								door_closet_mahogany.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,275 @@ | ||||
| -- This file supplies mahogany closet doors | ||||
|  | ||||
| -- Left-opening | ||||
|  | ||||
| minetest.register_node("homedecor:door_closet_mahogany_top_left", { | ||||
| 	description = "mahogany closet door top half", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_closet_mahogany_tb.png", | ||||
| 		"homedecor_door_closet_mahogany_tb.png", | ||||
| 		"homedecor_door_closet_mahogany_lr.png", | ||||
| 		"homedecor_door_closet_mahogany_lr.png", | ||||
| 		"homedecor_door_closet_mahogany_right_top.png", | ||||
| 		"homedecor_door_closet_mahogany_left_top.png", | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
|  | ||||
| 			{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, | ||||
| 			{ -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, | ||||
| 			{ -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, | ||||
| 			{ -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, | ||||
| 			{ -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, | ||||
| 			{ -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, | ||||
| 			{ -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, | ||||
| 			{ -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, | ||||
| 			{ -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, | ||||
| 			{ -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, | ||||
| 			{ -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, | ||||
|  | ||||
| 			{ -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_closet_mahogany_bottom_left", | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_closet_mahogany_bottom_left" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2-1 | ||||
| 		if nfdir < 0 then nfdir = 3 end | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_closet_mahogany_top_right", param2=nfdir}) | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name =  "homedecor:door_closet_mahogany_bottom_right", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("homedecor:door_closet_mahogany_bottom_left", { | ||||
| 	description = "mahogany Closet Door", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_closet_mahogany_tb.png", | ||||
| 		"homedecor_door_closet_mahogany_tb.png", | ||||
| 		"homedecor_door_closet_mahogany_lr.png", | ||||
| 		"homedecor_door_closet_mahogany_lr.png", | ||||
| 		"homedecor_door_closet_mahogany_right_bottom.png", | ||||
| 		"homedecor_door_closet_mahogany_left_bottom.png", | ||||
| 	}, | ||||
| 	wield_image = "homedecor_door_closet_mahogany_left_inv.png", | ||||
| 	inventory_image = "homedecor_door_closet_mahogany_left_inv.png", | ||||
| 	wield_scale = {x=1,y=1,z=0.25}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16},  | ||||
|  | ||||
| 			{ -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, | ||||
| 			{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, | ||||
| 			{ -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, | ||||
| 			{ -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, | ||||
| 			{ -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, | ||||
| 			{ -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, | ||||
| 			{ -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, | ||||
| 			{ -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, | ||||
| 			{ -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, | ||||
| 			{ -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, | ||||
| 			{ -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, | ||||
|  | ||||
| 			{ -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_closet_mahogany_top_left", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_closet_mahogany_top_left" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2-1 | ||||
| 		if nfdir < 0 then nfdir = 3 end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_closet_mahogany_top_right", param2=nfdir}) | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_closet_mahogany_bottom_right", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| -- Right-opening | ||||
|  | ||||
| minetest.register_node("homedecor:door_closet_mahogany_top_right", { | ||||
| 	description = "mahogany closet door top half", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_closet_mahogany_tb.png", | ||||
| 		"homedecor_door_closet_mahogany_tb.png", | ||||
| 		"homedecor_door_closet_mahogany_lr.png", | ||||
| 		"homedecor_door_closet_mahogany_lr.png", | ||||
| 		"homedecor_door_closet_mahogany_left_top.png", | ||||
| 		"homedecor_door_closet_mahogany_right_top.png", | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
|  | ||||
| 			{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, | ||||
| 			{ -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, | ||||
| 			{ -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, | ||||
| 			{ -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, | ||||
| 			{ -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, | ||||
| 			{ -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, | ||||
| 			{ -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, | ||||
| 			{ -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, | ||||
| 			{ -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, | ||||
| 			{ -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, | ||||
| 			{ -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, | ||||
|  | ||||
| 			{ -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_closet_mahogany_bottom_left", | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_closet_mahogany_bottom_right" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2+1 | ||||
| 		if nfdir > 3 then nfdir = 0 end | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_closet_mahogany_top_left", param2=nfdir}) | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name =  "homedecor:door_closet_mahogany_bottom_left", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("homedecor:door_closet_mahogany_bottom_right", { | ||||
| 	description = "mahogany Closet Door (Right-opening)", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_closet_mahogany_tb.png", | ||||
| 		"homedecor_door_closet_mahogany_tb.png", | ||||
| 		"homedecor_door_closet_mahogany_lr.png", | ||||
| 		"homedecor_door_closet_mahogany_lr.png", | ||||
| 		"homedecor_door_closet_mahogany_left_bottom.png", | ||||
| 		"homedecor_door_closet_mahogany_right_bottom.png", | ||||
| 	}, | ||||
| 	wield_image = "homedecor_door_closet_mahogany_right_inv.png", | ||||
| 	inventory_image = "homedecor_door_closet_mahogany_right_inv.png", | ||||
| 	wield_scale = {x=1,y=1,z=0.25}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16},  | ||||
|  | ||||
| 			{ -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, | ||||
| 			{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, | ||||
| 			{ -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, | ||||
| 			{ -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, | ||||
| 			{ -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, | ||||
| 			{ -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, | ||||
| 			{ -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, | ||||
| 			{ -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, | ||||
| 			{ -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, | ||||
| 			{ -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, | ||||
| 			{ -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, | ||||
|  | ||||
| 			{ -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_closet_mahogany_bottom_left", | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_closet_mahogany_top_right", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_closet_mahogany_top_right" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2+1 | ||||
| 		if nfdir > 3 then nfdir = 0 end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_closet_mahogany_top_left", param2=nfdir}) | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_closet_mahogany_bottom_left", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| -- Backwards compatibility with old zlpdoors-derived 2D version | ||||
| -- good enough to avoid losing any items, though some doors may | ||||
| -- need to be dug up and placed again to correct their orientations. | ||||
|  | ||||
| minetest.register_alias("homedecor:folding_door_mahogany_a_c", "homedecor:door_closet_mahogany_top_left") | ||||
| minetest.register_alias("homedecor:folding_door_mahogany_a_o", "homedecor:door_closet_mahogany_top_right") | ||||
| minetest.register_alias("homedecor:folding_door_mahogany_b_c", "homedecor:door_closet_mahogany_bottom_left") | ||||
| minetest.register_alias("homedecor:folding_door_mahogany_b_o", "homedecor:door_closet_mahogany_bottom_right") | ||||
| minetest.register_alias("homedecor:folding_door_mahogany_a_c_right", "homedecor:door_closet_mahogany_top_right") | ||||
| minetest.register_alias("homedecor:folding_door_mahogany_a_o_right", "homedecor:door_closet_mahogany_top_left") | ||||
| minetest.register_alias("homedecor:folding_door_mahogany_b_c_right", "homedecor:door_closet_mahogany_bottom_right") | ||||
| minetest.register_alias("homedecor:folding_door_mahogany_b_o_right", "homedecor:door_closet_mahogany_bottom_left") | ||||
| minetest.register_alias("homedecor:folding_door_mahogany", "homedecor:door_closet_mahogany_bottom_left") | ||||
| minetest.register_alias("homedecor:folding_door_mahogany_right", "homedecor:door_closet_mahogany_bottom_right") | ||||
							
								
								
									
										275
									
								
								door_closet_oak.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,275 @@ | ||||
| -- This file supplies oak closet doors | ||||
|  | ||||
| -- Left-opening | ||||
|  | ||||
| minetest.register_node("homedecor:door_closet_oak_top_left", { | ||||
| 	description = "oak closet door top half", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_closet_oak_tb.png", | ||||
| 		"homedecor_door_closet_oak_tb.png", | ||||
| 		"homedecor_door_closet_oak_lr.png", | ||||
| 		"homedecor_door_closet_oak_lr.png", | ||||
| 		"homedecor_door_closet_oak_right_top.png", | ||||
| 		"homedecor_door_closet_oak_left_top.png", | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
|  | ||||
| 			{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, | ||||
| 			{ -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, | ||||
| 			{ -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, | ||||
| 			{ -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, | ||||
| 			{ -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, | ||||
| 			{ -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, | ||||
| 			{ -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, | ||||
| 			{ -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, | ||||
| 			{ -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, | ||||
| 			{ -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, | ||||
| 			{ -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, | ||||
|  | ||||
| 			{ -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_closet_oak_bottom_left", | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_closet_oak_bottom_left" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2-1 | ||||
| 		if nfdir < 0 then nfdir = 3 end | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_closet_oak_top_right", param2=nfdir}) | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name =  "homedecor:door_closet_oak_bottom_right", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("homedecor:door_closet_oak_bottom_left", { | ||||
| 	description = "Oak Closet Door", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_closet_oak_tb.png", | ||||
| 		"homedecor_door_closet_oak_tb.png", | ||||
| 		"homedecor_door_closet_oak_lr.png", | ||||
| 		"homedecor_door_closet_oak_lr.png", | ||||
| 		"homedecor_door_closet_oak_right_bottom.png", | ||||
| 		"homedecor_door_closet_oak_left_bottom.png", | ||||
| 	}, | ||||
| 	wield_image = "homedecor_door_closet_oak_left_inv.png", | ||||
| 	inventory_image = "homedecor_door_closet_oak_left_inv.png", | ||||
| 	wield_scale = {x=1,y=1,z=0.25}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16},  | ||||
|  | ||||
| 			{ -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, | ||||
| 			{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, | ||||
| 			{ -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, | ||||
| 			{ -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, | ||||
| 			{ -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, | ||||
| 			{ -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, | ||||
| 			{ -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, | ||||
| 			{ -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, | ||||
| 			{ -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, | ||||
| 			{ -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, | ||||
| 			{ -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, | ||||
|  | ||||
| 			{ -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_closet_oak_top_left", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_closet_oak_top_left" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2-1 | ||||
| 		if nfdir < 0 then nfdir = 3 end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_closet_oak_top_right", param2=nfdir}) | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_closet_oak_bottom_right", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| -- Right-opening | ||||
|  | ||||
| minetest.register_node("homedecor:door_closet_oak_top_right", { | ||||
| 	description = "oak closet door top half", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_closet_oak_tb.png", | ||||
| 		"homedecor_door_closet_oak_tb.png", | ||||
| 		"homedecor_door_closet_oak_lr.png", | ||||
| 		"homedecor_door_closet_oak_lr.png", | ||||
| 		"homedecor_door_closet_oak_left_top.png", | ||||
| 		"homedecor_door_closet_oak_right_top.png", | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 5/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
|  | ||||
| 			{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, | ||||
| 			{ -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, | ||||
| 			{ -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, | ||||
| 			{ -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, | ||||
| 			{ -8/16, 0/32, 13/32, 8/16, 1/32, 15/32 }, | ||||
| 			{ -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, | ||||
| 			{ -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, | ||||
| 			{ -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, | ||||
| 			{ -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, | ||||
| 			{ -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, | ||||
| 			{ -8/16, -12/32, 13/32, 8/16, -11/32, 15/32 }, | ||||
|  | ||||
| 			{ -8/16, -16/32, 6/16, 8/16, -13/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_closet_oak_bottom_left", | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_closet_oak_bottom_right" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2+1 | ||||
| 		if nfdir > 3 then nfdir = 0 end | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_closet_oak_top_left", param2=nfdir}) | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name =  "homedecor:door_closet_oak_bottom_left", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("homedecor:door_closet_oak_bottom_right", { | ||||
| 	description = "Oak Closet Door (Right-opening)", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_closet_oak_tb.png", | ||||
| 		"homedecor_door_closet_oak_tb.png", | ||||
| 		"homedecor_door_closet_oak_lr.png", | ||||
| 		"homedecor_door_closet_oak_lr.png", | ||||
| 		"homedecor_door_closet_oak_left_bottom.png", | ||||
| 		"homedecor_door_closet_oak_right_bottom.png", | ||||
| 	}, | ||||
| 	wield_image = "homedecor_door_closet_oak_right_inv.png", | ||||
| 	inventory_image = "homedecor_door_closet_oak_right_inv.png", | ||||
| 	wield_scale = {x=1,y=1,z=0.25}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16},  | ||||
|  | ||||
| 			{ -8/16, 10/32, 13/32, 8/16, 11/32, 15/32 }, | ||||
| 			{ -8/16, 8/32, 13/32, 8/16, 9/32, 15/32 }, | ||||
| 			{ -8/16, 6/32, 13/32, 8/16, 7/32, 15/32 }, | ||||
| 			{ -8/16, 4/32, 13/32, 8/16, 5/32, 15/32 }, | ||||
| 			{ -8/16, 2/32, 13/32, 8/16, 3/32, 15/32 }, | ||||
| 			{ -8/16, 0, 13/32, 8/16, 1/32, 15/32 }, | ||||
| 			{ -8/16, -2/32, 13/32, 8/16, -1/32, 15/32 }, | ||||
| 			{ -8/16, -4/32, 13/32, 8/16, -3/32, 15/32 }, | ||||
| 			{ -8/16, -6/32, 13/32, 8/16, -5/32, 15/32 }, | ||||
| 			{ -8/16, -8/32, 13/32, 8/16, -7/32, 15/32 }, | ||||
| 			{ -8/16, -10/32, 13/32, 8/16, -9/32, 15/32 }, | ||||
|  | ||||
| 			{ -8/16, -16/32, 6/16, 8/16, -11/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_closet_oak_bottom_left", | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_closet_oak_top_right", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_closet_oak_top_right" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2+1 | ||||
| 		if nfdir > 3 then nfdir = 0 end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_closet_oak_top_left", param2=nfdir}) | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_closet_oak_bottom_left", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| -- Backwards compatibility with old zlpdoors-derived 2D version | ||||
| -- good enough to avoid losing any items, though some doors may | ||||
| -- need to be dug up and placed again to correct their orientations. | ||||
|  | ||||
| minetest.register_alias("homedecor:folding_door_oak_a_c", "homedecor:door_closet_oak_top_left") | ||||
| minetest.register_alias("homedecor:folding_door_oak_a_o", "homedecor:door_closet_oak_top_right") | ||||
| minetest.register_alias("homedecor:folding_door_oak_b_c", "homedecor:door_closet_oak_bottom_left") | ||||
| minetest.register_alias("homedecor:folding_door_oak_b_o", "homedecor:door_closet_oak_bottom_right") | ||||
| minetest.register_alias("homedecor:folding_door_oak_a_c_right", "homedecor:door_closet_oak_top_right") | ||||
| minetest.register_alias("homedecor:folding_door_oak_a_o_right", "homedecor:door_closet_oak_top_left") | ||||
| minetest.register_alias("homedecor:folding_door_oak_b_c_right", "homedecor:door_closet_oak_bottom_right") | ||||
| minetest.register_alias("homedecor:folding_door_oak_b_o_right", "homedecor:door_closet_oak_bottom_left") | ||||
| minetest.register_alias("homedecor:folding_door_oak", "homedecor:door_closet_oak_bottom_left") | ||||
| minetest.register_alias("homedecor:folding_door_oak_right", "homedecor:door_closet_oak_bottom_right") | ||||
							
								
								
									
										227
									
								
								door_exterior_fancy.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,227 @@ | ||||
| -- This file supplies Fancy Exterior wood doors with frosted glass insert | ||||
| -- | ||||
| -- Textures derived from... | ||||
| -- http://commons.wikimedia.org/wiki/File:Front_door_of_Morey_Mansion.jpg | ||||
| -- ...plus the standard Minetest logo. | ||||
|  | ||||
| -- Left-opening | ||||
|  | ||||
| minetest.register_node("homedecor:door_exterior_fancy_top_left", { | ||||
| 	description = "wood/glass door top half", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_exterior_fancy_tb.png", | ||||
| 		"homedecor_door_exterior_fancy_tb.png", | ||||
| 		"homedecor_door_exterior_fancy_lr.png", | ||||
| 		"homedecor_door_exterior_fancy_lr.png", | ||||
| 		"homedecor_door_exterior_fancy_right_top.png", | ||||
| 		"homedecor_door_exterior_fancy_left_top.png", | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_exterior_fancy_bottom_left", | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_exterior_fancy_bottom_left" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2-1 | ||||
| 		if nfdir < 0 then nfdir = 3 end | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_exterior_fancy_top_right", param2=nfdir}) | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name =  "homedecor:door_exterior_fancy_bottom_right", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("homedecor:door_exterior_fancy_bottom_left", { | ||||
| 	description = "Wood and Glass Grid-Style Door", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_exterior_fancy_tb.png", | ||||
| 		"homedecor_door_exterior_fancy_tb.png", | ||||
| 		"homedecor_door_exterior_fancy_lr.png", | ||||
| 		"homedecor_door_exterior_fancy_lr.png", | ||||
| 		"homedecor_door_exterior_fancy_right_bottom.png", | ||||
| 		"homedecor_door_exterior_fancy_left_bottom.png", | ||||
| 	}, | ||||
| 	wield_image = "homedecor_door_exterior_fancy_left_inv.png", | ||||
| 	inventory_image = "homedecor_door_exterior_fancy_left_inv.png", | ||||
| 	wield_scale = {x=1,y=1,z=0.25}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, -8/16, 6/16, 8/16, 6/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_exterior_fancy_top_left", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_exterior_fancy_top_left" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2-1 | ||||
| 		if nfdir < 0 then nfdir = 3 end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_exterior_fancy_top_right", param2=nfdir}) | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_exterior_fancy_bottom_right", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| -- Right-opening | ||||
|  | ||||
| minetest.register_node("homedecor:door_exterior_fancy_top_right", { | ||||
| 	description = "wood/glass door top half", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_exterior_fancy_tb.png", | ||||
| 		"homedecor_door_exterior_fancy_tb.png", | ||||
| 		"homedecor_door_exterior_fancy_lr.png", | ||||
| 		"homedecor_door_exterior_fancy_lr.png", | ||||
| 		"homedecor_door_exterior_fancy_left_top.png", | ||||
| 		"homedecor_door_exterior_fancy_right_top.png", | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_exterior_fancy_bottom_left", | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_exterior_fancy_bottom_right" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2+1 | ||||
| 		if nfdir > 3 then nfdir = 0 end | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_exterior_fancy_top_left", param2=nfdir}) | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name =  "homedecor:door_exterior_fancy_bottom_left", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("homedecor:door_exterior_fancy_bottom_right", { | ||||
| 	description = "Wood and Glass Grid-Style Door (Right-opening)", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_exterior_fancy_tb.png", | ||||
| 		"homedecor_door_exterior_fancy_tb.png", | ||||
| 		"homedecor_door_exterior_fancy_lr.png", | ||||
| 		"homedecor_door_exterior_fancy_lr.png", | ||||
| 		"homedecor_door_exterior_fancy_left_bottom.png", | ||||
| 		"homedecor_door_exterior_fancy_right_bottom.png", | ||||
| 	}, | ||||
| 	wield_image = "homedecor_door_exterior_fancy_right_inv.png", | ||||
| 	inventory_image = "homedecor_door_exterior_fancy_right_inv.png", | ||||
| 	wield_scale = {x=1,y=1,z=0.25}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, -8/16, 6/16, 8/16, 6/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_exterior_fancy_bottom_left", | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_exterior_fancy_top_right", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_exterior_fancy_top_right" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2+1 | ||||
| 		if nfdir > 3 then nfdir = 0 end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_exterior_fancy_top_left", param2=nfdir}) | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_exterior_fancy_bottom_left", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| -- Backwards compatibility with old zlpdoors-derived 2D version | ||||
| -- good enough to avoid losing any items, though some doors may | ||||
| -- need to be dug up and placed again to correct their orientations. | ||||
|  | ||||
| minetest.register_alias("homedecor:door_exterior_fancy_a_c", "homedecor:door_exterior_fancy_top_left") | ||||
| minetest.register_alias("homedecor:door_exterior_fancy_a_o", "homedecor:door_exterior_fancy_top_right") | ||||
| minetest.register_alias("homedecor:door_exterior_fancy_b_c", "homedecor:door_exterior_fancy_bottom_left") | ||||
| minetest.register_alias("homedecor:door_exterior_fancy_b_o", "homedecor:door_exterior_fancy_bottom_right") | ||||
| minetest.register_alias("homedecor:door_exterior_fancy_a_c_right", "homedecor:door_exterior_fancy_top_right") | ||||
| minetest.register_alias("homedecor:door_exterior_fancy_a_o_right", "homedecor:door_exterior_fancy_top_left") | ||||
| minetest.register_alias("homedecor:door_exterior_fancy_b_c_right", "homedecor:door_exterior_fancy_bottom_right") | ||||
| minetest.register_alias("homedecor:door_exterior_fancy_b_o_right", "homedecor:door_exterior_fancy_bottom_left") | ||||
| minetest.register_alias("homedecor:door_exterior_fancy", "homedecor:door_exterior_fancy_bottom_left") | ||||
| minetest.register_alias("homedecor:door_exterior_fancy_right", "homedecor:door_exterior_fancy_bottom_right") | ||||
							
								
								
									
										197
									
								
								door_glass.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,197 @@ | ||||
| -- This file supplies solid glass doors with frosted edges and metal handle | ||||
|  | ||||
| -- Left-opening | ||||
|  | ||||
| minetest.register_node("homedecor:door_glass_top_left", { | ||||
| 	description = "glass door top half", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_glass_tb.png", | ||||
| 		"homedecor_blanktile.png", | ||||
| 		"homedecor_door_glass_lr.png", | ||||
| 		"homedecor_door_glass_lr.png", | ||||
| 		"homedecor_door_glass_right_top.png", | ||||
| 		"homedecor_door_glass_left_top.png", | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_glass_bottom_left", | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_glass_bottom_left" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2-1 | ||||
| 		if nfdir < 0 then nfdir = 3 end | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_glass_top_right", param2=nfdir}) | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name =  "homedecor:door_glass_bottom_right", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("homedecor:door_glass_bottom_left", { | ||||
| 	description = "Glass Door", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_blanktile.png", | ||||
| 		"homedecor_door_glass_tb.png", | ||||
| 		"homedecor_door_glass_lr.png", | ||||
| 		"homedecor_door_glass_lr.png", | ||||
| 		"homedecor_door_glass_right_bottom.png", | ||||
| 		"homedecor_door_glass_left_bottom.png", | ||||
| 	}, | ||||
| 	wield_image = "homedecor_door_glass_left_inv.png", | ||||
| 	inventory_image = "homedecor_door_glass_left_inv.png", | ||||
| 	wield_scale = {x=1,y=1,z=0.25}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 		} | ||||
| 	}, | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_glass_top_left", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_glass_top_left" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2-1 | ||||
| 		if nfdir < 0 then nfdir = 3 end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_glass_top_right", param2=nfdir}) | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_glass_bottom_right", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| -- Right-opening | ||||
|  | ||||
| minetest.register_node("homedecor:door_glass_top_right", { | ||||
| 	description = "glass door top half", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_glass_tb.png", | ||||
| 		"homedecor_blanktile.png", | ||||
| 		"homedecor_door_glass_lr.png", | ||||
| 		"homedecor_door_glass_lr.png", | ||||
| 		"homedecor_door_glass_left_top.png", | ||||
| 		"homedecor_door_glass_right_top.png", | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed =	{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_glass_bottom_left", | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_glass_bottom_right" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2+1 | ||||
| 		if nfdir > 3 then nfdir = 0 end | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_glass_top_left", param2=nfdir}) | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name =  "homedecor:door_glass_bottom_left", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("homedecor:door_glass_bottom_right", { | ||||
| 	description = "Glass Door (Right-opening)", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_blanktile.png", | ||||
| 		"homedecor_door_glass_tb.png", | ||||
| 		"homedecor_door_glass_lr.png", | ||||
| 		"homedecor_door_glass_lr.png", | ||||
| 		"homedecor_door_glass_left_bottom.png", | ||||
| 		"homedecor_door_glass_right_bottom.png", | ||||
| 	}, | ||||
| 	wield_image = "homedecor_door_glass_right_inv.png", | ||||
| 	inventory_image = "homedecor_door_glass_right_inv.png", | ||||
| 	wield_scale = {x=1,y=1,z=0.25}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_glass_bottom_left", | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_glass_top_right", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_glass_top_right" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2+1 | ||||
| 		if nfdir > 3 then nfdir = 0 end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_glass_top_left", param2=nfdir}) | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_glass_bottom_left", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
							
								
								
									
										220
									
								
								door_glass_and_wood.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,220 @@ | ||||
| -- This file supplies wood-and-glass doors (Grid-style, like old windows) | ||||
|  | ||||
| -- Left-opening | ||||
|  | ||||
| minetest.register_node("homedecor:door_wood_glass_top_left", { | ||||
| 	description = "wood/glass door top half", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_wood_glass_tb.png", | ||||
| 		"homedecor_door_wood_glass_tb.png", | ||||
| 		"homedecor_door_wood_glass_lr.png", | ||||
| 		"homedecor_door_wood_glass_lr.png", | ||||
| 		"homedecor_door_wood_glass_right_top.png", | ||||
| 		"homedecor_door_wood_glass_left_top.png", | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_wood_glass_bottom_left", | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_wood_glass_bottom_left" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2-1 | ||||
| 		if nfdir < 0 then nfdir = 3 end | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_wood_glass_top_right", param2=nfdir}) | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name =  "homedecor:door_wood_glass_bottom_right", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("homedecor:door_wood_glass_bottom_left", { | ||||
| 	description = "Wood and Glass Grid-Style Door", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_wood_glass_tb.png", | ||||
| 		"homedecor_door_wood_glass_tb.png", | ||||
| 		"homedecor_door_wood_glass_lr.png", | ||||
| 		"homedecor_door_wood_glass_lr.png", | ||||
| 		"homedecor_door_wood_glass_right_bottom.png", | ||||
| 		"homedecor_door_wood_glass_left_bottom.png", | ||||
| 	}, | ||||
| 	wield_image = "homedecor_door_wood_glass_left_inv.png", | ||||
| 	inventory_image = "homedecor_door_wood_glass_left_inv.png", | ||||
| 	wield_scale = {x=1,y=1,z=0.25}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_wood_glass_top_left", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_wood_glass_top_left" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2-1 | ||||
| 		if nfdir < 0 then nfdir = 3 end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_wood_glass_top_right", param2=nfdir}) | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_wood_glass_bottom_right", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| -- Right-opening | ||||
|  | ||||
| minetest.register_node("homedecor:door_wood_glass_top_right", { | ||||
| 	description = "wood/glass door top half", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_wood_glass_tb.png", | ||||
| 		"homedecor_door_wood_glass_tb.png", | ||||
| 		"homedecor_door_wood_glass_lr.png", | ||||
| 		"homedecor_door_wood_glass_lr.png", | ||||
| 		"homedecor_door_wood_glass_left_top.png", | ||||
| 		"homedecor_door_wood_glass_right_top.png", | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 6/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -3/32, 6/16, 8/16, 1/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, 8/16, -7/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_wood_glass_bottom_left", | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_wood_glass_bottom_right" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2+1 | ||||
| 		if nfdir > 3 then nfdir = 0 end | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_wood_glass_top_left", param2=nfdir}) | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name =  "homedecor:door_wood_glass_bottom_left", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
| minetest.register_node("homedecor:door_wood_glass_bottom_right", { | ||||
| 	description = "Wood and Glass Grid-Style Door (Right-opening)", | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { | ||||
| 		"homedecor_door_wood_glass_tb.png", | ||||
| 		"homedecor_door_wood_glass_tb.png", | ||||
| 		"homedecor_door_wood_glass_lr.png", | ||||
| 		"homedecor_door_wood_glass_lr.png", | ||||
| 		"homedecor_door_wood_glass_left_bottom.png", | ||||
| 		"homedecor_door_wood_glass_right_bottom.png", | ||||
| 	}, | ||||
| 	wield_image = "homedecor_door_wood_glass_right_inv.png", | ||||
| 	inventory_image = "homedecor_door_wood_glass_right_inv.png", | ||||
| 	wield_scale = {x=1,y=1,z=0.25}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	is_ground_content = true, | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = true, | ||||
| 	selection_box = { | ||||
| 	        type = "fixed", | ||||
| 	        fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16} | ||||
| 	}, | ||||
| 	node_box = { | ||||
| 	        type = "fixed", | ||||
| 		fixed = { | ||||
| 			{ -8/16, 7/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -1/32, 6/16, 8/16, 3/32, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, 8/16, -6/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 6/16, -6/16, 8/16, 8/16 }, | ||||
| 			{ -1/16, -8/16, 6/16, 1/16, 8/16, 8/16 }, | ||||
| 			{ 6/16, -8/16, 6/16, 8/16, 8/16, 8/16 }, | ||||
| 			{ -8/16, -8/16, 7/16, 8/16, 8/16, 7/16 } | ||||
| 		} | ||||
| 	}, | ||||
| 	drop = "homedecor:door_wood_glass_bottom_left", | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_wood_glass_top_right", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_wood_glass_top_right" then | ||||
| 			minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		end | ||||
| 	end, | ||||
| 	on_punch = function(pos, node, puncher) | ||||
| 		nfdir=node.param2+1 | ||||
| 		if nfdir > 3 then nfdir = 0 end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_wood_glass_top_left", param2=nfdir}) | ||||
| 		minetest.env:add_node(pos, { name =  "homedecor:door_wood_glass_bottom_left", param2=nfdir}) | ||||
| 	end | ||||
| }) | ||||
							
								
								
									
										48
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						| @@ -11,6 +11,12 @@ | ||||
| -- License: LGPL | ||||
| -- | ||||
|  | ||||
| dofile(minetest.get_modpath("homedecor").."/door_glass.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/door_glass_and_wood.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/door_exterior_fancy.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/door_closet_oak.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/door_closet_mahogany.lua") | ||||
|  | ||||
| dofile(minetest.get_modpath("homedecor").."/lighting.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/fences.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/kitchen_cabinet.lua") | ||||
| @@ -18,9 +24,7 @@ dofile(minetest.get_modpath("homedecor").."/refrigerator.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/oven.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/nightstands.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/television.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/foldingdoors_oak.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/foldingdoors_mahogany.lua") | ||||
| dofile(minetest.get_modpath("homedecor").."/exterior_door_fancy.lua") | ||||
|  | ||||
| dofile(minetest.get_modpath("homedecor").."/crafts.lua") | ||||
|  | ||||
| local DEBUG = 0 | ||||
| @@ -443,44 +447,6 @@ minetest.register_node('homedecor:wood_table_small_square', { | ||||
|                         }, | ||||
| }) | ||||
|  | ||||
| minetest.register_node('homedecor:folding_door_mahogany', { | ||||
| 	description = "Mahogany Folding Door", | ||||
| 	tiles = { 'homedecor_folding_door_mahogany.png' }, | ||||
| 	inventory_image = 'homedecor_folding_door_mahogany.png', | ||||
| 	wield_image = 'homedecor_folding_door_mahogany.png', | ||||
| 	drawtype = 'signlike', | ||||
| 	sunlight_propagates = false, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	walkable = false, | ||||
| 	groups = { snappy = 3 }, | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
| 	paramtype2 = 'wallmounted', | ||||
| 	selection_box = { | ||||
| 		type = "wallmounted", | ||||
| 		--wall_side = = <default> | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node('homedecor:folding_door_oak', { | ||||
| 	description = "Oak Folding Door", | ||||
| 	tiles = { 'homedecor_folding_door_oak.png' }, | ||||
| 	inventory_image = 'homedecor_folding_door_oak.png', | ||||
| 	wield_image = 'homedecor_folding_door_oak.png', | ||||
| 	drawtype = 'signlike', | ||||
| 	sunlight_propagates = false, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	walkable = false, | ||||
| 	groups = { snappy = 3 }, | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
| 	paramtype2 = 'wallmounted', | ||||
| 	selection_box = { | ||||
| 		type = "wallmounted", | ||||
| 		--wall_side = = <default> | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node('homedecor:shutter_black', { | ||||
| 	description = "Wooden Shutter (Black)", | ||||
| 	tiles = { 'homedecor_window_shutter_black.png' }, | ||||
|   | ||||
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_mahogany_left_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_mahogany_left_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.7 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_mahogany_left_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_mahogany_lr.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 437 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_mahogany_right_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.5 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_mahogany_right_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_mahogany_right_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_mahogany_tb.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 573 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_oak_left_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_oak_left_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_oak_left_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_oak_lr.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 447 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_oak_right_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_oak_right_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_oak_right_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.6 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_closet_oak_tb.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 589 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_exterior_fancy_left_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 706 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_exterior_fancy_left_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 515 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_exterior_fancy_left_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 736 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_exterior_fancy_lr.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 305 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_exterior_fancy_right_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 706 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_exterior_fancy_right_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 505 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_exterior_fancy_right_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 740 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_exterior_fancy_tb.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 317 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_bottom_left.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 364 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_bottom_right.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 375 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_left_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 345 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_left_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 613 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_left_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 339 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_lr.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 199 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_right_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 345 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_right_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 640 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_right_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 337 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_tb.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 188 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_top_left.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 364 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_glass_top_right.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 375 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_wood_glass_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_wood_glass_left_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_wood_glass_left_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_wood_glass_left_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_wood_glass_lr.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 735 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_wood_glass_right_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_wood_glass_right_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 3.8 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_wood_glass_right_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.9 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_door_wood_glass_tb.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 702 B |