Merge remote-tracking branch 'upstream/master'
							
								
								
									
										19
									
								
								bower.json
									
									
									
									
									
								
							
							
						
						| @@ -1,19 +0,0 @@ | ||||
| { | ||||
|     "name": "homedecor_modpack", | ||||
|     "description": "This mod adds a whole bunch of new items to Minetest suitable for decorating inside and outside a home.", | ||||
|     "keywords": [ | ||||
| 		"building", | ||||
| 		"cosmetic", | ||||
|         "homedecor modpack", | ||||
| 		"homedecor_modpack" | ||||
|     ], | ||||
|     "homepage": "http://daconcepts.com/vanessa/hobbies/minetest/homedecor-crafting-guide/homedecor-craft-guide.html", | ||||
| 	"project": "https://github.com/minetest-mods/homedecor_modpack", | ||||
|     "forum": "http://forum.minetest.net/viewtopic.php?f=11&t=2041", | ||||
|     "screenshots": [ | ||||
|         "http://daconcepts.com/vanessa/hobbies/minetest/screenshots/homedecor1.png" | ||||
|     ], | ||||
|     "authors": [ | ||||
|         "VanessaE" | ||||
|     ] | ||||
| } | ||||
| @@ -1,77 +1,48 @@ | ||||
| local S = minetest.get_translator("building_blocks") | ||||
|  | ||||
| local stairs_groups_names = {"cracky","choppy","flammable","crumbly","snappy"} | ||||
|  | ||||
| local function building_blocks_stairs(nodename, def) | ||||
| 	minetest.register_node(nodename, def) | ||||
| 	if minetest.get_modpath("moreblocks") or minetest.get_modpath("stairs") then | ||||
| 		local mod, name = nodename:match("(.*):(.*)") | ||||
| 		minetest.register_alias(mod .. ":slab_" .. name, "stairs:slab_" .. name) | ||||
| 		minetest.register_alias(mod .. ":stair_" .. name, "stairs:stair_" .. name) | ||||
| 		local stairs_groups = {} | ||||
| 		for _, groupname in ipairs(stairs_groups_names) do | ||||
| 			stairs_groups[groupname] = def.groups[groupname] | ||||
| 		end | ||||
|  | ||||
| 	if minetest.get_modpath("moreblocks") then | ||||
| 			stairsplus:register_all( | ||||
| 				mod, | ||||
| 				name, | ||||
| 				nodename, | ||||
| 				{ | ||||
| 					description = def.description, | ||||
| 					tiles = def.tiles, | ||||
| 					groups = stairs_groups, | ||||
| 					sounds = def.sounds, | ||||
| 				} | ||||
| 			) | ||||
| 		else | ||||
| 			stairs.register_stair_and_slab(name,nodename, | ||||
| 				stairs_groups, | ||||
| 				def.tiles, | ||||
| 				def.stair_desc, | ||||
| 				def.slab_desc, | ||||
| 				def.sounds | ||||
| 				--FIXME: Missing descriptions for Inner and Outer stairs | ||||
| 				-- See https://github.com/minetest/minetest_game/pull/2584 | ||||
| 			) | ||||
| 		end | ||||
| 		local mod, name = nodename:match("(.*):(.*)") | ||||
| 		stairsplus:register_all(mod, name, nodename, def) | ||||
|  | ||||
| 		minetest.register_alias("stairs:slab_" .. name, mod .. ":slab_" .. name) | ||||
| 		minetest.register_alias("stairs:stair_" .. name, mod .. ":stair_" .. name) | ||||
| 		minetest.register_alias("stairs:stair_inner_" .. name, mod .. ":stair_" .. name .. "_inner") | ||||
| 		minetest.register_alias("stairs:stair_outer_" .. name, mod .. ":stair_" .. name .. "_outer") | ||||
| 	end | ||||
| end | ||||
|  | ||||
| building_blocks_stairs("building_blocks:grate", { | ||||
| 	drawtype = "glasslike", | ||||
| 	description = S("Grate"), | ||||
| 	stair_desc = S("Grate Stair"), | ||||
| 	slab = S("Grate Slab"), | ||||
| 	tiles = {"building_blocks_grate.png"}, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	is_ground_content = true, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {cracky=1}, | ||||
| 	sounds = default.node_sound_metal_defaults(), | ||||
| }) | ||||
| building_blocks_stairs("building_blocks:smoothglass", { | ||||
| 	drawtype = "glasslike", | ||||
| 	description = S("Streak Free Glass"), | ||||
| 	stair_desc = S("Streak Free Glass Stair"), | ||||
| 	slab_desc = S("Streak Free Glass Slab"), | ||||
| 	tiles = {"building_blocks_sglass.png"}, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	is_ground_content = true, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3}, | ||||
| 	sounds = default.node_sound_glass_defaults(), | ||||
| }) | ||||
| building_blocks_stairs("building_blocks:woodglass", { | ||||
| 	drawtype = "glasslike", | ||||
| 	description = S("Wood Framed Glass"), | ||||
| 	stair_desc = S("Wood Framed Glass Stair"), | ||||
| 	slab_desc = S("Wood Framed Glass Slab"), | ||||
| 	tiles = {"building_blocks_wglass.png"}, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	is_ground_content = true, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3}, | ||||
| 	sounds = default.node_sound_glass_defaults(), | ||||
| }) | ||||
| @@ -79,8 +50,6 @@ building_blocks_stairs("building_blocks:woodglass", { | ||||
| building_blocks_stairs("building_blocks:Adobe", { | ||||
| 	tiles = {"building_blocks_Adobe.png"}, | ||||
| 	description = S("Adobe"), | ||||
| 	stair_desc = S("Adobe Stair"), | ||||
| 	slab_desc = S("Adobe Slab"), | ||||
| 	is_ground_content = true, | ||||
| 	groups = {crumbly=3}, | ||||
| 	sounds = default.node_sound_stone_defaults(), | ||||
| @@ -88,8 +57,6 @@ building_blocks_stairs("building_blocks:Adobe", { | ||||
| building_blocks_stairs("building_blocks:fakegrass", { | ||||
| 	tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, | ||||
| 	description = S("Fake Grass"), | ||||
| 	stair_desc = S("Fake Grass Stair"), | ||||
| 	slab_desc = S("Fake Grass Slab"), | ||||
| 	is_ground_content = true, | ||||
| 	groups = {crumbly=3}, | ||||
| 	sounds = default.node_sound_dirt_defaults({ | ||||
| @@ -100,8 +67,6 @@ building_blocks_stairs("building_blocks:hardwood", { | ||||
| 	tiles = {"building_blocks_hardwood.png"}, | ||||
| 	is_ground_content = true, | ||||
| 	description = S("Hardwood"), | ||||
| 	stair_desc = S("Hardwood Stair"), | ||||
| 	slab_desc = S("Hardwood Slab"), | ||||
| 	groups = {choppy=1,flammable=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| }) | ||||
| @@ -109,15 +74,11 @@ building_blocks_stairs("building_blocks:Roofing", { | ||||
| 	tiles = {"building_blocks_Roofing.png"}, | ||||
| 	is_ground_content = true, | ||||
| 	description = S("Roof block"), | ||||
| 	stair_desc = S("Roof block Stair"), | ||||
| 	slab_desc = S("Roof block Slab"), | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_stone_defaults(), | ||||
| }) | ||||
| building_blocks_stairs("building_blocks:Tar", { | ||||
| 	description = S("Tar"), | ||||
| 	stair_desc = S("Tar Stair"), | ||||
| 	slab_desc = S("Tar Slab"), | ||||
| 	tiles = {"building_blocks_tar.png"}, | ||||
| 	is_ground_content = true, | ||||
| 	groups = {crumbly=1, tar_block = 1}, | ||||
| @@ -125,8 +86,6 @@ building_blocks_stairs("building_blocks:Tar", { | ||||
| }) | ||||
| building_blocks_stairs("building_blocks:Marble", { | ||||
| 	description = S("Marble"), | ||||
| 	stair_desc = S("Marble Stair"), | ||||
| 	slab_desc = S("Marble Slab"), | ||||
| 	tiles = {"building_blocks_marble.png"}, | ||||
| 	is_ground_content = true, | ||||
| 	groups = {cracky=3, marble = 1}, | ||||
|   | ||||
| @@ -179,6 +179,7 @@ minetest.register_node("fake_fire:fancy_fire", { | ||||
| 	mesh = "fancy_fire.obj", | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {oddly_breakable_by_hand=3, flammable=0}, | ||||
| 	sunlight_propagates = true, | ||||
| 	light_source = 13, | ||||
|   | ||||
| @@ -1,2 +1,2 @@ | ||||
| name = fake_fire | ||||
| depends = default | ||||
| depends = default, basic_materials | ||||
|   | ||||
| @@ -21,7 +21,7 @@ if minetest.get_modpath("vessels") then | ||||
| 		}, | ||||
| 		paramtype = "light", | ||||
| 		paramtype2 = "facedir", | ||||
| 		use_texture_alpha = true | ||||
| 		use_texture_alpha = "blend", | ||||
| 	}) | ||||
|  | ||||
| 	local sbox = { | ||||
| @@ -35,7 +35,7 @@ if minetest.get_modpath("vessels") then | ||||
| 		tiles = {"homedecor_3d_vessels_shelf_glass.png"}, | ||||
| 		inventory_image = "homedecor_3d_vessels_glass_bottle_inv.png", | ||||
| 		wield_image = "homedecor_3d_vessels_glass_bottle_inv.png", | ||||
| 		use_texture_alpha = true, | ||||
| 		use_texture_alpha = "blend", | ||||
| 		selection_box = sbox | ||||
| 	}) | ||||
|  | ||||
| @@ -54,7 +54,7 @@ if minetest.get_modpath("vessels") then | ||||
| 		tiles = {"homedecor_3d_vessels_shelf_glass.png"}, | ||||
| 		inventory_image = "homedecor_3d_vessels_drinking_glass_inv.png", | ||||
| 		wield_image = "homedecor_3d_vessels_drinking_glass_inv.png", | ||||
| 		use_texture_alpha = true, | ||||
| 		use_texture_alpha = "blend", | ||||
| 		selection_box = sbox | ||||
| 	}) | ||||
| end | ||||
|   | ||||
| @@ -91,6 +91,10 @@ homedecor.register("medicine_cabinet", { | ||||
| 		node.name = "homedecor:medicine_cabinet_open" | ||||
| 		minetest.swap_node(pos, node) | ||||
| 	end, | ||||
| 	can_dig = function(pos) | ||||
| 		local inv = minetest.get_meta(pos):get_inventory("main") | ||||
| 		return inv:is_empty("main") | ||||
| 	end, | ||||
| 	infotext=S("Medicine cabinet"), | ||||
| 	inventory = { | ||||
| 		size=6, | ||||
| @@ -115,6 +119,10 @@ homedecor.register("medicine_cabinet_open", { | ||||
| 		node.name = "homedecor:medicine_cabinet" | ||||
| 		minetest.swap_node(pos, node) | ||||
| 	end, | ||||
| 	can_dig = function(pos) | ||||
| 		local inv = minetest.get_meta(pos):get_inventory("main") | ||||
| 		return inv:is_empty("main") | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| -- "Sanitation" related | ||||
|   | ||||
| @@ -31,7 +31,7 @@ local kbed_cbox = { | ||||
| } | ||||
|  | ||||
|  | ||||
| -- local bed_on_rightclick = minetest.registered_nodes["beds:bed"].on_rightclick | ||||
| local bed_on_rightclick = minetest.registered_nodes["beds:bed"].on_rightclick | ||||
|  | ||||
| homedecor.register("bed_regular", { | ||||
| 	mesh = "homedecor_bed_regular.obj", | ||||
| @@ -67,9 +67,9 @@ homedecor.register("bed_regular", { | ||||
| 		if itemname == "homedecor:bed_regular" then | ||||
| 			homedecor.bed_expansion(pos, clicker, itemstack, pointed_thing, true) | ||||
| 			return itemstack | ||||
| --		else | ||||
| --			bed_on_rightclick(pos, node, clicker) | ||||
| --			return itemstack | ||||
| 		else | ||||
| 			bed_on_rightclick(pos, node, clicker) | ||||
| 			return itemstack | ||||
| 		end | ||||
| 	end | ||||
| }) | ||||
| @@ -96,10 +96,10 @@ homedecor.register("bed_extended", { | ||||
| 		homedecor.unextend_bed(pos) | ||||
| 	end, | ||||
| 	on_dig = unifieddyes.on_dig, | ||||
| --	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) | ||||
| --		bed_on_rightclick(pos, node, clicker) | ||||
| --		return itemstack | ||||
| --	end, | ||||
| 	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) | ||||
| 		bed_on_rightclick(pos, node, clicker) | ||||
| 		return itemstack | ||||
| 	end, | ||||
| 	drop = "homedecor:bed_regular" | ||||
| }) | ||||
|  | ||||
| @@ -133,10 +133,10 @@ homedecor.register("bed_kingsize", { | ||||
| 		end | ||||
| 	end, | ||||
| 	on_dig = unifieddyes.on_dig, | ||||
| --	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) | ||||
| --		bed_on_rightclick(pos, node, clicker) | ||||
| --		return itemstack | ||||
| --	end, | ||||
| 	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) | ||||
| 		bed_on_rightclick(pos, node, clicker) | ||||
| 		return itemstack | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| for w, d in pairs({ ["mahogany"] = S("mahogany"), ["oak"] = S("oak") }) do | ||||
|   | ||||
| @@ -10,6 +10,7 @@ homedecor.register("air_conditioner", { | ||||
| 		"default_glass.png" | ||||
| 	}, | ||||
| 	groups = { snappy = 3 }, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
| 	selection_box = { type="regular" }, | ||||
| }) | ||||
| @@ -95,6 +96,7 @@ homedecor.register("ceiling_fan", { | ||||
| 			{ -0.0625, 0.375, -0.0625, 0.0625, 0.5, 0.0625 } | ||||
| 		} | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = { snappy = 3 }, | ||||
| 	light_source = default.LIGHT_MAX-1, | ||||
| 	sounds = default.node_sound_glass_defaults(), | ||||
|   | ||||
| @@ -88,6 +88,7 @@ homedecor.register("grandfather_clock", { | ||||
| 		"homedecor_grandfather_clock_face_edge.png", | ||||
| 		"homedecor_generic_metal_brass.png" | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	inventory_image = "homedecor_grandfather_clock_inv.png", | ||||
| 	groups = { snappy = 3 }, | ||||
| 	selection_box = gf_cbox, | ||||
|   | ||||
| @@ -30,6 +30,7 @@ minetest.register_node(":homedecor:cobweb_centered", { | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = { "homedecor_cobweb.png" }, | ||||
| 	inventory_image = "homedecor_cobweb.png", | ||||
| 	use_texture_alpha = "clip", | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	sunlight_propagates = true, | ||||
| @@ -59,6 +60,7 @@ minetest.register_node(":homedecor:cobweb_flat", { | ||||
| 	inventory_image = "homedecor_cobweb.png", | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	use_texture_alpha = "clip", | ||||
| 	sunlight_propagates = true, | ||||
| 	liquid_viscosity = 8, | ||||
| 	liquidtype = "source", | ||||
|   | ||||
| @@ -148,7 +148,8 @@ function homedecor.register_furnace(name, furnacedef) | ||||
| 		can_dig = furnace_can_dig, | ||||
| 		allow_metadata_inventory_put = furnace_allow_put, | ||||
| 		allow_metadata_inventory_move = furnace_allow_move, | ||||
| 		inventory = { lockable = true } | ||||
| 		inventory = { lockable = true }, | ||||
| 		is_furnace = true | ||||
| 	} | ||||
|  | ||||
| 	local def_active = { | ||||
| @@ -162,7 +163,8 @@ function homedecor.register_furnace(name, furnacedef) | ||||
| 		can_dig = furnace_can_dig, | ||||
| 		allow_metadata_inventory_put = furnace_allow_put, | ||||
| 		allow_metadata_inventory_move = furnace_allow_move, | ||||
| 		inventory = { lockable = true } | ||||
| 		inventory = { lockable = true }, | ||||
| 		is_furnace = true | ||||
| 	} | ||||
|  | ||||
| 	if furnacedef.extra_nodedef_fields then | ||||
|   | ||||
| @@ -1,5 +1,12 @@ | ||||
| local S = minetest.get_translator("homedecor_common") | ||||
|  | ||||
| local has_hopper = minetest.get_modpath("hopper") | ||||
| local has_safe_hopper = has_hopper and | ||||
| 	-- mod from https://github.com/minetest-mods/hopper respects the owner | ||||
| 	(hopper.neighbors or | ||||
| 	-- mod from https://notabug.org/TenPlus1/hopper respects the owner since 20220123 | ||||
| 	(hopper.version and hopper.version >= "20220123")) | ||||
|  | ||||
| local default_can_dig = function(pos,player) | ||||
| 	local meta = minetest.get_meta(pos) | ||||
| 	return meta:get_inventory():is_empty("main") | ||||
| @@ -97,6 +104,23 @@ function homedecor.handle_inventory(name, def, original_def) | ||||
| 	end | ||||
|  | ||||
| 	local locked = inventory.locked | ||||
|  | ||||
| 	if has_hopper and (not locked or has_safe_hopper) then | ||||
| 		if inventory.size then | ||||
| 			hopper:add_container({ | ||||
| 				{"top",  "homedecor:"..name, "main"}, | ||||
| 				{"bottom", "homedecor:"..name, "main"}, | ||||
| 				{"side", "homedecor:"..name, "main"}, | ||||
| 			}) | ||||
| 		elseif original_def.is_furnace then | ||||
| 			hopper:add_container({ | ||||
| 				{"top", "homedecor:"..name, "dst"}, | ||||
| 				{"bottom", "homedecor:"..name, "src"}, | ||||
| 				{"side", "homedecor:"..name, "fuel"}, | ||||
| 			}) | ||||
| 		end | ||||
| 	end | ||||
|  | ||||
| 	if locked then | ||||
| 		local after_place_node = def.after_place_node | ||||
| 		def.after_place_node = function(pos, placer) | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| name = homedecor_common | ||||
| description = Homedecor mod: common | ||||
| depends = default, creative | ||||
| optional_depends = screwdriver | ||||
| optional_depends = screwdriver, hopper | ||||
|   | ||||
| @@ -6,6 +6,8 @@ local placeholder_node = "homedecor:expansion_placeholder" | ||||
| function homedecor.register(name, original_def) | ||||
| 	local def = table.copy(original_def) | ||||
|  | ||||
| 	def.is_furnace = nil | ||||
|  | ||||
| 	def.drawtype = def.drawtype | ||||
| 		or (def.mesh and "mesh") | ||||
| 		or (def.node_box and "nodebox") | ||||
|   | ||||
| @@ -4,209 +4,137 @@ local S = minetest.get_translator("homedecor_doors_and_gates") | ||||
| local mesecons_mp = minetest.get_modpath("mesecons") | ||||
| homedecor_doors_and_gates = {} | ||||
|  | ||||
| -- new doors using minetest_game doors API | ||||
|  | ||||
| local door_list = { | ||||
| 	{ | ||||
| 		name = "wood_plain", | ||||
| 		description = S("Plain Wooden Door"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_wood_defaults(), | ||||
| 			open = "homedecor_door_open", | ||||
| 			close = "homedecor_door_close", | ||||
| 		} | ||||
| 		sounds = default.node_sound_wood_defaults(), | ||||
| 		sound_open = "homedecor_door_open", | ||||
| 		sound_close = "homedecor_door_close", | ||||
| 	}, | ||||
|  | ||||
| 	{ | ||||
| 		name = "exterior_fancy", | ||||
| 		description = S("Fancy Wood/Glass Door"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_wood_defaults(), | ||||
| 			open = "homedecor_door_open", | ||||
| 			close = "homedecor_door_close", | ||||
| 		sounds = default.node_sound_wood_defaults(), | ||||
| 		sound_open = "homedecor_door_open", | ||||
| 		sound_close = "homedecor_door_close", | ||||
| 		mesh = "homedecor_door_fancy.obj" | ||||
| 	}, | ||||
| 		backface = true, | ||||
| 		alpha = true, | ||||
| 		custom_model = "homedecor_door_fancy" | ||||
| 	}, | ||||
|  | ||||
| 	{ | ||||
| 		name = "french_oak", | ||||
| 		description = S("French door, Oak-colored"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_glass_defaults(), | ||||
| 		sounds = default.node_sound_glass_defaults(), | ||||
| 		mesh = "homedecor_door_french.obj" | ||||
| 	}, | ||||
| 		backface = true, | ||||
| 		alpha = true, | ||||
| 		custom_model = "homedecor_door_french" | ||||
| 	}, | ||||
|  | ||||
| 	{ | ||||
| 		name = "french_mahogany", | ||||
| 		description = S("French door, Mahogany-colored"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_glass_defaults(), | ||||
| 		sounds = default.node_sound_glass_defaults(), | ||||
| 		mesh = "homedecor_door_french.obj" | ||||
| 	}, | ||||
| 		backface = true, | ||||
| 		alpha = true, | ||||
| 		custom_model = "homedecor_door_french" | ||||
| 	}, | ||||
|  | ||||
| 	{ | ||||
| 		name = "french_white", | ||||
| 		description = S("French door, White"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_glass_defaults(), | ||||
| 		sounds = default.node_sound_glass_defaults(), | ||||
| 		mesh = "homedecor_door_french.obj" | ||||
| 	}, | ||||
| 		backface = true, | ||||
| 		alpha = true, | ||||
| 		custom_model = "homedecor_door_french" | ||||
| 	}, | ||||
|  | ||||
| 	{ | ||||
| 		name = "basic_panel", | ||||
| 		description = S("Basic white panel Door"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_wood_defaults(), | ||||
| 			open = "homedecor_door_open", | ||||
| 			close = "homedecor_door_close", | ||||
| 		} | ||||
| 		sounds = default.node_sound_wood_defaults(), | ||||
| 		sound_open = "homedecor_door_open", | ||||
| 		sound_close = "homedecor_door_close", | ||||
| 	}, | ||||
|  | ||||
| 	{ | ||||
| 		name = "wrought_iron", | ||||
| 		description = S("Wrought Iron Gate/Door"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_metal_defaults(), | ||||
| 			open = "doors_steel_door_open", | ||||
| 			close = "doors_steel_door_close", | ||||
| 		sounds = default.node_sound_metal_defaults(), | ||||
| 		sound_open = "doors_steel_door_open", | ||||
| 		sound_close = "doors_steel_door_close", | ||||
| 		mesh = "homedecor_door_wrought_iron.obj" | ||||
| 	}, | ||||
| 		backface = true, | ||||
| 		custom_model = "homedecor_door_wrought_iron" | ||||
| 	}, | ||||
|  | ||||
| 	{ | ||||
| 		name = "carolina", | ||||
| 		description = S("Wooden Carolina door"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_wood_defaults(), | ||||
| 			open = "homedecor_door_open", | ||||
| 			close = "homedecor_door_close", | ||||
| 		sounds = default.node_sound_wood_defaults(), | ||||
| 		sound_open = "homedecor_door_open", | ||||
| 		sound_close = "homedecor_door_close", | ||||
| 	}, | ||||
| 		backface = true, | ||||
| 		alpha = true | ||||
| 	}, | ||||
|  | ||||
| 	{ | ||||
| 		name = "woodglass", | ||||
| 		description = S("Wooden door with glass insert, type 3"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_wood_defaults(), | ||||
| 			open = "homedecor_door_open", | ||||
| 			close = "homedecor_door_close", | ||||
| 		sounds = default.node_sound_wood_defaults(), | ||||
| 		sound_open = "homedecor_door_open", | ||||
| 		sound_close = "homedecor_door_close", | ||||
| 		mesh = "homedecor_door_wood_glass_3.obj" | ||||
| 	}, | ||||
| 		backface = true, | ||||
| 		alpha = true, | ||||
| 		custom_model = "homedecor_door_wood_glass_3" | ||||
| 	}, | ||||
|  | ||||
| 	{ | ||||
| 		name = "closet_mahogany", | ||||
| 		description = S("Mahogany Closet Door"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_wood_defaults(), | ||||
| 		sounds = default.node_sound_wood_defaults(), | ||||
| 		mesh = "homedecor_door_closet.obj" | ||||
| 	}, | ||||
| 		custom_model = "homedecor_door_closet" | ||||
| 	}, | ||||
|  | ||||
| 	{ | ||||
| 		name = "closet_oak", | ||||
| 		description = S("Oak Closet Door"), | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		sounds = { | ||||
| 			main = default.node_sound_wood_defaults(), | ||||
| 		}, | ||||
| 		custom_model = "homedecor_door_closet" | ||||
| 		sounds = default.node_sound_wood_defaults(), | ||||
| 		mesh = "homedecor_door_closet" | ||||
| 	}, | ||||
| } | ||||
|  | ||||
| local old_doors = {} | ||||
| local mesecons | ||||
|  | ||||
| -- This part blatantly copied from Mesecons, and modified :-) | ||||
| if mesecons_mp then | ||||
| local door_types = {"_a", "_b", "_c", "_d"} | ||||
|  | ||||
| local function generate_door(def) | ||||
| 	local default_settings = { | ||||
| 		tiles = {{ name = "homedecor_door_" .. def.name .. ".png", backface_culling = true }}, | ||||
| 		inventory_image = "homedecor_door_" .. def.name .. "_inv.png", | ||||
| 		use_texture_alpha = "blend", | ||||
| 		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, | ||||
| 		mesecons = { | ||||
| 			effector = { | ||||
| 				action_on = function(pos, node) | ||||
| 					local door = doors.get(pos) | ||||
| 				if door then | ||||
| 					door:open() | ||||
| 				end | ||||
| 					if door then door:open() end | ||||
| 				end, | ||||
| 				action_off = function(pos, node) | ||||
| 					local door = doors.get(pos) | ||||
| 				if door then | ||||
| 					door:close() | ||||
| 				end | ||||
| 					if door then door:close() end | ||||
| 				end, | ||||
| 			rules = mesecon.rules.pplate | ||||
| 				rules = mesecon and mesecon.rules.pplate or nil | ||||
| 			} | ||||
| 		}, | ||||
| 	} | ||||
|  | ||||
| 	for k, v in pairs(default_settings) do | ||||
| 		if not def[k] then def[k] = v end | ||||
| 	end | ||||
|  | ||||
| local hd_3d = minetest.get_modpath("homedecor_3d_extras") | ||||
| 	def.name = nil | ||||
|  | ||||
| 	return def | ||||
| end | ||||
|  | ||||
| for _, door in ipairs(door_list) do | ||||
| 	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", | ||||
| 			groups = table.copy(door.groups), | ||||
| 			sounds = door.sounds.main, | ||||
| 			sound_open = door.sounds.open, | ||||
| 			sound_close = door.sounds.close, | ||||
| 			mesecons = mesecons | ||||
| 	local name = door.name | ||||
| 	doors.register("homedecor_" .. name, generate_door(door)) | ||||
|  | ||||
| 	--hack to get around doors not allowing custom meshes | ||||
| 	if door.mesh then | ||||
| 		for _, v in pairs(door_types) do | ||||
| 			minetest.override_item("doors:homedecor_" .. name .. v, { | ||||
| 				mesh = door.mesh | ||||
| 			}) | ||||
|  | ||||
| 	local nn_a = "doors:homedecor_"..door.name.."_a" | ||||
| 	local nn_b = "doors:homedecor_"..door.name.."_b" | ||||
|  | ||||
| 	if door.alpha then | ||||
| 		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 = table.copy(minetest.registered_nodes[nn_b]) | ||||
| 			def.use_texture_alpha = true | ||||
| 			minetest.register_node(":"..nn_b, def) | ||||
| 		end | ||||
| 	end | ||||
|  | ||||
| 	if door.custom_model and hd_3d then | ||||
| 		def = table.copy(minetest.registered_nodes[nn_a]) | ||||
| 			def.mesh = door.custom_model.."_a.obj" | ||||
| 			minetest.register_node(":"..nn_a, def) | ||||
| 	--compatibility | ||||
| 	old_doors[#old_doors + 1] = "homedecor:door_"..name.."_left" | ||||
| 	old_doors[#old_doors + 1] = "homedecor:door_"..name.."_right" | ||||
|  | ||||
| 		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") | ||||
| 	minetest.register_alias("doors:"..name.."_a", "doors:homedecor_"..name.."_a") | ||||
| 	minetest.register_alias("doors:"..name.."_b", "doors:homedecor_"..name.."_b") | ||||
| end | ||||
|  | ||||
| -- Gates | ||||
| @@ -307,6 +235,7 @@ for i, g in ipairs(gate_list) do | ||||
| 		description = gatedesc, | ||||
| 		tiles = tiles, | ||||
| 		paramtype = "light", | ||||
| 		use_texture_alpha = "clip", | ||||
| 		groups = {snappy=3}, | ||||
| 		sounds = default.node_sound_wood_defaults(), | ||||
| 		paramtype2 = "facedir", | ||||
|   | ||||
| @@ -94,6 +94,7 @@ homedecor.register("lattice_"..name, { | ||||
| 	description = S("Garden Lattice (@1)", desc), | ||||
| 	tiles = {"homedecor_lattice"..texture}, | ||||
| 	inventory_image = "homedecor_lattice"..texture, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = { snappy=3 }, | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
| @@ -121,6 +122,7 @@ homedecor.register("swing", { | ||||
| 		"homedecor_swing_top.png" | ||||
| 	}, | ||||
| 	inventory_image = "homedecor_swing_inv.png", | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = { snappy=3, oddly_breakable_by_hand=3 }, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	walkable = false, | ||||
| @@ -219,6 +221,7 @@ homedecor.register("well", { | ||||
| 	}, | ||||
| 	inventory_image = "homedecor_well_inv.png", | ||||
| 	description = S("Water well"), | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = { snappy = 3 }, | ||||
| 	selection_box = homedecor.nodebox.slab_y(2), | ||||
| 	collision_box = homedecor.nodebox.slab_y(2), | ||||
| @@ -265,6 +268,7 @@ for color, color_loc in pairs(homedecor_exterior.shrub_colors) do | ||||
| 		tiles = {"homedecor_shrubbery_"..color..".png"}, | ||||
| 		paramtype = "light", | ||||
| 		is_ground_content = false, | ||||
| 		use_texture_alpha = "clip", | ||||
| 		groups = {snappy=3, flammable=2}, | ||||
| 		sounds = default.node_sound_leaves_defaults(), | ||||
| 	}) | ||||
| @@ -280,6 +284,7 @@ for color, color_loc in pairs(homedecor_exterior.shrub_colors) do | ||||
| 		}, | ||||
| 		paramtype = "light", | ||||
| 		is_ground_content = false, | ||||
| 		use_texture_alpha = "clip", | ||||
| 		groups = {snappy=3, flammable=2}, | ||||
| 		sounds = default.node_sound_leaves_defaults(), | ||||
| 		selection_box = shrub_cbox, | ||||
|   | ||||
| @@ -35,6 +35,7 @@ homedecor.register("fence_picket", { | ||||
| 		"homedecor_fence_picket_backside.png", | ||||
| 		"homedecor_fence_picket.png" | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	selection_box = homedecor.nodebox.slab_z(-0.1), | ||||
| @@ -51,6 +52,7 @@ homedecor.register("fence_picket_corner", { | ||||
| 		"homedecor_fence_picket_backside.png", | ||||
| 		"homedecor_fence_picket.png", | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	selection_box = homedecor.nodebox.corner_xz(0.1, -0.1), | ||||
| @@ -67,6 +69,7 @@ homedecor.register("fence_picket_white", { | ||||
| 		"homedecor_fence_picket_white_backside.png", | ||||
| 		"homedecor_fence_picket_white.png" | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	selection_box = homedecor.nodebox.slab_z(-0.1), | ||||
| @@ -83,6 +86,7 @@ homedecor.register("fence_picket_corner_white", { | ||||
| 		"homedecor_fence_picket_white_backside.png", | ||||
| 		"homedecor_fence_picket_white.png", | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	selection_box = homedecor.nodebox.corner_xz(0.1, -0.1), | ||||
| @@ -152,6 +156,7 @@ homedecor.register("fence_barbed_wire", { | ||||
| 	description = S("Barbed Wire Fence"), | ||||
| 	mesh = "homedecor_fence_barbed_wire.obj", | ||||
| 	tiles = {"homedecor_fence_barbed_wire.png"}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	selection_box = homedecor.nodebox.slab_z(-0.125), | ||||
| @@ -162,6 +167,7 @@ homedecor.register("fence_barbed_wire_corner", { | ||||
| 	description = S("Barbed Wire Fence Corner"), | ||||
| 	mesh = "homedecor_fence_barbed_wire_corner.obj", | ||||
| 	tiles = { "homedecor_fence_barbed_wire.png" }, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	selection_box = homedecor.nodebox.corner_xz(0.125, -0.125), | ||||
| @@ -179,6 +185,7 @@ homedecor.register("fence_chainlink", { | ||||
| 		"homedecor_fence_chainlink_fb.png", | ||||
| 		"homedecor_fence_chainlink_fb.png", | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	selection_box = homedecor.nodebox.slab_z(-0.125), | ||||
| @@ -197,6 +204,7 @@ homedecor.register("fence_chainlink_corner", { | ||||
| 		"homedecor_fence_chainlink_corner_front.png", | ||||
| 		"homedecor_fence_chainlink_corner_front.png", | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	selection_box = homedecor.nodebox.corner_xz(0.125, -0.125), | ||||
| @@ -213,6 +221,7 @@ homedecor.register("fence_wrought_iron_2", { | ||||
| 		"homedecor_fence_wrought_iron_2_fb.png", | ||||
| 		"homedecor_fence_wrought_iron_2_fb.png" | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	selection_box = homedecor.nodebox.slab_z(-0.08), | ||||
| @@ -240,6 +249,7 @@ homedecor.register("fence_wrought_iron_2_corner", { | ||||
| 		"homedecor_fence_corner_wrought_iron_2_sides.png^[transformFX", | ||||
| 		"homedecor_fence_corner_wrought_iron_2_sides.png" | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	selection_box = homedecor.nodebox.corner_xz(0.08, -0.08), | ||||
|   | ||||
| @@ -136,6 +136,7 @@ homedecor.register("toaster", { | ||||
| 	tiles = { "homedecor_toaster_sides.png" }, | ||||
| 	inventory_image = "homedecor_toaster_inv.png", | ||||
| 	walkable = false, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = { snappy=3 }, | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
| @@ -165,6 +166,7 @@ homedecor.register("toaster_loaf", { | ||||
| 		"homedecor_toaster_sides.png" | ||||
| 	}, | ||||
| 	walkable = false, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = { snappy=3, not_in_creative_inventory=1 }, | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
|   | ||||
| @@ -12,7 +12,7 @@ read_globals = { | ||||
| 	"VoxelManip", "VoxelArea", | ||||
| 	"PseudoRandom", "ItemStack", | ||||
| 	"default", | ||||
| 	"screwdriver", | ||||
| 	"screwdriver", "homedecor", | ||||
| } | ||||
| 
 | ||||
| globals = { | ||||
| @@ -3,7 +3,7 @@ local S = minetest.get_translator("inbox") | ||||
| local inbox = {} | ||||
| 
 | ||||
| minetest.register_craft({ | ||||
| 	output ="inbox:empty", | ||||
| 	output ="homedecor:inbox", | ||||
| 	recipe = { | ||||
| 		{"","default:steel_ingot",""}, | ||||
| 		{"default:steel_ingot","","default:steel_ingot"}, | ||||
| @@ -16,17 +16,17 @@ local mb_cbox = { | ||||
| 	fixed = { -5/16, -8/16, -8/16, 5/16, 2/16, 8/16 } | ||||
| } | ||||
| 
 | ||||
| minetest.register_node("inbox:empty", { | ||||
| homedecor.register("inbox", { | ||||
| 	paramtype = "light", | ||||
| 	drawtype = "mesh", | ||||
| 	mesh = "inbox_mailbox.obj", | ||||
| 	mesh = "homedecor_inbox_mailbox.obj", | ||||
| 	description = S("Mailbox"), | ||||
| 	tiles = { | ||||
| 		"inbox_red_metal.png", | ||||
| 		"inbox_white_metal.png", | ||||
| 		"inbox_grey_metal.png", | ||||
| 		"homedecor_inbox_red_metal.png", | ||||
| 		"homedecor_inbox_white_metal.png", | ||||
| 		"homedecor_inbox_grey_metal.png", | ||||
| 	}, | ||||
| 	inventory_image = "mailbox_inv.png", | ||||
| 	inventory_image = "homedecor_mailbox_inv.png", | ||||
| 	selection_box = mb_cbox, | ||||
| 	collision_box = mb_cbox, | ||||
| 	paramtype2 = "facedir", | ||||
| @@ -105,6 +105,8 @@ minetest.register_node("inbox:empty", { | ||||
| 	end, | ||||
| }) | ||||
| 
 | ||||
| minetest.register_alias("inbox:empty", "homedecor:inbox") | ||||
| 
 | ||||
| function inbox.get_inbox_formspec(pos) | ||||
| 	local spos = pos.x .. "," .. pos.y .. "," ..pos.z | ||||
| 	local formspec = | ||||
| @@ -1,3 +1,3 @@ | ||||
| name = inbox | ||||
| name = homedecor_inbox | ||||
| depends = default, homedecor_common | ||||
| optional_depends = screwdriver | ||||
| Before Width: | Height: | Size: 152 B After Width: | Height: | Size: 152 B | 
| Before Width: | Height: | Size: 319 B After Width: | Height: | Size: 319 B | 
| Before Width: | Height: | Size: 156 B After Width: | Height: | Size: 156 B | 
| Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB | 
| @@ -1,4 +1,4 @@ | ||||
| name = homedecor_kitchen | ||||
| description = Homedecor mod: kitchen | ||||
| depends = homedecor_common, default, basic_materials, dye | ||||
| depends = homedecor_common, default, basic_materials, dye, unifieddyes | ||||
| optional_depends = moreblocks, building_blocks, technic, bucket, screwdriver | ||||
|   | ||||
| @@ -77,6 +77,7 @@ homedecor.register("calendar", { | ||||
| 		wall_bottom = { -4/16, -8/16, -8/16,  4/16, -5/16, 5/16 }, | ||||
| 		wall_top =    { -4/16,  5/16, -8/16,  4/16,  8/16, 5/16 } | ||||
| 	}, | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {choppy=2,attached_node=1}, | ||||
| 	legacy_wallmounted = true, | ||||
| 	sounds = default.node_sound_defaults(), | ||||
|   | ||||
| @@ -11,7 +11,7 @@ read_globals = { | ||||
| 	"vector", "nodeupdate", | ||||
| 	"VoxelManip", "VoxelArea", | ||||
| 	"PseudoRandom", "ItemStack", | ||||
| 	"screwdriver", | ||||
| 	"screwdriver", "homedecor", | ||||
| } | ||||
| 
 | ||||
| globals = { | ||||
| @@ -2,9 +2,9 @@ local S = minetest.get_translator("plasmascreen") | ||||
| 
 | ||||
| local sc_disallow = minetest.get_modpath("screwdriver") and screwdriver.disallow or nil | ||||
| 
 | ||||
| minetest.register_node("plasmascreen:stand", { | ||||
| homedecor.register("tv_stand", { | ||||
| 	description = S("Plasma Screen TV Stand"), | ||||
| 	tiles = {"plasmascreen_back.png"}, | ||||
| 	tiles = {"homedecor_plasmascreen_back.png"}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	drawtype = "nodebox", | ||||
| @@ -26,13 +26,6 @@ minetest.register_node("plasmascreen:stand", { | ||||
| 	groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2}, | ||||
| }) | ||||
| 
 | ||||
| minetest.register_alias("plasmascreen:screen1", "air") | ||||
| minetest.register_alias("plasmascreen:screen2", "air") | ||||
| minetest.register_alias("plasmascreen:screen3", "air") | ||||
| minetest.register_alias("plasmascreen:screen4", "air") | ||||
| minetest.register_alias("plasmascreen:screen5", "plasmascreen:tv") | ||||
| minetest.register_alias("plasmascreen:screen6", "air") | ||||
| 
 | ||||
| local fdir_to_left = { | ||||
| 	{ -1,  0 }, | ||||
| 	{  0,  1 }, | ||||
| @@ -95,13 +88,13 @@ local function checkwall(pos) | ||||
| 	return true | ||||
| end | ||||
| 
 | ||||
| minetest.register_node("plasmascreen:tv", { | ||||
| homedecor.register("tv", { | ||||
| 	description = S("Plasma TV"), | ||||
| 	drawtype = "mesh", | ||||
| 	mesh = "plasmascreen_tv.obj", | ||||
| 	mesh = "homedecor_plasmascreen_tv.obj", | ||||
| 	tiles = { | ||||
| 		"plasmascreen_case.png", | ||||
| 		{ name="plasmascreen_video.png", | ||||
| 		"homedecor_plasmascreen_case.png", | ||||
| 		{ name="homedecor_plasmascreen_video.png", | ||||
| 			animation={ | ||||
| 				type="vertical_frames", | ||||
| 				aspect_w = 42, | ||||
| @@ -111,8 +104,8 @@ minetest.register_node("plasmascreen:tv", { | ||||
| 		} | ||||
| 
 | ||||
| 	}, | ||||
| 	inventory_image = "plasmascreen_tv_inv.png", | ||||
| 	wield_image = "plasmascreen_tv_inv.png", | ||||
| 	inventory_image = "homedecor_plasmascreen_tv_inv.png", | ||||
| 	wield_image = "homedecor_plasmascreen_tv_inv.png", | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	light_source = 10, | ||||
| @@ -127,20 +120,20 @@ minetest.register_node("plasmascreen:tv", { | ||||
| 		end | ||||
| 	end, | ||||
| 	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) | ||||
| 		minetest.set_node(pos, {name = "plasmascreen:tv_off", param2 = node.param2}) | ||||
| 		minetest.set_node(pos, {name = "homedecor:tv_off", param2 = node.param2}) | ||||
| 	end | ||||
| }) | ||||
| 
 | ||||
| minetest.register_node("plasmascreen:tv_off", { | ||||
| homedecor.register("tv_off", { | ||||
| 	description = S("Plasma TV (off)"), | ||||
| 	drawtype = "mesh", | ||||
| 	mesh = "plasmascreen_tv.obj", | ||||
| 	mesh = "homedecor_plasmascreen_tv.obj", | ||||
| 	tiles = { | ||||
| 		"plasmascreen_case_off.png", | ||||
| 		"plasmascreen_screen_off.png", | ||||
| 		"homedecor_plasmascreen_case_off.png", | ||||
| 		"homedecor_plasmascreen_screen_off.png", | ||||
| 	}, | ||||
| 	inventory_image = "plasmascreen_tv_inv.png", | ||||
| 	wield_image = "plasmascreen_tv_inv.png", | ||||
| 	inventory_image = "homedecor_plasmascreen_tv_inv.png", | ||||
| 	wield_image = "homedecor_plasmascreen_tv_inv.png", | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	light_source = 10, | ||||
| @@ -155,15 +148,15 @@ minetest.register_node("plasmascreen:tv_off", { | ||||
| 		end | ||||
| 	end, | ||||
| 	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) | ||||
| 		minetest.set_node(pos, {name = "plasmascreen:tv", param2 = node.param2}) | ||||
| 		minetest.set_node(pos, {name = "homedecor:tv", param2 = node.param2}) | ||||
| 	end, | ||||
| 	drop = "plasmascreen:tv" | ||||
| 	drop = "homedecor:tv" | ||||
| }) | ||||
| 
 | ||||
| -- crafting recipes | ||||
| 
 | ||||
| minetest.register_craft({ | ||||
| 	output = "plasmascreen:tv", | ||||
| 	output = "homedecor:tv", | ||||
| 	recipe = { | ||||
| 		{'default:glass', 'default:coal_lump', 'default:glass'}, | ||||
| 		{'default:steel_ingot', 'default:copper_ingot', 'default:steel_ingot'}, | ||||
| @@ -173,12 +166,12 @@ minetest.register_craft({ | ||||
| 
 | ||||
| minetest.register_craft({ | ||||
| 	type = "shapeless", | ||||
| 	output = "plasmascreen:tv", | ||||
| 	output = "homedecor:tv", | ||||
| 	recipe = {'homedecor:television', 'homedecor:television'}, | ||||
| }) | ||||
| 
 | ||||
| minetest.register_craft({ | ||||
| 	output = "plasmascreen:stand", | ||||
| 	output = "homedecor:tv_stand", | ||||
| 	recipe = { | ||||
| 		{'', '', ''}, | ||||
| 		{'', 'default:steel_ingot', ''}, | ||||
| @@ -186,4 +179,14 @@ minetest.register_craft({ | ||||
| 	} | ||||
| }) | ||||
| 
 | ||||
| minetest.register_alias("plasmascreen:screen1", "air") | ||||
| minetest.register_alias("plasmascreen:screen2", "air") | ||||
| minetest.register_alias("plasmascreen:screen3", "air") | ||||
| minetest.register_alias("plasmascreen:screen4", "air") | ||||
| minetest.register_alias("plasmascreen:screen6", "air") | ||||
| minetest.register_alias("plasmascreen:screen5", "homedecor:tv") | ||||
| minetest.register_alias("plasmascreen:stand", "homedecor:tv_stand") | ||||
| minetest.register_alias("plasmascreen:tv", "homedecor:tv") | ||||
| minetest.register_alias("plasmascreen:tv_off", "homedecor:tv_off") | ||||
| 
 | ||||
| minetest.log("action", "[plasmascreen] loaded.") | ||||
| @@ -1,3 +1,3 @@ | ||||
| name = plasmascreen | ||||
| name = homedecor_plasmascreen | ||||
| depends = default, homedecor_common, homedecor_electronics | ||||
| optional_depends = screwdriver | ||||
| Before Width: | Height: | Size: 184 B After Width: | Height: | Size: 184 B | 
| Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB | 
| Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB | 
| Before Width: | Height: | Size: 313 B After Width: | Height: | Size: 313 B | 
| Before Width: | Height: | Size: 105 B After Width: | Height: | Size: 105 B | 
| Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB | 
| @@ -134,6 +134,7 @@ homedecor_roofing.register_slope = function(modname, subname, recipeitem, groups | ||||
| 		paramtype2 = "facedir", | ||||
| 		selection_box = slope_cbox, | ||||
| 		collision_box = slope_cbox, | ||||
| 		use_texture_alpha = "blend", | ||||
| 		groups = groups, | ||||
| 		on_place = minetest.rotate_node, | ||||
| 		sounds = default.node_sound_wood_defaults() | ||||
|   | ||||
| @@ -47,7 +47,6 @@ minetest.register_node(":lrfurn:longsofa", { | ||||
| 		end | ||||
| 		pos.y = pos.y-0.5 | ||||
| 		clicker:setpos(pos) | ||||
| 		clicker:set_hp(20) | ||||
| 		return itemstack | ||||
| 	end | ||||
| }) | ||||
|   | ||||
| @@ -47,7 +47,6 @@ minetest.register_node(":lrfurn:sofa", { | ||||
| 		end | ||||
| 		pos.y = pos.y-0.5 | ||||
| 		clicker:setpos(pos) | ||||
| 		clicker:set_hp(20) | ||||
| 		return itemstack | ||||
| 	end | ||||
| }) | ||||
|   | ||||
| @@ -57,6 +57,7 @@ minetest.register_node(":lrfurn:coffeetable", { | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	use_texture_alpha = "blend", | ||||
| 	groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	node_box = { | ||||
|   | ||||
| @@ -15,6 +15,7 @@ minetest.register_node(":lrfurn:endtable", { | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	use_texture_alpha = "blend", | ||||
| 	groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| 	node_box = { | ||||
|   | ||||
| @@ -34,6 +34,7 @@ for _, t in ipairs(leg_materials) do | ||||
| 		inventory_image = "homedecor_table_legs_"..name..".png", | ||||
| 		wield_image = "homedecor_table_legs_"..name..".png", | ||||
| 		walkable = false, | ||||
| 		use_texture_alpha = "blend", | ||||
| 		groups = {snappy=3}, | ||||
| 		sounds = default.node_sound_wood_defaults(), | ||||
| 		selection_box = { | ||||
| @@ -76,6 +77,7 @@ for i, mat in ipairs(tabletop_materials) do | ||||
| 				'homedecor_blanktile.png', | ||||
| 			}, | ||||
| 			wield_image = 'homedecor_'..m..'_table_'..shape..'_inv.png', | ||||
| 			use_texture_alpha = "blend", | ||||
| 			groups = { snappy = 3 }, | ||||
| 			sounds = s, | ||||
| 			selection_box = tables_cbox, | ||||
| @@ -111,6 +113,7 @@ for i, mat in ipairs(tabletop_materials) do | ||||
| 					'homedecor_'..m..'_table_edges.png', | ||||
| 					"homedecor_table_legs_"..leg_mat..".png", | ||||
| 				}, | ||||
| 				use_texture_alpha = "blend", | ||||
| 				groups = { snappy = 3 }, | ||||
| 				sounds = s, | ||||
| 			}) | ||||
|   | ||||
| @@ -61,6 +61,7 @@ homedecor.register("trash_can", { | ||||
| 	tiles = { "homedecor_trash_can.png" }, | ||||
| 	inventory_image = "homedecor_trash_can_inv.png", | ||||
| 	description = S("Small Trash Can"), | ||||
| 	use_texture_alpha = "clip", | ||||
| 	groups = {snappy=3}, | ||||
| 	selection_box = trash_cbox, | ||||
| 	collision_box = trash_cbox, | ||||
|   | ||||
| @@ -173,7 +173,7 @@ if not skinsdb_mod_path then -- If not managed by skinsdb | ||||
|  | ||||
| 	minetest.register_on_joinplayer(function(player) | ||||
|  | ||||
| 		local skin = player:get_attribute("homedecor:player_skin") | ||||
| 		local skin = player:get_meta():get("homedecor:player_skin") | ||||
|  | ||||
| 		if skin and skin ~= "" then | ||||
|  | ||||
|   | ||||
| @@ -100,7 +100,7 @@ local update_item = function(pos, node) | ||||
| 		local e = minetest.add_entity(pos,"itemframes:item") | ||||
| 		if node.name == "itemframes:frame" then | ||||
| 			local yaw = math.pi * 2 - node.param2 * math.pi / 2 | ||||
| 			e:setyaw(yaw) | ||||
| 			e:set_yaw(yaw) | ||||
| 		end | ||||
| 	end | ||||
| end | ||||
|   | ||||