From 4775d98fb7e12f7210cf778351767828e551011d Mon Sep 17 00:00:00 2001
From: SmallJoker <mk939@ymail.com>
Date: Thu, 20 Oct 2022 20:08:56 +0200
Subject: [PATCH] Unify and simplify LED/Lamp node definition

---
 technic/machines/LV/led.lua |   71 ++++++++++++++---------------------
 1 files changed, 29 insertions(+), 42 deletions(-)

diff --git a/technic/machines/LV/led.lua b/technic/machines/LV/led.lua
index 1e8a408..3786ab7 100644
--- a/technic/machines/LV/led.lua
+++ b/technic/machines/LV/led.lua
@@ -22,18 +22,9 @@
 	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}
 	},
@@ -45,55 +36,51 @@
 		"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)

--
Gitblit v1.8.0