Compare commits
	
		
			18 Commits
		
	
	
		
			2019-06-02
			...
			2019-06-18
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					7e7b2bcabb | ||
| 
						 | 
					b28f1314da | ||
| 
						 | 
					17ea2040e2 | ||
| 
						 | 
					ed9fb6a34d | ||
| 
						 | 
					13862c1a48 | ||
| 
						 | 
					e289e79aea | ||
| 
						 | 
					80ab12710b | ||
| 
						 | 
					1b94c940d7 | ||
| 
						 | 
					df44dd3dad | ||
| 
						 | 
					bff90189fc | ||
| 
						 | 
					b407f06dc4 | ||
| 
						 | 
					e6dc2c5508 | ||
| 
						 | 
					bde2bf2bf6 | ||
| 
						 | 
					ea160a6519 | ||
| 
						 | 
					631813bb2d | ||
| 
						 | 
					f33636d473 | ||
| 
						 | 
					cbb41f7d98 | ||
| 
						 | 
					c98ec41ba7 | 
@@ -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 = {
 | 
			
		||||
@@ -40,41 +29,41 @@ local door_list = {
 | 
			
		||||
		custom_model = "homedecor_door_fancy"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{	name = "wood_glass_oak",
 | 
			
		||||
		description = "Glass and Wood, Oak-colored",
 | 
			
		||||
	{	name = "french_oak",
 | 
			
		||||
		description = "French door, Oak-colored",
 | 
			
		||||
		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
 | 
			
		||||
		sounds = {
 | 
			
		||||
			main = default.node_sound_glass_defaults(),
 | 
			
		||||
		},
 | 
			
		||||
		backface = true,
 | 
			
		||||
		alpha = true,
 | 
			
		||||
		custom_model = "homedecor_door_wood_glass"
 | 
			
		||||
		custom_model = "homedecor_door_french"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{	name = "wood_glass_mahogany",
 | 
			
		||||
		description = "Glass and Wood, Mahogany-colored",
 | 
			
		||||
	{	name = "french_mahogany",
 | 
			
		||||
		description = "French door, Mahogany-colored",
 | 
			
		||||
		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
 | 
			
		||||
		sounds = {
 | 
			
		||||
			main = default.node_sound_glass_defaults(),
 | 
			
		||||
		},
 | 
			
		||||
		backface = true,
 | 
			
		||||
		alpha = true,
 | 
			
		||||
		custom_model = "homedecor_door_wood_glass"
 | 
			
		||||
		custom_model = "homedecor_door_french"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{	name = "wood_glass_white",
 | 
			
		||||
		description = "Glass and Wood, White",
 | 
			
		||||
	{	name = "french_white",
 | 
			
		||||
		description = "French door, White",
 | 
			
		||||
		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
 | 
			
		||||
		sounds = {
 | 
			
		||||
			main = default.node_sound_glass_defaults(),
 | 
			
		||||
		},
 | 
			
		||||
		backface = true,
 | 
			
		||||
		alpha = true,
 | 
			
		||||
		custom_model = "homedecor_door_wood_glass"
 | 
			
		||||
		custom_model = "homedecor_door_french"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{	name = "bedroom",
 | 
			
		||||
		description = "White Bedroom Door",
 | 
			
		||||
	{	name = "basic_panel",
 | 
			
		||||
		description = "Basic white panel Door",
 | 
			
		||||
		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
 | 
			
		||||
		sounds = {
 | 
			
		||||
			main = default.node_sound_wood_defaults(),
 | 
			
		||||
@@ -95,8 +84,8 @@ local door_list = {
 | 
			
		||||
		custom_model = "homedecor_door_wrought_iron"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{	name = "woodglass2",
 | 
			
		||||
		description = "Wooden door with glass insert, type 2",
 | 
			
		||||
	{	name = "carolina",
 | 
			
		||||
		description = "Wooden Carolina door",
 | 
			
		||||
		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
 | 
			
		||||
		sounds = {
 | 
			
		||||
			main = default.node_sound_wood_defaults(),
 | 
			
		||||
@@ -166,7 +155,7 @@ end
 | 
			
		||||
local hd_3d = minetest.get_modpath("homedecor_3d_extras")
 | 
			
		||||
 | 
			
		||||
for _, door in ipairs(door_list) do
 | 
			
		||||
	doors.register(door.name, {
 | 
			
		||||
	doors.register("homedecor_"..door.name, {
 | 
			
		||||
			tiles = {{ name = "homedecor_door_"..door.name..".png", backface_culling = door.backface }},
 | 
			
		||||
			description = door.description,
 | 
			
		||||
			inventory_image = "homedecor_door_"..door.name.."_inv.png",
 | 
			
		||||
@@ -177,33 +166,35 @@ for _, door in ipairs(door_list) do
 | 
			
		||||
			mesecons = mesecons
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	local nn_a = "doors:"..door.name.."_a"
 | 
			
		||||
	local nn_b = "doors:"..door.name.."_b"
 | 
			
		||||
 | 
			
		||||
	local nn_a = "doors:homedecor_"..door.name.."_a"
 | 
			
		||||
	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
 | 
			
		||||
 | 
			
		||||
	old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_left"
 | 
			
		||||
	old_doors[#old_doors + 1] = "homedecor:door_"..door.name.."_right"
 | 
			
		||||
 | 
			
		||||
	minetest.register_alias("doors:"..door.name.."_a", "doors:homedecor_"..door.name.."_a")
 | 
			
		||||
	minetest.register_alias("doors:"..door.name.."_b", "doors:homedecor_"..door.name.."_b")
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Gates
 | 
			
		||||
@@ -696,19 +687,64 @@ minetest.register_craft({
 | 
			
		||||
 | 
			
		||||
-- aliases
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:jpn_door_top", "air")
 | 
			
		||||
minetest.register_alias("homedecor:jpn_door_bottom", "homedecor:door_japanese_closed")
 | 
			
		||||
minetest.register_alias("homedecor:jpn_door_top",               "air")
 | 
			
		||||
minetest.register_alias("homedecor:jpn_door_top_open",          "air")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:jpn_door_top_open", "air")
 | 
			
		||||
minetest.register_alias("homedecor:jpn_door_bottom_open", "homedecor:door_japanese_open")
 | 
			
		||||
minetest.register_alias("homedecor:jpn_door_bottom",            "homedecor:door_japanese_closed")
 | 
			
		||||
minetest.register_alias("homedecor:jpn_door_bottom_open",       "homedecor:door_japanese_open")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:door_glass_right", "doors:door_glass_b")
 | 
			
		||||
minetest.register_alias("homedecor:door_glass_left", "doors:door_glass_a")
 | 
			
		||||
minetest.register_alias("homedecor:door_glass_right",           "doors:door_glass_b")
 | 
			
		||||
minetest.register_alias("homedecor:door_glass_left",            "doors:door_glass_a")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("doors:wood_glass_oak_a",               "doors:homedecor_french_oak_a")
 | 
			
		||||
minetest.register_alias("doors:wood_glass_oak_b",               "doors:homedecor_french_oak_b")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("doors:wood_glass_white_a",             "doors:homedecor_french_white_a")
 | 
			
		||||
minetest.register_alias("doors:wood_glass_white_b",             "doors:homedecor_french_white_b")
 | 
			
		||||
 | 
			
		||||
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")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("doors:woodglass2_a",                   "doors:homedecor_carolina_a")
 | 
			
		||||
minetest.register_alias("doors:woodglass2_b",                   "doors:homedecor_carolina_b")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("doors:homedecor_bedroom_a",            "doors:homedecor_basic_panel_a")
 | 
			
		||||
minetest.register_alias("doors:homedecor_bedroom_b",            "doors:homedecor_basic_panel_b")
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("doors:bedroom_a",                      "doors:homedecor_basic_panel_a")
 | 
			
		||||
minetest.register_alias("doors:bedroom_b",                      "doors:homedecor_basic_panel_b")
 | 
			
		||||
 | 
			
		||||
-- 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,
 | 
			
		||||
@@ -717,10 +753,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"})
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB  | 
| 
		 Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB  | 
| 
		 Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB  | 
| 
		 Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB  | 
| 
		 Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB  | 
| 
		 Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB  | 
| 
		 Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 7.8 KiB  | 
| 
		 Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB  | 
| 
		 Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB  | 
| 
		 Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB  | 
| 
		 Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB  | 
| 
		 Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB  | 
| 
		 Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB  | 
@@ -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", "", ""},
 | 
			
		||||
 
 | 
			
		||||