mirror of
				https://github.com/mt-mods/homedecor_modpack.git
				synced 2025-11-04 13:05:31 +01:00 
			
		
		
		
	initial progress
This commit is contained in:
		
							
								
								
									
										39
									
								
								.luacheckrc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								.luacheckrc
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,39 @@
 | 
				
			|||||||
 | 
					unused_args = false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					globals = {
 | 
				
			||||||
 | 
						"homedecor",
 | 
				
			||||||
 | 
					    "homedecor_lighting",
 | 
				
			||||||
 | 
					    "homedecor_windows_and_treatments",
 | 
				
			||||||
 | 
					    "homedecor_roofing",
 | 
				
			||||||
 | 
					    "homedecor_misc",
 | 
				
			||||||
 | 
					    "homedecor_exterior",
 | 
				
			||||||
 | 
					    "homedecor_electrical",
 | 
				
			||||||
 | 
					    "homedecor_cobweb",
 | 
				
			||||||
 | 
					    "lavalamp",
 | 
				
			||||||
 | 
					    "lrfurn",
 | 
				
			||||||
 | 
					    "signs_lib",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    -- mod-deps
 | 
				
			||||||
 | 
					    "armor"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					read_globals = {
 | 
				
			||||||
 | 
						"minetest", "core",
 | 
				
			||||||
 | 
						"vector", "ItemStack",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						-- Stdlib
 | 
				
			||||||
 | 
						string = {fields = {"split", "trim"}},
 | 
				
			||||||
 | 
						table = {fields = {"copy", "getn"}},
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    -- mod-deps
 | 
				
			||||||
 | 
					    "default",
 | 
				
			||||||
 | 
					    "unifieddyes",
 | 
				
			||||||
 | 
					    "player_api",
 | 
				
			||||||
 | 
					    "screwdriver",
 | 
				
			||||||
 | 
					    "hopper",
 | 
				
			||||||
 | 
					    "mesecon",
 | 
				
			||||||
 | 
					    "skins",
 | 
				
			||||||
 | 
					    "homedecor_doors_and_gates",
 | 
				
			||||||
 | 
					    "stairsplus",
 | 
				
			||||||
 | 
					    "creative"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,18 +0,0 @@
 | 
				
			|||||||
unused_args = false
 | 
					 | 
				
			||||||
allow_defined_top = true
 | 
					 | 
				
			||||||
max_comment_line_length = 999
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
read_globals = {
 | 
					 | 
				
			||||||
	"DIR_DELIM",
 | 
					 | 
				
			||||||
	"minetest", "core",
 | 
					 | 
				
			||||||
	"unpack",
 | 
					 | 
				
			||||||
	"dump",
 | 
					 | 
				
			||||||
	table = { fields = { "copy", "getn" } },
 | 
					 | 
				
			||||||
	"vector", "nodeupdate",
 | 
					 | 
				
			||||||
	"VoxelManip", "VoxelArea",
 | 
					 | 
				
			||||||
	"PseudoRandom", "ItemStack",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
globals = {
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,14 +1,16 @@
 | 
				
			|||||||
minetest.override_item("default:bookshelf", {
 | 
					if minetest.get_modpath("default") then
 | 
				
			||||||
	drawtype = "mesh",
 | 
						minetest.override_item("default:bookshelf", {
 | 
				
			||||||
	mesh = "homedecor_3d_bookshelf.obj",
 | 
							drawtype = "mesh",
 | 
				
			||||||
	tiles = {
 | 
							mesh = "homedecor_3d_bookshelf.obj",
 | 
				
			||||||
		"default_wood.png",
 | 
							tiles = {
 | 
				
			||||||
		"default_wood.png^homedecor_3d_bookshelf_inside_back.png",
 | 
								"default_wood.png",
 | 
				
			||||||
		"homedecor_3d_bookshelf_books.png",
 | 
								"default_wood.png^homedecor_3d_bookshelf_inside_back.png",
 | 
				
			||||||
	},
 | 
								"homedecor_3d_bookshelf_books.png",
 | 
				
			||||||
	paramtype = "light",
 | 
							},
 | 
				
			||||||
	paramtype2 = "facedir",
 | 
							paramtype = "light",
 | 
				
			||||||
})
 | 
							paramtype2 = "facedir",
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if minetest.get_modpath("vessels") then
 | 
					if minetest.get_modpath("vessels") then
 | 
				
			||||||
	minetest.override_item("vessels:shelf", {
 | 
						minetest.override_item("vessels:shelf", {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,3 @@
 | 
				
			|||||||
name = homedecor_3d_extras
 | 
					name = homedecor_3d_extras
 | 
				
			||||||
description = Homedecor Mod: 3d extras
 | 
					description = Homedecor Mod: 3d extras
 | 
				
			||||||
depends = default
 | 
					optional_depends = vessels, moreblocks, doors, default
 | 
				
			||||||
optional_depends = vessels, moreblocks, doors
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,21 +0,0 @@
 | 
				
			|||||||
unused_args = false
 | 
					 | 
				
			||||||
allow_defined_top = true
 | 
					 | 
				
			||||||
max_comment_line_length = 999
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
read_globals = {
 | 
					 | 
				
			||||||
	"DIR_DELIM",
 | 
					 | 
				
			||||||
	"minetest", "core",
 | 
					 | 
				
			||||||
	"unpack",
 | 
					 | 
				
			||||||
	"dump",
 | 
					 | 
				
			||||||
	table = { fields = { "copy", "getn" } },
 | 
					 | 
				
			||||||
	"vector", "nodeupdate",
 | 
					 | 
				
			||||||
	"VoxelManip", "VoxelArea",
 | 
					 | 
				
			||||||
	"PseudoRandom", "ItemStack",
 | 
					 | 
				
			||||||
	"creative",
 | 
					 | 
				
			||||||
	"default",
 | 
					 | 
				
			||||||
	"homedecor",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
globals = {
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -97,7 +97,7 @@ for _, c in ipairs(bookcolors) do
 | 
				
			|||||||
			if data.title and data.title ~= "" then
 | 
								if data.title and data.title ~= "" then
 | 
				
			||||||
				meta:set_string("infotext", data.title)
 | 
									meta:set_string("infotext", data.title)
 | 
				
			||||||
			end
 | 
								end
 | 
				
			||||||
			if not creative.is_enabled_for(plname) then
 | 
								if not minetest.is_creative_enabled(plname) then
 | 
				
			||||||
				itemstack:take_item()
 | 
									itemstack:take_item()
 | 
				
			||||||
			end
 | 
								end
 | 
				
			||||||
			return itemstack
 | 
								return itemstack
 | 
				
			||||||
@@ -128,16 +128,15 @@ for _, c in ipairs(bookcolors) do
 | 
				
			|||||||
			local owner = meta:get_string("owner") or ""
 | 
								local owner = meta:get_string("owner") or ""
 | 
				
			||||||
			local formspec
 | 
								local formspec
 | 
				
			||||||
			if owner == "" or owner == player_name then
 | 
								if owner == "" or owner == player_name then
 | 
				
			||||||
				formspec = "size[8,8]"..default.gui_bg..default.gui_bg_img..
 | 
									formspec = "size[8,8]"..
 | 
				
			||||||
					"field[0.5,1;7.5,0;title;Book title :;"..
 | 
										"field[0.5,1;7.5,0;title;Book title :;"..
 | 
				
			||||||
						minetest.formspec_escape(title).."]"..
 | 
											minetest.formspec_escape(title).."]"..
 | 
				
			||||||
					"textarea[0.5,1.5;7.5,7;text;Book content :;"..
 | 
										"textarea[0.5,1.5;7.5,7;text;Book content :;"..
 | 
				
			||||||
						minetest.formspec_escape(text).."]"..
 | 
											minetest.formspec_escape(text).."]"..
 | 
				
			||||||
					"button_exit[2.5,7.5;3,1;save;Save]"
 | 
										"button_exit[2.5,7.5;3,1;save;Save]"
 | 
				
			||||||
			else
 | 
								else
 | 
				
			||||||
				formspec = "size[8,8]"..default.gui_bg..
 | 
									formspec = "size[8,8]"..
 | 
				
			||||||
				"button_exit[7,0.25;1,0.5;close;X]"..
 | 
									"button_exit[7,0.25;1,0.5;close;X]"..
 | 
				
			||||||
				default.gui_bg_img..
 | 
					 | 
				
			||||||
					"label[0.5,0.5;by "..owner.."]"..
 | 
										"label[0.5,0.5;by "..owner.."]"..
 | 
				
			||||||
					"label[0.5,0;"..minetest.formspec_escape(title).."]"..
 | 
										"label[0.5,0;"..minetest.formspec_escape(title).."]"..
 | 
				
			||||||
					"textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]"
 | 
										"textarea[0.5,1.5;7.5,7;;"..minetest.formspec_escape(text)..";]"
 | 
				
			||||||
@@ -167,7 +166,7 @@ for _, c in ipairs(bookcolors) do
 | 
				
			|||||||
		output = "homedecor:book_"..color,
 | 
							output = "homedecor:book_"..color,
 | 
				
			||||||
		recipe = {
 | 
							recipe = {
 | 
				
			||||||
			"dye:"..color,
 | 
								"dye:"..color,
 | 
				
			||||||
			"default:book"
 | 
								homedecor.materials.book
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
name = homedecor_books
 | 
					name = homedecor_books
 | 
				
			||||||
description = Homedecor mod: books
 | 
					description = Homedecor mod: books
 | 
				
			||||||
depends = homedecor_common, default, creative
 | 
					depends = homedecor_common
 | 
				
			||||||
optional_depends = unifieddyes
 | 
					optional_depends = unifieddyes, default, creative
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,21 +0,0 @@
 | 
				
			|||||||
unused_args = false
 | 
					 | 
				
			||||||
allow_defined_top = true
 | 
					 | 
				
			||||||
max_comment_line_length = 999
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
read_globals = {
 | 
					 | 
				
			||||||
	"DIR_DELIM",
 | 
					 | 
				
			||||||
	"minetest", "core",
 | 
					 | 
				
			||||||
	"unpack",
 | 
					 | 
				
			||||||
	"dump",
 | 
					 | 
				
			||||||
	table = { fields = { "copy", "getn" } },
 | 
					 | 
				
			||||||
	"vector", "nodeupdate",
 | 
					 | 
				
			||||||
	"VoxelManip", "VoxelArea",
 | 
					 | 
				
			||||||
	"PseudoRandom", "ItemStack",
 | 
					 | 
				
			||||||
	"default",
 | 
					 | 
				
			||||||
	"homedecor",
 | 
					 | 
				
			||||||
	"screwdriver",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
globals = {
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -7,12 +7,30 @@ homedecor.register("air_conditioner", {
 | 
				
			|||||||
	mesh = "homedecor_ac.obj",
 | 
						mesh = "homedecor_ac.obj",
 | 
				
			||||||
	tiles = {
 | 
						tiles = {
 | 
				
			||||||
		"homedecor_ac.png",
 | 
							"homedecor_ac.png",
 | 
				
			||||||
		"default_glass.png"
 | 
							homedecor.glass
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	groups = { snappy = 3 },
 | 
						groups = { snappy = 3, dig_stone = 3 },
 | 
				
			||||||
	use_texture_alpha = "clip",
 | 
						use_texture_alpha = "clip",
 | 
				
			||||||
	sounds = default.node_sound_leaves_defaults(),
 | 
						_sound_def = {
 | 
				
			||||||
 | 
							key = "node_sound_leaves_defaults",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
	selection_box = { type="regular" },
 | 
						selection_box = { type="regular" },
 | 
				
			||||||
 | 
						crafts = {
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								recipe = {
 | 
				
			||||||
 | 
									{ "steel_ingot", "building_blocks:grate", "steel_ingot" },
 | 
				
			||||||
 | 
									{ "steel_ingot", "homedecor:fan_blades", "basic_materials:motor" },
 | 
				
			||||||
 | 
									{ "steel_ingot", "basic_materials:motor", "steel_ingot" },
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								recipe = {
 | 
				
			||||||
 | 
									{ "steel_ingot", "building_blocks:grate", "steel_ingot" },
 | 
				
			||||||
 | 
									{ "steel_ingot", "basic_materials:motor", "steel_ingot" },
 | 
				
			||||||
 | 
									{ "steel_ingot", "basic_materials:motor", "steel_ingot" },
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- fans
 | 
					-- fans
 | 
				
			||||||
@@ -75,6 +93,14 @@ homedecor.register("desk_fan", {
 | 
				
			|||||||
		local entities = minetest.get_objects_inside_radius(pos, 0.1)
 | 
							local entities = minetest.get_objects_inside_radius(pos, 0.1)
 | 
				
			||||||
		if entities[1] then entities[1]:remove() end
 | 
							if entities[1] then entities[1]:remove() end
 | 
				
			||||||
	end,
 | 
						end,
 | 
				
			||||||
 | 
						crafts = {
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								recipe = {
 | 
				
			||||||
 | 
									{"steel_ingot", "homedecor:fan_blades", "basic_materials:motor"},
 | 
				
			||||||
 | 
									{"", "steel_ingot", ""}
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- ceiling fan
 | 
					-- ceiling fan
 | 
				
			||||||
@@ -97,9 +123,27 @@ homedecor.register("ceiling_fan", {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	use_texture_alpha = "clip",
 | 
						use_texture_alpha = "clip",
 | 
				
			||||||
	groups = { snappy = 3 },
 | 
						groups = { snappy = 3, dig_stone = 3 },
 | 
				
			||||||
	light_source = default.LIGHT_MAX-1,
 | 
						light_source = minetest.LIGHT_MAX-1,
 | 
				
			||||||
	sounds = default.node_sound_glass_defaults(),
 | 
						_sound_def = {
 | 
				
			||||||
 | 
							key = "node_sound_glass_defaults",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						crafts = {
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								recipe = {
 | 
				
			||||||
 | 
									{ "basic_materials:motor" },
 | 
				
			||||||
 | 
									{ "homedecor:fan_blades" },
 | 
				
			||||||
 | 
									{ "homedecor:glowlight_small_cube" }
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								recipe = {
 | 
				
			||||||
 | 
									{ "basic_materials:motor" },
 | 
				
			||||||
 | 
									{ "homedecor:fan_blades" },
 | 
				
			||||||
 | 
									{ "homedecor:glowlight_small_cube" }
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- heating devices
 | 
					-- heating devices
 | 
				
			||||||
@@ -115,8 +159,10 @@ homedecor.register("space_heater", {
 | 
				
			|||||||
	},
 | 
						},
 | 
				
			||||||
	inventory_image = "homedecor_heater_inv.png",
 | 
						inventory_image = "homedecor_heater_inv.png",
 | 
				
			||||||
	walkable = false,
 | 
						walkable = false,
 | 
				
			||||||
	groups = { snappy = 3 },
 | 
						groups = { snappy = 3, dig_stone = 3 },
 | 
				
			||||||
	sounds = default.node_sound_wood_defaults(),
 | 
						_sound_def = {
 | 
				
			||||||
 | 
							key = "node_sound_wood_defaults",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
	node_box = {
 | 
						node_box = {
 | 
				
			||||||
		type = "fixed",
 | 
							type = "fixed",
 | 
				
			||||||
		fixed = {
 | 
							fixed = {
 | 
				
			||||||
@@ -126,6 +172,15 @@ homedecor.register("space_heater", {
 | 
				
			|||||||
	selection_box = {
 | 
						selection_box = {
 | 
				
			||||||
		type = "fixed",
 | 
							type = "fixed",
 | 
				
			||||||
		fixed = {-0.1875, -0.5, 0.0625, 0.1875, 0, 0.3125}
 | 
							fixed = {-0.1875, -0.5, 0.0625, 0.1875, 0, 0.3125}
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						crafts = {
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								recipe = {
 | 
				
			||||||
 | 
									{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"},
 | 
				
			||||||
 | 
									{"basic_materials:plastic_sheet", "homedecor:fan_blades", "basic_materials:motor"},
 | 
				
			||||||
 | 
									{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"}
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -138,10 +193,21 @@ homedecor.register("radiator", {
 | 
				
			|||||||
	},
 | 
						},
 | 
				
			||||||
	inventory_image = "homedecor_radiator_inv.png",
 | 
						inventory_image = "homedecor_radiator_inv.png",
 | 
				
			||||||
	description = S("Radiator heater"),
 | 
						description = S("Radiator heater"),
 | 
				
			||||||
	groups = {snappy=3},
 | 
						groups = {snappy=3, dig_stone = 3},
 | 
				
			||||||
	selection_box = r_cbox,
 | 
						selection_box = r_cbox,
 | 
				
			||||||
	collision_box = r_cbox,
 | 
						collision_box = r_cbox,
 | 
				
			||||||
	sounds = default.node_sound_wood_defaults(),
 | 
						_sound_def = {
 | 
				
			||||||
 | 
							key = "node_sound_wood_defaults",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						crafts = {
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								recipe = {
 | 
				
			||||||
 | 
									{ "steel_ingot", "basic_materials:heating_element", "steel_ingot" },
 | 
				
			||||||
 | 
									{ "basic_materials:ic", "basic_materials:heating_element", "" },
 | 
				
			||||||
 | 
									{ "steel_ingot", "basic_materials:heating_element", "steel_ingot" }
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- crafting
 | 
					-- crafting
 | 
				
			||||||
@@ -154,70 +220,7 @@ minetest.register_craft( {
 | 
				
			|||||||
    output = "homedecor:fan_blades 2",
 | 
					    output = "homedecor:fan_blades 2",
 | 
				
			||||||
    recipe = {
 | 
					    recipe = {
 | 
				
			||||||
		{ "", "basic_materials:plastic_sheet", "" },
 | 
							{ "", "basic_materials:plastic_sheet", "" },
 | 
				
			||||||
		{ "", "default:steel_ingot", "" },
 | 
							{ "", homedecor.materials.steel_ingot, "" },
 | 
				
			||||||
		{ "basic_materials:plastic_sheet", "", "basic_materials:plastic_sheet" }
 | 
							{ "basic_materials:plastic_sheet", "", "basic_materials:plastic_sheet" }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft({
 | 
					 | 
				
			||||||
    output = "homedecor:air_conditioner",
 | 
					 | 
				
			||||||
    recipe = {
 | 
					 | 
				
			||||||
		{ "default:steel_ingot", "building_blocks:grate", "default:steel_ingot" },
 | 
					 | 
				
			||||||
		{ "default:steel_ingot", "homedecor:fan_blades", "basic_materials:motor" },
 | 
					 | 
				
			||||||
		{ "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft({
 | 
					 | 
				
			||||||
    output = "homedecor:air_conditioner",
 | 
					 | 
				
			||||||
    recipe = {
 | 
					 | 
				
			||||||
		{ "default:steel_ingot", "building_blocks:grate", "default:steel_ingot" },
 | 
					 | 
				
			||||||
		{ "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" },
 | 
					 | 
				
			||||||
		{ "default:steel_ingot", "basic_materials:motor", "default:steel_ingot" },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft({
 | 
					 | 
				
			||||||
    output = "homedecor:ceiling_fan",
 | 
					 | 
				
			||||||
    recipe = {
 | 
					 | 
				
			||||||
		{ "basic_materials:motor" },
 | 
					 | 
				
			||||||
		{ "homedecor:fan_blades" },
 | 
					 | 
				
			||||||
		{ "homedecor:glowlight_small_cube" }
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft({
 | 
					 | 
				
			||||||
    output = "homedecor:ceiling_fan",
 | 
					 | 
				
			||||||
    recipe = {
 | 
					 | 
				
			||||||
		{ "basic_materials:motor" },
 | 
					 | 
				
			||||||
		{ "homedecor:fan_blades" },
 | 
					 | 
				
			||||||
		{ "homedecor:glowlight_small_cube" }
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft( {
 | 
					 | 
				
			||||||
        output = "homedecor:desk_fan",
 | 
					 | 
				
			||||||
        recipe = {
 | 
					 | 
				
			||||||
			{"default:steel_ingot", "homedecor:fan_blades", "basic_materials:motor"},
 | 
					 | 
				
			||||||
			{"", "default:steel_ingot", ""}
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft( {
 | 
					 | 
				
			||||||
        output = "homedecor:space_heater",
 | 
					 | 
				
			||||||
        recipe = {
 | 
					 | 
				
			||||||
			{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"},
 | 
					 | 
				
			||||||
			{"basic_materials:plastic_sheet", "homedecor:fan_blades", "basic_materials:motor"},
 | 
					 | 
				
			||||||
			{"basic_materials:plastic_sheet", "basic_materials:heating_element", "basic_materials:plastic_sheet"}
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft( {
 | 
					 | 
				
			||||||
        output = "homedecor:radiator",
 | 
					 | 
				
			||||||
        recipe = {
 | 
					 | 
				
			||||||
			{ "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" },
 | 
					 | 
				
			||||||
			{ "basic_materials:ic", "basic_materials:heating_element", "" },
 | 
					 | 
				
			||||||
			{ "default:steel_ingot", "basic_materials:heating_element", "default:steel_ingot" }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
name = homedecor_climate_control
 | 
					name = homedecor_climate_control
 | 
				
			||||||
description = Homedecor mod: climate control
 | 
					description = Homedecor mod: climate control
 | 
				
			||||||
depends = homedecor_common, default, basic_materials
 | 
					depends = homedecor_common
 | 
				
			||||||
optional_depends = building_blocks, screwdriver
 | 
					optional_depends = building_blocks, screwdriver, default
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,21 +0,0 @@
 | 
				
			|||||||
unused_args = false
 | 
					 | 
				
			||||||
allow_defined_top = true
 | 
					 | 
				
			||||||
max_comment_line_length = 999
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
read_globals = {
 | 
					 | 
				
			||||||
	"DIR_DELIM",
 | 
					 | 
				
			||||||
	"minetest", "core",
 | 
					 | 
				
			||||||
	"unpack",
 | 
					 | 
				
			||||||
	"dump",
 | 
					 | 
				
			||||||
	table = { fields = { "copy", "getn" } },
 | 
					 | 
				
			||||||
	"vector", "nodeupdate",
 | 
					 | 
				
			||||||
	"VoxelManip", "VoxelArea",
 | 
					 | 
				
			||||||
	"PseudoRandom", "ItemStack",
 | 
					 | 
				
			||||||
	"default",
 | 
					 | 
				
			||||||
	"homedecor",
 | 
					 | 
				
			||||||
	"screwdriver",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
globals = {
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,18 +1,43 @@
 | 
				
			|||||||
 | 
					 | 
				
			||||||
local S = minetest.get_translator("homedecor_clocks")
 | 
					local S = minetest.get_translator("homedecor_clocks")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local wood
 | 
				
			||||||
 | 
					if minetest.get_modpath("default") then
 | 
				
			||||||
 | 
						wood = "default_wood.png"
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						wood = "[combine:16x16^[noalpha^[colorize:#563d2d"
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local plastic_craft = {
 | 
				
			||||||
 | 
					    output = "homedecor:analog_clock_plastic 2",
 | 
				
			||||||
 | 
					    recipe = {
 | 
				
			||||||
 | 
							{ "basic_materials:plastic_sheet", "dye_black", "basic_materials:plastic_sheet" },
 | 
				
			||||||
 | 
							{ "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" },
 | 
				
			||||||
 | 
							{ "basic_materials:plastic_sheet", "dye_black", "basic_materials:plastic_sheet" },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local wood_craft = {
 | 
				
			||||||
 | 
					    output = "homedecor:analog_clock_wood 2",
 | 
				
			||||||
 | 
					    recipe = {
 | 
				
			||||||
 | 
							{ "group:stick", "dye_black", "group:stick" },
 | 
				
			||||||
 | 
							{ "group:stick", "basic_materials:ic", "group:stick" },
 | 
				
			||||||
 | 
							{ "group:stick", "dye_black", "group:stick" },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local clock_sbox = {
 | 
					local clock_sbox = {
 | 
				
			||||||
	type = "fixed",
 | 
						type = "fixed",
 | 
				
			||||||
	fixed = { -8/32, -8/32, 14/32, 8/32, 8/32, 16/32 }
 | 
						fixed = { -8/32, -8/32, 14/32, 8/32, 8/32, 16/32 }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local clock_materials = {
 | 
					local clock_materials = {
 | 
				
			||||||
	{ "plastic", S("Plastic analog clock"), "homedecor_generic_plastic.png" },
 | 
						{"plastic", S("Plastic analog clock"), "homedecor_generic_plastic.png", plastic_craft},
 | 
				
			||||||
	{ "wood", S("Wooden analog clock"), "default_wood.png" }
 | 
						{"wood", S("Wooden analog clock"), wood, wood_craft}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for _, mat in ipairs(clock_materials) do
 | 
					for _, mat in ipairs(clock_materials) do
 | 
				
			||||||
	local name, desc, tex = unpack(mat)
 | 
						local name, desc, tex, craft = unpack(mat)
 | 
				
			||||||
	homedecor.register("analog_clock_"..name, {
 | 
						homedecor.register("analog_clock_"..name, {
 | 
				
			||||||
		description = desc,
 | 
							description = desc,
 | 
				
			||||||
		mesh = "homedecor_analog_clock.obj",
 | 
							mesh = "homedecor_analog_clock.obj",
 | 
				
			||||||
@@ -24,8 +49,13 @@ for _, mat in ipairs(clock_materials) do
 | 
				
			|||||||
		inventory_image = "homedecor_analog_clock_"..name.."_inv.png",
 | 
							inventory_image = "homedecor_analog_clock_"..name.."_inv.png",
 | 
				
			||||||
		walkable = false,
 | 
							walkable = false,
 | 
				
			||||||
		selection_box = clock_sbox,
 | 
							selection_box = clock_sbox,
 | 
				
			||||||
		groups = {snappy=3},
 | 
							groups = {snappy=3, dig_tree=2},
 | 
				
			||||||
		sounds = default.node_sound_wood_defaults(),
 | 
							_sound_def = {
 | 
				
			||||||
 | 
								key = "node_sound_wood_defaults",
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							crafts = {
 | 
				
			||||||
 | 
								craft
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -47,8 +77,20 @@ homedecor.register("digital_clock", {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	walkable = false,
 | 
						walkable = false,
 | 
				
			||||||
	sounds = default.node_sound_wood_defaults(),
 | 
						_sound_def = {
 | 
				
			||||||
	groups = {snappy=3},
 | 
							key = "node_sound_wood_defaults",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						groups = {snappy=3, dig_tree=2},
 | 
				
			||||||
 | 
						crafts = {
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								output = "homedecor:digital_clock 2",
 | 
				
			||||||
 | 
								recipe = {
 | 
				
			||||||
 | 
									{ "basic_materials:plastic_sheet", "paper", "basic_materials:plastic_sheet" },
 | 
				
			||||||
 | 
									{ "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" },
 | 
				
			||||||
 | 
									{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" },
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
homedecor.register("alarm_clock", {
 | 
					homedecor.register("alarm_clock", {
 | 
				
			||||||
@@ -69,8 +111,19 @@ homedecor.register("alarm_clock", {
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	walkable = false,
 | 
						walkable = false,
 | 
				
			||||||
	sounds = default.node_sound_wood_defaults(),
 | 
						_sound_def = {
 | 
				
			||||||
	groups = {snappy=3},
 | 
							key = "node_sound_wood_defaults",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						groups = {snappy=3, dig_tree=2},
 | 
				
			||||||
 | 
						crafts = {
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								recipe = {
 | 
				
			||||||
 | 
									{ "basic_materials:plastic_sheet", "homedecor:speaker_driver", "basic_materials:plastic_sheet" },
 | 
				
			||||||
 | 
									{ "basic_materials:plastic_sheet", "homedecor:digital_clock", "basic_materials:plastic_sheet" },
 | 
				
			||||||
 | 
									{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" },
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local gf_cbox = {
 | 
					local gf_cbox = {
 | 
				
			||||||
@@ -82,7 +135,7 @@ homedecor.register("grandfather_clock", {
 | 
				
			|||||||
	description = S("Grandfather Clock"),
 | 
						description = S("Grandfather Clock"),
 | 
				
			||||||
	mesh = "homedecor_grandfather_clock.obj",
 | 
						mesh = "homedecor_grandfather_clock.obj",
 | 
				
			||||||
	tiles = {
 | 
						tiles = {
 | 
				
			||||||
		"default_glass.png",
 | 
							homedecor.glass,
 | 
				
			||||||
		"homedecor_grandfather_clock_face.png",
 | 
							"homedecor_grandfather_clock_face.png",
 | 
				
			||||||
		homedecor.lux_wood,
 | 
							homedecor.lux_wood,
 | 
				
			||||||
		"homedecor_grandfather_clock_face_edge.png",
 | 
							"homedecor_grandfather_clock_face_edge.png",
 | 
				
			||||||
@@ -90,60 +143,23 @@ homedecor.register("grandfather_clock", {
 | 
				
			|||||||
	},
 | 
						},
 | 
				
			||||||
	use_texture_alpha = "clip",
 | 
						use_texture_alpha = "clip",
 | 
				
			||||||
	inventory_image = "homedecor_grandfather_clock_inv.png",
 | 
						inventory_image = "homedecor_grandfather_clock_inv.png",
 | 
				
			||||||
	groups = { snappy = 3 },
 | 
						groups = {snappy = 3, dig_tree=2},
 | 
				
			||||||
	selection_box = gf_cbox,
 | 
						selection_box = gf_cbox,
 | 
				
			||||||
	collision_box = gf_cbox,
 | 
						collision_box = gf_cbox,
 | 
				
			||||||
	sounds = default.node_sound_wood_defaults(),
 | 
						_sound_def = {
 | 
				
			||||||
 | 
							key = "node_sound_wood_defaults",
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
	expand = { top="placeholder" },
 | 
						expand = { top="placeholder" },
 | 
				
			||||||
	on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
 | 
						on_rotate = minetest.get_modpath("screwdriver") and screwdriver.rotate_simple or nil,
 | 
				
			||||||
})
 | 
						crafts = {
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
-- crafting
 | 
								recipe = {
 | 
				
			||||||
 | 
									{ "building_blocks:slab_hardwood","homedecor:analog_clock_wood","building_blocks:slab_hardwood" },
 | 
				
			||||||
 | 
									{ "building_blocks:slab_hardwood","basic_materials:brass_ingot","building_blocks:slab_hardwood" },
 | 
				
			||||||
minetest.register_craft({
 | 
									{ "building_blocks:slab_hardwood","basic_materials:brass_ingot","building_blocks:slab_hardwood" }
 | 
				
			||||||
    output = "homedecor:analog_clock_plastic 2",
 | 
								},
 | 
				
			||||||
    recipe = {
 | 
							}
 | 
				
			||||||
		{ "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet" },
 | 
						}
 | 
				
			||||||
		{ "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" },
 | 
					 | 
				
			||||||
		{ "basic_materials:plastic_sheet", "dye:black", "basic_materials:plastic_sheet" },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft({
 | 
					 | 
				
			||||||
    output = "homedecor:analog_clock_wood 2",
 | 
					 | 
				
			||||||
    recipe = {
 | 
					 | 
				
			||||||
		{ "group:stick", "dye:black", "group:stick" },
 | 
					 | 
				
			||||||
		{ "group:stick", "basic_materials:ic", "group:stick" },
 | 
					 | 
				
			||||||
		{ "group:stick", "dye:black", "group:stick" },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft({
 | 
					 | 
				
			||||||
    output = "homedecor:digital_clock 2",
 | 
					 | 
				
			||||||
    recipe = {
 | 
					 | 
				
			||||||
		{ "basic_materials:plastic_sheet", "default:paper", "basic_materials:plastic_sheet" },
 | 
					 | 
				
			||||||
		{ "basic_materials:plastic_sheet", "basic_materials:ic", "basic_materials:plastic_sheet" },
 | 
					 | 
				
			||||||
		{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft({
 | 
					 | 
				
			||||||
    output = "homedecor:alarm_clock",
 | 
					 | 
				
			||||||
    recipe = {
 | 
					 | 
				
			||||||
		{ "basic_materials:plastic_sheet", "homedecor:speaker_driver", "basic_materials:plastic_sheet" },
 | 
					 | 
				
			||||||
		{ "basic_materials:plastic_sheet", "homedecor:digital_clock", "basic_materials:plastic_sheet" },
 | 
					 | 
				
			||||||
		{ "basic_materials:plastic_sheet", "basic_materials:energy_crystal_simple", "basic_materials:plastic_sheet" },
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft({
 | 
					 | 
				
			||||||
	output = "homedecor:grandfather_clock",
 | 
					 | 
				
			||||||
	recipe = {
 | 
					 | 
				
			||||||
		{ "building_blocks:slab_hardwood","homedecor:analog_clock_wood","building_blocks:slab_hardwood" },
 | 
					 | 
				
			||||||
		{ "building_blocks:slab_hardwood","basic_materials:brass_ingot","building_blocks:slab_hardwood" },
 | 
					 | 
				
			||||||
		{ "building_blocks:slab_hardwood","basic_materials:brass_ingot","building_blocks:slab_hardwood" }
 | 
					 | 
				
			||||||
	},
 | 
					 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- aliases
 | 
					-- aliases
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
name = homedecor_clocks
 | 
					name = homedecor_clocks
 | 
				
			||||||
description = Homedecor mod: clocks
 | 
					description = Homedecor mod: clocks
 | 
				
			||||||
depends = homedecor_common, default, basic_materials, dye
 | 
					depends = homedecor_common
 | 
				
			||||||
optional_depends = building_blocks, screwdriver
 | 
					optional_depends = building_blocks, screwdriver, default, basic_materials, dye
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,18 +0,0 @@
 | 
				
			|||||||
unused_args = false
 | 
					 | 
				
			||||||
allow_defined_top = true
 | 
					 | 
				
			||||||
max_comment_line_length = 999
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
read_globals = {
 | 
					 | 
				
			||||||
	"DIR_DELIM",
 | 
					 | 
				
			||||||
	"minetest", "core",
 | 
					 | 
				
			||||||
	"unpack",
 | 
					 | 
				
			||||||
	"dump",
 | 
					 | 
				
			||||||
	table = { fields = { "copy", "getn" } },
 | 
					 | 
				
			||||||
	"vector", "nodeupdate",
 | 
					 | 
				
			||||||
	"VoxelManip", "VoxelArea",
 | 
					 | 
				
			||||||
	"PseudoRandom", "ItemStack",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
globals = {
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
local S = minetest.get_translator("homedecor_cobweb")
 | 
					local S = minetest.get_translator("homedecor_cobweb")
 | 
				
			||||||
homedecor_cobweb = {}
 | 
					homedecor_cobweb = {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
minetest.register_node(":homedecor:cobweb_corner", {
 | 
					homedecor.register("cobweb_corner", {
 | 
				
			||||||
	description = S("Cobweb"),
 | 
						description = S("Cobweb"),
 | 
				
			||||||
	drawtype = "torchlike",
 | 
						drawtype = "torchlike",
 | 
				
			||||||
	tiles = { "homedecor_cobweb_torchlike.png" },
 | 
						tiles = { "homedecor_cobweb_torchlike.png" },
 | 
				
			||||||
@@ -19,13 +19,23 @@ minetest.register_node(":homedecor:cobweb_corner", {
 | 
				
			|||||||
	walkable = false,
 | 
						walkable = false,
 | 
				
			||||||
	selection_box = { type = "regular" },
 | 
						selection_box = { type = "regular" },
 | 
				
			||||||
	visual_scale = 1.4,
 | 
						visual_scale = 1.4,
 | 
				
			||||||
	groups = { snappy = 3, liquid=3 },
 | 
						groups = { snappy = 3, liquid=3, dig_glass = 1 },
 | 
				
			||||||
	after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
						after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
				
			||||||
		homedecor_cobweb.rotate(pos)
 | 
							homedecor_cobweb.rotate(pos)
 | 
				
			||||||
	end
 | 
						end,
 | 
				
			||||||
 | 
						crafts = {
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								output = "homedecor:cobweb_corner 5",
 | 
				
			||||||
 | 
								recipe = {
 | 
				
			||||||
 | 
									{"string", "", "string"},
 | 
				
			||||||
 | 
									{"", "string", ""},
 | 
				
			||||||
 | 
									{"string", "", "string"}
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
minetest.register_node(":homedecor:cobweb_centered", {
 | 
					homedecor.register("cobweb_centered", {
 | 
				
			||||||
	description = S("Cobweb"),
 | 
						description = S("Cobweb"),
 | 
				
			||||||
	drawtype = "nodebox",
 | 
						drawtype = "nodebox",
 | 
				
			||||||
	tiles = { "homedecor_cobweb.png" },
 | 
						tiles = { "homedecor_cobweb.png" },
 | 
				
			||||||
@@ -49,11 +59,11 @@ minetest.register_node(":homedecor:cobweb_centered", {
 | 
				
			|||||||
		type = "fixed",
 | 
							type = "fixed",
 | 
				
			||||||
		fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0 }
 | 
							fixed = { -0.5, -0.5, 0, 0.5, 0.5, 0 }
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	groups = { snappy = 3, liquid=3, not_in_creative_inventory = 1 },
 | 
						groups = { snappy = 3, liquid=3, dig_glass = 1, not_in_creative_inventory = 1 },
 | 
				
			||||||
	drop = "homedecor:cobweb_corner"
 | 
						drop = "homedecor:cobweb_corner"
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
minetest.register_node(":homedecor:cobweb_flat", {
 | 
					homedecor.register("cobweb_flat", {
 | 
				
			||||||
	description = S("Cobweb"),
 | 
						description = S("Cobweb"),
 | 
				
			||||||
	drawtype = "nodebox",
 | 
						drawtype = "nodebox",
 | 
				
			||||||
	tiles = { "homedecor_cobweb.png" },
 | 
						tiles = { "homedecor_cobweb.png" },
 | 
				
			||||||
@@ -77,11 +87,11 @@ minetest.register_node(":homedecor:cobweb_flat", {
 | 
				
			|||||||
		type = "fixed",
 | 
							type = "fixed",
 | 
				
			||||||
		fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 }
 | 
							fixed = { -0.5, -0.5, 0.495, 0.5, 0.5, 0.495 }
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	groups = { snappy = 3, liquid=3, not_in_creative_inventory = 1 },
 | 
						groups = { snappy = 3, liquid=3, dig_glass = 1, not_in_creative_inventory = 1 },
 | 
				
			||||||
	drop = "homedecor:cobweb_corner"
 | 
						drop = "homedecor:cobweb_corner"
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
minetest.register_node(":homedecor:cobweb_plantlike", {
 | 
					homedecor.register("cobweb_plantlike", {
 | 
				
			||||||
	description = S("Cobweb"),
 | 
						description = S("Cobweb"),
 | 
				
			||||||
	drawtype = "plantlike",
 | 
						drawtype = "plantlike",
 | 
				
			||||||
	tiles = { "homedecor_cobweb_plantlike.png" },
 | 
						tiles = { "homedecor_cobweb_plantlike.png" },
 | 
				
			||||||
@@ -98,7 +108,7 @@ minetest.register_node(":homedecor:cobweb_plantlike", {
 | 
				
			|||||||
	walkable = false,
 | 
						walkable = false,
 | 
				
			||||||
	selection_box = { type = "regular" },
 | 
						selection_box = { type = "regular" },
 | 
				
			||||||
	visual_scale = 1.189,
 | 
						visual_scale = 1.189,
 | 
				
			||||||
	groups = { snappy = 3, liquid=3, not_in_creative_inventory = 1 },
 | 
						groups = { snappy = 3, liquid=3, dig_glass = 1, not_in_creative_inventory = 1 },
 | 
				
			||||||
	drop = "homedecor:cobweb_corner"
 | 
						drop = "homedecor:cobweb_corner"
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -159,14 +169,3 @@ function homedecor_cobweb.rotate(pos)
 | 
				
			|||||||
	end
 | 
						end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					 | 
				
			||||||
-- crafting
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
minetest.register_craft( {
 | 
					 | 
				
			||||||
        output = "homedecor:cobweb_corner 5",
 | 
					 | 
				
			||||||
        recipe = {
 | 
					 | 
				
			||||||
			{ "farming:string", "", "farming:string" },
 | 
					 | 
				
			||||||
			{ "", "farming:string", "" },
 | 
					 | 
				
			||||||
			{ "farming:string", "", "farming:string" }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
})
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,4 @@
 | 
				
			|||||||
name = homedecor_cobweb
 | 
					name = homedecor_cobweb
 | 
				
			||||||
description = Homedecor mod: cobweb
 | 
					description = Homedecor mod: cobweb
 | 
				
			||||||
depends = homedecor_common, default
 | 
					depends = homedecor_common
 | 
				
			||||||
 | 
					optional_depends = default
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,21 +0,0 @@
 | 
				
			|||||||
unused_args = false
 | 
					 | 
				
			||||||
allow_defined_top = true
 | 
					 | 
				
			||||||
max_comment_line_length = 999
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
read_globals = {
 | 
					 | 
				
			||||||
	"DIR_DELIM",
 | 
					 | 
				
			||||||
	"minetest", "core",
 | 
					 | 
				
			||||||
	"unpack",
 | 
					 | 
				
			||||||
	"dump",
 | 
					 | 
				
			||||||
	table = { fields = { "copy", "getn" } },
 | 
					 | 
				
			||||||
	"vector", "nodeupdate",
 | 
					 | 
				
			||||||
	"VoxelManip", "VoxelArea",
 | 
					 | 
				
			||||||
	"PseudoRandom", "ItemStack",
 | 
					 | 
				
			||||||
	"creative",
 | 
					 | 
				
			||||||
	"default",
 | 
					 | 
				
			||||||
	"screwdriver",
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
globals = {
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
@@ -103,7 +103,7 @@ local function stack(itemstack, placer, fdir, pos, def, pos2, node1, node2, poin
 | 
				
			|||||||
			ctrl_node_def.after_place_node(pos, placer, itemstack, pointed_thing)
 | 
								ctrl_node_def.after_place_node(pos, placer, itemstack, pointed_thing)
 | 
				
			||||||
		end
 | 
							end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		if not creative.is_enabled_for(placer_name) then
 | 
							if not minetest.is_creative_enabled(placer_name) then
 | 
				
			||||||
			itemstack:take_item()
 | 
								itemstack:take_item()
 | 
				
			||||||
		end
 | 
							end
 | 
				
			||||||
	end
 | 
						end
 | 
				
			||||||
@@ -133,7 +133,8 @@ function homedecor.stack_vertically(itemstack, placer, pointed_thing, node1, nod
 | 
				
			|||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
-- Stack one door node above another
 | 
					-- Stack one door node above another
 | 
				
			||||||
-- like  homedecor.stack_vertically but tests first if it was placed as a right wing, then uses node1_right and node2_right instead
 | 
					-- like  homedecor.stack_vertically but tests first if it was placed as a right wing,
 | 
				
			||||||
 | 
					-- then uses node1_right and node2_right instead
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function homedecor.stack_wing(itemstack, placer, pointed_thing, node1, node2, node1_right, node2_right)
 | 
					function homedecor.stack_wing(itemstack, placer, pointed_thing, node1, node2, node1_right, node2_right)
 | 
				
			||||||
	local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack, pointed_thing)
 | 
						local rightclick_result = rightclick_pointed_thing(pointed_thing.under, placer, itemstack, pointed_thing)
 | 
				
			||||||
@@ -230,8 +231,9 @@ function homedecor.bed_expansion(pos, placer, itemstack, pointed_thing, trybunks
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	if trybunks and is_buildable_to(placer_name, toppos, topposfwd) then
 | 
						if trybunks and is_buildable_to(placer_name, toppos, topposfwd) then
 | 
				
			||||||
		local newname = string.gsub(thisnode.name, "_regular", "_extended")
 | 
							local newname = string.gsub(thisnode.name, "_regular", "_extended")
 | 
				
			||||||
		local newparam2 = param2 % 8
 | 
							-- local newparam2 = param2 % 8
 | 
				
			||||||
		-- FIXME: is newparam2 a legacy unused variable from a8729575abfbd15cc622b413b71976c9157fbab4? or should this variable be used somewhere?
 | 
							-- FIXME: is newparam2 a legacy unused variable from a8729575abfbd15cc622b413b71976c9157fbab4?
 | 
				
			||||||
 | 
							-- or should this variable be used somewhere?
 | 
				
			||||||
		minetest.swap_node(toppos, { name = thisnode.name, param2 = param2})
 | 
							minetest.swap_node(toppos, { name = thisnode.name, param2 = param2})
 | 
				
			||||||
		minetest.swap_node(pos, { name = newname, param2 = param2})
 | 
							minetest.swap_node(pos, { name = newname, param2 = param2})
 | 
				
			||||||
		itemstack:take_item()
 | 
							itemstack:take_item()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,6 +54,16 @@ homedecor.mahogany_wood = { name = "homedecor_generic_wood_plain.png",  color =
 | 
				
			|||||||
homedecor.white_wood    = "homedecor_generic_wood_plain.png"
 | 
					homedecor.white_wood    = "homedecor_generic_wood_plain.png"
 | 
				
			||||||
homedecor.dark_wood     = { name = "homedecor_generic_wood_plain.png",  color = 0xff39240f }
 | 
					homedecor.dark_wood     = { name = "homedecor_generic_wood_plain.png",  color = 0xff39240f }
 | 
				
			||||||
homedecor.lux_wood      = { name = "homedecor_generic_wood_luxury.png", color = 0xff643f23 }
 | 
					homedecor.lux_wood      = { name = "homedecor_generic_wood_luxury.png", color = 0xff643f23 }
 | 
				
			||||||
 | 
					homedecor.glass = "default_glass.png"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if not minetest.get_modpath("default") then
 | 
				
			||||||
 | 
						homedecor.glass =
 | 
				
			||||||
 | 
						"[combine:16x16:" ..
 | 
				
			||||||
 | 
						"0,0=\\[combine\\:1x16\\^[noalpha\\^[colorize\\:#ffffff:" ..
 | 
				
			||||||
 | 
						"0,0=\\[combine\\:16x1\\^[noalpha\\^[colorize\\:#ffffff:" ..
 | 
				
			||||||
 | 
						"0,15=\\[combine\\:16x1\\^[noalpha\\^[colorize\\:#ffffff:" ..
 | 
				
			||||||
 | 
						"15,0=\\[combine\\:1x16\\^[noalpha\\^[colorize\\:#ffffff"
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
homedecor.color_black     = 0xff303030
 | 
					homedecor.color_black     = 0xff303030
 | 
				
			||||||
homedecor.color_dark_grey = 0xff606060
 | 
					homedecor.color_dark_grey = 0xff606060
 | 
				
			||||||
@@ -64,6 +74,7 @@ dofile(modpath.."/nodeboxes.lua")
 | 
				
			|||||||
dofile(modpath.."/expansion.lua")
 | 
					dofile(modpath.."/expansion.lua")
 | 
				
			||||||
dofile(modpath.."/furnaces.lua")
 | 
					dofile(modpath.."/furnaces.lua")
 | 
				
			||||||
dofile(modpath.."/inventory.lua")
 | 
					dofile(modpath.."/inventory.lua")
 | 
				
			||||||
 | 
					dofile(modpath.."/materials.lua")
 | 
				
			||||||
dofile(modpath.."/registration.lua")
 | 
					dofile(modpath.."/registration.lua")
 | 
				
			||||||
dofile(modpath.."/water_particles.lua")
 | 
					dofile(modpath.."/water_particles.lua")
 | 
				
			||||||
dofile(modpath.."/sit.lua")
 | 
					dofile(modpath.."/sit.lua")
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -12,47 +12,46 @@ local default_can_dig = function(pos,player)
 | 
				
			|||||||
	return meta:get_inventory():is_empty("main")
 | 
						return meta:get_inventory():is_empty("main")
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
local background = default.gui_bg .. default.gui_bg_img .. default.gui_slots
 | 
					
 | 
				
			||||||
local default_inventory_formspecs = {
 | 
					local default_inventory_formspecs = {
 | 
				
			||||||
	["4"]="size[8,6]".. background ..
 | 
						["4"]="size[8,6]"..
 | 
				
			||||||
	"list[context;main;2,0;4,1;]" ..
 | 
						"list[context;main;2,0;4,1;]" ..
 | 
				
			||||||
	"list[current_player;main;0,2;8,4;]" ..
 | 
						"list[current_player;main;0,2;8,4;]" ..
 | 
				
			||||||
	"listring[]",
 | 
						"listring[]",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	["6"]="size[8,6]".. background ..
 | 
						["6"]="size[8,6]"..
 | 
				
			||||||
	"list[context;main;1,0;6,1;]"..
 | 
						"list[context;main;1,0;6,1;]"..
 | 
				
			||||||
	"list[current_player;main;0,2;8,4;]" ..
 | 
						"list[current_player;main;0,2;8,4;]" ..
 | 
				
			||||||
	"listring[]",
 | 
						"listring[]",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	["8"]="size[8,6]".. background ..
 | 
						["8"]="size[8,6]"..
 | 
				
			||||||
	"list[context;main;0,0;8,1;]"..
 | 
						"list[context;main;0,0;8,1;]"..
 | 
				
			||||||
	"list[current_player;main;0,2;8,4;]" ..
 | 
						"list[current_player;main;0,2;8,4;]" ..
 | 
				
			||||||
	"listring[]",
 | 
						"listring[]",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	["12"]="size[8,7]".. background ..
 | 
						["12"]="size[8,7]"..
 | 
				
			||||||
	"list[context;main;1,0;6,2;]"..
 | 
						"list[context;main;1,0;6,2;]"..
 | 
				
			||||||
	"list[current_player;main;0,3;8,4;]" ..
 | 
						"list[current_player;main;0,3;8,4;]" ..
 | 
				
			||||||
	"listring[]",
 | 
						"listring[]",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	["16"]="size[8,7]".. background ..
 | 
						["16"]="size[8,7]"..
 | 
				
			||||||
	"list[context;main;0,0;8,2;]"..
 | 
						"list[context;main;0,0;8,2;]"..
 | 
				
			||||||
	"list[current_player;main;0,3;8,4;]" ..
 | 
						"list[current_player;main;0,3;8,4;]" ..
 | 
				
			||||||
	"listring[]",
 | 
						"listring[]",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	["24"]="size[8,8]".. background ..
 | 
						["24"]="size[8,8]"..
 | 
				
			||||||
	"list[context;main;0,0;8,3;]"..
 | 
						"list[context;main;0,0;8,3;]"..
 | 
				
			||||||
	"list[current_player;main;0,4;8,4;]" ..
 | 
						"list[current_player;main;0,4;8,4;]" ..
 | 
				
			||||||
	"listring[]",
 | 
						"listring[]",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	["32"]="size[8,9]".. background ..
 | 
						["32"]="size[8,9]"..
 | 
				
			||||||
	"list[context;main;0,0.3;8,4;]"..
 | 
						"list[context;main;0,0.3;8,4;]"..
 | 
				
			||||||
	"list[current_player;main;0,4.85;8,1;]"..
 | 
						"list[current_player;main;0,4.85;8,1;]"..
 | 
				
			||||||
	"list[current_player;main;0,6.08;8,3;8]"..
 | 
						"list[current_player;main;0,6.08;8,3;8]"..
 | 
				
			||||||
	"listring[context;main]" ..
 | 
						"listring[context;main]" ..
 | 
				
			||||||
	"listring[current_player;main]" ..
 | 
						"listring[current_player;main]",
 | 
				
			||||||
	default.get_hotbar_bg(0,4.85),
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	["50"]="size[10,10]".. background ..
 | 
						["50"]="size[10,10]"..
 | 
				
			||||||
	"list[context;main;0,0;10,5;]"..
 | 
						"list[context;main;0,0;10,5;]"..
 | 
				
			||||||
	"list[current_player;main;1,6;8,4;]" ..
 | 
						"list[current_player;main;1,6;8,4;]" ..
 | 
				
			||||||
	"listring[]",
 | 
						"listring[]",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										101
									
								
								homedecor_common/materials.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								homedecor_common/materials.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,101 @@
 | 
				
			|||||||
 | 
					homedecor.materials = {
 | 
				
			||||||
 | 
					    dirt = "default:dirt",
 | 
				
			||||||
 | 
					    sand = "default:sand",
 | 
				
			||||||
 | 
					    gravel = "default:gravel",
 | 
				
			||||||
 | 
					    copper_ingot = "default:copper_ingot",
 | 
				
			||||||
 | 
					    steel_ingot = "default:steel_ingot",
 | 
				
			||||||
 | 
					    gold_ingot = "default:gold_ingot",
 | 
				
			||||||
 | 
					    tin_ingot = "default:tin_ingot",
 | 
				
			||||||
 | 
					    mese_crystal_fragment = "default:mese_crystal_fragment",
 | 
				
			||||||
 | 
					    torch = "default:torch",
 | 
				
			||||||
 | 
					    diamond = "default:diamond",
 | 
				
			||||||
 | 
					    clay_lump = "default:clay_lump",
 | 
				
			||||||
 | 
					    water_bucket = "bucket:bucket_water",
 | 
				
			||||||
 | 
					    empty_bucket = "bucket:bucket_empty",
 | 
				
			||||||
 | 
					    dye_dark_grey = "dye:dark_grey",
 | 
				
			||||||
 | 
					    dye_black = "dye:black",
 | 
				
			||||||
 | 
					    silicon = "mesecons_materials:silicon",
 | 
				
			||||||
 | 
					    string = "farming:string",
 | 
				
			||||||
 | 
					    paper = "default:paper",
 | 
				
			||||||
 | 
					    book = "default:book",
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if minetest.get_modpath("moreores") then
 | 
				
			||||||
 | 
					    homedecor.materials.silver_ingot = "moreores:silver_ingot"
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if minetest.get_modpath("mcl_core") then
 | 
				
			||||||
 | 
					    homedecor.materials = {
 | 
				
			||||||
 | 
					        dirt = "mcl_core:dirt",
 | 
				
			||||||
 | 
					        sand = "mcl_core:sand",
 | 
				
			||||||
 | 
					        gravel = "mcl_core:gravel",
 | 
				
			||||||
 | 
					        steel_ingot = "mcl_core:iron_ingot",
 | 
				
			||||||
 | 
					        gold_ingot = "mcl_core:gold_ingot",
 | 
				
			||||||
 | 
					        mese_crystal_fragment = "mesecons:redstone",
 | 
				
			||||||
 | 
					        torch = "mcl_torches:torch",
 | 
				
			||||||
 | 
					        diamond = "mcl_core:diamond",
 | 
				
			||||||
 | 
					        clay_lump = "mcl_core:clay_lump",
 | 
				
			||||||
 | 
					        water_bucket = "mcl_buckets:bucket_water",
 | 
				
			||||||
 | 
					        empty_bucket = "mcl_buckets:bucket_empty",
 | 
				
			||||||
 | 
					        dye_dark_grey = "mcl_dye:dark_grey",
 | 
				
			||||||
 | 
					        -- Use iron where no equivalent
 | 
				
			||||||
 | 
					        copper_ingot = "mcl_core:iron_ingot",
 | 
				
			||||||
 | 
					        tin_ingot = "mcl_core:iron_ingot",
 | 
				
			||||||
 | 
					        silver_ingot = "mcl_core:iron_ingot",
 | 
				
			||||||
 | 
					        silicon = "mesecons_materials:silicon",
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					elseif minetest.get_modpath("fl_ores") and minetest.get_modpath("fl_stone") then
 | 
				
			||||||
 | 
					    homedecor.materials = {
 | 
				
			||||||
 | 
					        dirt = "fl_topsoil:dirt",
 | 
				
			||||||
 | 
					        sand = "fl_stone:sand",
 | 
				
			||||||
 | 
					        gravel = "fl_topsoil:gravel",
 | 
				
			||||||
 | 
					        steel_ingot = "fl_ores:iron_ingot",
 | 
				
			||||||
 | 
					        gold_ingot = "fl_ores:gold_ingot",
 | 
				
			||||||
 | 
					        mese_crystal_fragment = "fl_ores:iron_ingot",
 | 
				
			||||||
 | 
					        torch = "fl_light_sources:torch",
 | 
				
			||||||
 | 
					        diamond = "fl_ores:diamond",
 | 
				
			||||||
 | 
					        clay_lump = "fl_bricks:clay_lump",
 | 
				
			||||||
 | 
					        water_bucket = "fl_bucket:bucket_water",
 | 
				
			||||||
 | 
					        empty_bucket = "fl_bucket:bucket",
 | 
				
			||||||
 | 
					        dye_dark_grey = "fl_dyes:dark_grey_dye",
 | 
				
			||||||
 | 
					        dye_black = "fl_dyes:black_dye",
 | 
				
			||||||
 | 
					        copper_ingot = "fl_ores:copper_ingot",
 | 
				
			||||||
 | 
					        tin_ingot = "fl_ores:tin_ingot",
 | 
				
			||||||
 | 
					        silver_ingot = "fl_ores:iron_ingot",
 | 
				
			||||||
 | 
					        silicon = "mesecons_materials:silicon",
 | 
				
			||||||
 | 
					        string = "fl_plantlife:oxeye_daisy",
 | 
				
			||||||
 | 
					        paper = "basic_materials:plastic_sheet",
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					elseif minetest.get_modpath("hades_core") then
 | 
				
			||||||
 | 
					    homedecor.materials = {
 | 
				
			||||||
 | 
					        dirt = "hades_core:dirt",
 | 
				
			||||||
 | 
					        sand = "hades_core:fertile_sand",
 | 
				
			||||||
 | 
					        gravel = "hades_core:gravel",
 | 
				
			||||||
 | 
					        steel_ingot = "hades_core:steel_ingot",
 | 
				
			||||||
 | 
					        gold_ingot = "hades_core:gold_ingot",
 | 
				
			||||||
 | 
					        mese_crystal_fragment = "hades_core:mese_crystal_fragment",
 | 
				
			||||||
 | 
					        torch = "hades_torches:torch",
 | 
				
			||||||
 | 
					        diamond = "hades_core:diamond",
 | 
				
			||||||
 | 
					        clay_lump = "hades_core:clay_lump",
 | 
				
			||||||
 | 
					        dye_dark_grey = "dye:dark_grey",
 | 
				
			||||||
 | 
					        copper_ingot = "hades_core:copper_ingot",
 | 
				
			||||||
 | 
					        tin_ingot = "hades_core:tin_ingot",
 | 
				
			||||||
 | 
					        --[[
 | 
				
			||||||
 | 
					            Since hades doesnt have buckets or water for the user,
 | 
				
			||||||
 | 
					            using dirt from near water to pull the water out
 | 
				
			||||||
 | 
					        ]]
 | 
				
			||||||
 | 
					        water_bucket = "hades_core:dirt",
 | 
				
			||||||
 | 
					        empty_bucket = "hades_core:fertile_sand",
 | 
				
			||||||
 | 
					        -- Set this to steel unless hadesextraores is present
 | 
				
			||||||
 | 
					        silver_ingot = "hades_core:steel_ingot",
 | 
				
			||||||
 | 
					        silicon = "hades_materials:silicon",
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if minetest.get_modpath("hades_bucket") then
 | 
				
			||||||
 | 
					        homedecor.materials["water_bucket"] = "hades_bucket:bucket_water"
 | 
				
			||||||
 | 
					        homedecor.materials["empty_bucket"] = "hades_bucket:bucket_empty"
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    if minetest.get_modpath("hades_extraores") then
 | 
				
			||||||
 | 
					        homedecor.materials["silver_ingot"] = "hades_extraores:silver_ingot"
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
name = homedecor_common
 | 
					name = homedecor_common
 | 
				
			||||||
description = Homedecor mod: common
 | 
					description = Homedecor mod: common
 | 
				
			||||||
depends = default, creative
 | 
					depends = basic_materials
 | 
				
			||||||
optional_depends = screwdriver, hopper
 | 
					optional_depends = screwdriver, hopper, default, creative, sound_api
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,7 @@ homedecor.box = {
 | 
				
			|||||||
	slab_y = function(height, shift) return { -0.5, -0.5+(shift or 0), -0.5, 0.5, -0.5+height+(shift or 0), 0.5 } end,
 | 
						slab_y = function(height, shift) return { -0.5, -0.5+(shift or 0), -0.5, 0.5, -0.5+height+(shift or 0), 0.5 } end,
 | 
				
			||||||
	-- slab starting from -z (+z with negative depth)
 | 
						-- slab starting from -z (+z with negative depth)
 | 
				
			||||||
	slab_z = function(depth, shift)
 | 
						slab_z = function(depth, shift)
 | 
				
			||||||
		-- for consistency with the other functions here, we have to assume that a "z" slab starts from -z and extends by depth,
 | 
							-- for consistency with the other functions here, we have to assume that a z slab starts from -z and extends by depth,
 | 
				
			||||||
		-- but since conventionally a lot of nodes place slabs against +z for player convenience, we define
 | 
							-- but since conventionally a lot of nodes place slabs against +z for player convenience, we define
 | 
				
			||||||
		-- a "negative" depth as a depth extending from the other side, i.e. +z
 | 
							-- a "negative" depth as a depth extending from the other side, i.e. +z
 | 
				
			||||||
		local s = shift or 0
 | 
							local s = shift or 0
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,9 +46,9 @@ function homedecor.register(name, original_def)
 | 
				
			|||||||
	if expand then
 | 
						if expand then
 | 
				
			||||||
		-- dissallow rotating only half the expanded node by default
 | 
							-- dissallow rotating only half the expanded node by default
 | 
				
			||||||
		-- unless we know better
 | 
							-- unless we know better
 | 
				
			||||||
		def.on_rotate = def.on_rotate
 | 
							def.on_rotate = def.on_rotate or
 | 
				
			||||||
			or (minetest.get_modpath("screwdriver") and (def.mesh and expand.top and screwdriver.rotate_simple)
 | 
							(minetest.get_modpath("screwdriver") and (def.mesh and expand.top and screwdriver.rotate_simple) or
 | 
				
			||||||
			or screwdriver.disallow) or nil
 | 
							minetest.get_modpath("screwdriver") and screwdriver.disallow) or nil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		def.on_place = def.on_place or function(itemstack, placer, pointed_thing)
 | 
							def.on_place = def.on_place or function(itemstack, placer, pointed_thing)
 | 
				
			||||||
			if expand.top then
 | 
								if expand.top then
 | 
				
			||||||
@@ -96,6 +96,31 @@ function homedecor.register(name, original_def)
 | 
				
			|||||||
		end
 | 
							end
 | 
				
			||||||
	end
 | 
						end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						local crafts = def.crafts and table.copy(def.crafts) or {}
 | 
				
			||||||
 | 
						def.crafts = nil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	-- register the actual minetest node
 | 
						-- register the actual minetest node
 | 
				
			||||||
	minetest.register_node(":homedecor:" .. name, def)
 | 
						minetest.register_node(":homedecor:" .. name, def)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for _, cdef in pairs(crafts) do
 | 
				
			||||||
 | 
							if cdef.recipe then
 | 
				
			||||||
 | 
								for k, row in pairs(cdef.recipe) do
 | 
				
			||||||
 | 
									if type(row) == "string" and homedecor.materials[row] then
 | 
				
			||||||
 | 
										cdef.recipe[k] = homedecor.materials[row]
 | 
				
			||||||
 | 
									elseif type(row) == "table" then
 | 
				
			||||||
 | 
										for i, item in pairs(row) do
 | 
				
			||||||
 | 
											if homedecor.materials[item] then
 | 
				
			||||||
 | 
												cdef.recipe[k][i] = homedecor.materials[item]
 | 
				
			||||||
 | 
											end
 | 
				
			||||||
 | 
										end
 | 
				
			||||||
 | 
									end
 | 
				
			||||||
 | 
								end
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if cdef.type ~= "toolrepair" and not cdef.output then
 | 
				
			||||||
 | 
								cdef.output = ":homedecor:" .. name
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							minetest.register_craft(cdef)
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user