Compare commits
	
		
			28 Commits
		
	
	
		
			2019-06-20
			...
			2020-06-04
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					5aecf5f2c7 | ||
| 
						 | 
					9be79ec6d0 | ||
| 
						 | 
					4c0f068909 | ||
| 
						 | 
					ce3c77564c | ||
| 
						 | 
					43333687bd | ||
| 
						 | 
					9ec3eab6f4 | ||
| 
						 | 
					9f5cc15e62 | ||
| 
						 | 
					ed41161554 | ||
| 
						 | 
					77933d9dc3 | ||
| 
						 | 
					c118b43711 | ||
| 
						 | 
					f6da0f7329 | ||
| 
						 | 
					e84a184946 | ||
| 
						 | 
					0c9d883f28 | ||
| 
						 | 
					97e7a31830 | ||
| 
						 | 
					d897e6d97c | ||
| 
						 | 
					8532dee8ed | ||
| 
						 | 
					356f872327 | ||
| 
						 | 
					6c07a31857 | ||
| 
						 | 
					daef49a255 | ||
| 
						 | 
					1072598701 | ||
| 
						 | 
					60be4a6320 | ||
| 
						 | 
					67f2065408 | ||
| 
						 | 
					f90834ff06 | ||
| 
						 | 
					c871e0d388 | ||
| 
						 | 
					d17ec1d978 | ||
| 
						 | 
					9dcc6c2b4d | ||
| 
						 | 
					80352d69e1 | ||
| 
						 | 
					1d59c2258d | 
