first commit
							
								
								
									
										49
									
								
								README
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					This is what I consider to be a fairly feature-filled home decor mod.  
 | 
				
			||||||
 | 
					It supplies a bunch of stuff found in most homes, like flower pots, home 
 | 
				
			||||||
 | 
					electronics, brass and wrought-iron tables, and lots more!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All items can be accessed either by crafting various other items 
 | 
				
			||||||
 | 
					together, or with the usual /give commands.  To get a list of the actual 
 | 
				
			||||||
 | 
					node names, just go into the homedecor/ folder and run the listnodes.sh 
 | 
				
			||||||
 | 
					Bash script.  Note that a few of the listed nodes are kinda useless by 
 | 
				
			||||||
 | 
					themselves (like the various parts of the folding doors).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					All of the images used for the recipes below are included in the 
 | 
				
			||||||
 | 
					crafting-guide/ folder.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Most stuff can be made from materials found through a game world.  Some 
 | 
				
			||||||
 | 
					stuff can only be crafted by using materials from another mod (look for 
 | 
				
			||||||
 | 
					the orange highlights).  Currently, this mod can use materials from 
 | 
				
			||||||
 | 
					moreores, mesecons, wool, and unifieddyes if present. You can still use 
 | 
				
			||||||
 | 
					the usual /give commands to get the items that depend on these mods if 
 | 
				
			||||||
 | 
					you don't use them installed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This mod is still a work-in-progress, but should be complete enough not 
 | 
				
			||||||
 | 
					to irritate anyone. :-) Namely, dressers still need to be fleshed out, 
 | 
				
			||||||
 | 
					many items can be used as fuel but the burn times need tuning, and I 
 | 
				
			||||||
 | 
					need to tune the cook time and fuel usage on the four smelted items.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This mod was put together using a recent git pull, and requires a 
 | 
				
			||||||
 | 
					build/pull dated June 17, 2012 or later.  Most stuff should work fine on 
 | 
				
			||||||
 | 
					older builds as well, but a few nodes in this mod require Nodebox 
 | 
				
			||||||
 | 
					support, a feature added to Minetest on that date.  It will NOT work 
 | 
				
			||||||
 | 
					with Minetest v0.3 (that version doesn't support mods).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Much of the code (especially for the doors) plus the bucket were taken 
 | 
				
			||||||
 | 
					from the files which come with Minetest and altered to suit.  Many 
 | 
				
			||||||
 | 
					thanks to Jeija for coming up with an elegant cylinder using nodeboxes; 
 | 
				
			||||||
 | 
					see his 'irregular' mods).  His code is used herein (you can guess where 
 | 
				
			||||||
 | 
					:-) ).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Dependencies: none (just the game's default stuff)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Recommends: buckets, flowers, unifieddyes, junglegrass, moreores, 
 | 
				
			||||||
 | 
					mesecons, wool
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					License: GPL for all lua code.  WTFPL for all of my textures and 
 | 
				
			||||||
 | 
					everything else.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The distribution archive also supplies a copy of Ironzorg's Flowers mod 
 | 
				
			||||||
 | 
					and of my Unified Dyes mod, since this mod provides more stuff when 
 | 
				
			||||||
 | 
					those two are present.  You can remove these if you want - they're only 
 | 
				
			||||||
 | 
					needed if you want to craft the various dyed/colored items.
 | 
				
			||||||
							
								
								
									
										6
									
								
								copyright.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					Most code and all textures by Vanessa Ezekowitz.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Some code copied and modified from the game's default mods (especially 
 | 
				
			||||||
 | 
					doors) and ironzorg's flowers mod.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Licenses:  For the lua code, GPL.  For all images and everything else, WTFPL.
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/brass-ingot.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 37 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/drawer-large.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 47 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/drawer-small.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 41 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/drop-ceiling-tile.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 43 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/fancy-exterior-door.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 21 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/fence-brass.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 24 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/fence-wrought-iron.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 24 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/flowerpot-black.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 23 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/flowerpot-terracotta.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 25 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/flowerpot_green.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 50 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/folding-door-mahogany.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 31 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/folding-door-oak.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 36 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/glass-table-large.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 16 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/glass-table-small-round.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 46 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/glass-table-small-square.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 43 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/nightstand-mahogany-one-drawer.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 45 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/nightstand-mahogany-two-drawers.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 46 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/nightstand-oak-one-drawer.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 46 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/nightstand-oak-two-drawers.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 47 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/nightstand-one-drawer.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 43 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/nightstand-two-drawers.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 43 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/plastic-sheeting.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 30 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/pole-brass.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 25 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/pole-wrought-iron.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 24 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/projection-screen-material.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 49 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/rug-large.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/rug-small.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 52 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shingles-asphalt.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 38 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shingles-terracotta.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 15 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shingles-wood.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 53 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-black.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 34 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-dark-grey.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-green.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 28 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-grey.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-light-blue.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 36 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-mahogany.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-oak.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 33 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-purple.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-red.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-white.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/shutter-yellow.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 35 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/skylight.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 40 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/speaker-small.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 46 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/speaker.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 75 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/stereo.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 40 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/table-legs-brass.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 34 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/table-legs-wrought-iron.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 37 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/television.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 43 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/terracotta-tile.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 36 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/textured-ceiling-paint.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 45 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/utility-table-legs.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 49 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/wood-tabletop-large.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 15 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/wood-tabletop-small-round.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 55 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								crafting-guide/wood-tabletop-small-square.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 28 KiB  | 
							
								
								
									
										766
									
								
								crafts.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,766 @@
 | 
				
			|||||||
 | 
					-- Crafting for homedecor mod (includes folding) by Vanessa Ezekowitz
 | 
				
			||||||
 | 
					-- 2012-06-12
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- Mostly my own code; overall template borrowed from game default
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- License: GPL
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ====================================
 | 
				
			||||||
 | 
					-- Smelting recipes and resultant items
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:roof_tile_terracotta", {
 | 
				
			||||||
 | 
					        description = "Terracotta Roof Tile",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_roof_tile_terracotta.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = "cooking",
 | 
				
			||||||
 | 
					        output = "homedecor:roof_tile_terracotta 4",
 | 
				
			||||||
 | 
					        recipe = "default:dirt",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:shingles_terracotta',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta'},
 | 
				
			||||||
 | 
					                { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta'},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:flower_pot_terracotta',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:roof_tile_terracotta', 'default:dirt', 'homedecor:roof_tile_terracotta' },
 | 
				
			||||||
 | 
					                { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:plastic_sheeting", {
 | 
				
			||||||
 | 
					        description = "Plastic sheet",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_plastic_sheeting.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = "cooking",
 | 
				
			||||||
 | 
					        output = "homedecor:plastic_sheeting",
 | 
				
			||||||
 | 
					        recipe = "default:junglegrass 2",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:plastic_sheeting',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:flower_pot_green',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'unifieddyes:green', '', '' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:flower_pot_black',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'unifieddyes:black', 'unifieddyes:black', 'unifieddyes:black' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:projection_screen 3',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							{ '', 'default:glass', '' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:projection_screen',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:ceiling_paint 10',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'unifieddyes:white_paint',
 | 
				
			||||||
 | 
					                'default:stone',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
						replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:ceiling_tile 10',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { '', 'unifieddyes:white_paint', '' },
 | 
				
			||||||
 | 
					                { 'default:steel_ingot', 'default:stone', 'default:steel_ingot' },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
						replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- =======================================================
 | 
				
			||||||
 | 
					--  Items/recipes not requiring smelting of anything new
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:glass_table_small_round 15',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { '', 'default:glass', '' },
 | 
				
			||||||
 | 
					                { 'default:glass', 'default:glass', 'default:glass' },
 | 
				
			||||||
 | 
					                { '', 'default:glass', '' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:glass_table_small_square 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							{ 'homedecor:glass_table_small_round', 'homedecor:glass_table_small_round', 'homedecor:glass_table_small_round' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:glass_table_large 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:glass_table_small_square', 'homedecor:glass_table_small_square' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:shingles_asphalt 6',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:dirt', 'unifieddyes:black', 'default:dirt' },
 | 
				
			||||||
 | 
					                { 'default:sand', 'unifieddyes:black', 'default:sand' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:shingles_wood 12',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:wood'},
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:wood'},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:shingles_wood',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:skylight 9',
 | 
				
			||||||
 | 
					        recipe = { 
 | 
				
			||||||
 | 
							{ 'default:glass', 'default:glass' },
 | 
				
			||||||
 | 
							{ 'default:glass', 'default:glass' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:utility_table_legs", {
 | 
				
			||||||
 | 
					        description = "Legs for Small Utility table",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_utility_table_legs.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:utility_table_legs',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick', 'default:stick' },
 | 
				
			||||||
 | 
					                { 'default:stick', '', 'default:stick' },
 | 
				
			||||||
 | 
					                { 'default:stick', '', 'default:stick' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:utility_table_legs',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:wood_table_small_round 15',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { '', 'default:wood', '' },
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:wood', 'default:wood' },
 | 
				
			||||||
 | 
					                { '', 'default:wood', '' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:wood_table_small_round',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:wood_table_small_square 2',
 | 
				
			||||||
 | 
					        recipe = { 
 | 
				
			||||||
 | 
							{ 'homedecor:wood_table_small_round', 'homedecor:wood_table_small_round', 'homedecor:wood_table_small_round' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:wood_table_small_square',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:wood_table_large 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:wood_table_small_square', 'homedecor:wood_table_small_square' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:wood_table_large',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_oak 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick' },
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick' },
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:shutter_oak',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_black',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
							'homedecor:shutter_oak'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:shutter_black',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_dark_grey',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
							'homedecor:shutter_oak'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:shutter_dark_grey',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_grey',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
							'unifieddyes:white_paint',
 | 
				
			||||||
 | 
							'homedecor:shutter_oak'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
						replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:shutter_grey',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_forest_green',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'homedecor:shutter_oak',
 | 
				
			||||||
 | 
					                'unifieddyes:green',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:shutter_forest_green',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_white',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'homedecor:shutter_oak',
 | 
				
			||||||
 | 
					                'unifieddyes:white_paint',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
						replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:shutter_white',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:table_legs_wrought_iron 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { '', 'default:iron_lump', '' },
 | 
				
			||||||
 | 
					                { '', 'default:iron_lump', '' },
 | 
				
			||||||
 | 
					                { 'default:iron_lump', 'default:iron_lump', 'default:iron_lump' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:pole_wrought_iron 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:iron_lump', },
 | 
				
			||||||
 | 
					                { 'default:iron_lump', },
 | 
				
			||||||
 | 
					                { 'default:iron_lump', },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:fence_wrought_iron 4',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:iron_lump','default:iron_lump','default:iron_lump' },
 | 
				
			||||||
 | 
					                { 'default:iron_lump','default:iron_lump','default:iron_lump' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:drawer_small", {
 | 
				
			||||||
 | 
					        description = "Small Wooden Drawer",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_drawer_small.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:drawer_small',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:steel_ingot', 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:drawer_small',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:nightstand_oak_one_drawer',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:drawer_small' },
 | 
				
			||||||
 | 
					                { 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:nightstand_oak_one_drawer',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:nightstand_oak_two_drawers',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:drawer_small' },
 | 
				
			||||||
 | 
					                { 'homedecor:drawer_small' },
 | 
				
			||||||
 | 
					                { 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:nightstand_oak_two_drawers',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:nightstand_mahogany_one_drawer',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'homedecor:nightstand_oak_one_drawer',
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
					                'unifieddyes:red',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:nightstand_mahogany_one_drawer',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:nightstand_mahogany_two_drawers',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'homedecor:nightstand_oak_two_drawers',
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
					                'unifieddyes:red',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:nightstand_mahogany_two_drawers',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:drawer_large", {
 | 
				
			||||||
 | 
					        description = "Large Wooden Drawer",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_drawer_large.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:drawer_large',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:steel_ingot', 'default:wood' },
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:wood', 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:drawer_large',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:dresser_oak", {
 | 
				
			||||||
 | 
					        description = "Three-Drawer Oak Dresser",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_dresser_oak_inv.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:dresser_oak',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:wood', 'homedecor:drawer_large', 'default:wood' },
 | 
				
			||||||
 | 
					                { 'default:wood', 'homedecor:drawer_large', 'default:wood' },
 | 
				
			||||||
 | 
					                { 'default:wood', 'homedecor:drawer_large', 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:dresser_oak',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:dresser_mahogany", {
 | 
				
			||||||
 | 
					        description = "Three-Drawer Mahogany Dresser",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_dresser_mahogany_inv.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:dresser_mahogany',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							'homedecor:dresser_oak',
 | 
				
			||||||
 | 
							'unifieddyes:red',
 | 
				
			||||||
 | 
							'unifieddyes:red',
 | 
				
			||||||
 | 
							'unifieddyes:black',
 | 
				
			||||||
 | 
							'unifieddyes:black'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:dresser_oak',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ==========================================================
 | 
				
			||||||
 | 
					-- Recipes that require materials from Calinou's Moreores mod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:brass_ingot", {
 | 
				
			||||||
 | 
					        description = "Brass Ingot",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_brass_ingot.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("moreores") ) ~= nil then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
							type = 'shapeless',
 | 
				
			||||||
 | 
						        output = 'homedecor:brass_ingot 2',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
								'moreores:silver_ingot',
 | 
				
			||||||
 | 
								'moreores:copper_ingot',
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
						        output = 'homedecor:table_legs_brass 2',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
								{ '', 'homedecor:brass_ingot', '' },
 | 
				
			||||||
 | 
								{ '', 'homedecor:brass_ingot', '' },
 | 
				
			||||||
 | 
								{ 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' }
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
						        output = 'homedecor:pole_brass 2',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
								{ '', 'homedecor:brass_ingot', '' },
 | 
				
			||||||
 | 
								{ '', 'homedecor:brass_ingot', '' },
 | 
				
			||||||
 | 
								{ '', 'homedecor:brass_ingot', '' }
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
						        output = 'homedecor:fence_brass 4',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
								{ 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' },
 | 
				
			||||||
 | 
								{ 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' },
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ========================================================
 | 
				
			||||||
 | 
					-- Recipes that require materials from Jeija's Mesecons mod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("mesecons") ) ~= nil then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
						        output = 'homedecor:television',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
					        	        { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        	        { 'homedecor:plastic_sheeting', 'default:glass', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        	        { 'mesecons_materials:ic', 'mesecons_materials:ic', 'mesecons_materials:ic' },
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
						        output = 'homedecor:stereo',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
					                        { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					                        { 'homedecor:plastic_sheeting', 'mesecons_materials:ic', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        	        { 'default:steel_ingot', 'mesecons_materials:ic', 'default:steel_ingot' },
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ======================================================
 | 
				
			||||||
 | 
					-- Recipes that require materials from Jordach's Wool mod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("wool") ) ~= nil then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
							type = 'shapeless',
 | 
				
			||||||
 | 
						        output = 'homedecor:rug_small 8',
 | 
				
			||||||
 | 
						       	recipe = {
 | 
				
			||||||
 | 
					               		'wool:red',
 | 
				
			||||||
 | 
								'wool:yellow',
 | 
				
			||||||
 | 
								'wool:blue',
 | 
				
			||||||
 | 
								'wool:black'
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft({
 | 
				
			||||||
 | 
					        	type = 'fuel',
 | 
				
			||||||
 | 
					        	recipe = 'homedecor:rug_small',
 | 
				
			||||||
 | 
					        	burntime = 30,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
							type = 'shapeless',
 | 
				
			||||||
 | 
						        output = 'homedecor:rug_large 2',
 | 
				
			||||||
 | 
						       	recipe = {
 | 
				
			||||||
 | 
								'homedecor:rug_small',
 | 
				
			||||||
 | 
								'homedecor:rug_small',
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft({
 | 
				
			||||||
 | 
					        	type = 'fuel',
 | 
				
			||||||
 | 
					        	recipe = 'homedecor:rug_large',
 | 
				
			||||||
 | 
					        	burntime = 30,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_mahogany',
 | 
				
			||||||
 | 
					       	recipe = {
 | 
				
			||||||
 | 
							'homedecor:shutter_oak',
 | 
				
			||||||
 | 
							'unifieddyes:red',
 | 
				
			||||||
 | 
							'unifieddyes:black'
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					       	type = 'fuel',
 | 
				
			||||||
 | 
					       	recipe = 'homedecor:shutter_mahogany',
 | 
				
			||||||
 | 
					       	burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_purple',
 | 
				
			||||||
 | 
					       	recipe = {
 | 
				
			||||||
 | 
							'homedecor:shutter_oak',
 | 
				
			||||||
 | 
							'unifieddyes:violet',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					       	type = 'fuel',
 | 
				
			||||||
 | 
					       	recipe = 'homedecor:shutter_purple',
 | 
				
			||||||
 | 
					       	burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_red',
 | 
				
			||||||
 | 
					       	recipe = {
 | 
				
			||||||
 | 
							'homedecor:shutter_oak',
 | 
				
			||||||
 | 
							'unifieddyes:red',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					       	type = 'fuel',
 | 
				
			||||||
 | 
					       	recipe = 'homedecor:shutter_red',
 | 
				
			||||||
 | 
					       	burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_yellow',
 | 
				
			||||||
 | 
					       	recipe = {
 | 
				
			||||||
 | 
							'homedecor:shutter_oak',
 | 
				
			||||||
 | 
							'unifieddyes:yellow',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					       	type = 'fuel',
 | 
				
			||||||
 | 
					       	recipe = 'homedecor:shutter_yellow',
 | 
				
			||||||
 | 
					       	burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:shutter_light_blue',
 | 
				
			||||||
 | 
					       	recipe = {
 | 
				
			||||||
 | 
							'homedecor:shutter_oak',
 | 
				
			||||||
 | 
							'unifieddyes:white_paint',
 | 
				
			||||||
 | 
							'unifieddyes:blue',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					       	type = 'fuel',
 | 
				
			||||||
 | 
					       	recipe = 'homedecor:shutter_light_blue',
 | 
				
			||||||
 | 
					       	burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ================================================================
 | 
				
			||||||
 | 
					-- Speakers require both Jordache's wool and Jeija's mesecons mods.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("wool") ) ~= nil then
 | 
				
			||||||
 | 
						if ( minetest.get_modpath("mesecons") ) ~= nil then
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
							minetest.register_craft( {
 | 
				
			||||||
 | 
							        output = 'homedecor:speaker',
 | 
				
			||||||
 | 
					        		recipe = {
 | 
				
			||||||
 | 
									{ 'default:wood', 'wool:black', 'default:wood' },
 | 
				
			||||||
 | 
									{ 'default:wood', 'mesecons:noteblock', 'default:wood' },
 | 
				
			||||||
 | 
									{ 'default:wood', 'wool:black', 'default:wood' },
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							minetest.register_craft( {
 | 
				
			||||||
 | 
							        output = 'homedecor:speaker_small',
 | 
				
			||||||
 | 
					        		recipe = {
 | 
				
			||||||
 | 
									{ 'default:wood', 'wool:black', 'default:wood' },
 | 
				
			||||||
 | 
									{ 'default:wood', 'mesecons:noteblock', 'default:wood' },
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										766
									
								
								crafts.lua~
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,766 @@
 | 
				
			|||||||
 | 
					-- Crafting for homedecor mod (includes folding) by Vanessa Ezekowitz
 | 
				
			||||||
 | 
					-- 2012-06-12
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- Mostly my own code; overall template borrowed from game default
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- License: GPL
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ====================================
 | 
				
			||||||
 | 
					-- Smelting recipes and resultant items
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:roof_tile_terracotta", {
 | 
				
			||||||
 | 
					        description = "Terracotta Roof Tile",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_roof_tile_terracotta.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = "cooking",
 | 
				
			||||||
 | 
					        output = "homedecor:roof_tile_terracotta 4",
 | 
				
			||||||
 | 
					        recipe = "default:dirt",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:shingles_terracotta',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta'},
 | 
				
			||||||
 | 
					                { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta'},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:flower_pot_terracotta',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:roof_tile_terracotta', 'default:dirt', 'homedecor:roof_tile_terracotta' },
 | 
				
			||||||
 | 
					                { 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta', 'homedecor:roof_tile_terracotta' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:plastic_sheeting", {
 | 
				
			||||||
 | 
					        description = "Plastic sheet",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_plastic_sheeting.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = "cooking",
 | 
				
			||||||
 | 
					        output = "homedecor:plastic_sheeting",
 | 
				
			||||||
 | 
					        recipe = "default:junglegrass 2",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:plastic_sheeting',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:flower_pot_green',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'unifieddyes:green', '', '' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:flower_pot_black',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'unifieddyes:black', 'unifieddyes:black', 'unifieddyes:black' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'default:dirt', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:projection_screen 3',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							{ '', 'default:glass', '' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:projection_screen',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:ceiling_paint 10',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'unifieddyes:white_paint',
 | 
				
			||||||
 | 
					                'default:stone',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
						replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:ceiling_tile 10',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { '', 'unifieddyes:white_paint', '' },
 | 
				
			||||||
 | 
					                { 'default:steel_ingot', 'default:stone', 'default:steel_ingot' },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
						replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- =======================================================
 | 
				
			||||||
 | 
					--  Items/recipes not requiring smelting of anything new
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:glass_table_small_round 15',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { '', 'default:glass', '' },
 | 
				
			||||||
 | 
					                { 'default:glass', 'default:glass', 'default:glass' },
 | 
				
			||||||
 | 
					                { '', 'default:glass', '' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:glass_table_small_square 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							{ 'homedecor:glass_table_small_round', 'homedecor:glass_table_small_round', 'homedecor:glass_table_small_round' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:glass_table_large 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:glass_table_small_square', 'homedecor:glass_table_small_square' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:shingles_asphalt 6',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:dirt', 'unifieddyes:black', 'default:dirt' },
 | 
				
			||||||
 | 
					                { 'default:sand', 'unifieddyes:black', 'default:sand' },
 | 
				
			||||||
 | 
					                { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:shingles_wood 12',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:wood'},
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:wood'},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:shingles_wood',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:skylight 9',
 | 
				
			||||||
 | 
					        recipe = { 
 | 
				
			||||||
 | 
							{ 'default:glass', 'default:glass' },
 | 
				
			||||||
 | 
							{ 'default:glass', 'default:glass' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:utility_table_legs", {
 | 
				
			||||||
 | 
					        description = "Legs for Small Utility table",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_utility_table_legs.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:utility_table_legs',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick', 'default:stick' },
 | 
				
			||||||
 | 
					                { 'default:stick', '', 'default:stick' },
 | 
				
			||||||
 | 
					                { 'default:stick', '', 'default:stick' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:utility_table_legs',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:wood_table_small_round 15',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { '', 'default:wood', '' },
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:wood', 'default:wood' },
 | 
				
			||||||
 | 
					                { '', 'default:wood', '' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:wood_table_small_round',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:wood_table_small_square 2',
 | 
				
			||||||
 | 
					        recipe = { 
 | 
				
			||||||
 | 
							{ 'homedecor:wood_table_small_round', 'homedecor:wood_table_small_round', 'homedecor:wood_table_small_round' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:wood_table_small_square',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:wood_table_large 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:wood_table_small_square', 'homedecor:wood_table_small_square' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:wood_table_large',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_oak 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick' },
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick' },
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:window_shutter_oak',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_black',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
							'homedecor:window_shutter_oak'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:window_shutter_black',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_dark_grey',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
							'homedecor:window_shutter_oak'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:window_shutter_dark_grey',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_grey',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
							'unifieddyes:white_paint',
 | 
				
			||||||
 | 
							'homedecor:window_shutter_oak'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
						replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:window_shutter_grey',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_forest_green',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'homedecor:window_shutter_oak',
 | 
				
			||||||
 | 
					                'unifieddyes:green',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:window_shutter_forest_green',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_white',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'homedecor:window_shutter_oak',
 | 
				
			||||||
 | 
					                'unifieddyes:white_paint',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
						replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:window_shutter_white',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:table_legs_wrought_iron 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { '', 'default:iron_lump', '' },
 | 
				
			||||||
 | 
					                { '', 'default:iron_lump', '' },
 | 
				
			||||||
 | 
					                { 'default:iron_lump', 'default:iron_lump', 'default:iron_lump' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:pole_wrought_iron 2',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:iron_lump', },
 | 
				
			||||||
 | 
					                { 'default:iron_lump', },
 | 
				
			||||||
 | 
					                { 'default:iron_lump', },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:fence_wrought_iron 4',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:iron_lump','default:iron_lump','default:iron_lump' },
 | 
				
			||||||
 | 
					                { 'default:iron_lump','default:iron_lump','default:iron_lump' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:drawer_small", {
 | 
				
			||||||
 | 
					        description = "Small Wooden Drawer",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_drawer_small.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:drawer_small',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:steel_ingot', 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:drawer_small',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:nightstand_oak_one_drawer',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:drawer_small' },
 | 
				
			||||||
 | 
					                { 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:nightstand_oak_one_drawer',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:nightstand_oak_two_drawers',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'homedecor:drawer_small' },
 | 
				
			||||||
 | 
					                { 'homedecor:drawer_small' },
 | 
				
			||||||
 | 
					                { 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:nightstand_oak_two_drawers',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:nightstand_mahogany_one_drawer',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'homedecor:nightstand_oak_one_drawer',
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
					                'unifieddyes:red',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:nightstand_mahogany_one_drawer',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:nightstand_mahogany_two_drawers',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                'homedecor:nightstand_oak_two_drawers',
 | 
				
			||||||
 | 
					                'unifieddyes:black',
 | 
				
			||||||
 | 
					                'unifieddyes:red',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:nightstand_mahogany_two_drawers',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:drawer_large", {
 | 
				
			||||||
 | 
					        description = "Large Wooden Drawer",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_drawer_large.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:drawer_large',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:steel_ingot', 'default:wood' },
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:wood', 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:drawer_large',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:dresser_oak", {
 | 
				
			||||||
 | 
					        description = "Three-Drawer Oak Dresser",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_dresser_oak_inv.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:dresser_oak',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:wood', 'homedecor:drawer_large', 'default:wood' },
 | 
				
			||||||
 | 
					                { 'default:wood', 'homedecor:drawer_large', 'default:wood' },
 | 
				
			||||||
 | 
					                { 'default:wood', 'homedecor:drawer_large', 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:dresser_oak',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:dresser_mahogany", {
 | 
				
			||||||
 | 
					        description = "Three-Drawer Mahogany Dresser",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_dresser_mahogany_inv.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:dresser_mahogany',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							'homedecor:dresser_oak',
 | 
				
			||||||
 | 
							'unifieddyes:red',
 | 
				
			||||||
 | 
							'unifieddyes:red',
 | 
				
			||||||
 | 
							'unifieddyes:black',
 | 
				
			||||||
 | 
							'unifieddyes:black'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:dresser_oak',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ==========================================================
 | 
				
			||||||
 | 
					-- Recipes that require materials from Calinou's Moreores mod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craftitem("homedecor:brass_ingot", {
 | 
				
			||||||
 | 
					        description = "Brass Ingot",
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_brass_ingot.png",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("moreores") ) ~= nil then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
							type = 'shapeless',
 | 
				
			||||||
 | 
						        output = 'homedecor:brass_ingot 2',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
								'moreores:silver_ingot',
 | 
				
			||||||
 | 
								'moreores:copper_ingot',
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
						        output = 'homedecor:table_legs_brass 2',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
								{ '', 'homedecor:brass_ingot', '' },
 | 
				
			||||||
 | 
								{ '', 'homedecor:brass_ingot', '' },
 | 
				
			||||||
 | 
								{ 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' }
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
						        output = 'homedecor:pole_brass 2',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
								{ '', 'homedecor:brass_ingot', '' },
 | 
				
			||||||
 | 
								{ '', 'homedecor:brass_ingot', '' },
 | 
				
			||||||
 | 
								{ '', 'homedecor:brass_ingot', '' }
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
						        output = 'homedecor:fence_brass 4',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
								{ 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' },
 | 
				
			||||||
 | 
								{ 'homedecor:brass_ingot', 'homedecor:brass_ingot', 'homedecor:brass_ingot' },
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ========================================================
 | 
				
			||||||
 | 
					-- Recipes that require materials from Jeija's Mesecons mod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("mesecons") ) ~= nil then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
						        output = 'homedecor:television',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
					        	        { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        	        { 'homedecor:plastic_sheeting', 'default:glass', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        	        { 'mesecons_materials:ic', 'mesecons_materials:ic', 'mesecons_materials:ic' },
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
						        output = 'homedecor:stereo',
 | 
				
			||||||
 | 
					        	recipe = {
 | 
				
			||||||
 | 
					                        { 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					                        { 'homedecor:plastic_sheeting', 'mesecons_materials:ic', 'homedecor:plastic_sheeting' },
 | 
				
			||||||
 | 
					        	        { 'default:steel_ingot', 'mesecons_materials:ic', 'default:steel_ingot' },
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ======================================================
 | 
				
			||||||
 | 
					-- Recipes that require materials from Jordach's Wool mod
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("wool") ) ~= nil then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
							type = 'shapeless',
 | 
				
			||||||
 | 
						        output = 'homedecor:rug_small 8',
 | 
				
			||||||
 | 
						       	recipe = {
 | 
				
			||||||
 | 
					               		'wool:red',
 | 
				
			||||||
 | 
								'wool:yellow',
 | 
				
			||||||
 | 
								'wool:blue',
 | 
				
			||||||
 | 
								'wool:black'
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft({
 | 
				
			||||||
 | 
					        	type = 'fuel',
 | 
				
			||||||
 | 
					        	recipe = 'homedecor:rug_small',
 | 
				
			||||||
 | 
					        	burntime = 30,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft( {
 | 
				
			||||||
 | 
							type = 'shapeless',
 | 
				
			||||||
 | 
						        output = 'homedecor:rug_large 2',
 | 
				
			||||||
 | 
						       	recipe = {
 | 
				
			||||||
 | 
								'homedecor:rug_small',
 | 
				
			||||||
 | 
								'homedecor:rug_small',
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_craft({
 | 
				
			||||||
 | 
					        	type = 'fuel',
 | 
				
			||||||
 | 
					        	recipe = 'homedecor:rug_large',
 | 
				
			||||||
 | 
					        	burntime = 30,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_mahogany',
 | 
				
			||||||
 | 
					       	recipe = {
 | 
				
			||||||
 | 
							'homedecor:window_shutter_oak',
 | 
				
			||||||
 | 
							'unifieddyes:red',
 | 
				
			||||||
 | 
							'unifieddyes:black'
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					       	type = 'fuel',
 | 
				
			||||||
 | 
					       	recipe = 'homedecor:window_shutter_mahogany',
 | 
				
			||||||
 | 
					       	burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_purple',
 | 
				
			||||||
 | 
					       	recipe = {
 | 
				
			||||||
 | 
							'homedecor:window_shutter_oak',
 | 
				
			||||||
 | 
							'unifieddyes:violet',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					       	type = 'fuel',
 | 
				
			||||||
 | 
					       	recipe = 'homedecor:window_shutter_purple',
 | 
				
			||||||
 | 
					       	burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_red',
 | 
				
			||||||
 | 
					       	recipe = {
 | 
				
			||||||
 | 
							'homedecor:window_shutter_oak',
 | 
				
			||||||
 | 
							'unifieddyes:red',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					       	type = 'fuel',
 | 
				
			||||||
 | 
					       	recipe = 'homedecor:window_shutter_red',
 | 
				
			||||||
 | 
					       	burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_yellow',
 | 
				
			||||||
 | 
					       	recipe = {
 | 
				
			||||||
 | 
							'homedecor:window_shutter_oak',
 | 
				
			||||||
 | 
							'unifieddyes:yellow',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					       	type = 'fuel',
 | 
				
			||||||
 | 
					       	recipe = 'homedecor:window_shutter_yellow',
 | 
				
			||||||
 | 
					       	burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:window_shutter_light_blue',
 | 
				
			||||||
 | 
					       	recipe = {
 | 
				
			||||||
 | 
							'homedecor:window_shutter_oak',
 | 
				
			||||||
 | 
							'unifieddyes:white_paint',
 | 
				
			||||||
 | 
							'unifieddyes:blue',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						replacements = { {'unifieddyes:white_paint', 'bucket:bucket_empty'}, },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					       	type = 'fuel',
 | 
				
			||||||
 | 
					       	recipe = 'homedecor:window_shutter_light_blue',
 | 
				
			||||||
 | 
					       	burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ================================================================
 | 
				
			||||||
 | 
					-- Speakers require both Jordache's wool and Jeija's mesecons mods.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("wool") ) ~= nil then
 | 
				
			||||||
 | 
						if ( minetest.get_modpath("mesecons") ) ~= nil then
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
							minetest.register_craft( {
 | 
				
			||||||
 | 
							        output = 'homedecor:speaker',
 | 
				
			||||||
 | 
					        		recipe = {
 | 
				
			||||||
 | 
									{ 'default:wood', 'wool:black', 'default:wood' },
 | 
				
			||||||
 | 
									{ 'default:wood', 'mesecons:noteblock', 'default:wood' },
 | 
				
			||||||
 | 
									{ 'default:wood', 'wool:black', 'default:wood' },
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							minetest.register_craft( {
 | 
				
			||||||
 | 
							        output = 'homedecor:speaker_small',
 | 
				
			||||||
 | 
					        		recipe = {
 | 
				
			||||||
 | 
									{ 'default:wood', 'wool:black', 'default:wood' },
 | 
				
			||||||
 | 
									{ 'default:wood', 'mesecons:noteblock', 'default:wood' },
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										1
									
								
								depends.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					default
 | 
				
			||||||
							
								
								
									
										427
									
								
								exterior_door_fancy.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,427 @@
 | 
				
			|||||||
 | 
					-- Fancy Exterior doors - part of home decor mod by VanessaE
 | 
				
			||||||
 | 
					-- 2012-06-10
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- Copied and modified from Minetest's default doors mod.
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- Textures derived from...
 | 
				
			||||||
 | 
					-- http://commons.wikimedia.org/wiki/File:Front_door_of_Morey_Mansion.jpg
 | 
				
			||||||
 | 
					-- ...plus the standard Minetest logo.
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- License: GPL
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local DEBUG = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local WALLMX = 3
 | 
				
			||||||
 | 
					local WALLMZ = 5
 | 
				
			||||||
 | 
					local WALLPX = 2
 | 
				
			||||||
 | 
					local WALLPZ = 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local WALLMXr = 2
 | 
				
			||||||
 | 
					local WALLMZr = 4
 | 
				
			||||||
 | 
					local WALLPXr = 3
 | 
				
			||||||
 | 
					local WALLPZr = 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local dbg = function(s)
 | 
				
			||||||
 | 
						if DEBUG == 1 then
 | 
				
			||||||
 | 
							print('[ExteriorDoorFancy] ' .. s)
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local round = function( n )
 | 
				
			||||||
 | 
					        if n >= 0 then
 | 
				
			||||||
 | 
					                return math.floor( n + 0.5 )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                return math.ceil( n - 0.5 )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ==========================
 | 
				
			||||||
 | 
					-- Regular left-opening doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Actual nodes that you place
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:exterior_door_fancy', {
 | 
				
			||||||
 | 
						description = "Fancy Wood/Glass Exterior Door (Left Opening)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_exterior_door_fancy.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_exterior_door_fancy.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_exterior_door_fancy.png',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Fancy Exterior door functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_exterior_door_fancy_placed = function( pos, node, placer )
 | 
				
			||||||
 | 
					        if node.name ~= 'homedecor:exterior_door_fancy' then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					        und = minetest.env:get_node( upos )
 | 
				
			||||||
 | 
					        abv = minetest.env:get_node( apos )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dir = placer:get_look_dir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if     round( dir.x ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMX
 | 
				
			||||||
 | 
					        elseif round( dir.x ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPX
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMZ
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPZ
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if und.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:exterior_door_fancy_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					        elseif abv.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:exterior_door_fancy_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                minetest.env:remove_node( pos )
 | 
				
			||||||
 | 
					                placer:get_inventory():add_item( "main", 'homedecor:exterior_door_fancy' )
 | 
				
			||||||
 | 
					                minetest.chat_send_player( placer:get_player_name(), 'not enough space' )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_exterior_door_fancy_punched = function( pos, node, puncher )
 | 
				
			||||||
 | 
					        if string.find( node.name, 'homedecor:exterior_door_fancy' ) == nil then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, '_c', -2 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPX
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        elseif string.find( node.name, '_o', -2 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZ
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:exterior_door_fancy_a_c' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_a_o', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:exterior_door_fancy_b_o', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:exterior_door_fancy_b_c' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_b_o', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:exterior_door_fancy_a_o', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:exterior_door_fancy_a_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:exterior_door_fancy_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:exterior_door_fancy_b_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:exterior_door_fancy_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_exterior_door_fancy_digged = function( pos, node, digger )
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:exterior_door_fancy_a_c' ) or ( node.name == 'homedecor:exterior_door_fancy_a_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( upos )
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:exterior_door_fancy_b_c' ) or ( node.name == 'homedecor:exterior_door_fancy_b_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( apos )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_placenode( on_exterior_door_fancy_placed )
 | 
				
			||||||
 | 
					minetest.register_on_punchnode( on_exterior_door_fancy_punched )
 | 
				
			||||||
 | 
					minetest.register_on_dignode( on_exterior_door_fancy_digged )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes used to build up Fancy Exterior doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:exterior_door_fancy_a_c', {
 | 
				
			||||||
 | 
						description = "Fancy Wood/Glass Exterior Door (top, closed)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_exterior_door_fancy_a.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_exterior_door_fancy_a.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:exterior_door_fancy',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:exterior_door_fancy_b_c', {
 | 
				
			||||||
 | 
						description = "Fancy Wood/Glass Exterior Door (bottom, closed)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_exterior_door_fancy_b.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_exterior_door_fancy_b.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:exterior_door_fancy',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:exterior_door_fancy_a_o', {
 | 
				
			||||||
 | 
						description = "Fancy Wood/Glass Exterior Door (top, open)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_exterior_door_fancy_a_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_exterior_door_fancy_a_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:exterior_door_fancy',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:exterior_door_fancy_b_o', {
 | 
				
			||||||
 | 
						description = "Fancy Wood/Glass Exterior Door (bottom, open)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_exterior_door_fancy_b_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_exterior_door_fancy_b_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:exterior_door_fancy',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ========================================
 | 
				
			||||||
 | 
					-- Mirrored version for right-opening doors
 | 
				
			||||||
 | 
					-- ========================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Actual nodes that you place
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:exterior_door_fancy_right', {
 | 
				
			||||||
 | 
						description = "Fancy Wood/Glass Exterior Door (Right Opening)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_exterior_door_fancy_right.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_exterior_door_fancy_right.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_exterior_door_fancy_right.png',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Fancy Exterior door functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_exterior_door_fancy_placed_right = function( pos, node, placer )
 | 
				
			||||||
 | 
					        if node.name ~= 'homedecor:exterior_door_fancy_right' then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					        und = minetest.env:get_node( upos )
 | 
				
			||||||
 | 
					        abv = minetest.env:get_node( apos )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dir = placer:get_look_dir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if     round( dir.x ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMX
 | 
				
			||||||
 | 
					        elseif round( dir.x ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPX
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMZ
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPZ
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if und.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:exterior_door_fancy_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					        elseif abv.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:exterior_door_fancy_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                minetest.env:remove_node( pos )
 | 
				
			||||||
 | 
					                placer:get_inventory():add_item( "main", 'homedecor:exterior_door_fancy_right' )
 | 
				
			||||||
 | 
					                minetest.chat_send_player( placer:get_player_name(), 'not enough space' )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_exterior_door_fancy_punched_right = function( pos, node, puncher )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, 'homedecor:exterior_door_fancy' ) == nil then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, '_c_right', -8 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPXr
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        elseif string.find( node.name, '_o_right', -8 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZr
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:exterior_door_fancy_a_c_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_a_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:exterior_door_fancy_b_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:exterior_door_fancy_b_c_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_b_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:exterior_door_fancy_a_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:exterior_door_fancy_a_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:exterior_door_fancy_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:exterior_door_fancy_b_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:exterior_door_fancy_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:exterior_door_fancy_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_exterior_door_fancy_digged_right = function( pos, node, digger )
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:exterior_door_fancy_a_c_right' ) or ( node.name == 'homedecor:exterior_door_fancy_a_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( upos )
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:exterior_door_fancy_b_c_right' ) or ( node.name == 'homedecor:exterior_door_fancy_b_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( apos )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_placenode( on_exterior_door_fancy_placed_right )
 | 
				
			||||||
 | 
					minetest.register_on_punchnode( on_exterior_door_fancy_punched_right )
 | 
				
			||||||
 | 
					minetest.register_on_dignode( on_exterior_door_fancy_digged_right )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes used to build up Fancy Exterior doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:exterior_door_fancy_a_c_right', {
 | 
				
			||||||
 | 
						description = "Fancy Wood/Glass Exterior Door (top, closed, right)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_exterior_door_fancy_a_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_exterior_door_fancy_a_r.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:exterior_door_fancy_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:exterior_door_fancy_b_c_right', {
 | 
				
			||||||
 | 
						description = "Fancy Wood/Glass Exterior Door (bottom, closed, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_exterior_door_fancy_b_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_exterior_door_fancy_b_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:exterior_door_fancy_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:exterior_door_fancy_a_o_right', {
 | 
				
			||||||
 | 
						description = "Fancy Wood/Glass Exterior Door (top, open, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_exterior_door_fancy_a.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_exterior_door_fancy_a.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:exterior_door_fancy_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:exterior_door_fancy_b_o_right', {
 | 
				
			||||||
 | 
						description = "Fancy Wood/Glass Exterior Door (bottom, open, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_exterior_door_fancy_b.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_exterior_door_fancy_b.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:exterior_door_fancy_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ================
 | 
				
			||||||
 | 
					-- crafting recipes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:exterior_door_fancy',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:glass' },
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:wood' },
 | 
				
			||||||
 | 
					                { 'default:wood', 'default:wood' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:exterior_door_fancy_right',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							'homedecor:exterior_door_fancy',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
						output = 'homedecor:exterior_door_fancy',
 | 
				
			||||||
 | 
						recipe = {
 | 
				
			||||||
 | 
							'homedecor:exterior_door_fancy_right',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'fuel',
 | 
				
			||||||
 | 
						recipe = 'homedecor:exterior_door_fancy',
 | 
				
			||||||
 | 
						burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'fuel',
 | 
				
			||||||
 | 
						recipe = 'homedecor:exterior_door_fancy_right',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										442
									
								
								exterior_door_fancy.lua~
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,442 @@
 | 
				
			|||||||
 | 
					-- Mahogany "folding" doors - part of home decor mod by VanessaE
 | 
				
			||||||
 | 
					-- 2012-06-10
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- Copied and modified from Minetest's default doors mod.  
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- License: GPL
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local DEBUG = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local WALLMX = 3
 | 
				
			||||||
 | 
					local WALLMZ = 5
 | 
				
			||||||
 | 
					local WALLPX = 2
 | 
				
			||||||
 | 
					local WALLPZ = 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local WALLMXr = 2
 | 
				
			||||||
 | 
					local WALLMZr = 4
 | 
				
			||||||
 | 
					local WALLPXr = 3
 | 
				
			||||||
 | 
					local WALLPZr = 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local dbg = function(s)
 | 
				
			||||||
 | 
						if DEBUG == 1 then
 | 
				
			||||||
 | 
							print('[FOLDINGDOORS] ' .. s)
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local round = function( n )
 | 
				
			||||||
 | 
					        if n >= 0 then
 | 
				
			||||||
 | 
					                return math.floor( n + 0.5 )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                return math.ceil( n - 0.5 )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ==========================
 | 
				
			||||||
 | 
					-- Regular left-opening doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Actual nodes that you place
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (Left Opening)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_mahogany.png',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Mahogany door functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_placed = function( pos, node, placer )
 | 
				
			||||||
 | 
					        if node.name ~= 'homedecor:folding_door_mahogany' then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					        und = minetest.env:get_node( upos )
 | 
				
			||||||
 | 
					        abv = minetest.env:get_node( apos )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dir = placer:get_look_dir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if     round( dir.x ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMX
 | 
				
			||||||
 | 
					        elseif round( dir.x ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPX
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMZ
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPZ
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if und.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					        elseif abv.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                minetest.env:remove_node( pos )
 | 
				
			||||||
 | 
					                placer:get_inventory():add_item( "main", 'homedecor:folding_door_mahogany' )
 | 
				
			||||||
 | 
					                minetest.chat_send_player( placer:get_player_name(), 'not enough space' )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_punched = function( pos, node, puncher )
 | 
				
			||||||
 | 
					        if string.find( node.name, 'homedecor:folding_door_mahogany' ) == nil then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, '_c', -2 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPX
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        elseif string.find( node.name, '_o', -2 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZ
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_o', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_o', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_o', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_o', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_a_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_digged = function( pos, node, digger )
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c' ) or ( node.name == 'homedecor:folding_door_mahogany_a_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( upos )
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c' ) or ( node.name == 'homedecor:folding_door_mahogany_b_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( apos )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_placenode( on_mahogany_folding_door_placed )
 | 
				
			||||||
 | 
					minetest.register_on_punchnode( on_mahogany_folding_door_punched )
 | 
				
			||||||
 | 
					minetest.register_on_dignode( on_mahogany_folding_door_digged )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes used to build up mahogany doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_c', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, closed)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_c', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, closed)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_o', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, open)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_o', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, open)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ========================================
 | 
				
			||||||
 | 
					-- Mirrored version for right-opening doors
 | 
				
			||||||
 | 
					-- ========================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Actual nodes that you place
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (Right Opening)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_right.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_right.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_mahogany_right.png',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Mahogany door functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_placed_right = function( pos, node, placer )
 | 
				
			||||||
 | 
					        if node.name ~= 'homedecor:folding_door_mahogany_right' then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					        und = minetest.env:get_node( upos )
 | 
				
			||||||
 | 
					        abv = minetest.env:get_node( apos )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dir = placer:get_look_dir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if     round( dir.x ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMX
 | 
				
			||||||
 | 
					        elseif round( dir.x ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPX
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMZ
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPZ
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if und.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					        elseif abv.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                minetest.env:remove_node( pos )
 | 
				
			||||||
 | 
					                placer:get_inventory():add_item( "main", 'homedecor:folding_door_mahogany_right' )
 | 
				
			||||||
 | 
					                minetest.chat_send_player( placer:get_player_name(), 'not enough space' )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_punched_right = function( pos, node, puncher )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, 'homedecor:folding_door_mahogany' ) == nil then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, '_c_right', -8 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPXr
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        elseif string.find( node.name, '_o_right', -8 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZr
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_a_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_digged_right = function( pos, node, digger )
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c_right' ) or ( node.name == 'homedecor:folding_door_mahogany_a_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( upos )
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c_right' ) or ( node.name == 'homedecor:folding_door_mahogany_b_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( apos )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_placenode( on_mahogany_folding_door_placed_right )
 | 
				
			||||||
 | 
					minetest.register_on_punchnode( on_mahogany_folding_door_punched_right )
 | 
				
			||||||
 | 
					minetest.register_on_dignode( on_mahogany_folding_door_digged_right )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes used to build up mahogany doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_c_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, closed, right)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a_r.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_c_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, closed, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_o_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, open, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_o_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, open, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- =======================================
 | 
				
			||||||
 | 
					-- Crafting recipes for all types of doors
 | 
				
			||||||
 | 
					-- =======================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
						output = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
						recipe = {
 | 
				
			||||||
 | 
							'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'fuel',
 | 
				
			||||||
 | 
						recipe = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
						burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'fuel',
 | 
				
			||||||
 | 
						recipe = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- You only need flowers to get the red dye necessary to actually
 | 
				
			||||||
 | 
					-- craft a mahogany door (either one), but not to /give or use one.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("flowers") ) ~= nil then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        minetest.register_craft( {
 | 
				
			||||||
 | 
					                type = 'shapeless',
 | 
				
			||||||
 | 
					                output = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					                recipe = {
 | 
				
			||||||
 | 
					                        'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					                        'unifieddyes:black',
 | 
				
			||||||
 | 
					                        'unifieddyes:red',
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        minetest.register_craft( {
 | 
				
			||||||
 | 
					                type = 'shapeless',
 | 
				
			||||||
 | 
					                output = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					                recipe = {
 | 
				
			||||||
 | 
					                        'homedecor:folding_door_oak_right',
 | 
				
			||||||
 | 
					                        'unifieddyes:black',
 | 
				
			||||||
 | 
					                        'unifieddyes:red',
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
							
								
								
									
										442
									
								
								foldingdoors_mahogany.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,442 @@
 | 
				
			|||||||
 | 
					-- Mahogany "folding" doors - part of home decor mod by VanessaE
 | 
				
			||||||
 | 
					-- 2012-06-10
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- Copied and modified from Minetest's default doors mod.  
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- License: GPL
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local DEBUG = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local WALLMX = 3
 | 
				
			||||||
 | 
					local WALLMZ = 5
 | 
				
			||||||
 | 
					local WALLPX = 2
 | 
				
			||||||
 | 
					local WALLPZ = 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local WALLMXr = 2
 | 
				
			||||||
 | 
					local WALLMZr = 4
 | 
				
			||||||
 | 
					local WALLPXr = 3
 | 
				
			||||||
 | 
					local WALLPZr = 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local dbg = function(s)
 | 
				
			||||||
 | 
						if DEBUG == 1 then
 | 
				
			||||||
 | 
							print('[FOLDINGDOORS] ' .. s)
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local round = function( n )
 | 
				
			||||||
 | 
					        if n >= 0 then
 | 
				
			||||||
 | 
					                return math.floor( n + 0.5 )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                return math.ceil( n - 0.5 )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ==========================
 | 
				
			||||||
 | 
					-- Regular left-opening doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Actual nodes that you place
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (Left Opening)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_mahogany.png',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Mahogany door functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_placed = function( pos, node, placer )
 | 
				
			||||||
 | 
					        if node.name ~= 'homedecor:folding_door_mahogany' then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					        und = minetest.env:get_node( upos )
 | 
				
			||||||
 | 
					        abv = minetest.env:get_node( apos )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dir = placer:get_look_dir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if     round( dir.x ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMX
 | 
				
			||||||
 | 
					        elseif round( dir.x ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPX
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMZ
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPZ
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if und.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					        elseif abv.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                minetest.env:remove_node( pos )
 | 
				
			||||||
 | 
					                placer:get_inventory():add_item( "main", 'homedecor:folding_door_mahogany' )
 | 
				
			||||||
 | 
					                minetest.chat_send_player( placer:get_player_name(), 'not enough space' )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_punched = function( pos, node, puncher )
 | 
				
			||||||
 | 
					        if string.find( node.name, 'homedecor:folding_door_mahogany' ) == nil then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, '_c', -2 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPX
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        elseif string.find( node.name, '_o', -2 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZ
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_o', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_o', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_o', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_o', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_a_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_digged = function( pos, node, digger )
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c' ) or ( node.name == 'homedecor:folding_door_mahogany_a_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( upos )
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c' ) or ( node.name == 'homedecor:folding_door_mahogany_b_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( apos )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_placenode( on_mahogany_folding_door_placed )
 | 
				
			||||||
 | 
					minetest.register_on_punchnode( on_mahogany_folding_door_punched )
 | 
				
			||||||
 | 
					minetest.register_on_dignode( on_mahogany_folding_door_digged )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes used to build up mahogany doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_c', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, closed)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_c', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, closed)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_o', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, open)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_o', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, open)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ========================================
 | 
				
			||||||
 | 
					-- Mirrored version for right-opening doors
 | 
				
			||||||
 | 
					-- ========================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Actual nodes that you place
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (Right Opening)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_right.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_right.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_mahogany_right.png',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Mahogany door functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_placed_right = function( pos, node, placer )
 | 
				
			||||||
 | 
					        if node.name ~= 'homedecor:folding_door_mahogany_right' then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					        und = minetest.env:get_node( upos )
 | 
				
			||||||
 | 
					        abv = minetest.env:get_node( apos )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dir = placer:get_look_dir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if     round( dir.x ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMX
 | 
				
			||||||
 | 
					        elseif round( dir.x ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPX
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMZ
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPZ
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if und.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					        elseif abv.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                minetest.env:remove_node( pos )
 | 
				
			||||||
 | 
					                placer:get_inventory():add_item( "main", 'homedecor:folding_door_mahogany_right' )
 | 
				
			||||||
 | 
					                minetest.chat_send_player( placer:get_player_name(), 'not enough space' )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_punched_right = function( pos, node, puncher )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, 'homedecor:folding_door_mahogany' ) == nil then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, '_c_right', -8 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPXr
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        elseif string.find( node.name, '_o_right', -8 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZr
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_a_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_digged_right = function( pos, node, digger )
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c_right' ) or ( node.name == 'homedecor:folding_door_mahogany_a_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( upos )
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c_right' ) or ( node.name == 'homedecor:folding_door_mahogany_b_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( apos )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_placenode( on_mahogany_folding_door_placed_right )
 | 
				
			||||||
 | 
					minetest.register_on_punchnode( on_mahogany_folding_door_punched_right )
 | 
				
			||||||
 | 
					minetest.register_on_dignode( on_mahogany_folding_door_digged_right )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes used to build up mahogany doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_c_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, closed, right)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a_r.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_c_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, closed, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_o_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, open, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_o_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, open, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- =======================================
 | 
				
			||||||
 | 
					-- Crafting recipes for all types of doors
 | 
				
			||||||
 | 
					-- =======================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
						output = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
						recipe = {
 | 
				
			||||||
 | 
							'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'fuel',
 | 
				
			||||||
 | 
						recipe = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
						burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'fuel',
 | 
				
			||||||
 | 
						recipe = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- You only need flowers to get the red dye necessary to actually
 | 
				
			||||||
 | 
					-- craft a mahogany door (either one), but not to /give or use one.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("flowers") ) ~= nil then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        minetest.register_craft( {
 | 
				
			||||||
 | 
					                type = 'shapeless',
 | 
				
			||||||
 | 
					                output = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					                recipe = {
 | 
				
			||||||
 | 
					                        'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					                        'unifieddyes:black',
 | 
				
			||||||
 | 
					                        'unifieddyes:red',
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        minetest.register_craft( {
 | 
				
			||||||
 | 
					                type = 'shapeless',
 | 
				
			||||||
 | 
					                output = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					                recipe = {
 | 
				
			||||||
 | 
					                        'homedecor:folding_door_oak_right',
 | 
				
			||||||
 | 
					                        'unifieddyes:black',
 | 
				
			||||||
 | 
					                        'unifieddyes:red',
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
							
								
								
									
										442
									
								
								foldingdoors_mahogany.lua~
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,442 @@
 | 
				
			|||||||
 | 
					-- Mahogany "folding" doors - part of home decor mod by VanessaE
 | 
				
			||||||
 | 
					-- 2012-06-10
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- Copied and modified from Minetest's default doors mod.  
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- License: GPL
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local DEBUG = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local WALLMX = 3
 | 
				
			||||||
 | 
					local WALLMZ = 5
 | 
				
			||||||
 | 
					local WALLPX = 2
 | 
				
			||||||
 | 
					local WALLPZ = 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local WALLMXr = 2
 | 
				
			||||||
 | 
					local WALLMZr = 4
 | 
				
			||||||
 | 
					local WALLPXr = 3
 | 
				
			||||||
 | 
					local WALLPZr = 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local dbg = function(s)
 | 
				
			||||||
 | 
						if DEBUG == 1 then
 | 
				
			||||||
 | 
							print('[FOLDINGDOORS] ' .. s)
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local round = function( n )
 | 
				
			||||||
 | 
					        if n >= 0 then
 | 
				
			||||||
 | 
					                return math.floor( n + 0.5 )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                return math.ceil( n - 0.5 )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ==========================
 | 
				
			||||||
 | 
					-- Regular left-opening doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Actual nodes that you place
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (Left Opening)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_mahogany.png',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Mahogany door functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_placed = function( pos, node, placer )
 | 
				
			||||||
 | 
					        if node.name ~= 'homedecor:folding_door_mahogany' then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					        und = minetest.env:get_node( upos )
 | 
				
			||||||
 | 
					        abv = minetest.env:get_node( apos )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dir = placer:get_look_dir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if     round( dir.x ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMX
 | 
				
			||||||
 | 
					        elseif round( dir.x ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPX
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMZ
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPZ
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if und.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					        elseif abv.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                minetest.env:remove_node( pos )
 | 
				
			||||||
 | 
					                placer:get_inventory():add_item( "main", 'homedecor:folding_door_mahogany' )
 | 
				
			||||||
 | 
					                minetest.chat_send_player( placer:get_player_name(), 'not enough space' )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_punched = function( pos, node, puncher )
 | 
				
			||||||
 | 
					        if string.find( node.name, 'homedecor:folding_door_mahogany' ) == nil then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, '_c', -2 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPX
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        elseif string.find( node.name, '_o', -2 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZ
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_o', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_o', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_o', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_o', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_a_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_digged = function( pos, node, digger )
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c' ) or ( node.name == 'homedecor:folding_door_mahogany_a_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( upos )
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c' ) or ( node.name == 'homedecor:folding_door_mahogany_b_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( apos )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_placenode( on_mahogany_folding_door_placed )
 | 
				
			||||||
 | 
					minetest.register_on_punchnode( on_mahogany_folding_door_punched )
 | 
				
			||||||
 | 
					minetest.register_on_dignode( on_mahogany_folding_door_digged )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes used to build up mahogany doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_c', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, closed)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_c', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, closed)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_o', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, open)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_o', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, open)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ========================================
 | 
				
			||||||
 | 
					-- Mirrored version for right-opening doors
 | 
				
			||||||
 | 
					-- ========================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Actual nodes that you place
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (Right Opening)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_right.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_right.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_mahogany_right.png',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Mahogany door functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_placed_right = function( pos, node, placer )
 | 
				
			||||||
 | 
					        if node.name ~= 'homedecor:folding_door_mahogany_right' then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					        und = minetest.env:get_node( upos )
 | 
				
			||||||
 | 
					        abv = minetest.env:get_node( apos )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dir = placer:get_look_dir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if     round( dir.x ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMX
 | 
				
			||||||
 | 
					        elseif round( dir.x ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPX
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMZ
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPZ
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if und.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					        elseif abv.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                minetest.env:remove_node( pos )
 | 
				
			||||||
 | 
					                placer:get_inventory():add_item( "main", 'homedecor:folding_door_mahogany_right' )
 | 
				
			||||||
 | 
					                minetest.chat_send_player( placer:get_player_name(), 'not enough space' )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_punched_right = function( pos, node, puncher )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, 'homedecor:folding_door_mahogany' ) == nil then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, '_c_right', -8 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPXr
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        elseif string.find( node.name, '_o_right', -8 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZr
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_a_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_mahogany_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_mahogany_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_mahogany_folding_door_digged_right = function( pos, node, digger )
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_mahogany_a_c_right' ) or ( node.name == 'homedecor:folding_door_mahogany_a_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( upos )
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_mahogany_b_c_right' ) or ( node.name == 'homedecor:folding_door_mahogany_b_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( apos )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_placenode( on_mahogany_folding_door_placed_right )
 | 
				
			||||||
 | 
					minetest.register_on_punchnode( on_mahogany_folding_door_punched_right )
 | 
				
			||||||
 | 
					minetest.register_on_dignode( on_mahogany_folding_door_digged_right )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes used to build up mahogany doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_c_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, closed, right)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a_r.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_c_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, closed, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_a_o_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (top, open, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_a.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_a.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany_b_o_right', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door (bottom, open, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany_b.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany_b.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- =======================================
 | 
				
			||||||
 | 
					-- Crafting recipes for all types of doors
 | 
				
			||||||
 | 
					-- =======================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
						output = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
						recipe = {
 | 
				
			||||||
 | 
							'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'fuel',
 | 
				
			||||||
 | 
						recipe = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
						burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
						type = 'fuel',
 | 
				
			||||||
 | 
						recipe = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- You only need flowers to get the red dye necessary to actually
 | 
				
			||||||
 | 
					-- craft a mahogany door (either one), but not to /give or use one.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ( minetest.get_modpath("flowers") ) ~= nil then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        minetest.register_craft( {
 | 
				
			||||||
 | 
					                type = 'shapeless',
 | 
				
			||||||
 | 
					                output = 'homedecor:folding_door_mahogany',
 | 
				
			||||||
 | 
					                recipe = {
 | 
				
			||||||
 | 
					                        'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					                        'homedecor:dye_black',
 | 
				
			||||||
 | 
					                        'homedecor:dye_red',
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        minetest.register_craft( {
 | 
				
			||||||
 | 
					                type = 'shapeless',
 | 
				
			||||||
 | 
					                output = 'homedecor:folding_door_mahogany_right',
 | 
				
			||||||
 | 
					                recipe = {
 | 
				
			||||||
 | 
					                        'homedecor:folding_door_oak_right',
 | 
				
			||||||
 | 
					                        'homedecor:dye_black',
 | 
				
			||||||
 | 
					                        'homedecor:dye_red',
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					        })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
							
								
								
									
										420
									
								
								foldingdoors_oak.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,420 @@
 | 
				
			|||||||
 | 
					-- Oak "folding" doors - part of home decor mod by VanessaE
 | 
				
			||||||
 | 
					-- 2012-06-10
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- Copied and modified from Minetest's default doors mod.  
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- License: GPL
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local DEBUG = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local WALLMX = 3
 | 
				
			||||||
 | 
					local WALLMZ = 5
 | 
				
			||||||
 | 
					local WALLPX = 2
 | 
				
			||||||
 | 
					local WALLPZ = 4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local WALLMXr = 2
 | 
				
			||||||
 | 
					local WALLMZr = 4
 | 
				
			||||||
 | 
					local WALLPXr = 3
 | 
				
			||||||
 | 
					local WALLPZr = 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local dbg = function(s)
 | 
				
			||||||
 | 
						if DEBUG == 1 then
 | 
				
			||||||
 | 
							print('[FOLDINGDOORS] ' .. s)
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local round = function( n )
 | 
				
			||||||
 | 
					        if n >= 0 then
 | 
				
			||||||
 | 
					                return math.floor( n + 0.5 )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                return math.ceil( n - 0.5 )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ==========================
 | 
				
			||||||
 | 
					-- Regular left-opening doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door (Left Opening)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_oak.png',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_oak_folding_door_placed = function( pos, node, placer )
 | 
				
			||||||
 | 
					        if node.name ~= 'homedecor:folding_door_oak' then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					        und = minetest.env:get_node( upos )
 | 
				
			||||||
 | 
					        abv = minetest.env:get_node( apos )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dir = placer:get_look_dir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if     round( dir.x ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMX
 | 
				
			||||||
 | 
					        elseif round( dir.x ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPX
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMZ
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPZ
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if und.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_oak_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					        elseif abv.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_oak_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                minetest.env:remove_node( pos )
 | 
				
			||||||
 | 
					                placer:get_inventory():add_item( "main", 'homedecor:folding_door_oak' )
 | 
				
			||||||
 | 
					                minetest.chat_send_player( placer:get_player_name(), 'not enough space' )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_oak_folding_door_punched = function( pos, node, puncher )
 | 
				
			||||||
 | 
					        if string.find( node.name, 'homedecor:folding_door_oak' ) == nil then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, '_c', -2 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPX
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        elseif string.find( node.name, '_o', -2 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZ
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMX
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZ
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_oak_a_c' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_a_o', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_oak_b_o', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_oak_b_c' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_b_o', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_oak_a_o', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_oak_a_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_oak_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_oak_b_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_b_c', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_oak_a_c', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_oak_folding_door_digged = function( pos, node, digger )
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_oak_a_c' ) or ( node.name == 'homedecor:folding_door_oak_a_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( upos )
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_oak_b_c' ) or ( node.name == 'homedecor:folding_door_oak_b_o' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( apos )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_placenode( on_oak_folding_door_placed )
 | 
				
			||||||
 | 
					minetest.register_on_punchnode( on_oak_folding_door_punched )
 | 
				
			||||||
 | 
					minetest.register_on_dignode( on_oak_folding_door_digged )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes to build up oak folding doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak_a_c', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door (top, closed)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak_a.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak_a.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak_b_c', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door (bottom, closed)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak_b.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak_b.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak_a_o', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door (top, open)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak_a_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak_a_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak_b_o', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door (bottom, open)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak_b_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak_b_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ========================================
 | 
				
			||||||
 | 
					-- Mirrored version for right-opening doors
 | 
				
			||||||
 | 
					-- ========================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Actual nodes that you place
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak_right', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door (Right Opening)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak_right.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak_right.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_oak_right.png',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_oak_folding_door_placed_right = function( pos, node, placer )
 | 
				
			||||||
 | 
					        if node.name ~= 'homedecor:folding_door_oak_right' then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					        und = minetest.env:get_node( upos )
 | 
				
			||||||
 | 
					        abv = minetest.env:get_node( apos )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        dir = placer:get_look_dir()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if     round( dir.x ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMX
 | 
				
			||||||
 | 
					        elseif round( dir.x ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPX
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == 1  then
 | 
				
			||||||
 | 
					                newparam = WALLMZ
 | 
				
			||||||
 | 
					        elseif round( dir.z ) == -1 then
 | 
				
			||||||
 | 
					                newparam = WALLPZ
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if und.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_oak_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					        elseif abv.name == 'air' then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_oak_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					                minetest.env:remove_node( pos )
 | 
				
			||||||
 | 
					                placer:get_inventory():add_item( "main", 'homedecor:folding_door_oak_right' )
 | 
				
			||||||
 | 
					                minetest.chat_send_player( placer:get_player_name(), 'not enough space' )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_oak_folding_door_punched_right = function( pos, node, puncher )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, 'homedecor:folding_door_oak' ) == nil then return end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if string.find( node.name, '_c_right', -8 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPXr
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif string.find( node.name, '_o_right', -8 ) ~= nil then
 | 
				
			||||||
 | 
					                if     node.param2 == WALLMZ then
 | 
				
			||||||
 | 
					                        newparam = WALLPXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLMX then
 | 
				
			||||||
 | 
					                        newparam = WALLMZr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPZ then
 | 
				
			||||||
 | 
					                        newparam = WALLMXr
 | 
				
			||||||
 | 
					                elseif node.param2 == WALLPX then
 | 
				
			||||||
 | 
					                        newparam = WALLPZr
 | 
				
			||||||
 | 
					                end
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_oak_a_c_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_a_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_oak_b_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_oak_b_c_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_b_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_oak_a_o_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_oak_a_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( upos, { name = 'homedecor:folding_door_oak_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_oak_b_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:add_node( pos,  { name = 'homedecor:folding_door_oak_b_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					                minetest.env:add_node( apos, { name = 'homedecor:folding_door_oak_a_c_right', param2 = newparam } )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local on_oak_folding_door_digged_right = function( pos, node, digger )
 | 
				
			||||||
 | 
					        upos = { x = pos.x, y = pos.y - 1, z = pos.z }
 | 
				
			||||||
 | 
					        apos = { x = pos.x, y = pos.y + 1, z = pos.z }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if ( node.name == 'homedecor:folding_door_oak_a_c_right' ) or ( node.name == 'homedecor:folding_door_oak_a_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( upos )
 | 
				
			||||||
 | 
					        elseif ( node.name == 'homedecor:folding_door_oak_b_c_right' ) or ( node.name == 'homedecor:folding_door_oak_b_o_right' ) then
 | 
				
			||||||
 | 
					                minetest.env:remove_node( apos )
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_on_placenode( on_oak_folding_door_placed_right )
 | 
				
			||||||
 | 
					minetest.register_on_punchnode( on_oak_folding_door_punched_right )
 | 
				
			||||||
 | 
					minetest.register_on_dignode( on_oak_folding_door_digged_right )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes to build up oak folding doors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak_a_c_right', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door (top, closed, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak_a_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak_a_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_oak_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak_b_c_right', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door (bottom, closed, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak_b_r.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak_b_r.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted" },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_oak_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak_a_o_right', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door (top, open, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak_a.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak_a.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_oak_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak_b_o_right', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door (bottom, open, right)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak_b.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak_b.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { choppy = 2, dig_immediate=2 },
 | 
				
			||||||
 | 
						selection_box = { type = "wallmounted", },
 | 
				
			||||||
 | 
						drop = 'homedecor:folding_door_oak_right',
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- =======================================
 | 
				
			||||||
 | 
					-- Crafting recipes for all types of doors
 | 
				
			||||||
 | 
					-- =======================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
					        output = 'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick', '' },
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick', 'default:steel_ingot' },
 | 
				
			||||||
 | 
					                { 'default:stick', 'default:stick', '' },
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:folding_door_oak_right',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft( {
 | 
				
			||||||
 | 
						type = 'shapeless',
 | 
				
			||||||
 | 
					        output = 'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					        recipe = {
 | 
				
			||||||
 | 
							'homedecor:folding_door_oak_right',
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:folding_door_oak',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_craft({
 | 
				
			||||||
 | 
					        type = 'fuel',
 | 
				
			||||||
 | 
					        recipe = 'homedecor:folding_door_oak_right',
 | 
				
			||||||
 | 
					        burntime = 30,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										985
									
								
								init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,985 @@
 | 
				
			|||||||
 | 
					-- Home Decor mod by VanessaE
 | 
				
			||||||
 | 
					-- 2012-06-12
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- Mostly my own code, with bits and pieces lifted from Minetest's default
 | 
				
			||||||
 | 
					-- lua files, from ironzorg's flowers mod
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- See also, foldingdoors.lua (borrowed heavily from Minetest's default 
 | 
				
			||||||
 | 
					-- doors mod)
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- This mod requires the presence of the "unifieddyes" mod, which also
 | 
				
			||||||
 | 
					-- supplies ironzorg's flowers mod.
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- License: GPL
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dofile(minetest.get_modpath("homedecor").."/foldingdoors_oak.lua")
 | 
				
			||||||
 | 
					dofile(minetest.get_modpath("homedecor").."/foldingdoors_mahogany.lua")
 | 
				
			||||||
 | 
					dofile(minetest.get_modpath("homedecor").."/exterior_door_fancy.lua")
 | 
				
			||||||
 | 
					dofile(minetest.get_modpath("homedecor").."/crafts.lua")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local DEBUG = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Local Functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local dbg = function(s)
 | 
				
			||||||
 | 
						if DEBUG == 1 then
 | 
				
			||||||
 | 
							print('[HomeDecor] ' .. s)
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shingles_wood', {
 | 
				
			||||||
 | 
						description = "Wood Shingles",
 | 
				
			||||||
 | 
						drawtype = 'raillike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_shingles_wood.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_shingles_wood.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_shingles_wood.png',
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:skylight', {
 | 
				
			||||||
 | 
						description = "Glass Skylight",
 | 
				
			||||||
 | 
						drawtype = 'raillike',
 | 
				
			||||||
 | 
						tile_images = { 'default_glass.png' },
 | 
				
			||||||
 | 
						wield_image = 'default_glass.png',
 | 
				
			||||||
 | 
						inventory_image = 'default_glass.png',
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shingles_asphalt', {
 | 
				
			||||||
 | 
						description = "Asphalt Shingles",
 | 
				
			||||||
 | 
						drawtype = 'raillike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_shingles_asphalt.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_shingles_asphalt.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_shingles_asphalt.png',
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shingles_terracotta', {
 | 
				
			||||||
 | 
						description = "Terracotta Roofing",
 | 
				
			||||||
 | 
						drawtype = 'raillike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_shingles_terracotta.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_shingles_terracotta.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_shingles_terracotta.png',
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        drop = 'homedecor:roof_tile_terracotta 4',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:projection_screen', {
 | 
				
			||||||
 | 
						description = "Projection Screen Material",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_projection_screen.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_projection_screen_inv.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_projection_screen_inv.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:ceiling_paint', {
 | 
				
			||||||
 | 
						description = "Textured Ceiling Paint",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_ceiling_paint.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_ceiling_paint_roller.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_ceiling_paint_roller.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:ceiling_tile', {
 | 
				
			||||||
 | 
						description = "Drop-Ceiling Tile",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_ceiling_tile.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_ceiling_tile.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_ceiling_tile.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:rug_small', {
 | 
				
			||||||
 | 
						description = "Small Throw Rug",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_rug_small.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_rug_small.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_rug_small.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:rug_large', {
 | 
				
			||||||
 | 
						description = "Large Area Rug",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_rug_large.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_rug_large.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_rug_large.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:glass_table_large', {
 | 
				
			||||||
 | 
						description = "Large Glass Table Piece",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_glass_table_large.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_glass_table_large.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_glass_table_large.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:glass_table_small_round', {
 | 
				
			||||||
 | 
						description = "Glass Table (Small, Round)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_glass_table_small_round.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_glass_table_small_round.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_glass_table_small_round.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:glass_table_small_square', {
 | 
				
			||||||
 | 
						description = "Glass Table (Small, Square)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_glass_table_small_square.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_glass_table_small_square.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_glass_table_small_square.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:table_legs_brass", {
 | 
				
			||||||
 | 
					        description = "Brass Table Legs",
 | 
				
			||||||
 | 
					        drawtype = "plantlike",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_table_legs_brass.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_table_legs_brass.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_table_legs_brass.png",
 | 
				
			||||||
 | 
						visual_scale = 1.04,
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        walkable = false,
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:table_legs_wrought_iron", {
 | 
				
			||||||
 | 
					        description = "Brass Table Legs",
 | 
				
			||||||
 | 
					        drawtype = "plantlike",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_table_legs_wrought_iron.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_table_legs_wrought_iron.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_table_legs_wrought_iron.png",
 | 
				
			||||||
 | 
						visual_scale = 1.04,
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        walkable = false,
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:television', {
 | 
				
			||||||
 | 
						description = "Small CRT Television",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_television_top.png',
 | 
				
			||||||
 | 
								'homedecor_television_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_television_left.png',
 | 
				
			||||||
 | 
								'homedecor_television_right.png',
 | 
				
			||||||
 | 
								'homedecor_television_back.png',
 | 
				
			||||||
 | 
								'homedecor_television_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						light_source = LIGHT_MAX - 1,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:stereo', {
 | 
				
			||||||
 | 
						description = "Stereo Receiver",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_stereo_top.png',
 | 
				
			||||||
 | 
								'homedecor_stereo_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_stereo_left.png',
 | 
				
			||||||
 | 
								'homedecor_stereo_right.png',
 | 
				
			||||||
 | 
								'homedecor_stereo_back.png',
 | 
				
			||||||
 | 
								'homedecor_stereo_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:nightstand_oak_one_drawer', {
 | 
				
			||||||
 | 
						description = "Oak Nightstand with One Drawer",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_1_drawer_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:nightstand_oak_two_drawers', {
 | 
				
			||||||
 | 
						description = "Oak Nightstand with One Drawer",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_2_drawer_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:nightstand_mahogany_one_drawer', {
 | 
				
			||||||
 | 
						description = "Oak Nightstand with One Drawer",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_1_drawer_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:nightstand_mahogany_two_drawers', {
 | 
				
			||||||
 | 
						description = "Oak Nightstand with One Drawer",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_2_drawer_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:utility_table_top', {
 | 
				
			||||||
 | 
						description = "Utility Table",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_utility_table_top.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_utility_table_top.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_utility_table_top.png',
 | 
				
			||||||
 | 
						drawtype = "signlike",
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:utility_table_legs', {
 | 
				
			||||||
 | 
						description = "Legs for Utility Table",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_utility_table_legs.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_utility_table_legs_inv.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_utility_table_legs.png',
 | 
				
			||||||
 | 
						visual_scale = 1.04,
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						drawtype = "plantlike",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:flower_pot_terracotta', {
 | 
				
			||||||
 | 
						description = "Terracotta Flower Pot",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_flower_pot_terracotta_top.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_terracotta_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_terracotta_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_terracotta_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_terracotta_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_terracotta_sides.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:flower_pot_black', {
 | 
				
			||||||
 | 
						description = "Black Plastic Flower Pot",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_flower_pot_black_top.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_black_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_black_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_black_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_black_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_black_sides.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:flower_pot_green', {
 | 
				
			||||||
 | 
						description = "Green Plastic Flower Pot",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_flower_pot_green_top.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_green_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_green_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_green_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_green_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_green_sides.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:wood_table_large', {
 | 
				
			||||||
 | 
						description = "Wooden Tabletop piece",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_wood_table_large.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_wood_table_large.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_wood_table_large.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:wood_table_small_round', {
 | 
				
			||||||
 | 
						description = "Wooden Tabletop (Small, Round)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_wood_table_small_round.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_wood_table_small_round.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_wood_table_small_round.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:wood_table_small_square', {
 | 
				
			||||||
 | 
						description = "Wooden Tabletop (Small, Square)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_wood_table_small_square.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_wood_table_small_square.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_wood_table_small_square.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_mahogany.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_oak.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:dresser_mahogany_left_side', {
 | 
				
			||||||
 | 
						description = "Mahogany Dresser (Left Half)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_front_left.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:dresser_mahogany_right_side', {
 | 
				
			||||||
 | 
						description = "Mahogany Dresser (Right Half)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_front_right.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:dresser_oak_left_side', {
 | 
				
			||||||
 | 
						description = "Oak Dresser (Left Half)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_front_left.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:dresser_oak_right_side', {
 | 
				
			||||||
 | 
						description = "Oak Dresser (Right Half)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_front_right.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_black', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Black)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_black.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_black.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_black.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_mahogany', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Unpainted Mahogany)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_mahogany.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_mahogany.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_mahogany.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_oak', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Unpainted Oak)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_oak.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_oak.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_oak.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_dark_grey', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Dark Grey)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_dark_grey.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_dark_grey.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_dark_grey.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_forest_green', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Forest Green)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_forest_green.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_forest_green.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_forest_green.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_grey', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Grey)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_grey.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_grey.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_grey.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_light_blue', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Light Blue)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_light_blue.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_light_blue.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_light_blue.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_purple', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Purple)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_purple.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_purple.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_purple.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_red', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Red)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_red.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_red.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_red.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_white', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (White)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_white.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_white.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_white.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shutter_yellow', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Yellow)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_yellow.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_yellow.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_yellow.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:utilitytable2', {
 | 
				
			||||||
 | 
						description = "Utility table mk2",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_utility_table_top.png',
 | 
				
			||||||
 | 
								'homedecor_blanktile.png',
 | 
				
			||||||
 | 
								'homedecor_utility_table_legs.png',
 | 
				
			||||||
 | 
								'homedecor_utility_table_legs.png',
 | 
				
			||||||
 | 
								'homedecor_utility_table_legs.png',
 | 
				
			||||||
 | 
								'homedecor_utility_table_legs.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ===================================================
 | 
				
			||||||
 | 
					-- everything after this line is for testing purposes.
 | 
				
			||||||
 | 
					-- ===================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- cylinder-shaped objects courtesy Jeija
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local cylbox = {}
 | 
				
			||||||
 | 
					local detail = 50
 | 
				
			||||||
 | 
					local sehne
 | 
				
			||||||
 | 
					local size = 0.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for i = 1, detail-1 do
 | 
				
			||||||
 | 
					        sehne = math.sqrt(0.25 - (((i/detail)-0.5)^2))
 | 
				
			||||||
 | 
					        cylbox[i]={((i/detail)-0.5)*size, -0.5, -sehne*size, ((i/detail)+(1/detail)-0.5)*size, 0.5, sehne*size}
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:pole_brass", {
 | 
				
			||||||
 | 
					        description = "Brass Pole",
 | 
				
			||||||
 | 
					        drawtype = "nodebox",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_tile_brass2.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_pole_brass2.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_pole_brass2.png",
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = {-size/2, -0.5, -size/2, size/2, 0.5, size/2},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_wood_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						node_box = {
 | 
				
			||||||
 | 
							type = "fixed",
 | 
				
			||||||
 | 
							fixed = cylbox,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:pole_wrought_iron", {
 | 
				
			||||||
 | 
					        description = "Wrought Iron Pole",
 | 
				
			||||||
 | 
					        drawtype = "nodebox",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_tile_wrought_iron2.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_pole_wrought_iron.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_pole_wrought_iron.png",
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
						node_box = {
 | 
				
			||||||
 | 
							type = "fixed",
 | 
				
			||||||
 | 
					                fixed = {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_wood_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:fence_brass", {
 | 
				
			||||||
 | 
					        description = "Brass Fence/railing",
 | 
				
			||||||
 | 
					        drawtype = "fencelike",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_tile_brass.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_fence_brass.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_pole_brass.png",
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_wood_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:fence_wrought_iron", {
 | 
				
			||||||
 | 
					        description = "Wrought Iron Fence/railing",
 | 
				
			||||||
 | 
					        drawtype = "fencelike",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_tile_wrought_iron.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_fence_wrought_iron.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_pole_wrought_iron.png",
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_wood_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:speaker', {
 | 
				
			||||||
 | 
						description = "Large Stereo Speaker",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_speaker_top.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_left.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_right.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_back.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:speaker_small', {
 | 
				
			||||||
 | 
						description = "Small Surround Speaker",
 | 
				
			||||||
 | 
						drawtype = "nodebox",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_speaker_top.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_left.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_right.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_back.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_front.png'},
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = { -0.2, -0.5, 0, 0.2, 0, 0.4 }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        node_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = { -0.2, -0.5, 0, 0.2, 0, 0.4 }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print("[HomeDecor] Loaded!")
 | 
				
			||||||
							
								
								
									
										984
									
								
								init.lua~
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,984 @@
 | 
				
			|||||||
 | 
					-- Home Decor mod by VanessaE
 | 
				
			||||||
 | 
					-- 2012-06-12
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- Mostly my own code, with bits and pieces lifted from Minetest's default
 | 
				
			||||||
 | 
					-- lua files, from ironzorg's flowers mod
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- See also, foldingdoors.lua (borrowed heavily from Minetest's default 
 | 
				
			||||||
 | 
					-- doors mod)
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- This mod requires the presence of the "unifieddyes" mod, which also
 | 
				
			||||||
 | 
					-- supplies ironzorg's flowers mod.
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					-- License: GPL
 | 
				
			||||||
 | 
					--
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					dofile(minetest.get_modpath("homedecor").."/foldingdoors_oak.lua")
 | 
				
			||||||
 | 
					dofile(minetest.get_modpath("homedecor").."/foldingdoors_mahogany.lua")
 | 
				
			||||||
 | 
					dofile(minetest.get_modpath("homedecor").."/crafts.lua")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local DEBUG = 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Local Functions
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local dbg = function(s)
 | 
				
			||||||
 | 
						if DEBUG == 1 then
 | 
				
			||||||
 | 
							print('[HomeDecor] ' .. s)
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- Nodes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shingles_wood', {
 | 
				
			||||||
 | 
						description = "Wood Shingles",
 | 
				
			||||||
 | 
						drawtype = 'raillike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_shingles_wood.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_shingles_wood.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_shingles_wood.png',
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:skylight', {
 | 
				
			||||||
 | 
						description = "Glass Skylight",
 | 
				
			||||||
 | 
						drawtype = 'raillike',
 | 
				
			||||||
 | 
						tile_images = { 'default_glass.png' },
 | 
				
			||||||
 | 
						wield_image = 'default_glass.png',
 | 
				
			||||||
 | 
						inventory_image = 'default_glass.png',
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shingles_asphalt', {
 | 
				
			||||||
 | 
						description = "Asphalt Shingles",
 | 
				
			||||||
 | 
						drawtype = 'raillike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_shingles_asphalt.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_shingles_asphalt.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_shingles_asphalt.png',
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:shingles_terracotta', {
 | 
				
			||||||
 | 
						description = "Terracotta Roofing",
 | 
				
			||||||
 | 
						drawtype = 'raillike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_shingles_terracotta.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_shingles_terracotta.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_shingles_terracotta.png',
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        drop = 'homedecor:roof_tile_terracotta 4',
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:projection_screen', {
 | 
				
			||||||
 | 
						description = "Projection Screen Material",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_projection_screen.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_projection_screen_inv.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_projection_screen_inv.png',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:ceiling_paint', {
 | 
				
			||||||
 | 
						description = "Textured Ceiling Paint",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_ceiling_paint.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_ceiling_paint_roller.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_ceiling_paint_roller.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:ceiling_tile', {
 | 
				
			||||||
 | 
						description = "Drop-Ceiling Tile",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_ceiling_tile.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_ceiling_tile.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_ceiling_tile.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:rug_small', {
 | 
				
			||||||
 | 
						description = "Small Throw Rug",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_rug_small.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_rug_small.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_rug_small.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:rug_large', {
 | 
				
			||||||
 | 
						description = "Large Area Rug",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_rug_large.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_rug_large.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_rug_large.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:glass_table_large', {
 | 
				
			||||||
 | 
						description = "Large Glass Table Piece",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_glass_table_large.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_glass_table_large.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_glass_table_large.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:glass_table_small_round', {
 | 
				
			||||||
 | 
						description = "Glass Table (Small, Round)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_glass_table_small_round.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_glass_table_small_round.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_glass_table_small_round.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:glass_table_small_square', {
 | 
				
			||||||
 | 
						description = "Glass Table (Small, Square)",
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_glass_table_small_square.png' },
 | 
				
			||||||
 | 
						wield_image = 'homedecor_glass_table_small_square.png',
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_glass_table_small_square.png',
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = 'light',
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:table_legs_brass", {
 | 
				
			||||||
 | 
					        description = "Brass Table Legs",
 | 
				
			||||||
 | 
					        drawtype = "plantlike",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_table_legs_brass.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_table_legs_brass.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_table_legs_brass.png",
 | 
				
			||||||
 | 
						visual_scale = 1.04,
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        walkable = false,
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:table_legs_wrought_iron", {
 | 
				
			||||||
 | 
					        description = "Brass Table Legs",
 | 
				
			||||||
 | 
					        drawtype = "plantlike",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_table_legs_wrought_iron.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_table_legs_wrought_iron.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_table_legs_wrought_iron.png",
 | 
				
			||||||
 | 
						visual_scale = 1.04,
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        walkable = false,
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:television', {
 | 
				
			||||||
 | 
						description = "Small CRT Television",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_television_top.png',
 | 
				
			||||||
 | 
								'homedecor_television_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_television_left.png',
 | 
				
			||||||
 | 
								'homedecor_television_right.png',
 | 
				
			||||||
 | 
								'homedecor_television_back.png',
 | 
				
			||||||
 | 
								'homedecor_television_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						light_source = LIGHT_MAX - 1,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:stereo', {
 | 
				
			||||||
 | 
						description = "Stereo Receiver",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_stereo_top.png',
 | 
				
			||||||
 | 
								'homedecor_stereo_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_stereo_left.png',
 | 
				
			||||||
 | 
								'homedecor_stereo_right.png',
 | 
				
			||||||
 | 
								'homedecor_stereo_back.png',
 | 
				
			||||||
 | 
								'homedecor_stereo_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:nightstand_oak_one_drawer', {
 | 
				
			||||||
 | 
						description = "Oak Nightstand with One Drawer",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_1_drawer_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:nightstand_oak_two_drawers', {
 | 
				
			||||||
 | 
						description = "Oak Nightstand with One Drawer",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_oak_2_drawer_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:nightstand_mahogany_one_drawer', {
 | 
				
			||||||
 | 
						description = "Oak Nightstand with One Drawer",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_1_drawer_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:nightstand_mahogany_two_drawers', {
 | 
				
			||||||
 | 
						description = "Oak Nightstand with One Drawer",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_nightstand_mahogany_2_drawer_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:utility_table_top', {
 | 
				
			||||||
 | 
						description = "Utility Table",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_utility_table_top.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_utility_table_top.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_utility_table_top.png',
 | 
				
			||||||
 | 
						drawtype = "signlike",
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:utility_table_legs', {
 | 
				
			||||||
 | 
						description = "Legs for Utility Table",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_utility_table_legs.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_utility_table_legs_inv.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_utility_table_legs.png',
 | 
				
			||||||
 | 
						visual_scale = 1.04,
 | 
				
			||||||
 | 
						sunlight_propagates = true,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						drawtype = "plantlike",
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:flower_pot_terracotta', {
 | 
				
			||||||
 | 
						description = "Terracotta Flower Pot",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_flower_pot_terracotta_top.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_terracotta_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_terracotta_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_terracotta_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_terracotta_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_terracotta_sides.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:flower_pot_black', {
 | 
				
			||||||
 | 
						description = "Black Plastic Flower Pot",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_flower_pot_black_top.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_black_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_black_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_black_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_black_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_black_sides.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:flower_pot_green', {
 | 
				
			||||||
 | 
						description = "Green Plastic Flower Pot",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_flower_pot_green_top.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_green_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_green_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_green_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_green_sides.png',
 | 
				
			||||||
 | 
								'homedecor_flower_pot_green_sides.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:wood_table_large', {
 | 
				
			||||||
 | 
						description = "Wooden Tabletop piece",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_wood_table_large.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_wood_table_large.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_wood_table_large.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:wood_table_small_round', {
 | 
				
			||||||
 | 
						description = "Wooden Tabletop (Small, Round)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_wood_table_small_round.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_wood_table_small_round.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_wood_table_small_round.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:wood_table_small_square', {
 | 
				
			||||||
 | 
						description = "Wooden Tabletop (Small, Square)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_wood_table_small_square.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_wood_table_small_square.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_wood_table_small_square.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = "wallmounted",
 | 
				
			||||||
 | 
						is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
								type = "wallmounted",
 | 
				
			||||||
 | 
					                         --wall_top = <default>
 | 
				
			||||||
 | 
					                         --wall_bottom = <default>
 | 
				
			||||||
 | 
					                         --wall_side = <default>
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_mahogany', {
 | 
				
			||||||
 | 
						description = "Mahogany Folding Door",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_mahogany.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_mahogany.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_mahogany.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:folding_door_oak', {
 | 
				
			||||||
 | 
						description = "Oak Folding Door",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_folding_door_oak.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_folding_door_oak.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_folding_door_oak.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:dresser_mahogany_left_side', {
 | 
				
			||||||
 | 
						description = "Mahogany Dresser (Left Half)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_front_left.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:dresser_mahogany_right_side', {
 | 
				
			||||||
 | 
						description = "Mahogany Dresser (Right Half)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_mahogany_front_right.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:dresser_oak_left_side', {
 | 
				
			||||||
 | 
						description = "Oak Dresser (Left Half)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_front_left.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:dresser_oak_right_side', {
 | 
				
			||||||
 | 
						description = "Oak Dresser (Right Half)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_sides.png',
 | 
				
			||||||
 | 
								'homedecor_dresser_oak_front_right.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_black', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Black)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_black.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_black.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_black.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_mahogany', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Unpainted Mahogany)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_mahogany.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_mahogany.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_mahogany.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_oak', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Unpainted Oak)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_oak.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_oak.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_oak.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_dark_grey', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Dark Grey)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_dark_grey.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_dark_grey.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_dark_grey.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_forest_green', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Forest Green)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_forest_green.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_forest_green.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_forest_green.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_grey', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Grey)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_grey.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_grey.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_grey.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_light_blue', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Light Blue)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_light_blue.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_light_blue.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_light_blue.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_purple', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Purple)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_purple.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_purple.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_purple.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_red', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Red)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_red.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_red.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_red.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_white', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (White)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_white.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_white.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_white.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:window_shutter_yellow', {
 | 
				
			||||||
 | 
						description = "Wooden Shutter (Yellow)",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_window_shutter_yellow.png' },
 | 
				
			||||||
 | 
						inventory_image = 'homedecor_window_shutter_yellow.png',
 | 
				
			||||||
 | 
						wield_image = 'homedecor_window_shutter_yellow.png',
 | 
				
			||||||
 | 
						drawtype = 'signlike',
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = false,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
						paramtype2 = 'wallmounted',
 | 
				
			||||||
 | 
						selection_box = {
 | 
				
			||||||
 | 
							type = "wallmounted",
 | 
				
			||||||
 | 
							--wall_side = = <default>
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:utilitytable2', {
 | 
				
			||||||
 | 
						description = "Utility table mk2",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_utility_table_top.png',
 | 
				
			||||||
 | 
								'homedecor_blanktile.png',
 | 
				
			||||||
 | 
								'homedecor_utility_table_legs.png',
 | 
				
			||||||
 | 
								'homedecor_utility_table_legs.png',
 | 
				
			||||||
 | 
								'homedecor_utility_table_legs.png',
 | 
				
			||||||
 | 
								'homedecor_utility_table_legs.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- ===================================================
 | 
				
			||||||
 | 
					-- everything after this line is for testing purposes.
 | 
				
			||||||
 | 
					-- ===================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-- cylinder-shaped objects courtesy Jeija
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					local cylbox = {}
 | 
				
			||||||
 | 
					local detail = 50
 | 
				
			||||||
 | 
					local sehne
 | 
				
			||||||
 | 
					local size = 0.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for i = 1, detail-1 do
 | 
				
			||||||
 | 
					        sehne = math.sqrt(0.25 - (((i/detail)-0.5)^2))
 | 
				
			||||||
 | 
					        cylbox[i]={((i/detail)-0.5)*size, -0.5, -sehne*size, ((i/detail)+(1/detail)-0.5)*size, 0.5, sehne*size}
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:pole_brass", {
 | 
				
			||||||
 | 
					        description = "Brass Pole",
 | 
				
			||||||
 | 
					        drawtype = "nodebox",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_tile_brass2.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_pole_brass2.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_pole_brass2.png",
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = {-size/2, -0.5, -size/2, size/2, 0.5, size/2},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_wood_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						node_box = {
 | 
				
			||||||
 | 
							type = "fixed",
 | 
				
			||||||
 | 
							fixed = cylbox,
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:pole_wrought_iron", {
 | 
				
			||||||
 | 
					        description = "Wrought Iron Pole",
 | 
				
			||||||
 | 
					        drawtype = "nodebox",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_tile_wrought_iron2.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_pole_wrought_iron.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_pole_wrought_iron.png",
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
						node_box = {
 | 
				
			||||||
 | 
							type = "fixed",
 | 
				
			||||||
 | 
					                fixed = {-0.0625, -0.5, -0.0625, 0.0625, 0.5, 0.0625}
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_wood_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:fence_brass", {
 | 
				
			||||||
 | 
					        description = "Brass Fence/railing",
 | 
				
			||||||
 | 
					        drawtype = "fencelike",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_tile_brass.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_fence_brass.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_pole_brass.png",
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_wood_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("homedecor:fence_wrought_iron", {
 | 
				
			||||||
 | 
					        description = "Wrought Iron Fence/railing",
 | 
				
			||||||
 | 
					        drawtype = "fencelike",
 | 
				
			||||||
 | 
					        tile_images = {"homedecor_tile_wrought_iron.png"},
 | 
				
			||||||
 | 
					        inventory_image = "homedecor_fence_wrought_iron.png",
 | 
				
			||||||
 | 
					        wield_image = "homedecor_pole_wrought_iron.png",
 | 
				
			||||||
 | 
					        paramtype = "light",
 | 
				
			||||||
 | 
					        is_ground_content = true,
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        groups = {snappy=3},
 | 
				
			||||||
 | 
					        sounds = default.node_sound_wood_defaults(),
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:speaker', {
 | 
				
			||||||
 | 
						description = "Large Stereo Speaker",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_speaker_top.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_left.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_right.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_back.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_front.png'},
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node('homedecor:speaker_small', {
 | 
				
			||||||
 | 
						description = "Small Surround Speaker",
 | 
				
			||||||
 | 
						drawtype = "nodebox",
 | 
				
			||||||
 | 
						tile_images = { 'homedecor_speaker_top.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_bottom.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_left.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_right.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_back.png',
 | 
				
			||||||
 | 
								'homedecor_speaker_front.png'},
 | 
				
			||||||
 | 
					        selection_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = { -0.2, -0.5, 0, 0.2, 0, 0.4 }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        node_box = {
 | 
				
			||||||
 | 
					                type = "fixed",
 | 
				
			||||||
 | 
					                fixed = { -0.2, -0.5, 0, 0.2, 0, 0.4 }
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						sunlight_propagates = false,
 | 
				
			||||||
 | 
						paramtype = "light",
 | 
				
			||||||
 | 
						paramtype2 = "facedir",
 | 
				
			||||||
 | 
						walkable = true,
 | 
				
			||||||
 | 
						groups = { snappy = 3 },
 | 
				
			||||||
 | 
						sounds = default.node_sound_leaves_defaults(),
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					print("[HomeDecor] Loaded!")
 | 
				
			||||||
							
								
								
									
										13
									
								
								listnodes.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Node listing as of "`date` > nodes.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					for i in *.lua; do
 | 
				
			||||||
 | 
						echo -e "\nIn $i:\n" >> nodes.txt
 | 
				
			||||||
 | 
						cat $i | grep "minetest.register_node(" | \
 | 
				
			||||||
 | 
						sed "s/minetest.register_node(.homedecor:/homedecor:/; s/., {//" | \
 | 
				
			||||||
 | 
						sort  >> nodes.txt
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					less nodes.txt
 | 
				
			||||||
 | 
					rm -f nodes.txt
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								textures/Untitled.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 561 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_blanktile.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 115 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_brass_ingot.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 425 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_ceiling_paint.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 524 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_ceiling_paint_roller.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 340 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_ceiling_tile.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 507 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_drawer_large.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 313 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_drawer_small.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 386 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_dresser_mahogany_front_left.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_dresser_mahogany_front_right.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 641 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_dresser_mahogany_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 5.6 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_dresser_mahogany_sides.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_dresser_oak_front_left.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.3 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_dresser_oak_front_right.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 763 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_dresser_oak_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 5.6 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_dresser_oak_sides.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.1 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_exterior_door_fancy.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 505 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_exterior_door_fancy_a.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 753 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_exterior_door_fancy_a_r.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 749 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_exterior_door_fancy_b.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 719 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_exterior_door_fancy_b_r.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 719 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_exterior_door_fancy_right.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 515 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_fence_brass.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 399 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_fence_wrought_iron.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 418 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_flower_pot_black_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 292 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_flower_pot_black_sides.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 301 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_flower_pot_black_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 607 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_flower_pot_green_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 476 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_flower_pot_green_sides.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 447 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_flower_pot_green_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 699 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_flower_pot_terracotta_bottom.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 480 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_flower_pot_terracotta_sides.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 458 B  | 
							
								
								
									
										
											BIN
										
									
								
								textures/homedecor_flower_pot_terracotta_top.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 700 B  |