mirror of
				https://github.com/mt-mods/homedecor_modpack.git
				synced 2025-11-04 15:35:35 +01:00 
			
		
		
		
	Compare commits
	
		
			14 Commits
		
	
	
		
			2019-06-04
			...
			2019-06-20
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					11e6b5d92a | ||
| 
						 | 
					7e7b2bcabb | ||
| 
						 | 
					b28f1314da | ||
| 
						 | 
					17ea2040e2 | ||
| 
						 | 
					ed9fb6a34d | ||
| 
						 | 
					13862c1a48 | ||
| 
						 | 
					e289e79aea | ||
| 
						 | 
					80ab12710b | ||
| 
						 | 
					1b94c940d7 | ||
| 
						 | 
					df44dd3dad | ||
| 
						 | 
					bff90189fc | ||
| 
						 | 
					b407f06dc4 | ||
| 
						 | 
					e6dc2c5508 | ||
| 
						 | 
					bde2bf2bf6 | 
@@ -89,28 +89,19 @@ end
 | 
			
		||||
-- 3d-ify default mtg wood and steel doors and trap doors
 | 
			
		||||
 | 
			
		||||
if minetest.get_modpath("doors") then
 | 
			
		||||
	local function clone_node(name)
 | 
			
		||||
		local node2 = {}
 | 
			
		||||
		local node = minetest.registered_nodes[name]
 | 
			
		||||
		for k,v in pairs(node) do
 | 
			
		||||
			node2[k]=v
 | 
			
		||||
		end
 | 
			
		||||
		return node2
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local def
 | 
			
		||||
	for _,mat in ipairs({"wood", "steel"}) do
 | 
			
		||||
		def = clone_node("doors:door_"..mat.."_a")
 | 
			
		||||
		def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_a"])
 | 
			
		||||
			def.mesh = "homedecor_3d_door_"..mat.."_a.obj"
 | 
			
		||||
			minetest.register_node(":doors:door_"..mat.."_a", def)
 | 
			
		||||
 | 
			
		||||
		def = clone_node("doors:door_"..mat.."_b")
 | 
			
		||||
		def = table.copy(minetest.registered_nodes["doors:door_"..mat.."_b"])
 | 
			
		||||
			def.mesh = "homedecor_3d_door_"..mat.."_b.obj"
 | 
			
		||||
			minetest.register_node(":doors:door_"..mat.."_b", def)
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	for _,mat in ipairs({"", "_steel"}) do
 | 
			
		||||
		def = clone_node("doors:trapdoor"..mat)
 | 
			
		||||
		def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat])
 | 
			
		||||
			def.drawtype = "mesh"
 | 
			
		||||
			def.mesh = "homedecor_3d_trapdoor"..mat..".obj"
 | 
			
		||||
			def.tiles = {
 | 
			
		||||
@@ -119,7 +110,7 @@ if minetest.get_modpath("doors") then
 | 
			
		||||
			}
 | 
			
		||||
			minetest.register_node(":doors:trapdoor"..mat, def)
 | 
			
		||||
 | 
			
		||||
		def = clone_node("doors:trapdoor"..mat.."_open")
 | 
			
		||||
		def = table.copy(minetest.registered_nodes["doors:trapdoor"..mat.."_open"])
 | 
			
		||||
			def.mesh = "homedecor_3d_trapdoor"..mat.."_open.obj"
 | 
			
		||||
			def.drawtype = "mesh"
 | 
			
		||||
			def.tiles = {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
default
 | 
			
		||||
creative
 | 
			
		||||
 | 
			
		||||
intllib?
 | 
			
		||||
 
 | 
			
		||||
@@ -3,17 +3,6 @@
 | 
			
		||||
local S = homedecor.gettext
 | 
			
		||||
local mesecons_mp = minetest.get_modpath("mesecons")
 | 
			
		||||
 | 
			
		||||
-- clone node
 | 
			
		||||
 | 
			
		||||
function hd_doors_clone_node(name)
 | 
			
		||||
	local node2 = {}
 | 
			
		||||
	local node = minetest.registered_nodes[name]
 | 
			
		||||
	for k,v in pairs(node) do
 | 
			
		||||
		node2[k]=v
 | 
			
		||||
	end
 | 
			
		||||
	return node2
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- new doors using minetest_game doors API
 | 
			
		||||
 | 
			
		||||
local door_list = {
 | 
			
		||||
@@ -181,22 +170,22 @@ for _, door in ipairs(door_list) do
 | 
			
		||||
	local nn_b = "doors:homedecor_"..door.name.."_b"
 | 
			
		||||
 | 
			
		||||
	if door.alpha then
 | 
			
		||||
		local def = hd_doors_clone_node(nn_a)
 | 
			
		||||
		local def = table.copy(minetest.registered_nodes[nn_a])
 | 
			
		||||
			def.use_texture_alpha = true
 | 
			
		||||
			def.mesh = "door_a.obj"                -- leaving this out will break the _a model
 | 
			
		||||
			minetest.register_node(":"..nn_a, def) -- assignment when the override takes place
 | 
			
		||||
 | 
			
		||||
		def = hd_doors_clone_node(nn_b)
 | 
			
		||||
		def = table.copy(minetest.registered_nodes[nn_b])
 | 
			
		||||
			def.use_texture_alpha = true
 | 
			
		||||
			minetest.register_node(":"..nn_b, def)
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	if door.custom_model and hd_3d then
 | 
			
		||||
		def = hd_doors_clone_node(nn_a)
 | 
			
		||||
		def = table.copy(minetest.registered_nodes[nn_a])
 | 
			
		||||
			def.mesh = door.custom_model.."_a.obj"
 | 
			
		||||
			minetest.register_node(":"..nn_a, def)
 | 
			
		||||
 | 
			
		||||
		def = hd_doors_clone_node(nn_b)
 | 
			
		||||
		def = table.copy(minetest.registered_nodes[nn_b])
 | 
			
		||||
			def.mesh = door.custom_model.."_b.obj"
 | 
			
		||||
			minetest.register_node(":"..nn_b, def)
 | 
			
		||||
	end
 | 
			
		||||
@@ -468,8 +457,8 @@ minetest.register_craft( {
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	output = "homedecor:gate_half_door_closed 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		"homedecor:door_wood_plain_a",
 | 
			
		||||
		"homedecor:door_wood_plain_a"
 | 
			
		||||
		"doors:homedecor_wood_plain_a",
 | 
			
		||||
		"doors:homedecor_wood_plain_a"
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -477,8 +466,8 @@ minetest.register_craft( {
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
	output = "homedecor:gate_half_door_white_closed 4",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		"homedecor:door_bedroom_a",
 | 
			
		||||
		"homedecor:door_bedroom_a"
 | 
			
		||||
		"doors:homedecor_bedroom_a",
 | 
			
		||||
		"doors:homedecor_bedroom_a"
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -553,7 +542,7 @@ minetest.register_craft( {
 | 
			
		||||
-- plain wood, non-windowed
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
        output = "homedecor:door_wood_plain_a 2",
 | 
			
		||||
        output = "doors:homedecor_wood_plain 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			{ "group:wood", "group:wood", "" },
 | 
			
		||||
			{ "group:wood", "group:wood", "default:steel_ingot" },
 | 
			
		||||
@@ -564,7 +553,7 @@ minetest.register_craft( {
 | 
			
		||||
-- fancy exterior
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
        output = "homedecor:door_exterior_fancy_a 2",
 | 
			
		||||
        output = "doors:homedecor_exterior_fancy 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			{ "group:wood", "default:glass" },
 | 
			
		||||
			{ "group:wood", "group:wood" },
 | 
			
		||||
@@ -572,12 +561,10 @@ minetest.register_craft( {
 | 
			
		||||
        },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- wood and glass (grid style)
 | 
			
		||||
 | 
			
		||||
-- bare
 | 
			
		||||
-- French style wood/glass
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
        output = "homedecor:door_wood_glass_oak_a 2",
 | 
			
		||||
        output = "doors:homedecor_french_oak 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			{ "default:glass", "group:wood" },
 | 
			
		||||
			{ "group:wood", "default:glass" },
 | 
			
		||||
@@ -586,7 +573,7 @@ minetest.register_craft( {
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
        output = "homedecor:door_wood_glass_oak_a 2",
 | 
			
		||||
        output = "doors:homedecor_french_oak 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			{ "group:wood", "default:glass" },
 | 
			
		||||
			{ "default:glass", "group:wood" },
 | 
			
		||||
@@ -594,27 +581,23 @@ minetest.register_craft( {
 | 
			
		||||
        },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- mahogany
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
        output = "homedecor:door_wood_glass_mahogany_a 2",
 | 
			
		||||
        output = "doors:homedecor_french_mahogany 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			"dye:brown",
 | 
			
		||||
			"homedecor:door_wood_glass_oak_a",
 | 
			
		||||
			"homedecor:door_wood_glass_oak_a"
 | 
			
		||||
			"doors:homedecor_wood_glass_oak_a",
 | 
			
		||||
			"doors:homedecor_wood_glass_oak_a"
 | 
			
		||||
        },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- white
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
        output = "homedecor:door_wood_glass_white_a 2",
 | 
			
		||||
        output = "doors:homedecor_french_white 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			"dye:white",
 | 
			
		||||
			"homedecor:door_wood_glass_oak_a",
 | 
			
		||||
			"homedecor:door_wood_glass_oak_a"
 | 
			
		||||
			"doors:homedecor_wood_glass_oak_a",
 | 
			
		||||
			"doors:homedecor_wood_glass_oak_a"
 | 
			
		||||
        },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -623,7 +606,7 @@ minetest.register_craft( {
 | 
			
		||||
-- oak
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
        output = "homedecor:door_closet_oak_a 2",
 | 
			
		||||
        output = "doors:homedecor_closet_oak 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			{ "", "group:stick", "group:stick" },
 | 
			
		||||
			{ "default:steel_ingot", "group:stick", "group:stick" },
 | 
			
		||||
@@ -635,18 +618,18 @@ minetest.register_craft( {
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
        output = "homedecor:door_closet_mahogany_a 2",
 | 
			
		||||
        output = "doors:homedecor_closet_mahogany 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			"homedecor:door_closet_oak_a",
 | 
			
		||||
			"homedecor:door_closet_oak_a",
 | 
			
		||||
			"doors:homedecor_closet_oak_a",
 | 
			
		||||
			"doors:homedecor_closet_oak_a",
 | 
			
		||||
			"dye:brown"
 | 
			
		||||
        },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- wrought fence-like door
 | 
			
		||||
-- wrought iron fence-like door
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
        output = "homedecor:door_wrought_iron_a 2",
 | 
			
		||||
        output = "doors:homedecor_wrought_iron 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			{ "homedecor:pole_wrought_iron", "default:iron_lump" },
 | 
			
		||||
			{ "homedecor:pole_wrought_iron", "default:iron_lump" },
 | 
			
		||||
@@ -654,21 +637,21 @@ minetest.register_craft( {
 | 
			
		||||
        },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- bedroom door
 | 
			
		||||
-- bedroom/panel door
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
	output = "homedecor:door_bedroom_a",
 | 
			
		||||
	output = "doors:homedecor_basic_panel",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ "dye:white", "dye:white", "" },
 | 
			
		||||
		{ "homedecor:door_wood_plain_a", "basic_materials:brass_ingot", "" },
 | 
			
		||||
		{ "doors:homedecor_wood_plain_a", "basic_materials:brass_ingot", "" },
 | 
			
		||||
		{ "", "", "" },
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- woodglass door
 | 
			
		||||
-- basic wood/glass single-lite door
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
	output = "homedecor:door_woodglass_a",
 | 
			
		||||
	output = "doors:homedecor_woodglass",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ "group:wood", "default:glass", "" },
 | 
			
		||||
		{ "group:wood", "default:glass", "basic_materials:brass_ingot" },
 | 
			
		||||
@@ -676,10 +659,10 @@ minetest.register_craft( {
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- woodglass door type 2
 | 
			
		||||
-- "Carolina" door
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
	output = "homedecor:door_woodglass2_a",
 | 
			
		||||
	output = "doors:homedecor_carolina",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ "default:glass", "default:glass", "" },
 | 
			
		||||
		{ "group:wood", "group:wood", "default:iron_lump" },
 | 
			
		||||
@@ -716,6 +699,15 @@ minetest.register_alias("doors:wood_glass_white_b",             "doors:homedecor
 | 
			
		||||
minetest.register_alias("doors:wood_glass_mahogany_a",          "doors:homedecor_french_mahogany_a")
 | 
			
		||||
minetest.register_alias("doors:wood_glass_mahogany_b",          "doors:homedecor_french_mahogany_b")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("doors:homedecor_wood_glass_oak_a",     "doors:homedecor_french_oak_a")
 | 
			
		||||
minetest.register_alias("doors:homedecor_wood_glass_oak_b",     "doors:homedecor_french_oak_b")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("doors:homedecor_wood_glass_white_a",   "doors:homedecor_french_white_a")
 | 
			
		||||
minetest.register_alias("doors:homedecor_wood_glass_white_b",   "doors:homedecor_french_white_b")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("doors:homedecor_wood_glass_mahogany_a", "doors:homedecor_french_mahogany_a")
 | 
			
		||||
minetest.register_alias("doors:homedecor_wood_glass_mahogany_b", "doors:homedecor_french_mahogany_b")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("doors:homedecor_woodglass2_a",         "doors:homedecor_carolina_a")
 | 
			
		||||
minetest.register_alias("doors:homedecor_woodglass2_b",         "doors:homedecor_carolina_b")
 | 
			
		||||
 | 
			
		||||
@@ -730,8 +722,23 @@ minetest.register_alias("doors:bedroom_b",                      "doors:homedecor
 | 
			
		||||
 | 
			
		||||
-- flip old homedecor doors around, since they use minetest_game doors API now
 | 
			
		||||
 | 
			
		||||
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_oak_left"
 | 
			
		||||
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_oak_right"
 | 
			
		||||
 | 
			
		||||
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_white_left"
 | 
			
		||||
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_white_right"
 | 
			
		||||
 | 
			
		||||
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_mahogany_left"
 | 
			
		||||
old_doors[#old_doors + 1] = "homedecor:door_wood_glass_mahogany_right"
 | 
			
		||||
 | 
			
		||||
old_doors[#old_doors + 1] = "homedecor:door_woodglass2_left"
 | 
			
		||||
old_doors[#old_doors + 1] = "homedecor:door_woodglass2_right"
 | 
			
		||||
 | 
			
		||||
old_doors[#old_doors + 1] = "homedecor:door_bedroom_left"
 | 
			
		||||
old_doors[#old_doors + 1] = "homedecor:door_bedroom_right"
 | 
			
		||||
 | 
			
		||||
minetest.register_lbm({
 | 
			
		||||
	name = ":homedecor:convert_doors",
 | 
			
		||||
	name = ":homedecor:convert_doors_3",
 | 
			
		||||
	label = "Convert Homedecor doors to mtg doors API",
 | 
			
		||||
	nodenames = old_doors,
 | 
			
		||||
	run_at_every_load = false,
 | 
			
		||||
@@ -740,10 +747,12 @@ minetest.register_lbm({
 | 
			
		||||
		local newparam2 = (node.param2 + 2) % 4
 | 
			
		||||
		local e = string.find(node.name, "_", -7)
 | 
			
		||||
		local dir = string.sub(node.name, e+1)
 | 
			
		||||
		local newname = "doors:"..string.sub(node.name, 16, e-1)
 | 
			
		||||
		local newname = "doors:homedecor_"..string.sub(node.name, 16, e-1)
 | 
			
		||||
		if dir == "right" then
 | 
			
		||||
			print("Want to replace "..node.name.." with "..newname.."_a")
 | 
			
		||||
			minetest.set_node(pos, {name = newname.."_a", param2 = newparam2 })
 | 
			
		||||
		else
 | 
			
		||||
			print("Want to replace "..node.name.." with "..newname.."_b")
 | 
			
		||||
			minetest.set_node(pos, {name = newname.."_b", param2 = newparam2 })
 | 
			
		||||
		end
 | 
			
		||||
		minetest.set_node({x=pos.x, y=pos.y+1, z=pos.z}, {name = "doors:hidden"})
 | 
			
		||||
 
 | 
			
		||||
@@ -11,6 +11,8 @@ local function is_protected(pos, clicker)
 | 
			
		||||
	return false
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local hd_mesecons = minetest.get_modpath("mesecons")
 | 
			
		||||
 | 
			
		||||
-- control and brightness for dimmable lamps
 | 
			
		||||
 | 
			
		||||
local brightn_cycle = {
 | 
			
		||||
@@ -51,7 +53,7 @@ local rules_alldir = {
 | 
			
		||||
 | 
			
		||||
local actions
 | 
			
		||||
 | 
			
		||||
if minetest.get_modpath("mesecons") then
 | 
			
		||||
if hd_mesecons then
 | 
			
		||||
 | 
			
		||||
	actions = {
 | 
			
		||||
		action_off = function(pos, node)
 | 
			
		||||
@@ -132,7 +134,7 @@ if minetest.get_modpath("digilines") then
 | 
			
		||||
		end
 | 
			
		||||
	end)
 | 
			
		||||
 | 
			
		||||
	if minetest.get_modpath("mesecons") then
 | 
			
		||||
	if hd_mesecons then
 | 
			
		||||
		homedecor.digiline_wall_light = {
 | 
			
		||||
			effector = {
 | 
			
		||||
				action = on_digiline_receive_string,
 | 
			
		||||
@@ -182,10 +184,14 @@ function homedecor.toggle_light(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
	local level = string.sub(node.name, sep + 1)
 | 
			
		||||
	local n = tonumber(level) or 0
 | 
			
		||||
 | 
			
		||||
	if level == "off" or n < 4 then
 | 
			
		||||
		newsuff = "_14"
 | 
			
		||||
	else
 | 
			
		||||
	if level == "on" then
 | 
			
		||||
		newsuff = "_off"
 | 
			
		||||
	elseif level == "off" then
 | 
			
		||||
		newsuff = "_on"
 | 
			
		||||
	elseif n > 3 then
 | 
			
		||||
		newsuff = "_0"
 | 
			
		||||
	else
 | 
			
		||||
		newsuff = "_14"
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	minetest.swap_node(pos, {name = string.sub(node.name, 1, sep - 1)..newsuff, param2 = node.param2})
 | 
			
		||||
@@ -724,7 +730,7 @@ for brightness_level = 0, 14 do
 | 
			
		||||
		paramtype2 = "color",
 | 
			
		||||
		palette = "unifieddyes_palette_extended.png",
 | 
			
		||||
		walkable = false,
 | 
			
		||||
		light_source = word_to_bright[light_brightn_name],
 | 
			
		||||
		light_source = brightness_level,
 | 
			
		||||
		groups = {cracky=2,oddly_breakable_by_hand=1, ud_param2_colorable = 1, not_in_creative_inventory=nici },
 | 
			
		||||
		selection_box = slamp_cbox,
 | 
			
		||||
		sounds = default.node_sound_wood_defaults(),
 | 
			
		||||
@@ -749,6 +755,15 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
 | 
			
		||||
 | 
			
		||||
	local onflag = (light_brightn_name == "on")
 | 
			
		||||
	local nici = (light_brightn_name == "off") and 1 or nil
 | 
			
		||||
	local nici_m = (light_brightn_name == "off") and 1 or nil
 | 
			
		||||
	local on_rc = homedecor.toggle_light
 | 
			
		||||
	local di = "on"
 | 
			
		||||
 | 
			
		||||
	if hd_mesecons then
 | 
			
		||||
		nici_m = (light_brightn_name ~= "off") and 1 or nil
 | 
			
		||||
		on_rc = nil
 | 
			
		||||
		di = "off"
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local gen_ls_tex_white =           "homedecor_generic_light_source_off.png"
 | 
			
		||||
	if onflag then gen_ls_tex_white =  "homedecor_generic_light_source_white.png" end
 | 
			
		||||
@@ -765,7 +780,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	homedecor.register("plasma_ball_"..light_brightn_name, {
 | 
			
		||||
		description = S("Plasma Ball"),
 | 
			
		||||
		description = S("Plasma Ball/light"),
 | 
			
		||||
		mesh = "homedecor_plasma_ball.obj",
 | 
			
		||||
		tiles = {
 | 
			
		||||
			{ name = "homedecor_generic_plastic.png", color = homedecor.color_black },
 | 
			
		||||
@@ -829,14 +844,14 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
 | 
			
		||||
			"homedecor:rope_light_on_floor_off",
 | 
			
		||||
			"group:mesecon_conductor_craftable"
 | 
			
		||||
		},
 | 
			
		||||
		groups = {cracky=3, not_in_creative_inventory = nici},
 | 
			
		||||
		groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici_m},
 | 
			
		||||
		sounds =  default.node_sound_stone_defaults(),
 | 
			
		||||
		on_rightclick = homedecor.toggle_light,
 | 
			
		||||
		drop = {
 | 
			
		||||
			items = {
 | 
			
		||||
				{items = {"homedecor:rope_light_on_floor_on"} },
 | 
			
		||||
				{items = {"homedecor:rope_light_on_floor_"..di} },
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		on_rightclick = on_rc,
 | 
			
		||||
		mesecons = {
 | 
			
		||||
			conductor = {
 | 
			
		||||
				state = mesecon and (onflag and mesecon.state.on or mesecon.state.off),
 | 
			
		||||
@@ -875,14 +890,14 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
 | 
			
		||||
			"homedecor:rope_light_on_ceiling_off",
 | 
			
		||||
			"group:mesecon_conductor_craftable"
 | 
			
		||||
		},
 | 
			
		||||
		groups = {cracky=3, not_in_creative_inventory = nici},
 | 
			
		||||
		groups = {cracky=3, oddly_breakable_by_hand=3, not_in_creative_inventory = nici_m},
 | 
			
		||||
		sounds =  default.node_sound_stone_defaults(),
 | 
			
		||||
		on_rightclick = homedecor.toggle_light,
 | 
			
		||||
		drop = {
 | 
			
		||||
			items = {
 | 
			
		||||
				{items = {"homedecor:rope_light_on_ceiling_on"}},
 | 
			
		||||
				{items = {"homedecor:rope_light_on_ceiling_"..di}},
 | 
			
		||||
			}
 | 
			
		||||
		},
 | 
			
		||||
		on_rightclick = on_rc,
 | 
			
		||||
		mesecons = {
 | 
			
		||||
			conductor = {
 | 
			
		||||
				state = mesecon and (onflag and mesecon.state.on or mesecon.state.off),
 | 
			
		||||
@@ -894,7 +909,7 @@ for _, light_brightn_name in ipairs({"off", "on"}) do
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	homedecor.register("wall_lamp_"..light_brightn_name, {
 | 
			
		||||
		description = S("Wall Lamp"),
 | 
			
		||||
		description = S("Wall Lamp/light"),
 | 
			
		||||
		mesh = "homedecor_wall_lamp.obj",
 | 
			
		||||
		tiles = {
 | 
			
		||||
			{ name = "homedecor_generic_metal.png", color = homedecor.color_med_grey },
 | 
			
		||||
@@ -1785,6 +1800,7 @@ unifieddyes.register_color_craft({
 | 
			
		||||
minetest.register_alias("chains:chain_top",                    "homedecor:chain_steel_top")
 | 
			
		||||
minetest.register_alias("chains:chain_top_brass",              "homedecor:chain_brass_top")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("chains:chandelier",                   "homedecor:chandelier_steel")
 | 
			
		||||
minetest.register_alias("chains:chandelier_steel",             "homedecor:chandelier_steel")
 | 
			
		||||
minetest.register_alias("chains:chandelier_brass",             "homedecor:chandelier_brass")
 | 
			
		||||
 | 
			
		||||
@@ -1797,18 +1813,9 @@ minetest.register_alias("homedecor:glowlight_quarter_max",     "homedecor:glowli
 | 
			
		||||
minetest.register_alias("homedecor:glowlight_small_cube",      "homedecor:glowlight_small_cube_14")
 | 
			
		||||
minetest.register_alias("homedecor:glowlight_small_cube_max",  "homedecor:glowlight_small_cube_14")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:rope_light_14_floor",       "homedecor:rope_light_on_floor_14")
 | 
			
		||||
minetest.register_alias("homedecor:rope_light_on_floor_max",   "homedecor:rope_light_on_floor_14")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:rope_light_on_ceiling",     "homedecor:rope_light_on_ceiling_14")
 | 
			
		||||
minetest.register_alias("homedecor:rope_light_on_ceiling_max", "homedecor:rope_light_on_ceiling_14")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:plasma_lamp",               "homedecor:plasma_lamp_14")
 | 
			
		||||
minetest.register_alias("homedecor:plasma_lamp_max",           "homedecor:plasma_lamp_14")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:plasma_ball",               "homedecor:plasma_ball_14")
 | 
			
		||||
minetest.register_alias("homedecor:plasma_ball_max",           "homedecor:plasma_ball_14")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:ground_lantern",            "homedecor:ground_lantern_14")
 | 
			
		||||
minetest.register_alias("homedecor:ground_lantern_max",        "homedecor:ground_lantern_14")
 | 
			
		||||
 | 
			
		||||
@@ -1836,15 +1843,21 @@ minetest.register_alias("homedecor:table_lamp_max",            "homedecor:table_
 | 
			
		||||
minetest.register_alias("homedecor:standing_lamp",             "homedecor:standing_lamp_14")
 | 
			
		||||
minetest.register_alias("homedecor:standing_lamp_max",         "homedecor:standing_lamp_14")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:wall_lamp",                 "homedecor:wall_lamp_14")
 | 
			
		||||
minetest.register_alias("homedecor:wall_lamp_max",             "homedecor:wall_lamp_14")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("3dforniture:table_lamp",              "homedecor:table_lamp_14")
 | 
			
		||||
minetest.register_alias("3dforniture:table_lamp_max",          "homedecor:table_lamp_14")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("3dforniture:torch_wall",              "homedecor:torch_wall")
 | 
			
		||||
minetest.register_alias("torch_wall",                          "homedecor:torch_wall")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:plasma_ball",               "homedecor:plasma_ball_on")
 | 
			
		||||
minetest.register_alias("homedecor:wall_lamp",                 "homedecor:wall_lamp_on")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:rope_light_on_floor_0",     "homedecor:rope_light_on_floor_off")
 | 
			
		||||
minetest.register_alias("homedecor:rope_light_on_floor_14",    "homedecor:rope_light_on_floor_on")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:rope_light_on_ceiling_0",   "homedecor:rope_light_on_ceiling_off")
 | 
			
		||||
minetest.register_alias("homedecor:rope_light_on_ceiling_14",  "homedecor:rope_light_on_ceiling_on")
 | 
			
		||||
 | 
			
		||||
for name, level in pairs(word_to_bright) do
 | 
			
		||||
	minetest.register_alias("homedecor:glowlight_half_"..name,        "homedecor:glowlight_half_"..level)
 | 
			
		||||
	minetest.register_alias("homedecor:glowlight_quarter_"..name,     "homedecor:glowlight_quarter_"..level)
 | 
			
		||||
@@ -1862,7 +1875,6 @@ for name, level in pairs(word_to_bright) do
 | 
			
		||||
	minetest.register_alias("homedecor:ceiling_lamp_"..name,          "homedecor:ceiling_lamp_"..level)
 | 
			
		||||
	minetest.register_alias("homedecor:table_lamp_"..name,            "homedecor:table_lamp_"..level)
 | 
			
		||||
	minetest.register_alias("homedecor:standing_lamp_"..name,         "homedecor:standing_lamp_"..level)
 | 
			
		||||
	minetest.register_alias("homedecor:wall_lamp_"..name,             "homedecor:wall_lamp_"..level)
 | 
			
		||||
	minetest.register_alias("3dforniture:table_lamp_"..name,          "homedecor:table_lamp_"..level)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -106,7 +106,7 @@ minetest.register_node(":homedecor:curtain_closed", {
 | 
			
		||||
	drawtype = 'signlike',
 | 
			
		||||
	use_texture_alpha = true,
 | 
			
		||||
	walkable = false,
 | 
			
		||||
	groups = { snappy = 3, ud_param2_colorable = 1 },
 | 
			
		||||
	groups = { snappy = 3, ud_param2_colorable = 1, not_in_creative_inventory=1 },
 | 
			
		||||
	sounds = default.node_sound_leaves_defaults(),
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "colorwallmounted",
 | 
			
		||||
@@ -116,12 +116,7 @@ minetest.register_node(":homedecor:curtain_closed", {
 | 
			
		||||
		unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end,
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
 | 
			
		||||
		if string.find(topnode.name, "homedecor:curtainrod") then
 | 
			
		||||
			-- Open the curtains
 | 
			
		||||
			local fdir = node.param2
 | 
			
		||||
			minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = fdir })
 | 
			
		||||
		end
 | 
			
		||||
		minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = node.param2 })
 | 
			
		||||
		return itemstack
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
@@ -143,12 +138,7 @@ minetest.register_node(":homedecor:curtain_open", {
 | 
			
		||||
		unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end,
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		local topnode = minetest.get_node({x=pos.x, y=pos.y+1.0, z=pos.z})
 | 
			
		||||
		if string.find(topnode.name, "homedecor:curtainrod") then
 | 
			
		||||
			-- Close the curtains
 | 
			
		||||
			local fdir = node.param2
 | 
			
		||||
			minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = fdir })
 | 
			
		||||
		end
 | 
			
		||||
		minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = node.param2 })
 | 
			
		||||
		return itemstack
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
@@ -390,7 +380,7 @@ minetest.register_craft({
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
	output = "homedecor:curtain_closed 4",
 | 
			
		||||
	output = "homedecor:curtain_open 4",
 | 
			
		||||
		recipe = {
 | 
			
		||||
		{ "wool:white", "", ""},
 | 
			
		||||
		{ "wool:white", "", ""},
 | 
			
		||||
@@ -399,7 +389,7 @@ minetest.register_craft( {
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_craft( {
 | 
			
		||||
	output = "homedecor:curtain_closed 4",
 | 
			
		||||
	output = "homedecor:curtain_open 4",
 | 
			
		||||
		recipe = {
 | 
			
		||||
		{ "cottages:wool", "", ""},
 | 
			
		||||
		{ "cottages:wool", "", ""},
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user