mirror of
https://github.com/minetest-mods/craftguide.git
synced 2024-11-26 20:43:42 +01:00
Add formspec escape, apply proper format strings
This commit is contained in:
parent
aac3e3f693
commit
c4272d8d24
43
init.lua
43
init.lua
@ -13,6 +13,7 @@ local searches = {}
|
|||||||
local progressive_mode = mt.settings:get_bool("craftguide_progressive_mode")
|
local progressive_mode = mt.settings:get_bool("craftguide_progressive_mode")
|
||||||
local sfinv_only = mt.settings:get_bool("craftguide_sfinv_only") and rawget(_G, "sfinv")
|
local sfinv_only = mt.settings:get_bool("craftguide_sfinv_only") and rawget(_G, "sfinv")
|
||||||
|
|
||||||
|
local fs_esc = mt.formspec_escape
|
||||||
local reg_items = mt.registered_items
|
local reg_items = mt.registered_items
|
||||||
local get_result = mt.get_craft_result
|
local get_result = mt.get_craft_result
|
||||||
local show_formspec = mt.show_formspec
|
local show_formspec = mt.show_formspec
|
||||||
@ -293,22 +294,22 @@ local function get_tooltip(item, groups, cooktime, burntime)
|
|||||||
end
|
end
|
||||||
|
|
||||||
groupstr = concat(groupstr, ", ")
|
groupstr = concat(groupstr, ", ")
|
||||||
tooltip = S("Any item belonging to the group(s):") .. " " .. groupstr
|
tooltip = S("Any item belonging to the group(s): @1", groupstr)
|
||||||
else
|
else
|
||||||
tooltip = reg_items[item].description
|
tooltip = reg_items[item].description
|
||||||
end
|
end
|
||||||
|
|
||||||
if cooktime then
|
if cooktime then
|
||||||
tooltip = tooltip .. "\n" .. S("Cooking time:") .. " " ..
|
tooltip = tooltip .. "\n" .. S("Cooking time: @1",
|
||||||
mt.colorize("yellow", cooktime)
|
mt.colorize("yellow", cooktime))
|
||||||
end
|
end
|
||||||
|
|
||||||
if burntime then
|
if burntime then
|
||||||
tooltip = tooltip .. "\n" .. S("Burning time:") .. " " ..
|
tooltip = tooltip .. "\n" .. S("Burning time: @1",
|
||||||
mt.colorize("yellow", burntime)
|
mt.colorize("yellow", burntime))
|
||||||
end
|
end
|
||||||
|
|
||||||
return "tooltip[" .. item .. ";" .. tooltip .. "]"
|
return "tooltip[" .. item .. ";" .. fs_esc(tooltip) .. "]"
|
||||||
end
|
end
|
||||||
|
|
||||||
local function get_recipe_fs(data, iY)
|
local function get_recipe_fs(data, iY)
|
||||||
@ -332,7 +333,7 @@ local function get_recipe_fs(data, iY)
|
|||||||
fs[#fs + 1] = fmt(fmt_label,
|
fs[#fs + 1] = fmt(fmt_label,
|
||||||
(data.iX / 2) - 2,
|
(data.iX / 2) - 2,
|
||||||
iY + 2.2,
|
iY + 2.2,
|
||||||
S("Recipe is too big to be displayed (@1x@2)", width, rows))
|
fs_esc(S("Recipe is too big to be displayed (@1x@2)", width, rows)))
|
||||||
|
|
||||||
return concat(fs)
|
return concat(fs)
|
||||||
end
|
end
|
||||||
@ -368,7 +369,7 @@ local function get_recipe_fs(data, iY)
|
|||||||
btn_size,
|
btn_size,
|
||||||
item,
|
item,
|
||||||
item:match("%S*"),
|
item:match("%S*"),
|
||||||
label)
|
fs_esc(label))
|
||||||
|
|
||||||
local burntime = fuel_cache[item]
|
local burntime = fuel_cache[item]
|
||||||
|
|
||||||
@ -402,7 +403,7 @@ local function get_recipe_fs(data, iY)
|
|||||||
iY + (sfinv_only and 2.2 or 1.7),
|
iY + (sfinv_only and 2.2 or 1.7),
|
||||||
0.5,
|
0.5,
|
||||||
0.5,
|
0.5,
|
||||||
tooltip)
|
fs_esc(tooltip))
|
||||||
end
|
end
|
||||||
|
|
||||||
local arrow_X = rightest + (s_btn_size or 1.1)
|
local arrow_X = rightest + (s_btn_size or 1.1)
|
||||||
@ -432,7 +433,7 @@ local function get_recipe_fs(data, iY)
|
|||||||
1.1,
|
1.1,
|
||||||
1.1,
|
1.1,
|
||||||
recipe.output,
|
recipe.output,
|
||||||
output_name)
|
fs_esc(output_name))
|
||||||
|
|
||||||
if burntime then
|
if burntime then
|
||||||
fs[#fs + 1] = get_tooltip(output_name, nil, nil, burntime)
|
fs[#fs + 1] = get_tooltip(output_name, nil, nil, burntime)
|
||||||
@ -459,9 +460,9 @@ local function get_recipe_fs(data, iY)
|
|||||||
2.2,
|
2.2,
|
||||||
1,
|
1,
|
||||||
"alternate",
|
"alternate",
|
||||||
data.show_usages and S("Usage") or S("Recipe"),
|
data.show_usages and fs_esc(S("Usage")) or fs_esc(S("Recipe")),
|
||||||
data.rnum,
|
data.rnum,
|
||||||
S("of"),
|
fs_esc(S("of")),
|
||||||
#data.recipes)
|
#data.recipes)
|
||||||
|
|
||||||
return concat(fs)
|
return concat(fs)
|
||||||
@ -483,8 +484,8 @@ local function make_formspec(name)
|
|||||||
background[1,1;1,1;craftguide_bg.png;true]
|
background[1,1;1,1;craftguide_bg.png;true]
|
||||||
]]
|
]]
|
||||||
|
|
||||||
fs[#fs + 1] = "tooltip[size_inc;" .. S("Increase window size") .. "]"
|
fs[#fs + 1] = "tooltip[size_inc;" .. fs_esc(S("Increase window size")) .. "]"
|
||||||
fs[#fs + 1] = "tooltip[size_dec;" .. S("Decrease window size") .. "]"
|
fs[#fs + 1] = "tooltip[size_dec;" .. fs_esc(S("Decrease window size")) .. "]"
|
||||||
|
|
||||||
fs[#fs + 1] = "image_button[" .. (data.iX * 0.47) ..
|
fs[#fs + 1] = "image_button[" .. (data.iX * 0.47) ..
|
||||||
",0.12;0.8,0.8;craftguide_zoomin_icon.png;size_inc;]"
|
",0.12;0.8,0.8;craftguide_zoomin_icon.png;size_inc;]"
|
||||||
@ -498,10 +499,10 @@ local function make_formspec(name)
|
|||||||
field_close_on_enter[filter;false]
|
field_close_on_enter[filter;false]
|
||||||
]]
|
]]
|
||||||
|
|
||||||
fs[#fs + 1] = "tooltip[search;" .. S("Search") .. "]"
|
fs[#fs + 1] = "tooltip[search;" .. fs_esc(S("Search")) .. "]"
|
||||||
fs[#fs + 1] = "tooltip[clear;" .. S("Reset") .. "]"
|
fs[#fs + 1] = "tooltip[clear;" .. fs_esc(S("Reset")) .. "]"
|
||||||
fs[#fs + 1] = "tooltip[prev;" .. S("Previous page") .. "]"
|
fs[#fs + 1] = "tooltip[prev;" .. fs_esc(S("Previous page")) .. "]"
|
||||||
fs[#fs + 1] = "tooltip[next;" .. S("Next page") .. "]"
|
fs[#fs + 1] = "tooltip[next;" .. fs_esc(S("Next page")) .. "]"
|
||||||
|
|
||||||
fs[#fs + 1] = "image_button[" .. (data.iX - (sfinv_only and 2.6 or 3.1)) ..
|
fs[#fs + 1] = "image_button[" .. (data.iX - (sfinv_only and 2.6 or 3.1)) ..
|
||||||
",0.12;0.8,0.8;craftguide_prev_icon.png;prev;]"
|
",0.12;0.8,0.8;craftguide_prev_icon.png;prev;]"
|
||||||
@ -515,13 +516,13 @@ local function make_formspec(name)
|
|||||||
(sfinv_only and 0.7 or 1.2) - (data.iX >= 11 and 0.08 or 0)) ..
|
(sfinv_only and 0.7 or 1.2) - (data.iX >= 11 and 0.08 or 0)) ..
|
||||||
",0.12;0.8,0.8;craftguide_next_icon.png;next;]"
|
",0.12;0.8,0.8;craftguide_next_icon.png;next;]"
|
||||||
|
|
||||||
fs[#fs + 1] = "field[0.3,0.32;2.5,1;filter;;" .. mt.formspec_escape(data.filter) .. "]"
|
fs[#fs + 1] = "field[0.3,0.32;2.5,1;filter;;" .. fs_esc(data.filter) .. "]"
|
||||||
|
|
||||||
if #data.items == 0 then
|
if #data.items == 0 then
|
||||||
fs[#fs + 1] = fmt(fmt_label,
|
fs[#fs + 1] = fmt(fmt_label,
|
||||||
(data.iX / 2) - 1,
|
(data.iX / 2) - 1,
|
||||||
2,
|
2,
|
||||||
S("No item to show"))
|
fs_esc(S("No item to show")))
|
||||||
end
|
end
|
||||||
|
|
||||||
local first_item = (data.pagenum - 1) * ipp
|
local first_item = (data.pagenum - 1) * ipp
|
||||||
@ -739,7 +740,7 @@ end)
|
|||||||
|
|
||||||
if sfinv_only then
|
if sfinv_only then
|
||||||
sfinv.register_page("craftguide:craftguide", {
|
sfinv.register_page("craftguide:craftguide", {
|
||||||
title = "Craft Guide",
|
title = S("Craft Guide"),
|
||||||
|
|
||||||
get = function(self, player, context)
|
get = function(self, player, context)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
|
Loading…
Reference in New Issue
Block a user