forked from minetest-mods/technic
		
	Unify and simplify LED/Lamp node definition
This commit is contained in:
		| @@ -84,21 +84,12 @@ local function lamp_toggle(pos, node, player) | ||||
| 	end | ||||
| end | ||||
|  | ||||
| minetest.register_node("technic:lv_lamp", { | ||||
| 	description = desc, | ||||
| local common_fields = { | ||||
| 	drawtype = "nodebox", | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} | ||||
| 	}, | ||||
| 	collision_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} | ||||
| 	}, | ||||
| 	selection_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5,0.5,0.5,-0.5,-0.2,-0.5} | ||||
| 	}, | ||||
| 	tiles = { | ||||
| 		"technic_lv_lamp_top.png", | ||||
| 		"technic_lv_lamp_bottom.png", | ||||
| @@ -107,56 +98,50 @@ minetest.register_node("technic:lv_lamp", { | ||||
| 		"technic_lv_lamp_side.png", | ||||
| 		"technic_lv_lamp_side.png" | ||||
| 	}, | ||||
| 	groups = {cracky = 2, technic_machine = 1, technic_lv = 1}, | ||||
| 	connect_sides = {"front", "back", "left", "right", "top"}, | ||||
| 	can_dig = technic.machine_can_dig, | ||||
| 	technic_run = lamp_run, | ||||
| 	on_destruct = illuminate, | ||||
| 	on_rightclick = lamp_toggle | ||||
| } | ||||
|  | ||||
| local ndef | ||||
|  | ||||
| ndef = { | ||||
| 	description = desc, | ||||
| 	groups = {cracky = 2, technic_machine = 1, technic_lv = 1}, | ||||
| 	on_construct = function(pos) | ||||
| 		local meta = minetest.get_meta(pos) | ||||
| 		meta:set_string("infotext", desc) | ||||
| 		meta:set_int("LV_EU_demand", demand) | ||||
| 	end, | ||||
| 	on_destruct = illuminate, | ||||
| 	on_rightclick = lamp_toggle | ||||
| }) | ||||
| 	end | ||||
| } | ||||
|  | ||||
| minetest.register_node("technic:lv_lamp_active", { | ||||
| for k, v in pairs(common_fields) do | ||||
| 	ndef[k] = v | ||||
| end | ||||
|  | ||||
| minetest.register_node("technic:lv_lamp", ndef) | ||||
|  | ||||
|  | ||||
| ndef = { | ||||
| 	description = active_desc, | ||||
| 	drawtype = "nodebox", | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5, 0.5, 0.5, -0.5, -0.2, -0.5} | ||||
| 	}, | ||||
| 	collision_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5, 0.5, 0.5, -0.5, -0.2, -0.5} | ||||
| 	}, | ||||
| 	selection_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5, 0.5, 0.5, -0.5, -0.2, -0.5} | ||||
| 	}, | ||||
| 	tiles = { | ||||
| 		"technic_lv_lamp_top.png", | ||||
| 		"technic_lv_lamp_bottom.png", | ||||
| 		"technic_lv_lamp_side.png", | ||||
| 		"technic_lv_lamp_side.png", | ||||
| 		"technic_lv_lamp_side.png", | ||||
| 		"technic_lv_lamp_side.png" | ||||
| 	}, | ||||
| 	paramtype = "light", | ||||
| 	light_source = 14, | ||||
| 	drop = "technic:lv_lamp", | ||||
| 	groups = {cracky = 2, technic_machine = 1, technic_lv = 1, not_in_creative_inventory = 1}, | ||||
| 	connect_sides = {"front", "back", "left", "right", "top"}, | ||||
| 	can_dig = technic.machine_can_dig, | ||||
| 	technic_run = lamp_run, | ||||
| 	technic_on_disable = function(pos) | ||||
| 		illuminate(pos, false) | ||||
| 		technic.swap_node(pos, "technic:lv_lamp") | ||||
| 	end, | ||||
| 	on_destruct = illuminate, | ||||
| 	on_rightclick = lamp_toggle, | ||||
| }) | ||||
| } | ||||
|  | ||||
| for k, v in pairs(common_fields) do | ||||
| 	ndef[k] = v | ||||
| end | ||||
|  | ||||
| minetest.register_node("technic:lv_lamp_active", ndef) | ||||
|  | ||||
|  | ||||
| technic.register_machine("LV", "technic:lv_lamp", technic.receiver) | ||||
| technic.register_machine("LV", "technic:lv_lamp_active", technic.receiver) | ||||
|   | ||||
| @@ -22,21 +22,12 @@ local function led_run(pos, node) | ||||
| 	end | ||||
| end | ||||
|  | ||||
| minetest.register_node("technic:lv_led", { | ||||
| 	description = desc, | ||||
| local common_fields = { | ||||
| 	drawtype = "nodebox", | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5, 0.5, 0.5, -0.5, 0.3, -0.5} | ||||
| 	}, | ||||
| 	collision_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5, 0.5, 0.5, -0.5, 0.3, -0.5} | ||||
| 	}, | ||||
| 	selection_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5, 0.5, 0.5, -0.5, 0.3, -0.5} | ||||
| 	}, | ||||
| 	tiles = { | ||||
| 		"technic_lv_led_top.png", | ||||
| 		"technic_lv_led.png", | ||||
| @@ -45,55 +36,51 @@ minetest.register_node("technic:lv_led", { | ||||
| 		"technic_lv_led_side2.png", | ||||
| 		"technic_lv_led_side2.png", | ||||
| 	}, | ||||
| 	inventory_image = "technic_lv_led_inv.png", | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {cracky = 2, technic_machine = 1, technic_lv = 1}, | ||||
|  | ||||
| 	connect_sides = {"front", "back", "left", "right", "top", "bottom"}, | ||||
| 	can_dig = technic.machine_can_dig, | ||||
| 	technic_run = led_run, | ||||
| } | ||||
|  | ||||
| local ndef | ||||
|  | ||||
| ndef = { | ||||
| 	description = desc, | ||||
| 	inventory_image = "technic_lv_led_inv.png", | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {cracky = 2, technic_machine = 1, technic_lv = 1}, | ||||
|  | ||||
| 	on_construct = function(pos) | ||||
| 		local meta = minetest.get_meta(pos) | ||||
| 		meta:set_string("infotext", desc) | ||||
| 		meta:set_int("LV_EU_demand", demand) | ||||
| 	end, | ||||
| }) | ||||
| } | ||||
|  | ||||
| minetest.register_node("technic:lv_led_active", { | ||||
| for k, v in pairs(common_fields) do | ||||
| 	ndef[k] = v | ||||
| end | ||||
|  | ||||
| minetest.register_node("technic:lv_led", ndef) | ||||
|  | ||||
|  | ||||
| ndef = { | ||||
| 	description = active_desc, | ||||
| 	drawtype = "nodebox", | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5, 0.5, 0.5, -0.5, 0.3, -0.5} | ||||
| 	}, | ||||
| 	collision_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5, 0.5, 0.5, -0.5, 0.3, -0.5} | ||||
| 	}, | ||||
| 	selection_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {0.5, 0.5, 0.5, -0.5, 0.3, -0.5} | ||||
| 	}, | ||||
| 	tiles = { | ||||
| 		"technic_lv_led_top.png", | ||||
| 		"technic_lv_led.png", | ||||
| 		"technic_lv_led_side.png", | ||||
| 		"technic_lv_led_side2.png", | ||||
| 		"technic_lv_led_side2.png", | ||||
| 		"technic_lv_led_side2.png", | ||||
| 	}, | ||||
| 	inventory_image = "technic_lv_led_inv.png", | ||||
| 	paramtype = "light", | ||||
| 	light_source = 9, | ||||
| 	drop = "technic:lv_led", | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {cracky = 2, technic_machine = 1, technic_lv = 1, not_in_creative_inventory = 1}, | ||||
| 	connect_sides = {"front", "back", "left", "right", "top", "bottom"}, | ||||
| 	can_dig = technic.machine_can_dig, | ||||
| 	technic_run = led_run, | ||||
| 	technic_on_disable = function(pos) | ||||
| 		technic.swap_node(pos, "technic:lv_led") | ||||
| 	end, | ||||
| }) | ||||
| } | ||||
|  | ||||
| for k, v in pairs(common_fields) do | ||||
| 	ndef[k] = v | ||||
| end | ||||
|  | ||||
| minetest.register_node("technic:lv_led_active", ndef) | ||||
|  | ||||
|  | ||||
| technic.register_machine("LV", "technic:lv_led", technic.receiver) | ||||
| technic.register_machine("LV", "technic:lv_led_active", technic.receiver) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user