@@ -258,33 +258,6 @@ minetest.register_node("computer:tower", {
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("computer:tower_on", "computer:tower")
 | 
			
		||||
 | 
			
		||||
-- Printer/scaner combo
 | 
			
		||||
minetest.register_node("computer:printer", {
 | 
			
		||||
	description = S("Printer-Scanner Combo"),
 | 
			
		||||
	inventory_image = "computer_printer_inv.png",
 | 
			
		||||
	tiles = {"computer_printer_t.png","computer_printer_bt.png","computer_printer_l.png",
 | 
			
		||||
			"computer_printer_r.png","computer_printer_b.png","computer_printer_f.png"},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "facedir",
 | 
			
		||||
	walkable = true,
 | 
			
		||||
	groups = {snappy=3},
 | 
			
		||||
	sound = default.node_sound_wood_defaults(),
 | 
			
		||||
	drawtype = "nodebox",
 | 
			
		||||
	node_box = {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
		fixed = {
 | 
			
		||||
			{-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375},
 | 
			
		||||
			{-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375},
 | 
			
		||||
			{-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375},
 | 
			
		||||
			{0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375},
 | 
			
		||||
			{-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375},
 | 
			
		||||
			{-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375},
 | 
			
		||||
			{-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5},
 | 
			
		||||
			{-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0}
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
--Rack Server
 | 
			
		||||
minetest.register_node("computer:server", {
 | 
			
		||||
	drawtype = "nodebox",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,2 +1,4 @@
 | 
			
		||||
default
 | 
			
		||||
homedecor_common
 | 
			
		||||
basic_materials
 | 
			
		||||
unifieddyes
 | 
			
		||||
 
 | 
			
		||||
@@ -94,6 +94,6 @@ end
 | 
			
		||||
 | 
			
		||||
local MODPATH = minetest.get_modpath("computer")
 | 
			
		||||
dofile(MODPATH.."/computers.lua")
 | 
			
		||||
dofile(MODPATH.."/miscitems.lua")
 | 
			
		||||
dofile(MODPATH.."/printers.lua")
 | 
			
		||||
dofile(MODPATH.."/recipes.lua")
 | 
			
		||||
dofile(MODPATH.."/tetris.lua")
 | 
			
		||||
 
 | 
			
		||||
@@ -1,68 +0,0 @@
 | 
			
		||||
-- Copyright (C) 2012-2013 Diego Martínez <kaeza@users.sf.net>
 | 
			
		||||
 | 
			
		||||
-- This file defines some items in order to not have to depend on other mods.
 | 
			
		||||
 | 
			
		||||
local S = homedecor.gettext
 | 
			
		||||
 | 
			
		||||
if (not minetest.get_modpath("homedecor")) then
 | 
			
		||||
 | 
			
		||||
	minetest.register_craftitem(":basic_materials:plastic_sheet", {
 | 
			
		||||
		description = S("Plastic sheet"),
 | 
			
		||||
		inventory_image = "homedecor_plastic_sheeting.png",
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_craftitem(":homedecor:plastic_base", {
 | 
			
		||||
		description = S("Unprocessed Plastic base"),
 | 
			
		||||
		wield_image = "homedecor_plastic_base.png",
 | 
			
		||||
		inventory_image = "homedecor_plastic_base_inv.png",
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_craft({
 | 
			
		||||
		type = "shapeless",
 | 
			
		||||
		output = 'homedecor:plastic_base 6',
 | 
			
		||||
		recipe = { "default:junglegrass",
 | 
			
		||||
		   "default:junglegrass",
 | 
			
		||||
		   "default:junglegrass"
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_craft({
 | 
			
		||||
		type = "shapeless",
 | 
			
		||||
		output = 'homedecor:plastic_base 3',
 | 
			
		||||
		recipe = { "default:dry_shrub",
 | 
			
		||||
		   "default:dry_shrub",
 | 
			
		||||
		   "default:dry_shrub"
 | 
			
		||||
		},
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_craft({
 | 
			
		||||
		type = "shapeless",
 | 
			
		||||
		output = 'homedecor:plastic_base 4',
 | 
			
		||||
		recipe = { "default:leaves",
 | 
			
		||||
			   "default:leaves",
 | 
			
		||||
			   "default:leaves",
 | 
			
		||||
			   "default:leaves",
 | 
			
		||||
			   "default:leaves",
 | 
			
		||||
			   "default:leaves"
 | 
			
		||||
		}
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_craft({
 | 
			
		||||
		type = "cooking",
 | 
			
		||||
		output = "basic_materials:plastic_sheet",
 | 
			
		||||
		recipe = "homedecor:plastic_base",
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_craft({
 | 
			
		||||
		type = 'fuel',
 | 
			
		||||
		recipe = 'homedecor:plastic_base',
 | 
			
		||||
		burntime = 30,
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	minetest.register_craft({
 | 
			
		||||
		type = 'fuel',
 | 
			
		||||
		recipe = 'basic_materials:plastic_sheet',
 | 
			
		||||
		burntime = 30,
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
end -- not homedecor
 | 
			
		||||
							
								
								
									
										9835
									
								
								computer/models/computer_3dprinter_bedflinger.obj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
							
								
								
									
										61
									
								
								computer/printers.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1,61 @@
 | 
			
		||||
-- Printers of some kind or another
 | 
			
		||||
 | 
			
		||||
local S = homedecor.gettext
 | 
			
		||||
 | 
			
		||||
minetest.register_node("computer:printer", {
 | 
			
		||||
	description = S("Printer-Scanner Combo"),
 | 
			
		||||
	inventory_image = "computer_printer_inv.png",
 | 
			
		||||
	tiles = {"computer_printer_t.png","computer_printer_bt.png","computer_printer_l.png",
 | 
			
		||||
			"computer_printer_r.png","computer_printer_b.png","computer_printer_f.png"},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "facedir",
 | 
			
		||||
	walkable = true,
 | 
			
		||||
	groups = {snappy=3},
 | 
			
		||||
	sound = default.node_sound_wood_defaults(),
 | 
			
		||||
	drawtype = "nodebox",
 | 
			
		||||
	node_box = {
 | 
			
		||||
		type = "fixed",
 | 
			
		||||
		fixed = {
 | 
			
		||||
			{-0.4375, -0.3125, -0.125, 0.4375, -0.0625, 0.375},
 | 
			
		||||
			{-0.4375, -0.5, -0.125, 0.4375, -0.4375, 0.375},
 | 
			
		||||
			{-0.4375, -0.5, -0.125, -0.25, -0.0625, 0.375},
 | 
			
		||||
			{0.25, -0.5, -0.125, 0.4375, -0.0625, 0.375},
 | 
			
		||||
			{-0.4375, -0.5, -0.0625, 0.4375, -0.0625, 0.375},
 | 
			
		||||
			{-0.375, -0.4375, 0.25, 0.375, -0.0625, 0.4375},
 | 
			
		||||
			{-0.25, -0.25, 0.4375, 0.25, 0.0625, 0.5},
 | 
			
		||||
			{-0.25, -0.481132, -0.3125, 0.25, -0.4375, 0}
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- "bedflinger" style 3D Printer (Prusa i3 or equivalent)
 | 
			
		||||
 | 
			
		||||
local cbox = {
 | 
			
		||||
	type = "fixed",
 | 
			
		||||
	fixed = {-0.25, -0.25, -0.5, 0.3, 0.3, 0.25 }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
minetest.register_node("computer:3dprinter_bedflinger", {
 | 
			
		||||
	description = S('3D Printer ("bedflinger")'),
 | 
			
		||||
	inventory_image = "computer_3dprinter_bedflinger_inv.png",
 | 
			
		||||
	tiles = {
 | 
			
		||||
		{ name = "computer_3dprinter_bedflinger.png", color = 0xffffffff },
 | 
			
		||||
		"computer_3dprinter_filament.png"
 | 
			
		||||
	},
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	walkable = true,
 | 
			
		||||
	groups = {snappy=3, ud_param2_colorable = 1},
 | 
			
		||||
	sound = default.node_sound_wood_defaults(),
 | 
			
		||||
	drawtype = "mesh",
 | 
			
		||||
	mesh = "computer_3dprinter_bedflinger.obj",
 | 
			
		||||
	paramtype2 = "colorwallmounted",
 | 
			
		||||
	palette = "unifieddyes_palette_colorwallmounted.png",
 | 
			
		||||
	selection_box = cbox,
 | 
			
		||||
	collision_box = cbox,
 | 
			
		||||
	after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
	on_rotate = unifieddyes.fix_after_screwdriver_nsew,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -1,4 +1,3 @@
 | 
			
		||||
 | 
			
		||||
local S = homedecor.gettext
 | 
			
		||||
 | 
			
		||||
local shapes = {
 | 
			
		||||
@@ -220,10 +219,10 @@ local function step(pos, fields)
 | 
			
		||||
	if fields then
 | 
			
		||||
		if fields.new then
 | 
			
		||||
			new_game(pos)
 | 
			
		||||
		else
 | 
			
		||||
		elseif t then
 | 
			
		||||
			key(fields)
 | 
			
		||||
		end
 | 
			
		||||
	else
 | 
			
		||||
	elseif t then
 | 
			
		||||
		run = tick()
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								computer/textures/computer_3dprinter_bedflinger.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.5 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								computer/textures/computer_3dprinter_bedflinger_inv.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 3.8 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								computer/textures/computer_3dprinter_filament.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 216 B  | 
@@ -3,7 +3,80 @@ local S = homedecor.gettext
 | 
			
		||||
 | 
			
		||||
screwdriver = screwdriver or {}
 | 
			
		||||
 | 
			
		||||
local function start_smoke(pos, node, clicker, chimney)
 | 
			
		||||
local function fire_particles_on(pos) -- 3 layers of fire
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	local id = minetest.add_particlespawner({ -- 1 layer big particles fire
 | 
			
		||||
		amount = 9,
 | 
			
		||||
		time = 0,
 | 
			
		||||
		minpos = {x = pos.x - 0.2, y = pos.y - 0.4, z = pos.z - 0.2},
 | 
			
		||||
		maxpos = {x = pos.x + 0.2, y = pos.y - 0.1, z = pos.z + 0.2},
 | 
			
		||||
		minvel = {x= 0, y= 0, z= 0},
 | 
			
		||||
		maxvel = {x= 0, y= 0.1, z= 0},
 | 
			
		||||
		minacc = {x= 0, y= 0, z= 0},
 | 
			
		||||
		maxacc = {x= 0, y= 0.7, z= 0},
 | 
			
		||||
		minexptime = 0.5,
 | 
			
		||||
		maxexptime = 0.7,
 | 
			
		||||
		minsize = 2,
 | 
			
		||||
		maxsize = 5,
 | 
			
		||||
		collisiondetection = false,
 | 
			
		||||
		vertical = true,
 | 
			
		||||
		texture = "fake_fire_particle_anim_fire.png",
 | 
			
		||||
		animation = {type="vertical_frames", aspect_w=16, aspect_h=16, length = 0.8,},
 | 
			
		||||
	})
 | 
			
		||||
	meta:set_int("layer_1", id)
 | 
			
		||||
 | 
			
		||||
	local id = minetest.add_particlespawner({ -- 2 layer smol particles fire
 | 
			
		||||
		amount = 1,
 | 
			
		||||
		time = 0,
 | 
			
		||||
		minpos = {x = pos.x - 0.1, y = pos.y, z = pos.z - 0.1},
 | 
			
		||||
		maxpos = {x = pos.x + 0.1, y = pos.y + 0.4, z = pos.z + 0.1},
 | 
			
		||||
		minvel = {x= 0, y= 0, z= 0},
 | 
			
		||||
		maxvel = {x= 0, y= 0.1, z= 0},
 | 
			
		||||
		minacc = {x= 0, y= 0, z= 0},
 | 
			
		||||
		maxacc = {x= 0, y= 1, z= 0},
 | 
			
		||||
		minexptime = 0.4,
 | 
			
		||||
		maxexptime = 0.6,
 | 
			
		||||
		minsize = 0.5,
 | 
			
		||||
		maxsize = 0.7,
 | 
			
		||||
		collisiondetection = false,
 | 
			
		||||
		vertical = true,
 | 
			
		||||
		texture = "fake_fire_particle_anim_fire.png",
 | 
			
		||||
		animation = {type="vertical_frames", aspect_w=16, aspect_h=16, length = 0.7,},
 | 
			
		||||
	})
 | 
			
		||||
	meta:set_int("layer_2", id)
 | 
			
		||||
 | 
			
		||||
	local id = minetest.add_particlespawner({ --3 layer smoke
 | 
			
		||||
		amount = 1,
 | 
			
		||||
		time = 0,
 | 
			
		||||
		minpos = {x = pos.x - 0.1, y = pos.y - 0.2, z = pos.z - 0.1},
 | 
			
		||||
		maxpos = {x = pos.x + 0.2, y = pos.y + 0.4, z = pos.z + 0.2},
 | 
			
		||||
		minvel = {x= 0, y= 0, z= 0},
 | 
			
		||||
		maxvel = {x= 0, y= 0.1, z= 0},
 | 
			
		||||
		minacc = {x= 0, y= 0, z= 0},
 | 
			
		||||
		maxacc = {x= 0, y= 1, z= 0},
 | 
			
		||||
		minexptime = 0.6,
 | 
			
		||||
		maxexptime = 0.8,
 | 
			
		||||
		minsize = 2,
 | 
			
		||||
		maxsize = 4,
 | 
			
		||||
		collisiondetection = true,
 | 
			
		||||
		vertical = true,
 | 
			
		||||
		texture = "fake_fire_particle_anim_smoke.png",
 | 
			
		||||
		animation = {type="vertical_frames", aspect_w=16, aspect_h=16, length = 0.9,},
 | 
			
		||||
	})
 | 
			
		||||
	meta:set_int("layer_3", id)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function fire_particles_off(pos)
 | 
			
		||||
	local meta = minetest.get_meta(pos)
 | 
			
		||||
	local id_1 = meta:get_int("layer_1");
 | 
			
		||||
	local id_2 = meta:get_int("layer_2");
 | 
			
		||||
	local id_3 = meta:get_int("layer_3");
 | 
			
		||||
	minetest.delete_particlespawner(id_1)
 | 
			
		||||
	minetest.delete_particlespawner(id_2)
 | 
			
		||||
	minetest.delete_particlespawner(id_3)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function start_fire_effects(pos, node, clicker, chimney)
 | 
			
		||||
	local this_spawner_meta = minetest.get_meta(pos)
 | 
			
		||||
	local id = this_spawner_meta:get_int("smoky")
 | 
			
		||||
	local s_handle = this_spawner_meta:get_int("sound")
 | 
			
		||||
@@ -41,7 +114,7 @@ local function start_smoke(pos, node, clicker, chimney)
 | 
			
		||||
				max_hear_distance = 5,
 | 
			
		||||
				loop = true
 | 
			
		||||
			})
 | 
			
		||||
			this_spawner_meta:set_int("smoky", id)
 | 
			
		||||
			fire_particles_on(pos)
 | 
			
		||||
			this_spawner_meta:set_int("sound", s_handle)
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
@@ -83,7 +156,7 @@ minetest.register_node("fake_fire:ice_fire", {
 | 
			
		||||
		aspect_w=16, aspect_h=16, length=1.5}},
 | 
			
		||||
	},
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		start_smoke(pos, node, clicker)
 | 
			
		||||
		start_fire_effects(pos, node, clicker)
 | 
			
		||||
		return itemstack
 | 
			
		||||
	end,
 | 
			
		||||
	on_destruct = function (pos)
 | 
			
		||||
@@ -97,6 +170,11 @@ minetest.register_node("fake_fire:ice_fire", {
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("fake_fire:fake_fire", "fire:permanent_flame")
 | 
			
		||||
 | 
			
		||||
local sbox = {
 | 
			
		||||
	type = 'fixed',
 | 
			
		||||
	fixed = { -8/16, -8/16, -8/16, 8/16, -6/16, 8/16},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
minetest.register_node("fake_fire:fancy_fire", {
 | 
			
		||||
	inventory_image = "fancy_fire_inv.png",
 | 
			
		||||
	description = S("Fancy Fire"),
 | 
			
		||||
@@ -104,21 +182,28 @@ minetest.register_node("fake_fire:fancy_fire", {
 | 
			
		||||
	mesh = "fancy_fire.obj",
 | 
			
		||||
	paramtype = "light",
 | 
			
		||||
	paramtype2 = "facedir",
 | 
			
		||||
		groups = {dig_immediate=3},
 | 
			
		||||
	groups = {oddly_breakable_by_hand=3, flammable=0},
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
		light_source = 14,
 | 
			
		||||
	light_source = 13,
 | 
			
		||||
	walkable = false,
 | 
			
		||||
		damage_per_second = 4,
 | 
			
		||||
		on_rotate = screwdriver.rotate_simple,
 | 
			
		||||
	buildable_to = false,
 | 
			
		||||
	damage_per_second = 3,
 | 
			
		||||
	selection_box = sbox,
 | 
			
		||||
	tiles = {
 | 
			
		||||
		{name="fake_fire_animated.png",
 | 
			
		||||
		animation={type='vertical_frames', aspect_w=16, aspect_h=16, length=1}}, {name='fake_fire_logs.png'}},
 | 
			
		||||
		"basic_materials_concrete_block.png",
 | 
			
		||||
		"default_junglewood.png",
 | 
			
		||||
		"fake_fire_empty_tile.png"
 | 
			
		||||
	},
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
			start_smoke(pos, node, clicker)
 | 
			
		||||
		fire_particles_on(pos)
 | 
			
		||||
		return itemstack
 | 
			
		||||
	end,
 | 
			
		||||
		on_destruct = function (pos)
 | 
			
		||||
			stop_smoke(pos)
 | 
			
		||||
	on_construct = function(pos)
 | 
			
		||||
		local meta = minetest.get_meta(pos)
 | 
			
		||||
		fire_particles_on(pos)
 | 
			
		||||
	end,
 | 
			
		||||
	on_destruct = function(pos, oldnode, oldmetadata, digger)
 | 
			
		||||
		fire_particles_off(pos)
 | 
			
		||||
		minetest.sound_play("fire_extinguish", {
 | 
			
		||||
			pos = pos, max_hear_distance = 5
 | 
			
		||||
		})
 | 
			
		||||
@@ -168,7 +253,7 @@ for _, mat in ipairs(materials) do
 | 
			
		||||
		},
 | 
			
		||||
		on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
			local chimney = 1
 | 
			
		||||
			start_smoke(pos, node, clicker, chimney)
 | 
			
		||||
			start_fire_effects(pos, node, clicker, chimney)
 | 
			
		||||
			return itemstack
 | 
			
		||||
		end,
 | 
			
		||||
		on_destruct = function (pos)
 | 
			
		||||
@@ -209,8 +294,22 @@ minetest.register_craft({
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- ALIASES
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("fake_fire:smokeless_fire", "fake_fire:fake_fire")
 | 
			
		||||
minetest.register_alias("fake_fire:smokeless_ice_fire", "fake_fire:ice_fire")
 | 
			
		||||
minetest.register_alias("fake_fire:smokeless_chimney_top_stone", "fake_fire:chimney_top_stone")
 | 
			
		||||
minetest.register_alias("fake_fire:smokeless_chimney_top_sandstone", "fake_fire:chimney_top_sandstone")
 | 
			
		||||
minetest.register_alias("fake_fire:flint", "fake_fire:flint_and_steel")
 | 
			
		||||
 | 
			
		||||
-- OTHER
 | 
			
		||||
 | 
			
		||||
minetest.register_lbm({
 | 
			
		||||
	name = "fake_fire:reload_particles",
 | 
			
		||||
	label = "restart fire particles on reload",
 | 
			
		||||
	nodenames = {"fake_fire:fancy_fire"},
 | 
			
		||||
	run_at_every_load = true,
 | 
			
		||||
	action = function(pos, node)
 | 
			
		||||
		fire_particles_off(pos)
 | 
			
		||||
		fire_particles_on(pos)
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								fake_fire/textures/fake_fire_empty_tile.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 68 B  | 
| 
		 Before Width: | Height: | Size: 2.0 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								fake_fire/textures/fake_fire_particle_anim_fire.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 251 B  | 
							
								
								
									
										
											BIN
										
									
								
								fake_fire/textures/fake_fire_particle_anim_smoke.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| 
		 After Width: | Height: | Size: 275 B  | 
@@ -15,6 +15,7 @@ minetest.register_node(":homedecor:bathroom_tiles_dark", {
 | 
			
		||||
	groups = {cracky=3, ud_param2_colorable = 1},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
	on_construct = unifieddyes.on_construct,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node(":homedecor:bathroom_tiles_medium", {
 | 
			
		||||
@@ -31,6 +32,7 @@ minetest.register_node(":homedecor:bathroom_tiles_medium", {
 | 
			
		||||
	groups = {cracky=3, ud_param2_colorable = 1},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
	on_construct = unifieddyes.on_construct,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node(":homedecor:bathroom_tiles_light", {
 | 
			
		||||
@@ -47,6 +49,7 @@ minetest.register_node(":homedecor:bathroom_tiles_light", {
 | 
			
		||||
	groups = {cracky=3, ud_param2_colorable = 1},
 | 
			
		||||
	sounds = default.node_sound_stone_defaults(),
 | 
			
		||||
	on_construct = unifieddyes.on_construct,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
local tr_cbox = {
 | 
			
		||||
 
 | 
			
		||||
@@ -59,6 +59,7 @@ homedecor.register("bed_regular", {
 | 
			
		||||
	after_dig_node = function(pos, oldnode, oldmetadata, digger)
 | 
			
		||||
		homedecor.unextend_bed(pos)
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		local itemname = itemstack:get_name()
 | 
			
		||||
		if itemname == "homedecor:bed_regular" then
 | 
			
		||||
@@ -92,6 +93,7 @@ homedecor.register("bed_extended", {
 | 
			
		||||
	after_dig_node = function(pos, oldnode, oldmetadata, digger)
 | 
			
		||||
		homedecor.unextend_bed(pos)
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
--	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
--		homedecor.beds_on_rightclick(pos, node, clicker)
 | 
			
		||||
--		return itemstack
 | 
			
		||||
@@ -128,6 +130,7 @@ homedecor.register("bed_kingsize", {
 | 
			
		||||
			inv:add_item("main", "homedecor:bed_regular 2")
 | 
			
		||||
		end
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
--	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
--		homedecor.beds_on_rightclick(pos, node, clicker)
 | 
			
		||||
--		return itemstack
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ minetest.register_node(":homedecor:cobweb_corner", {
 | 
			
		||||
	end
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_node(":Lhomedecor:cobweb_centered", {
 | 
			
		||||
minetest.register_node(":homedecor:cobweb_centered", {
 | 
			
		||||
	description = S("Cobweb"),
 | 
			
		||||
	drawtype = "nodebox",
 | 
			
		||||
	tiles = { "homedecor_cobweb.png" },
 | 
			
		||||
 
 | 
			
		||||
@@ -80,7 +80,7 @@ local furnace_can_dig = function(pos,player)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function homedecor.register_furnace(name, furnacedef)
 | 
			
		||||
	furnacedef.fire_fg = furnacedef.fire_bg or "default_furnace_fire_fg.png"
 | 
			
		||||
	furnacedef.fire_fg = furnacedef.fire_fg or "default_furnace_fire_fg.png"
 | 
			
		||||
	furnacedef.fire_bg = furnacedef.fire_bg or "default_furnace_fire_bg.png"
 | 
			
		||||
 | 
			
		||||
	furnacedef.output_slots = furnacedef.output_slots or 4
 | 
			
		||||
 
 | 
			
		||||
| 
		 Before Width: | Height: | Size: 591 B After Width: | Height: | Size: 591 B  | 
							
								
								
									
										0
									
								
								homedecor_common/tools/updatepo.sh
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						@@ -586,8 +586,8 @@ minetest.register_craft( {
 | 
			
		||||
        output = "doors:homedecor_french_mahogany 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			"dye:brown",
 | 
			
		||||
			"doors:homedecor_wood_glass_oak_a",
 | 
			
		||||
			"doors:homedecor_wood_glass_oak_a"
 | 
			
		||||
			"doors:homedecor_french_oak",
 | 
			
		||||
			"doors:homedecor_french_oak"
 | 
			
		||||
        },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -596,8 +596,8 @@ minetest.register_craft( {
 | 
			
		||||
        output = "doors:homedecor_french_white 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			"dye:white",
 | 
			
		||||
			"doors:homedecor_wood_glass_oak_a",
 | 
			
		||||
			"doors:homedecor_wood_glass_oak_a"
 | 
			
		||||
			"doors:homedecor_french_oak",
 | 
			
		||||
			"doors:homedecor_french_oak"
 | 
			
		||||
        },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -620,8 +620,8 @@ minetest.register_craft( {
 | 
			
		||||
	type = "shapeless",
 | 
			
		||||
        output = "doors:homedecor_closet_mahogany 2",
 | 
			
		||||
        recipe = {
 | 
			
		||||
			"doors:homedecor_closet_oak_a",
 | 
			
		||||
			"doors:homedecor_closet_oak_a",
 | 
			
		||||
			"doors:homedecor_closet_oak",
 | 
			
		||||
			"doors:homedecor_closet_oak",
 | 
			
		||||
			"dye:brown"
 | 
			
		||||
        },
 | 
			
		||||
})
 | 
			
		||||
@@ -643,7 +643,7 @@ minetest.register_craft( {
 | 
			
		||||
	output = "doors:homedecor_basic_panel",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ "dye:white", "dye:white", "" },
 | 
			
		||||
		{ "doors:homedecor_wood_plain_a", "basic_materials:brass_ingot", "" },
 | 
			
		||||
		{ "doors:homedecor_wood_plain", "basic_materials:brass_ingot", "" },
 | 
			
		||||
		{ "", "", "" },
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
@@ -16,8 +16,6 @@ function homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local on_rc
 | 
			
		||||
local switch_receptor
 | 
			
		||||
 | 
			
		||||
if minetest.get_modpath("mesecons") then
 | 
			
		||||
	on_rc = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		local t = homedecor.toggle_switch(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
@@ -28,12 +26,6 @@ if minetest.get_modpath("mesecons") then
 | 
			
		||||
			mesecon.receptor_on(pos, mesecon.rules.buttonlike_get(node))
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
	switch_receptor = {
 | 
			
		||||
		receptor = {
 | 
			
		||||
			state = mesecon.state[onoff],
 | 
			
		||||
			rules = mesecon.rules.buttonlike_get
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
homedecor.register("power_outlet", {
 | 
			
		||||
@@ -65,6 +57,16 @@ homedecor.register("power_outlet", {
 | 
			
		||||
 | 
			
		||||
for _, onoff in ipairs ({"on", "off"}) do
 | 
			
		||||
 | 
			
		||||
	local switch_receptor
 | 
			
		||||
	if minetest.get_modpath("mesecons") then
 | 
			
		||||
		switch_receptor = {
 | 
			
		||||
			receptor = {
 | 
			
		||||
				state = mesecon.state[onoff],
 | 
			
		||||
				rules = mesecon.rules.buttonlike_get
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	local model = {
 | 
			
		||||
		{ -0.125,   -0.1875, 0.4375,  0.125,   0.125,  0.5 },
 | 
			
		||||
		{ -0.03125,  0,      0.40625, 0.03125, 0.0625, 0.5 },
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,7 @@ homedecor_common
 | 
			
		||||
default
 | 
			
		||||
dye
 | 
			
		||||
creative
 | 
			
		||||
basic_materials
 | 
			
		||||
moreblocks?
 | 
			
		||||
building_blocks?
 | 
			
		||||
bucket?
 | 
			
		||||
 
 | 
			
		||||
@@ -349,7 +349,7 @@ minetest.register_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ "","homedecor:fence_chainlink","" },
 | 
			
		||||
		{ "default:steel_ingot","fake_fire:embers","default:steel_ingot" },
 | 
			
		||||
		{ "homedecor:pole_wrought_iron","default:steel_ingot","homedecor:pole_wrought_iron" }
 | 
			
		||||
		{ "basic_materials:steel_bar","default:steel_ingot","basic_materials:steel_bar" }
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,19 +1,5 @@
 | 
			
		||||
-- This file adds fences of various types
 | 
			
		||||
 | 
			
		||||
local signs_modpath = minetest.get_modpath("signs_lib")
 | 
			
		||||
 | 
			
		||||
local sign_post_model = {
 | 
			
		||||
	type = "fixed",
 | 
			
		||||
	fixed = {
 | 
			
		||||
			{-0.4375, -0.25, -0.1875, 0.4375, 0.375, -0.125},
 | 
			
		||||
			{-0.125, -0.5, -0.125, 0.125, 0.5, 0.125},
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if signs_modpath then
 | 
			
		||||
	sign_post_model = signs_lib.sign_post_model.nodebox
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local S = homedecor.gettext
 | 
			
		||||
 | 
			
		||||
local materials = {
 | 
			
		||||
@@ -35,32 +21,6 @@ homedecor.register("fence_"..name, {
 | 
			
		||||
		sounds = default.node_sound_wood_defaults(),
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
-- brass/wrought iron with signs:
 | 
			
		||||
 | 
			
		||||
homedecor.register("fence_"..name.."_with_sign", {
 | 
			
		||||
	description = S("Fence/railing with sign (@1)", desc),
 | 
			
		||||
	tiles = {
 | 
			
		||||
		"homedecor_sign_"..name.."_post_top.png",
 | 
			
		||||
		"homedecor_sign_"..name.."_post_bottom.png",
 | 
			
		||||
		"homedecor_sign_"..name.."_post_side.png",
 | 
			
		||||
		"homedecor_sign_"..name.."_post_side.png",
 | 
			
		||||
		"homedecor_sign_"..name.."_post_back.png",
 | 
			
		||||
		"homedecor_sign_"..name.."_post_front.png",
 | 
			
		||||
	},
 | 
			
		||||
	wield_image = "homedecor_sign_"..name.."_post.png",
 | 
			
		||||
	node_box = sign_post_model,
 | 
			
		||||
	groups = {snappy=3,not_in_creative_inventory=1},
 | 
			
		||||
	sounds = default.node_sound_wood_defaults(),
 | 
			
		||||
	sunlight_propagates = true,
 | 
			
		||||
	drop = {
 | 
			
		||||
		max_items = 2,
 | 
			
		||||
		items = {
 | 
			
		||||
			{ items = { "default:sign_wall" }},
 | 
			
		||||
			{ items = { "homedecor:fence_"..name }},
 | 
			
		||||
		},
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- other types of fences
 | 
			
		||||
@@ -303,9 +263,15 @@ homedecor.register("fence_wrought_iron_2_corner", {
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
if signs_modpath then
 | 
			
		||||
	signs_lib.register_fence_with_sign("homedecor:fence_brass", "homedecor:fence_brass_with_sign")
 | 
			
		||||
	signs_lib.register_fence_with_sign("homedecor:fence_wrought_iron", "homedecor:fence_wrought_iron_with_sign")
 | 
			
		||||
-- insert the old wood signs-on-metal-fences into signs_lib's conversion LBM
 | 
			
		||||
if minetest.get_modpath("signs_lib") then
 | 
			
		||||
	table.insert(signs_lib.old_fenceposts_with_signs, "homedecor:fence_brass_with_sign")
 | 
			
		||||
	signs_lib.old_fenceposts["homedecor:fence_brass_with_sign"] = "homedecor:fence_brass"
 | 
			
		||||
	signs_lib.old_fenceposts_replacement_signs["homedecor:fence_brass_with_sign"] = "default:sign_wall_wood_onpole"
 | 
			
		||||
 | 
			
		||||
	table.insert(signs_lib.old_fenceposts_with_signs, "homedecor:fence_wrought_iron_with_sign")
 | 
			
		||||
	signs_lib.old_fenceposts["homedecor:fence_wrought_iron_with_sign"] = "homedecor:fence_wrought_iron"
 | 
			
		||||
	signs_lib.old_fenceposts_replacement_signs["homedecor:fence_wrought_iron_with_sign"] = "default:sign_wall_wood_onpole"
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- crafting
 | 
			
		||||
 
 | 
			
		||||
@@ -164,18 +164,7 @@ homedecor.register("beer_mug", {
 | 
			
		||||
	on_use = function(itemstack, user, pointed_thing)
 | 
			
		||||
		local inv = user:get_inventory()
 | 
			
		||||
		if not creative.is_enabled_for(user:get_player_name()) then
 | 
			
		||||
			if inv:room_for_item("main", "vessels:drinking_glass 1") then
 | 
			
		||||
				inv:add_item("main", "vessels:drinking_glass 1")
 | 
			
		||||
			else
 | 
			
		||||
				local pos = user:get_pos()
 | 
			
		||||
				local dir = user:get_look_dir()
 | 
			
		||||
				local fdir = minetest.dir_to_facedir(dir)
 | 
			
		||||
				local pos_fwd = {	x = pos.x + homedecor.fdir_to_fwd[fdir+1][1],
 | 
			
		||||
									y = pos.y + 1,
 | 
			
		||||
									z = pos.z + homedecor.fdir_to_fwd[fdir+1][2] }
 | 
			
		||||
				minetest.add_item(pos_fwd, "vessels:drinking_glass 1")
 | 
			
		||||
			end
 | 
			
		||||
			minetest.do_item_eat(2, nil, itemstack, user, pointed_thing)
 | 
			
		||||
			minetest.do_item_eat(2, "vessels:drinking_glass 1", itemstack, user, pointed_thing)
 | 
			
		||||
			return itemstack
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
 
 | 
			
		||||
@@ -98,11 +98,12 @@ local digiline_on_punch
 | 
			
		||||
if minetest.get_modpath("digilines") then
 | 
			
		||||
 | 
			
		||||
	local on_digiline_receive_string = function(pos, node, channel, msg)
 | 
			
		||||
		if not msg or not channel then return end
 | 
			
		||||
		local meta = minetest.get_meta(pos)
 | 
			
		||||
		local setchan = meta:get_string("channel")
 | 
			
		||||
		if setchan ~= channel then return end
 | 
			
		||||
 | 
			
		||||
		if msg and msg ~= "" then
 | 
			
		||||
		if msg ~= "" and (type(msg) == "string" or type(msg) == "number" ) then
 | 
			
		||||
			local n = tonumber(msg)
 | 
			
		||||
			local suff = word_to_bright[msg] or "invalid"
 | 
			
		||||
 | 
			
		||||
@@ -285,6 +286,7 @@ for brightness_level = 0, 14 do
 | 
			
		||||
		after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
			unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		end,
 | 
			
		||||
		on_dig = unifieddyes.on_dig,
 | 
			
		||||
		on_rightclick = homedecor.toggle_light,
 | 
			
		||||
		drop = {
 | 
			
		||||
			items = {
 | 
			
		||||
@@ -350,6 +352,7 @@ for brightness_level = 0, 14 do
 | 
			
		||||
		after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
			unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		end,
 | 
			
		||||
		on_dig = unifieddyes.on_dig,
 | 
			
		||||
		on_rightclick = homedecor.toggle_light,
 | 
			
		||||
		drop = {
 | 
			
		||||
			items = {
 | 
			
		||||
@@ -416,6 +419,7 @@ for brightness_level = 0, 14 do
 | 
			
		||||
		after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
			unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		end,
 | 
			
		||||
		on_dig = unifieddyes.on_dig,
 | 
			
		||||
		on_rightclick = homedecor.toggle_light,
 | 
			
		||||
		drop = {
 | 
			
		||||
			items = {
 | 
			
		||||
@@ -636,6 +640,7 @@ for brightness_level = 0, 14 do
 | 
			
		||||
		after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
			unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		end,
 | 
			
		||||
		on_dig = unifieddyes.on_dig,
 | 
			
		||||
		on_rotate = unifieddyes.fix_after_screwdriver_nsew,
 | 
			
		||||
		light_source = brightness_level,
 | 
			
		||||
		on_rightclick = homedecor.toggle_light,
 | 
			
		||||
@@ -713,7 +718,8 @@ for brightness_level = 0, 14 do
 | 
			
		||||
		digiline =      homedecor.digiline_alldir_light,
 | 
			
		||||
		mesecons =      homedecor.mesecon_wall_light,
 | 
			
		||||
		on_rightclick = homedecor.toggle_light,
 | 
			
		||||
		on_punch =      digiline_on_punch
 | 
			
		||||
		on_punch =      digiline_on_punch,
 | 
			
		||||
		on_dig = unifieddyes.on_dig,
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	homedecor.register("standing_lamp_"..brightness_level, {
 | 
			
		||||
@@ -744,7 +750,8 @@ for brightness_level = 0, 14 do
 | 
			
		||||
		digiline =      homedecor.digiline_alldir_light,
 | 
			
		||||
		mesecons =      homedecor.mesecon_wall_light,
 | 
			
		||||
		on_rightclick = homedecor.toggle_light,
 | 
			
		||||
		on_punch =      digiline_on_punch
 | 
			
		||||
		on_punch =      digiline_on_punch,
 | 
			
		||||
		on_dig = unifieddyes.on_dig,
 | 
			
		||||
	})
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,3 +5,4 @@ unifieddyes
 | 
			
		||||
building_blocks?
 | 
			
		||||
technic?
 | 
			
		||||
bucket?
 | 
			
		||||
signs_lib?
 | 
			
		||||
 
 | 
			
		||||
@@ -145,6 +145,7 @@ homedecor.register("pole_brass", {
 | 
			
		||||
	},
 | 
			
		||||
	groups = {snappy=3},
 | 
			
		||||
	sounds = default.node_sound_wood_defaults(),
 | 
			
		||||
	check_for_pole = true
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
homedecor.register("pole_wrought_iron", {
 | 
			
		||||
@@ -478,6 +479,7 @@ for _, side in ipairs({"diagonal_left", "diagonal_right", "horizontal"}) do
 | 
			
		||||
			def.airbrush_replacement_node = "homedecor:banister_wood_"..side.."_grey"
 | 
			
		||||
			def.groups.ud_param2_colorable = 1
 | 
			
		||||
			def.paramtype2 = "colorfacedir"
 | 
			
		||||
			def.on_dig = unifieddyes.on_dig
 | 
			
		||||
		end
 | 
			
		||||
		homedecor.register(nodename, def)
 | 
			
		||||
 | 
			
		||||
@@ -918,7 +920,7 @@ minetest.register_craft({
 | 
			
		||||
minetest.register_craft({
 | 
			
		||||
	output = "homedecor:sportbench",
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ "stairs:slab_steelblock","homedecor:pole_wrought_iron","stairs:slab_steelblock" },
 | 
			
		||||
		{ "stairs:slab_steelblock","basic_materials:steel_bar","stairs:slab_steelblock" },
 | 
			
		||||
		{ "default:steel_ingot","wool:black","default:steel_ingot" },
 | 
			
		||||
		{ "default:steel_ingot","wool:black","default:steel_ingot" }
 | 
			
		||||
	},
 | 
			
		||||
 
 | 
			
		||||
@@ -26,6 +26,7 @@ minetest.register_node(":lrfurn:armchair", {
 | 
			
		||||
	after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
	on_rotate = unifieddyes.fix_after_screwdriver_nsew,
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		if not clicker:is_player() then
 | 
			
		||||
@@ -51,10 +52,11 @@ homedecor.register("armchair", {
 | 
			
		||||
	palette = "unifieddyes_palette_colorwallmounted.png",
 | 
			
		||||
	groups = {snappy=3, ud_param2_colorable = 1},
 | 
			
		||||
	sounds = default.node_sound_wood_defaults(),
 | 
			
		||||
	node_box = ac_cbox,
 | 
			
		||||
	node_box = armchair_cbox,
 | 
			
		||||
	after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
	on_rotate = unifieddyes.fix_after_screwdriver_nsew,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,3 +2,4 @@ default
 | 
			
		||||
wool
 | 
			
		||||
homedecor_common
 | 
			
		||||
unifieddyes
 | 
			
		||||
basic_materials
 | 
			
		||||
 
 | 
			
		||||
@@ -41,6 +41,7 @@ minetest.register_node(":lrfurn:longsofa", {
 | 
			
		||||
		end
 | 
			
		||||
		return itemstack
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		if not clicker:is_player() then
 | 
			
		||||
			return itemstack
 | 
			
		||||
 
 | 
			
		||||
@@ -153,6 +153,7 @@ homedecor.register("kitchen_chair_padded", {
 | 
			
		||||
	after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.fix_rotation_nsew(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
	on_rotate = unifieddyes.fix_after_screwdriver_nsew,
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		pos.y = pos.y+0 -- where do I put my ass ?
 | 
			
		||||
@@ -211,7 +212,7 @@ minetest.register_craft( {
 | 
			
		||||
        recipe = {
 | 
			
		||||
			{ "group:wood", "group:wood", "group:wood" },
 | 
			
		||||
			{ "group:wood", "group:wood", "group:wood" },
 | 
			
		||||
			{ "homedecor:pole_wrought_iron", "", "homedecor:pole_wrought_iron" }
 | 
			
		||||
			{ "basic_materials:steel_bar", "", "basic_materials:steel_bar" }
 | 
			
		||||
        },
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -315,7 +316,7 @@ minetest.register_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ "", "", "wool:black" },
 | 
			
		||||
		{ "", "wool:black", "default:steel_ingot" },
 | 
			
		||||
		{ "group:stick", "homedecor:pole_wrought_iron", "group:stick" }
 | 
			
		||||
		{ "group:stick", "basic_materials:steel_bar", "group:stick" }
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@@ -324,7 +325,7 @@ minetest.register_craft({
 | 
			
		||||
	recipe = {
 | 
			
		||||
		{ "dye:black", "building_blocks:sticks", "group:wool" },
 | 
			
		||||
		{ "basic_materials:plastic_sheet", "group:wool", "default:steel_ingot" },
 | 
			
		||||
		{ "building_blocks:sticks", "homedecor:pole_wrought_iron", "building_blocks:sticks" }
 | 
			
		||||
		{ "building_blocks:sticks", "basic_materials:steel_bar", "building_blocks:sticks" }
 | 
			
		||||
	},
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -41,6 +41,7 @@ minetest.register_node(":lrfurn:sofa", {
 | 
			
		||||
		end
 | 
			
		||||
		return itemstack
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		if not clicker:is_player() then
 | 
			
		||||
			return itemstack
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,7 @@
 | 
			
		||||
homedecor_common
 | 
			
		||||
default
 | 
			
		||||
player_api
 | 
			
		||||
homedecor_kitchen?
 | 
			
		||||
homedecor_misc?
 | 
			
		||||
3d_armor?
 | 
			
		||||
skinsdb?
 | 
			
		||||
 
 | 
			
		||||
@@ -115,6 +115,7 @@ minetest.register_node(":homedecor:curtain_closed", {
 | 
			
		||||
	after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		minetest.set_node(pos, { name = "homedecor:curtain_open", param2 = node.param2 })
 | 
			
		||||
		return itemstack
 | 
			
		||||
@@ -137,6 +138,7 @@ minetest.register_node(":homedecor:curtain_open", {
 | 
			
		||||
	after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		minetest.set_node(pos, { name = "homedecor:curtain_closed", param2 = node.param2 })
 | 
			
		||||
		return itemstack
 | 
			
		||||
@@ -243,6 +245,7 @@ homedecor.register("shutter", {
 | 
			
		||||
	after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
homedecor.register("shutter_colored", {
 | 
			
		||||
@@ -260,6 +263,7 @@ homedecor.register("shutter_colored", {
 | 
			
		||||
	after_place_node = function(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
		unifieddyes.fix_rotation(pos, placer, itemstack, pointed_thing)
 | 
			
		||||
	end,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
minetest.register_alias("homedecor:shutter_purple", "homedecor:shutter_violet")
 | 
			
		||||
 
 | 
			
		||||
@@ -38,6 +38,7 @@ minetest.register_node("lavalamp:lavalamp", {
 | 
			
		||||
	groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, ud_param2_colorable = 1},
 | 
			
		||||
	sounds = default.node_sound_glass_defaults(),
 | 
			
		||||
	on_construct = unifieddyes.on_construct,
 | 
			
		||||
	on_dig = unifieddyes.on_dig,
 | 
			
		||||
	on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
 | 
			
		||||
		node.name = "lavalamp:lavalamp_off"
 | 
			
		||||
		minetest.swap_node(pos, node)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								modpack.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						@@ -0,0 +1 @@
 | 
			
		||||
min_minetest_version = 5.2.0
 | 
			
		||||