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/register/generator.lua | 76 +++++++++++++++++++------------------ 1 files changed, 39 insertions(+), 37 deletions(-) diff --git a/technic/machines/register/generator.lua b/technic/machines/register/generator.lua index b1a8980..9120e29 100644 --- a/technic/machines/register/generator.lua +++ b/technic/machines/register/generator.lua @@ -35,15 +35,15 @@ for k, v in pairs(groups) do active_groups[k] = v end local generator_formspec = - "invsize[8,9;]".. + "size[8,9;]".. "label[0,0;"..S("Fuel-Fired %s Generator"):format(tier).."]".. "list[current_name;src;3,1;1,1;]".. "image[4,1;1,1;default_furnace_fire_bg.png]".. "list[current_player;main;0,5;8,4;]".. "listring[]" - + local desc = S("Fuel-Fired %s Generator"):format(tier) - + local run = function(pos, node) local meta = minetest.get_meta(pos) local burn_time = meta:get_int("burn_time") @@ -57,7 +57,7 @@ -- Burn another piece of fuel if burn_time == 0 then local inv = meta:get_inventory() - if not inv:is_empty("src") then + if not inv:is_empty("src") then local fuellist = inv:get_list("src") local fuel local afterfuel @@ -88,15 +88,15 @@ if ltier ~= "lv" then form_buttons = fs_helpers.cycling_button( meta, - "image_button[0,4.3;1,0.6", + pipeworks.button_base, "splitstacks", { - {text="", texture="pipeworks_button_off.png", addopts="false;false;pipeworks_button_interm.png"}, - {text="", texture="pipeworks_button_on.png", addopts="false;false;pipeworks_button_interm.png"} + pipeworks.button_off, + pipeworks.button_on } - ).."label[0.9,4.31;Allow splitting incoming stacks from tubes]" + )..pipeworks.button_label end - meta:set_string("formspec", + meta:set_string("formspec", "size[8, 9]".. "label[0, 0;"..minetest.formspec_escape(desc).."]".. "list[current_name;src;3, 1;1, 1;]".. @@ -108,16 +108,19 @@ ) end + local tentry = tube_entry + if ltier == "lv" then tentry = "" end + minetest.register_node("technic:"..ltier.."_generator", { description = desc, tiles = { - "technic_"..ltier.."_generator_top.png"..tube_entry, - "technic_machine_bottom.png"..tube_entry, - "technic_"..ltier.."_generator_side.png"..tube_entry, - "technic_"..ltier.."_generator_side.png"..tube_entry, - "technic_"..ltier.."_generator_side.png"..tube_entry, + "technic_"..ltier.."_generator_top.png"..tentry, + "technic_machine_bottom.png"..tentry, + "technic_"..ltier.."_generator_side.png"..tentry, + "technic_"..ltier.."_generator_side.png"..tentry, + "technic_"..ltier.."_generator_side.png"..tentry, "technic_"..ltier.."_generator_front.png" - }, + }, paramtype2 = "facedir", groups = groups, connect_sides = {"bottom", "back", "left", "right"}, @@ -135,13 +138,13 @@ if not string.find(node.name, ":lv_") then form_buttons = fs_helpers.cycling_button( meta, - "image_button[0,4.3;1,0.6", + pipeworks.button_base, "splitstacks", { - {text="", texture="pipeworks_button_off.png", addopts="false;false;pipeworks_button_interm.png"}, - {text="", texture="pipeworks_button_on.png", addopts="false;false;pipeworks_button_interm.png"} + pipeworks.button_off, + pipeworks.button_on } - ).."label[0.9,4.31;Allow splitting incoming stacks from tubes]" + )..pipeworks.button_label end meta:set_string("formspec", generator_formspec..form_buttons) local inv = meta:get_inventory() @@ -159,18 +162,17 @@ fs_helpers.on_receive_fields(pos, fields) local meta = minetest.get_meta(pos) local node = minetest.get_node(pos) - local form = generator_formspec local form_buttons = "" if not string.find(node.name, ":lv_") then form_buttons = fs_helpers.cycling_button( meta, - "image_button[0,4.3;1,0.6", + pipeworks.button_base, "splitstacks", { - {text="", texture="pipeworks_button_off.png", addopts="false;false;pipeworks_button_interm.png"}, - {text="", texture="pipeworks_button_on.png", addopts="false;false;pipeworks_button_interm.png"} + pipeworks.button_off, + pipeworks.button_on } - ).."label[0.9,4.31;Allow splitting incoming stacks from tubes]" + )..pipeworks.button_label end meta:set_string("formspec", generator_formspec..form_buttons) end, @@ -201,15 +203,15 @@ technic_run = run, technic_on_disable = function(pos, node) local timer = minetest.get_node_timer(pos) - timer:start(1) - end, + timer:start(1) + end, on_timer = function(pos, node) local meta = minetest.get_meta(pos) local node = minetest.get_node(pos) -- Connected back? if meta:get_int(tier.."_EU_timeout") > 0 then return false end - + local burn_time = meta:get_int("burn_time") or 0 if burn_time <= 0 then @@ -229,15 +231,15 @@ if not string.find(node.name, ":lv_") then form_buttons = fs_helpers.cycling_button( meta, - "image_button[0,4.3;1,0.6", + pipeworks.button_base, "splitstacks", { - {text="", texture="pipeworks_button_off.png", addopts="false;false;pipeworks_button_interm.png"}, - {text="", texture="pipeworks_button_on.png", addopts="false;false;pipeworks_button_interm.png"} + pipeworks.button_off, + pipeworks.button_on } - ).."label[0.9,4.31;Allow splitting incoming stacks from tubes]" + )..pipeworks.button_label end - meta:set_string("formspec", + meta:set_string("formspec", "size[8, 9]".. "label[0, 0;"..minetest.formspec_escape(desc).."]".. "list[current_name;src;3, 1;1, 1;]".. @@ -258,20 +260,20 @@ if not string.find(node.name, ":lv_") then form_buttons = fs_helpers.cycling_button( meta, - "image_button[0,4.3;1,0.6", + pipeworks.button_base, "splitstacks", { - {text="", texture="pipeworks_button_off.png", addopts="false;false;pipeworks_button_interm.png"}, - {text="", texture="pipeworks_button_on.png", addopts="false;false;pipeworks_button_interm.png"} + pipeworks.button_off, + pipeworks.button_on } - ).."label[0.9,4.31;Allow splitting incoming stacks from tubes]" + )..pipeworks.button_label end local burn_totaltime = meta:get_int("burn_totaltime") or 0 local burn_time = meta:get_int("burn_time") local percent = math.floor(burn_time / burn_totaltime * 100) - meta:set_string("formspec", + meta:set_string("formspec", "size[8, 9]".. "label[0, 0;"..minetest.formspec_escape(desc).."]".. "list[current_name;src;3, 1;1, 1;]".. -- Gitblit v1.8.0