Fix listrings in machine formspecs to make it possible to move items with shift

Fixes #12
This commit is contained in:
mrkubax10 2024-05-11 12:53:18 +02:00
parent 961e08647f
commit 36c5b3c8ac
13 changed files with 37 additions and 49 deletions

View File

@ -40,9 +40,7 @@ canningMachine.getFormspec=function(pos)
"list[context;upgrades;9,0.9;1,4]", "list[context;upgrades;9,0.9;1,4]",
industrialtest.internal.getItemSlotBg(9,0.9,1,4), industrialtest.internal.getItemSlotBg(9,0.9,1,4),
"listring[context;src]", "listring[context;src]",
"listring[context;powerStorage]", "listring[context;dst]"
"listring[context;dst]",
"listring[context;upgrades]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -73,15 +73,15 @@ chargepad.getFormspec=function(pos)
local charged=meta:get_int("industrialtest.powerAmount")/meta:get_int("industrialtest.powerCapacity") local charged=meta:get_int("industrialtest.powerAmount")/meta:get_int("industrialtest.powerCapacity")
local formspec={ local formspec={
"list[context;charged;1,2.5;1,1]", "list[context;charged;1,2.5;1,1]",
"listring[context;charged]",
industrialtest.internal.getItemSlotBg(1,2.5,1,1), industrialtest.internal.getItemSlotBg(1,2.5,1,1),
"label[0.9,3.9;"..S("Charge").."]", "label[0.9,3.9;"..S("Charge").."]",
"list[context;discharged;3,2.5;1,1]", "list[context;discharged;3,2.5;1,1]",
"listring[context;discharged]",
industrialtest.internal.getItemSlotBg(3,2.5,1,1), industrialtest.internal.getItemSlotBg(3,2.5,1,1),
"label[2.7,3.9;"..S("Discharge").."]", "label[2.7,3.9;"..S("Discharge").."]",
"box[9,1;0.3,4.8;#202020]", "box[9,1;0.3,4.8;#202020]",
(charged>0 and "box[9,"..(1+4.8-(charged*4.8))..";0.3,"..(charged*4.8)..";#FF1010]" or "") (charged>0 and "box[9,"..(1+4.8-(charged*4.8))..";0.3,"..(charged*4.8)..";#FF1010]" or ""),
"listring[context;charged]",
"listring[context;discharged]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -72,19 +72,21 @@ machine.getFormspec=function(pos,config)
"formspec_version[4]", "formspec_version[4]",
"size[10.8,12]", "size[10.8,12]",
"label[0.5,0.5;"..config.displayName.."]", "label[0.5,0.5;"..config.displayName.."]",
(config.getFormspec and config.getFormspec(pos) or ""),
"list[current_player;main;0.5,6.25;8,1]", "list[current_player;main;0.5,6.25;8,1]",
"list[current_player;main;0.5,7.5;8,3;8]" "list[current_player;main;0.5,7.5;8,3;8]",
"listring[current_player;main]",
(config.getFormspec and config.getFormspec(pos) or "")
} }
elseif industrialtest.mclAvailable then elseif industrialtest.mclAvailable then
formspec={ formspec={
"size[10.04,12]", "size[10.04,12]",
"label[0.25,0.25;"..config.displayName.."]", "label[0.25,0.25;"..config.displayName.."]",
(config.getFormspec and config.getFormspec(pos) or ""),
"list[current_player;main;0.5,7;9,3;9]", "list[current_player;main;0.5,7;9,3;9]",
mcl_formspec.get_itemslot_bg(0.5,7,9,3), mcl_formspec.get_itemslot_bg(0.5,7,9,3),
"list[current_player;main;0.5,10.24;9,1]", "list[current_player;main;0.5,10.24;9,1]",
mcl_formspec.get_itemslot_bg(0.5,10.24,9,1) mcl_formspec.get_itemslot_bg(0.5,10.24,9,1),
"listring[current_player;main]",
(config.getFormspec and config.getFormspec(pos) or "")
} }
end end
return table.concat(formspec,"") return table.concat(formspec,"")
@ -551,20 +553,18 @@ simpleElectricItemProcessor.getFormspec=function(pos)
local formspec={ local formspec={
"list[context;src;3.4,1.8;1,1]", "list[context;src;3.4,1.8;1,1]",
industrialtest.internal.getItemSlotBg(3.4,1.8,1,1), industrialtest.internal.getItemSlotBg(3.4,1.8,1,1),
"listring[context;src]",
(powerPercent>0 and "image[3.4,2.8;1,1;industrialtest_gui_electricity_bg.png^[lowpart:"..powerPercent..":industrialtest_gui_electricity_fg.png]" (powerPercent>0 and "image[3.4,2.8;1,1;industrialtest_gui_electricity_bg.png^[lowpart:"..powerPercent..":industrialtest_gui_electricity_fg.png]"
or "image[3.4,2.8;1,1;industrialtest_gui_electricity_bg.png]"), or "image[3.4,2.8;1,1;industrialtest_gui_electricity_bg.png]"),
"list[context;powerStorage;3.4,3.9;1,1]", "list[context;powerStorage;3.4,3.9;1,1]",
industrialtest.internal.getItemSlotBg(3.4,3.9,1,1), industrialtest.internal.getItemSlotBg(3.4,3.9,1,1),
"listring[context;powerStorage]",
(srcPercent>0 and "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[lowpart:"..srcPercent..":gui_furnace_arrow_fg.png^[transformR270]" (srcPercent>0 and "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[lowpart:"..srcPercent..":gui_furnace_arrow_fg.png^[transformR270]"
or "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[transformR270]"), or "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[transformR270]"),
"list[context;dst;6.4,2.8;1,1]", "list[context;dst;6.4,2.8;1,1]",
industrialtest.internal.getItemSlotBg(6.4,2.8,1,1), industrialtest.internal.getItemSlotBg(6.4,2.8,1,1),
"listring[context;dst]",
"list[context;upgrades;9,0.9;1,4]", "list[context;upgrades;9,0.9;1,4]",
industrialtest.internal.getItemSlotBg(9,0.9,1,4), industrialtest.internal.getItemSlotBg(9,0.9,1,4),
"listring[context;upgrades]" "listring[context;src]",
"listring[context;dst]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -27,16 +27,15 @@ fluidGenerator.getFormspec=function(pos,config)
local formspec={ local formspec={
"list[context;src;2,1.8;1,1]", "list[context;src;2,1.8;1,1]",
industrialtest.internal.getItemSlotBg(2,1.8,1,1), industrialtest.internal.getItemSlotBg(2,1.8,1,1),
"listring[context;src]",
(fluidPercent>0 and "image[2,3;1,1;industrialtest_gui_fluid_bg.png^[lowpart:"..fluidPercent..":"..tile.."]" or "image[2,3;1,1;industrialtest_gui_fluid_bg.png]"), (fluidPercent>0 and "image[2,3;1,1;industrialtest_gui_fluid_bg.png^[lowpart:"..fluidPercent..":"..tile.."]" or "image[2,3;1,1;industrialtest_gui_fluid_bg.png]"),
"list[context;dst;2,4.2;1,1]", "list[context;dst;2,4.2;1,1]",
industrialtest.internal.getItemSlotBg(2,4.2,1,1), industrialtest.internal.getItemSlotBg(2,4.2,1,1),
"listring[context;dst]",
"list[context;charged;6,3;1,1]", "list[context;charged;6,3;1,1]",
industrialtest.internal.getItemSlotBg(6,3,1,1), industrialtest.internal.getItemSlotBg(6,3,1,1),
"listring[context;charged]",
"box[9,1;0.3,4.8;#202020]", "box[9,1;0.3,4.8;#202020]",
(powerPercent>0 and "box[9,"..(1+4.8-(powerPercent*4.8))..";0.3,"..(powerPercent*4.8)..";#FF1010]" or "") (powerPercent>0 and "box[9,"..(1+4.8-(powerPercent*4.8))..";0.3,"..(powerPercent*4.8)..";#FF1010]" or ""),
"listring[context;src]",
"listring[context;dst]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -24,14 +24,13 @@ generator.getFormspec=function(pos)
local formspec={ local formspec={
"list[context;charged;4.7,1.8;1,1]", "list[context;charged;4.7,1.8;1,1]",
industrialtest.internal.getItemSlotBg(4.7,1.8,1,1), industrialtest.internal.getItemSlotBg(4.7,1.8,1,1),
"listring[context;charged]",
(fuelPercent>0 and "image[4.7,2.8;1,1;default_furnace_fire_bg.png^[lowpart:"..fuelPercent..":default_furnace_fire_fg.png]" (fuelPercent>0 and "image[4.7,2.8;1,1;default_furnace_fire_bg.png^[lowpart:"..fuelPercent..":default_furnace_fire_fg.png]"
or "image[4.7,2.8;1,1;default_furnace_fire_bg.png]"), or "image[4.7,2.8;1,1;default_furnace_fire_bg.png]"),
"list[context;src;4.7,3.9;1,1]", "list[context;src;4.7,3.9;1,1]",
industrialtest.internal.getItemSlotBg(4.7,3.9,1,1), industrialtest.internal.getItemSlotBg(4.7,3.9,1,1),
"listring[context;src]",
"box[9,1;0.3,4.8;#202020]", "box[9,1;0.3,4.8;#202020]",
(charged>0 and "box[9,"..(1+4.8-(charged*4.8))..";0.3,"..(charged*4.8)..";#FF1010]" or "") (charged>0 and "box[9,"..(1+4.8-(charged*4.8))..";0.3,"..(charged*4.8)..";#FF1010]" or ""),
"listring[context;src]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -58,9 +58,7 @@ inductionFurnace.getFormspec=function(pos)
industrialtest.internal.getItemSlotBg(9,0.9,1,4), industrialtest.internal.getItemSlotBg(9,0.9,1,4),
"label[0.5,2.8;"..minetest.formspec_escape(S("Heat: @1 %",heat)).."]", "label[0.5,2.8;"..minetest.formspec_escape(S("Heat: @1 %",heat)).."]",
"listring[context;src]", "listring[context;src]",
"listring[context;powerStorage]", "listring[context;dst]"
"listring[context;dst]",
"listring[context;upgrades]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -25,17 +25,17 @@ ironFurnace.getFormspec=function(fuelPercent,srcPercent)
"size[10.8,12]", "size[10.8,12]",
"label[0.5,0.5;"..S("Iron Furnace").."]", "label[0.5,0.5;"..S("Iron Furnace").."]",
"list[context;src;3.4,1.8;1,1]", "list[context;src;3.4,1.8;1,1]",
"listring[context;src]",
(fuelPercent>0 and "image[3.4,2.8;1,1;default_furnace_fire_bg.png^[lowpart:"..fuelPercent..":default_furnace_fire_fg.png]" (fuelPercent>0 and "image[3.4,2.8;1,1;default_furnace_fire_bg.png^[lowpart:"..fuelPercent..":default_furnace_fire_fg.png]"
or "image[3.4,2.8;1,1;default_furnace_fire_bg.png]"), or "image[3.4,2.8;1,1;default_furnace_fire_bg.png]"),
"list[context;fuel;3.4,3.9;1,1]", "list[context;fuel;3.4,3.9;1,1]",
"listring[context;fuel]",
(srcPercent>0 and "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[lowpart:"..srcPercent..":gui_furnace_arrow_fg.png^[transformR270]" (srcPercent>0 and "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[lowpart:"..srcPercent..":gui_furnace_arrow_fg.png^[transformR270]"
or "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[transformR270]"), or "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[transformR270]"),
"list[context;dst;6.4,2.8;1,1]", "list[context;dst;6.4,2.8;1,1]",
"listring[context;dst]",
"list[current_player;main;0.5,6.25;8,1]", "list[current_player;main;0.5,6.25;8,1]",
"list[current_player;main;0.5,7.5;8,3;8]" "list[current_player;main;0.5,7.5;8,3;8]",
"listring[current_player;main]",
"listring[context;src]",
"listring[context;dst]"
} }
elseif industrialtest.mclAvailable then elseif industrialtest.mclAvailable then
formspec={ formspec={
@ -43,21 +43,21 @@ ironFurnace.getFormspec=function(fuelPercent,srcPercent)
"label[0.25,0.25;"..S("Iron Furnace").."]", "label[0.25,0.25;"..S("Iron Furnace").."]",
"list[context;src;3.4,1.8;1,1]", "list[context;src;3.4,1.8;1,1]",
mcl_formspec.get_itemslot_bg(3.4,1.8,1,1), mcl_formspec.get_itemslot_bg(3.4,1.8,1,1),
"listring[context;src]",
(fuelPercent>0 and "image[3.4,2.8;1,1;default_furnace_fire_bg.png^[lowpart:"..fuelPercent..":default_furnace_fire_fg.png]" (fuelPercent>0 and "image[3.4,2.8;1,1;default_furnace_fire_bg.png^[lowpart:"..fuelPercent..":default_furnace_fire_fg.png]"
or "image[3.4,2.8;1,1;default_furnace_fire_bg.png]"), or "image[3.4,2.8;1,1;default_furnace_fire_bg.png]"),
"list[context;fuel;3.4,3.9;1,1]", "list[context;fuel;3.4,3.9;1,1]",
mcl_formspec.get_itemslot_bg(3.4,3.9,1,1), mcl_formspec.get_itemslot_bg(3.4,3.9,1,1),
"listring[context;fuel]",
(srcPercent>0 and "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[lowpart:"..srcPercent..":gui_furnace_arrow_fg.png^[transformR270]" (srcPercent>0 and "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[lowpart:"..srcPercent..":gui_furnace_arrow_fg.png^[transformR270]"
or "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[transformR270]"), or "image[4.9,2.8;1,1;gui_furnace_arrow_bg.png^[transformR270]"),
"list[context;dst;6.4,2.8;1,1]", "list[context;dst;6.4,2.8;1,1]",
mcl_formspec.get_itemslot_bg(6.4,2.8,1,1), mcl_formspec.get_itemslot_bg(6.4,2.8,1,1),
"listring[context;dst]",
"list[current_player;main;0.5,7;9,3;9]", "list[current_player;main;0.5,7;9,3;9]",
mcl_formspec.get_itemslot_bg(0.5,7,9,3), mcl_formspec.get_itemslot_bg(0.5,7,9,3),
"list[current_player;main;0.5,10.24;9,1]", "list[current_player;main;0.5,10.24;9,1]",
mcl_formspec.get_itemslot_bg(0.5,10.24,9,1) mcl_formspec.get_itemslot_bg(0.5,10.24,9,1),
"listring[current_player;main]",
"listring[context;src]",
"listring[context;dst]"
} }
end end
return table.concat(formspec,"") return table.concat(formspec,"")

View File

@ -26,13 +26,12 @@ reactor.getFormspec=function(pos)
local formspec={ local formspec={
"list[context;fuel;1,1;"..size..","..size.."]", "list[context;fuel;1,1;"..size..","..size.."]",
industrialtest.internal.getItemSlotBg(1,1,size,size), industrialtest.internal.getItemSlotBg(1,1,size,size),
"listring[context;fuel]",
"list[context;charged;7,2.8;1,1]", "list[context;charged;7,2.8;1,1]",
industrialtest.internal.getItemSlotBg(7.7,2.8,1,1), industrialtest.internal.getItemSlotBg(7.7,2.8,1,1),
"listring[context;charged]",
"button[7.7,1;1,0.8;toggle;"..minetest.formspec_escape(switchText).."]", "button[7.7,1;1,0.8;toggle;"..minetest.formspec_escape(switchText).."]",
"box[9,1;0.3,4.8;#202020]", "box[9,1;0.3,4.8;#202020]",
(charged>0 and "box[9,"..(1+4.8-(charged*4.8))..";0.3,"..(charged*4.8)..";#FF1010]" or "") (charged>0 and "box[9,"..(1+4.8-(charged*4.8))..";0.3,"..(charged*4.8)..";#FF1010]" or ""),
"listring[context;fuel]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -22,15 +22,15 @@ powerStorage.getFormspec=function(pos)
local charged=meta:get_int("industrialtest.powerAmount")/meta:get_int("industrialtest.powerCapacity") local charged=meta:get_int("industrialtest.powerAmount")/meta:get_int("industrialtest.powerCapacity")
local formspec={ local formspec={
"list[context;charged;1,2.5;1,1]", "list[context;charged;1,2.5;1,1]",
"listring[context;charged]",
industrialtest.internal.getItemSlotBg(1,2.5,1,1), industrialtest.internal.getItemSlotBg(1,2.5,1,1),
"label[0.9,3.9;"..S("Charge").."]", "label[0.9,3.9;"..S("Charge").."]",
"list[context;discharged;3,2.5;1,1]", "list[context;discharged;3,2.5;1,1]",
"listring[context;discharged]",
industrialtest.internal.getItemSlotBg(3,2.5,1,1), industrialtest.internal.getItemSlotBg(3,2.5,1,1),
"label[2.7,3.9;"..S("Discharge").."]", "label[2.7,3.9;"..S("Discharge").."]",
"box[9,1;0.3,4.8;#202020]", "box[9,1;0.3,4.8;#202020]",
(charged>0 and "box[9,"..(1+4.8-(charged*4.8))..";0.3,"..(charged*4.8)..";#FF1010]" or "") (charged>0 and "box[9,"..(1+4.8-(charged*4.8))..";0.3,"..(charged*4.8)..";#FF1010]" or ""),
"listring[context;charged]",
"listring[context;discharged]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -45,10 +45,7 @@ rotaryMacerator.getFormspec=function(pos)
"label[0.5,2.8;"..minetest.formspec_escape(S("Speed: @1",rpm)).."]", "label[0.5,2.8;"..minetest.formspec_escape(S("Speed: @1",rpm)).."]",
"button[0.5,3.4;3,0.8;maintainSpeed;"..minetest.formspec_escape(buttonMaintainSpeedText).."]", "button[0.5,3.4;3,0.8;maintainSpeed;"..minetest.formspec_escape(buttonMaintainSpeedText).."]",
"listring[context;src]", "listring[context;src]",
"listring[context;modifier]", "listring[context;dst]"
"listring[context;powerStorage]",
"listring[context;dst]",
"listring[context;upgrades]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -23,9 +23,9 @@ solarPanel.getFormspec=function(pos)
local formspec={ local formspec={
"list[context;charged;4.7,1.8;1,1]", "list[context;charged;4.7,1.8;1,1]",
industrialtest.internal.getItemSlotBg(4.7,1.8,1,1), industrialtest.internal.getItemSlotBg(4.7,1.8,1,1),
"listring[context;charged]",
(charging and "image[4.7,2.8;1,1;industrialtest_gui_sun_fg.png]" (charging and "image[4.7,2.8;1,1;industrialtest_gui_sun_fg.png]"
or "image[4.7,2.8;1,1;industrialtest_gui_sun_bg.png]") or "image[4.7,2.8;1,1;industrialtest_gui_sun_bg.png]"),
"listring[context;charged]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -23,15 +23,13 @@ toolWorkshop.getFormspec=function(pos)
local formspec={ local formspec={
"list[context;powerStorage;3.7,3.7;1,1;0]", "list[context;powerStorage;3.7,3.7;1,1;0]",
industrialtest.internal.getItemSlotBg(3.7,3.7,1,1), industrialtest.internal.getItemSlotBg(3.7,3.7,1,1),
"listring[context;powerStorage]",
(powerPercent>0 and "image[3.7,2.5;1,1;industrialtest_gui_electricity_bg.png^[lowpart:"..powerPercent..":industrialtest_gui_electricity_fg.png]" (powerPercent>0 and "image[3.7,2.5;1,1;industrialtest_gui_electricity_bg.png^[lowpart:"..powerPercent..":industrialtest_gui_electricity_fg.png]"
or "image[3.7,2.5;1,1;industrialtest_gui_electricity_bg.png]"), or "image[3.7,2.5;1,1;industrialtest_gui_electricity_bg.png]"),
"list[context;src;5.9,3.2;1,1;0]", "list[context;src;5.9,3.2;1,1;0]",
industrialtest.internal.getItemSlotBg(5.9,3.2,1,1), industrialtest.internal.getItemSlotBg(5.9,3.2,1,1),
"listring[context;src]",
"list[context;upgrades;9,0.9;1,4]", "list[context;upgrades;9,0.9;1,4]",
industrialtest.internal.getItemSlotBg(9,0.9,1,4), industrialtest.internal.getItemSlotBg(9,0.9,1,4),
"listring[context;upgrades]" "listring[context;src]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end

View File

@ -23,9 +23,9 @@ windMill.getFormspec=function(pos)
local formspec={ local formspec={
"list[context;charged;4.7,1.8;1,1]", "list[context;charged;4.7,1.8;1,1]",
industrialtest.internal.getItemSlotBg(4.7,1.8,1,1), industrialtest.internal.getItemSlotBg(4.7,1.8,1,1),
"listring[context;charged]",
(charging>0 and "image[4.7,3;1,1;industrialtest_gui_wind_bg.png^[lowpart:"..charging..":industrialtest_gui_wind_fg.png]" (charging>0 and "image[4.7,3;1,1;industrialtest_gui_wind_bg.png^[lowpart:"..charging..":industrialtest_gui_wind_fg.png]"
or "image[4.7,3;1,1;industrialtest_gui_wind_bg.png]") or "image[4.7,3;1,1;industrialtest_gui_wind_bg.png]"),
"listring[context;charged]"
} }
return table.concat(formspec,"") return table.concat(formspec,"")
end end