Fix misaligned generator formspec in MCL

This commit is contained in:
mrkubax10 2023-03-05 13:48:29 +01:00
parent d39fc81bb8
commit c8d69e514b
2 changed files with 36 additions and 34 deletions

View File

@ -462,17 +462,6 @@ if industrialtest.mclAvailable then
}) })
end end
industrialtest.gameTexturePrefix="mcl" industrialtest.gameTexturePrefix="mcl"
-- FIXME: Formspecs when used with MCL are misaligned, to fix that and also preserve compatibilty
-- with MTG MCL has to stop using legacy formspec coordinates ~mrkubax10
industrialtest.formspecVersion=function()
return ""
end
industrialtest.formspecList=function(ctx,name,x,y,w,h)
return "list["..ctx..";"..name..";"..x..","..y..";"..w..","..h.."]"..mcl_formspec.get_itemslot_bg(x,y,w,h)
end
industrialtest.formspecPlayerInv=function()
return "list[current_player;main;0.5,5.5;9,3;9]"..mcl_formspec.get_itemslot_bg(0.5,5.5,9,3).."list[current_player;main;0.5,8.74;9,1]"..mcl_formspec.get_itemslot_bg(0.5,8.74,9,1)
end
-- assign element keys for elements that are required later -- assign element keys for elements that are required later
industrialtest.elementKeys.stick="mcl_core:stick" industrialtest.elementKeys.stick="mcl_core:stick"
industrialtest.elementKeys.ironIngot="mcl_core:iron_ingot" industrialtest.elementKeys.ironIngot="mcl_core:iron_ingot"
@ -624,15 +613,6 @@ elseif industrialtest.mtgAvailable then
} }
}) })
end end
industrialtest.formspecVersion=function()
return "formspec_version[4]"
end
industrialtest.formspecList=function(ctx,name,x,y,w,h)
return "list["..ctx..";"..name..";"..x..","..y..";"..w..","..h.."]"
end
industrialtest.formspecPlayerInv=function()
return "list[current_player;main;0.5,6.25;8,1]list[current_player;main;0.5,7.5;8,3;8]"
end
industrialtest.gameTexturePrefix="mtg" industrialtest.gameTexturePrefix="mtg"
industrialtest.elementKeys.tinIngot="default:tin_ingot" industrialtest.elementKeys.tinIngot="default:tin_ingot"
industrialtest.elementKeys.bronzeIngot="default:bronze_ingot" industrialtest.elementKeys.bronzeIngot="default:bronze_ingot"

View File

@ -18,20 +18,42 @@ local S=minetest.get_translator("industrialtest")
-- Generators -- Generators
local function generatorFormspec(fuelPercent,charged) local function generatorFormspec(fuelPercent,charged)
local formspec={ local formspec
industrialtest.formspecVersion(), if industrialtest.mtgAvailable then
"size[10.8,12]", formspec={
"label[0.5,0.5;"..S("Generator").."]", "formspec_version[4]",
industrialtest.formspecList("context","charged",4.9,1.8,1,1), "size[10.8,12]",
"listring[context;charged]", "label[0.5,0.5;"..S("Generator").."]",
(fuelPercent>0 and "image[4.9,2.8;1,1;default_furnace_fire_bg.png^[lowpart:"..fuelPercent..":default_furnace_fire_fg.png]" "list[context;charged;4.9,1.8;1,1]",
or "image[4.9,2.8;1,1;default_furnace_fire_bg.png]"), "listring[context;charged]",
industrialtest.formspecList("context","fuel",4.9,3.9,1,1), (fuelPercent>0 and "image[4.9,2.8;1,1;default_furnace_fire_bg.png^[lowpart:"..fuelPercent..":default_furnace_fire_fg.png]"
"listring[context;fuel]", or "image[4.9,2.8;1,1;default_furnace_fire_bg.png]"),
"box[9,1;0.3,4.8;#202020]", "list[context;fuel;4.9,3.9;1,1]",
(charged>0 and "box[9,"..(1+4.8-(charged*4.8))..";0.3,"..(charged*4.8)..";#FF1010]" or ""), "listring[context;fuel]",
industrialtest.formspecPlayerInv() "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 ""),
"list[current_player;main;0.5,6.25;8,1]list[current_player;main;0.5,7.5;8,3;8]"
}
elseif industrialtest.mclAvailable then
formspec={
"size[10.04,12]",
"label[0.25,0.25;"..S("Generator").."]",
"list[context;charged;4.7,1.8;1,1]",
mcl_formspec.get_itemslot_bg(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]"
or "image[4.7,2.8;1,1;default_furnace_fire_bg.png]"),
"list[context;fuel;4.7,3.9;1,1]",
mcl_formspec.get_itemslot_bg(4.7,3.9,1,1),
"listring[context;fuel]",
"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 ""),
"list[current_player;main;0.5,7;9,3;9]",
mcl_formspec.get_itemslot_bg(0.5,7,9,3),
"list[current_player;main;0.5,10.24;9,1]",
mcl_formspec.get_itemslot_bg(0.5,10.24,9,1)
}
end
return table.concat(formspec,"") return table.concat(formspec,"")
end end
local function generatorMclAfterDigNode(pos,oldnode,oldmeta,digger) local function generatorMclAfterDigNode(pos,oldnode,oldmeta,digger)