mirror of
https://github.com/minetest-mods/i3.git
synced 2024-12-27 11:20:40 +01:00
Code cleaning
This commit is contained in:
parent
e96fffc639
commit
e910c20ae2
201
init.lua
201
init.lua
@ -68,8 +68,8 @@ local sprintf, find, gmatch, match, sub, split, upper, lower =
|
|||||||
|
|
||||||
local min, max, floor, ceil, abs = math.min, math.max, math.floor, math.ceil, math.abs
|
local min, max, floor, ceil, abs = math.min, math.max, math.floor, math.ceil, math.abs
|
||||||
|
|
||||||
local pairs, ipairs, next, type, setmetatable, tonum, unpack =
|
local pairs, ipairs, next, type, setmetatable, tonum, unpack, select =
|
||||||
pairs, ipairs, next, type, setmetatable, tonumber, unpack
|
pairs, ipairs, next, type, setmetatable, tonumber, unpack, select
|
||||||
|
|
||||||
local vec_add, vec_mul = vector.add, vector.multiply
|
local vec_add, vec_mul = vector.add, vector.multiply
|
||||||
|
|
||||||
@ -1352,25 +1352,25 @@ local function get_output_fs(fs, data, rcp, is_recipe, shapeless, right, btn_siz
|
|||||||
local pos_y = data.yoffset + 0.9
|
local pos_y = data.yoffset + 0.9
|
||||||
|
|
||||||
if sub(icon, 1, 10) == "i3_furnace" then
|
if sub(icon, 1, 10) == "i3_furnace" then
|
||||||
fs(fmt("animated_image", pos_x, pos_y, 0.5, 0.5, PNG.furnace_anim, 8, 180))
|
fs("animated_image", pos_x, pos_y, 0.5, 0.5, PNG.furnace_anim, 8, 180)
|
||||||
else
|
else
|
||||||
fs(fmt("image", pos_x, pos_y, 0.5, 0.5, icon))
|
fs("image", pos_x, pos_y, 0.5, 0.5, icon)
|
||||||
end
|
end
|
||||||
|
|
||||||
local tooltip = custom_recipe and custom_recipe.description or
|
local tooltip = custom_recipe and custom_recipe.description or
|
||||||
shapeless and S"Shapeless" or S"Cooking"
|
shapeless and S"Shapeless" or S"Cooking"
|
||||||
|
|
||||||
fs(fmt("tooltip", pos_x, pos_y, 0.5, 0.5, ESC(tooltip)))
|
fs("tooltip", pos_x, pos_y, 0.5, 0.5, ESC(tooltip))
|
||||||
end
|
end
|
||||||
|
|
||||||
local arrow_X = right + 0.2 + (_btn_size or ITEM_BTN_SIZE)
|
local arrow_X = right + 0.2 + (_btn_size or ITEM_BTN_SIZE)
|
||||||
local X = arrow_X + 1.2
|
local X = arrow_X + 1.2
|
||||||
local Y = data.yoffset + 1.4
|
local Y = data.yoffset + 1.4
|
||||||
|
|
||||||
fs(fmt("image", arrow_X, Y + 0.06, 1, 1, PNG.arrow))
|
fs("image", arrow_X, Y + 0.06, 1, 1, PNG.arrow)
|
||||||
|
|
||||||
if rcp.type == "fuel" then
|
if rcp.type == "fuel" then
|
||||||
fs(fmt("animated_image", X + 0.05, Y, ITEM_BTN_SIZE, ITEM_BTN_SIZE, PNG.fire_anim, 8, 180))
|
fs("animated_image", X + 0.05, Y, ITEM_BTN_SIZE, ITEM_BTN_SIZE, PNG.fire_anim, 8, 180)
|
||||||
else
|
else
|
||||||
local item = rcp.output
|
local item = rcp.output
|
||||||
item = ItemStack(clean_name(item))
|
item = ItemStack(clean_name(item))
|
||||||
@ -1378,14 +1378,14 @@ local function get_output_fs(fs, data, rcp, is_recipe, shapeless, right, btn_siz
|
|||||||
local count = item:get_count()
|
local count = item:get_count()
|
||||||
local bt_s = ITEM_BTN_SIZE * 1.2
|
local bt_s = ITEM_BTN_SIZE * 1.2
|
||||||
|
|
||||||
fs(fmt("image", X, Y - 0.11, bt_s, bt_s, PNG.slot))
|
fs("image", X, Y - 0.11, bt_s, bt_s, PNG.slot)
|
||||||
|
|
||||||
local _name = fmt("_%s", name)
|
local _name = fmt("_%s", name)
|
||||||
|
|
||||||
fs(fmt("item_image_button",
|
fs("item_image_button",
|
||||||
X + 0.11, Y, ITEM_BTN_SIZE, ITEM_BTN_SIZE,
|
X + 0.11, Y, ITEM_BTN_SIZE, ITEM_BTN_SIZE,
|
||||||
fmt("%s %u", name, count * (is_recipe and data.scrbar_rcp or data.scrbar_usg or 1)),
|
fmt("%s %u", name, count * (is_recipe and data.scrbar_rcp or data.scrbar_usg or 1)),
|
||||||
_name, ""))
|
_name, "")
|
||||||
|
|
||||||
local def = reg_items[name]
|
local def = reg_items[name]
|
||||||
local unknown = not def or nil
|
local unknown = not def or nil
|
||||||
@ -1486,14 +1486,14 @@ local function get_grid_fs(fs, data, rcp, is_recipe)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if not large_recipe then
|
if not large_recipe then
|
||||||
fs(fmt("image", X, Y, btn_size, btn_size, PNG.slot))
|
fs("image", X, Y, btn_size, btn_size, PNG.slot)
|
||||||
end
|
end
|
||||||
|
|
||||||
local btn_name = groups and fmt("group|%s|%s", groups[1], item) or item
|
local btn_name = groups and fmt("group|%s|%s", groups[1], item) or item
|
||||||
|
|
||||||
fs(fmt("item_image_button", X, Y, btn_size, btn_size,
|
fs("item_image_button", X, Y, btn_size, btn_size,
|
||||||
fmt("%s %u", item, is_recipe and data.scrbar_rcp or data.scrbar_usg or 1),
|
fmt("%s %u", item, is_recipe and data.scrbar_rcp or data.scrbar_usg or 1),
|
||||||
btn_name, label))
|
btn_name, label)
|
||||||
|
|
||||||
local def = reg_items[name]
|
local def = reg_items[name]
|
||||||
local unknown = not def or nil
|
local unknown = not def or nil
|
||||||
@ -1534,7 +1534,7 @@ local function get_rcp_lbl(fs, data, panel, rn, is_recipe)
|
|||||||
local lbl_len = #_lbl:gsub("[\128-\191]", "") -- Count chars, not bytes in UTF-8 strings
|
local lbl_len = #_lbl:gsub("[\128-\191]", "") -- Count chars, not bytes in UTF-8 strings
|
||||||
local shift = min(0.9, abs(12 - max(12, lbl_len)) * 0.15)
|
local shift = min(0.9, abs(12 - max(12, lbl_len)) * 0.15)
|
||||||
|
|
||||||
fs(fmt("label", data.xoffset + 5.65 - shift, data.yoffset + 3.37, lbl))
|
fs("label", data.xoffset + 5.65 - shift, data.yoffset + 3.37, lbl)
|
||||||
|
|
||||||
if rn > 1 then
|
if rn > 1 then
|
||||||
local btn_suffix = is_recipe and "recipe" or "usage"
|
local btn_suffix = is_recipe and "recipe" or "usage"
|
||||||
@ -1543,8 +1543,8 @@ local function get_rcp_lbl(fs, data, panel, rn, is_recipe)
|
|||||||
local x_arrow = data.xoffset + 5.09
|
local x_arrow = data.xoffset + 5.09
|
||||||
local y_arrow = data.yoffset + 3.2
|
local y_arrow = data.yoffset + 3.2
|
||||||
|
|
||||||
fs(fmt("image_button", x_arrow - shift, y_arrow, 0.3, 0.3, "", prev_name, ""),
|
fs("image_button", x_arrow - shift, y_arrow, 0.3, 0.3, "", prev_name, "")
|
||||||
fmt("image_button", x_arrow + 2.3, y_arrow, 0.3, 0.3, "", next_name, ""))
|
fs("image_button", x_arrow + 2.3, y_arrow, 0.3, 0.3, "", next_name, "")
|
||||||
end
|
end
|
||||||
|
|
||||||
local rcp = is_recipe and panel.rcp[data.rnum] or panel.rcp[data.unum]
|
local rcp = is_recipe and panel.rcp[data.rnum] or panel.rcp[data.unum]
|
||||||
@ -1593,10 +1593,9 @@ local function get_model_fs(fs, data, def, model_alias)
|
|||||||
t[#t + 1] = t[#t]
|
t[#t + 1] = t[#t]
|
||||||
end
|
end
|
||||||
|
|
||||||
fs(fmt("model",
|
fs("model", data.xoffset + 6.6, data.yoffset + 0.05, 1.3, 1.3, "",
|
||||||
data.xoffset + 6.6, data.yoffset + 0.05, 1.3, 1.3, "",
|
|
||||||
def.mesh, concat(t, ","), "0,0", "true", "true",
|
def.mesh, concat(t, ","), "0,0", "true", "true",
|
||||||
model_alias and model_alias.frames or ""))
|
model_alias and model_alias.frames or "")
|
||||||
end
|
end
|
||||||
|
|
||||||
local function get_header(fs, data)
|
local function get_header(fs, data)
|
||||||
@ -1608,14 +1607,14 @@ local function get_header(fs, data)
|
|||||||
local fav_marked = fmt("i3_fav%s.png", fav and "_off" or "")
|
local fav_marked = fmt("i3_fav%s.png", fav and "_off" or "")
|
||||||
|
|
||||||
fs(fmt("style[fav;fgimg=%s;fgimg_hovered=%s;fgimg_pressed=%s]",
|
fs(fmt("style[fav;fgimg=%s;fgimg_hovered=%s;fgimg_pressed=%s]",
|
||||||
fmt("i3_fav%s.png", fav and "" or "_off"), fav_marked, fav_marked),
|
fmt("i3_fav%s.png", fav and "" or "_off"), fav_marked, fav_marked))
|
||||||
fmt("image_button", star_x, star_y, star_size, star_size, "", "fav", ""),
|
fs("image_button", star_x, star_y, star_size, star_size, "", "fav", "")
|
||||||
fmt("tooltip[fav;%s]", fav and ES"Unmark this item" or ES"Mark this item"))
|
fs(fmt("tooltip[fav;%s]", fav and ES"Unmark this item" or ES"Mark this item"))
|
||||||
else
|
else
|
||||||
fs(fmt("style[nofav;fgimg=%s;fgimg_hovered=%s;fgimg_pressed=%s]",
|
fs(fmt("style[nofav;fgimg=%s;fgimg_hovered=%s;fgimg_pressed=%s]",
|
||||||
"i3_fav_off.png", PNG.cancel, PNG.cancel),
|
"i3_fav_off.png", PNG.cancel, PNG.cancel))
|
||||||
fmt("image_button", star_x, star_y, star_size, star_size, "", "nofav", ""),
|
fs("image_button", star_x, star_y, star_size, star_size, "", "nofav", "")
|
||||||
fmt("tooltip[nofav;%s]", ES"Cannot mark this item. Bookmark limit reached."))
|
fs(fmt("tooltip[nofav;%s]", ES"Cannot mark this item. Bookmark limit reached."))
|
||||||
end
|
end
|
||||||
|
|
||||||
local desc_lim, name_lim = 32, 34
|
local desc_lim, name_lim = 32, 34
|
||||||
@ -1627,18 +1626,20 @@ local function get_header(fs, data)
|
|||||||
local Y2 = Y1 + 0.5
|
local Y2 = Y1 + 0.5
|
||||||
|
|
||||||
if #desc > desc_lim then
|
if #desc > desc_lim then
|
||||||
fs(fmt("tooltip", X, Y1 - 0.1, 5.7, 0.24, desc))
|
fs("tooltip", X, Y1 - 0.1, 5.7, 0.24, desc)
|
||||||
desc = snip(desc, desc_lim)
|
desc = snip(desc, desc_lim)
|
||||||
end
|
end
|
||||||
|
|
||||||
if #tech_name > name_lim then
|
if #tech_name > name_lim then
|
||||||
fs(fmt("tooltip", X, Y2 - 0.1, 5.7, 0.24, tech_name))
|
fs("tooltip", X, Y2 - 0.1, 5.7, 0.24, tech_name)
|
||||||
tech_name = snip(tech_name, name_lim)
|
tech_name = snip(tech_name, name_lim)
|
||||||
end
|
end
|
||||||
|
|
||||||
fs("style_type[label;font=bold;font_size=22]",
|
fs("style_type[label;font=bold;font_size=22]")
|
||||||
fmt("label", X, Y1, desc), "style_type[label;font=mono;font_size=16]",
|
fs("label", X, Y1, desc)
|
||||||
fmt("label", X, Y2, clr("#7bf", tech_name)), "style_type[label;font=normal;font_size=16]")
|
fs("style_type[label;font=mono;font_size=16]")
|
||||||
|
fs("label", X, Y2, clr("#7bf", tech_name))
|
||||||
|
fs("style_type[label;font=normal;font_size=16]")
|
||||||
|
|
||||||
local def = reg_items[data.query_item]
|
local def = reg_items[data.query_item]
|
||||||
local model_alias = i3.model_alias[data.query_item]
|
local model_alias = i3.model_alias[data.query_item]
|
||||||
@ -1646,7 +1647,7 @@ local function get_header(fs, data)
|
|||||||
if def.drawtype == "mesh" or model_alias then
|
if def.drawtype == "mesh" or model_alias then
|
||||||
get_model_fs(fs, data, def, model_alias)
|
get_model_fs(fs, data, def, model_alias)
|
||||||
else
|
else
|
||||||
fs(fmt("item_image", data.xoffset + 6.8, data.yoffset + 0.17, 1.1, 1.1, data.query_item))
|
fs("item_image", data.xoffset + 6.8, data.yoffset + 0.17, 1.1, 1.1, data.query_item)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1655,10 +1656,9 @@ local function get_export_fs(fs, data, is_recipe, is_usage, max_stacks_rcp, max_
|
|||||||
local show_export = (is_recipe and data.export_rcp) or (is_usage and data.export_usg)
|
local show_export = (is_recipe and data.export_rcp) or (is_usage and data.export_usg)
|
||||||
|
|
||||||
fs(fmt("style[export_%s;fgimg=%s;fgimg_hovered=%s]",
|
fs(fmt("style[export_%s;fgimg=%s;fgimg_hovered=%s]",
|
||||||
name, fmt("%s", show_export and PNG.export_hover or PNG.export), PNG.export_hover),
|
name, fmt("%s", show_export and PNG.export_hover or PNG.export), PNG.export_hover))
|
||||||
fmt("image_button",
|
fs("image_button", data.xoffset + 7.35, data.yoffset + 0.2, 0.45, 0.45, "", fmt("export_%s", name), "")
|
||||||
data.xoffset + 7.35, data.yoffset + 0.2, 0.45, 0.45, "", fmt("export_%s", name), ""),
|
fs(fmt("tooltip[export_%s;%s]", name, ES"Quick crafting"))
|
||||||
fmt("tooltip[export_%s;%s]", name, ES"Quick crafting"))
|
|
||||||
|
|
||||||
if not show_export then return end
|
if not show_export then return end
|
||||||
|
|
||||||
@ -1676,11 +1676,10 @@ local function get_export_fs(fs, data, is_recipe, is_usage, max_stacks_rcp, max_
|
|||||||
end
|
end
|
||||||
|
|
||||||
fs(fmt("style[scrbar_%s;noclip=true]", name),
|
fs(fmt("style[scrbar_%s;noclip=true]", name),
|
||||||
fmt("scrollbaroptions[min=1;max=%u;smallstep=1]", craft_max),
|
fmt("scrollbaroptions[min=1;max=%u;smallstep=1]", craft_max))
|
||||||
fmt("scrollbar", data.xoffset + 8.1, data.yoffset, 3, 0.35,
|
fs("scrollbar", data.xoffset + 8.1, data.yoffset, 3, 0.35, "horizontal", fmt("scrbar_%s", name), stack_fs)
|
||||||
"horizontal", fmt("scrbar_%s", name), stack_fs),
|
fs("button", data.xoffset + 8.1, data.yoffset + 0.4, 3, 0.7, fmt("craft_%s", name),
|
||||||
fmt("button", data.xoffset + 8.1, data.yoffset + 0.4, 3, 0.7, fmt("craft_%s", name),
|
ES("Craft (x@1)", stack_fs))
|
||||||
ES("Craft (x@1)", stack_fs)))
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local function get_rcp_extra(player, data, fs, panel, is_recipe, is_usage)
|
local function get_rcp_extra(player, data, fs, panel, is_recipe, is_usage)
|
||||||
@ -1715,13 +1714,13 @@ local function get_rcp_extra(player, data, fs, panel, is_recipe, is_usage)
|
|||||||
get_rcp_lbl(fs, data, panel, rn, is_recipe)
|
get_rcp_lbl(fs, data, panel, rn, is_recipe)
|
||||||
else
|
else
|
||||||
local lbl = is_recipe and ES"No recipes" or ES"No usages"
|
local lbl = is_recipe and ES"No recipes" or ES"No usages"
|
||||||
fs(fmt("button", data.xoffset + 0.1, data.yoffset + (panel.height / 2) - 0.5,
|
fs("button", data.xoffset + 0.1, data.yoffset + (panel.height / 2) - 0.5,
|
||||||
7.8, 1, "no_rcp", lbl))
|
7.8, 1, "no_rcp", lbl)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function get_favs(fs, data)
|
local function get_favs(fs, data)
|
||||||
fs(fmt("label", data.xoffset + 0.4, data.yoffset + 0.4, ES"Bookmarks"))
|
fs("label", data.xoffset + 0.4, data.yoffset + 0.4, ES"Bookmarks")
|
||||||
|
|
||||||
for i = 1, #data.favs do
|
for i = 1, #data.favs do
|
||||||
local item = data.favs[i]
|
local item = data.favs[i]
|
||||||
@ -1729,10 +1728,10 @@ local function get_favs(fs, data)
|
|||||||
local Y = data.yoffset + 0.8
|
local Y = data.yoffset + 0.8
|
||||||
|
|
||||||
if data.query_item == item then
|
if data.query_item == item then
|
||||||
fs(fmt("image", X, Y, ITEM_BTN_SIZE, ITEM_BTN_SIZE, PNG.slot))
|
fs("image", X, Y, ITEM_BTN_SIZE, ITEM_BTN_SIZE, PNG.slot)
|
||||||
end
|
end
|
||||||
|
|
||||||
fs(fmt("item_image_button", X, Y, ITEM_BTN_SIZE, ITEM_BTN_SIZE, item, item, ""))
|
fs("item_image_button", X, Y, ITEM_BTN_SIZE, ITEM_BTN_SIZE, item, item, "")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1753,7 +1752,7 @@ local function get_panels(player, data, fs)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
fs(fmt("bg9", data.xoffset + 0.1, data.yoffset, 7.9, panel.height, PNG.bg_full, 10))
|
fs("bg9", data.xoffset + 0.1, data.yoffset, 7.9, panel.height, PNG.bg_full, 10)
|
||||||
|
|
||||||
local is_recipe, is_usage = panel.name == "recipes", panel.name == "usages"
|
local is_recipe, is_usage = panel.name == "recipes", panel.name == "usages"
|
||||||
|
|
||||||
@ -1768,9 +1767,9 @@ local function get_panels(player, data, fs)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function add_subtitle(fs, name, y, ctn_len, font_size, label)
|
local function add_subtitle(fs, name, y, ctn_len, font_size, label)
|
||||||
fs(fmt("style[%s;font=bold;font_size=%u;border=false;content_offset=0]", name, font_size),
|
fs(fmt("style[%s;font=bold;font_size=%u;border=false;content_offset=0]", name, font_size))
|
||||||
fmt("button", 0, y, ctn_len, 0.5, name, ESC(label)),
|
fs("button", 0, y, ctn_len, 0.5, name, ESC(label))
|
||||||
fmt("image", 0, y + 0.55, ctn_len, 0.035, PNG.bar))
|
fs("image", 0, y + 0.55, ctn_len, 0.035, PNG.bar)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function get_award_list(data, fs, ctn_len, yextra, award_list, awards_unlocked, award_list_nb)
|
local function get_award_list(data, fs, ctn_len, yextra, award_list, awards_unlocked, award_list_nb)
|
||||||
@ -1852,23 +1851,23 @@ local function get_ctn_content(fs, data, player, yoffset, ctn_len, award_list, a
|
|||||||
local heart_x, heart_h = 0.65, yoffset + 0.75
|
local heart_x, heart_h = 0.65, yoffset + 0.75
|
||||||
|
|
||||||
for i = 1, 10 do
|
for i = 1, 10 do
|
||||||
fs(fmt("image", heart_x + ((i - 1) * (heart_size + 0.1)), heart_h,
|
fs("image", heart_x + ((i - 1) * (heart_size + 0.1)), heart_h,
|
||||||
heart_size, heart_size, PNG.heart_grey))
|
heart_size, heart_size, PNG.heart_grey)
|
||||||
end
|
end
|
||||||
|
|
||||||
if damage_enabled then
|
if damage_enabled then
|
||||||
for i = 1, hearts do
|
for i = 1, hearts do
|
||||||
fs(fmt("image", heart_x + ((i - 1) * (heart_size + 0.1)), heart_h,
|
fs("image", heart_x + ((i - 1) * (heart_size + 0.1)), heart_h,
|
||||||
heart_size, heart_size,
|
heart_size, heart_size,
|
||||||
(half == 1 and i == floor(hearts)) and PNG.heart_half or PNG.heart))
|
(half == 1 and i == floor(hearts)) and PNG.heart_half or PNG.heart)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
fs(fmt("list[current_player;craft;%f,%f;3,3;]", 0, yoffset + 1.45),
|
fs(fmt("list[current_player;craft;%f,%f;3,3;]", 0, yoffset + 1.45))
|
||||||
fmt("image", 3.47, yoffset + 2.69, 0.85, 0.85, PNG.arrow),
|
fs("image", 3.47, yoffset + 2.69, 0.85, 0.85, PNG.arrow)
|
||||||
fmt("list[current_player;craftpreview;%f,%f;1,1;]", 4.45, yoffset + 2.6),
|
fs(fmt("list[current_player;craftpreview;%f,%f;1,1;]", 4.45, yoffset + 2.6),
|
||||||
fmt("list[detached:i3_trash;main;%f,%f;1,1;]", 4.45, yoffset + 3.75),
|
fmt("list[detached:i3_trash;main;%f,%f;1,1;]", 4.45, yoffset + 3.75))
|
||||||
fmt("image", 4.45, yoffset + 3.75, 1, 1, PNG.trash))
|
fs("image", 4.45, yoffset + 3.75, 1, 1, PNG.trash)
|
||||||
|
|
||||||
local yextra = 5.4
|
local yextra = 5.4
|
||||||
local bag_equip = data.equip == "bag"
|
local bag_equip = data.equip == "bag"
|
||||||
@ -1878,21 +1877,21 @@ local function get_ctn_content(fs, data, player, yoffset, ctn_len, award_list, a
|
|||||||
fs(fmt("style[btn_bag;textcolor=%s]", bag_equip and "#fff" or "#aaa"),
|
fs(fmt("style[btn_bag;textcolor=%s]", bag_equip and "#fff" or "#aaa"),
|
||||||
fmt("style[btn_armor;textcolor=%s]", armor_equip and "#fff" or "#aaa"),
|
fmt("style[btn_armor;textcolor=%s]", armor_equip and "#fff" or "#aaa"),
|
||||||
fmt("style[btn_skins;textcolor=%s]", skins_equip and "#fff" or "#aaa"),
|
fmt("style[btn_skins;textcolor=%s]", skins_equip and "#fff" or "#aaa"),
|
||||||
"style_type[button:hovered;textcolor=#fff]",
|
"style_type[button:hovered;textcolor=#fff]")
|
||||||
fmt("button", -0.14, yextra - 0.2, 2, 0.6, "btn_bag", ES"Bag"),
|
fs("button", -0.14, yextra - 0.2, 2, 0.6, "btn_bag", ES"Bag")
|
||||||
fmt("button", 1.87, yextra - 0.2, 2, 0.6, "btn_armor", ES"Armor"),
|
fs("button", 1.87, yextra - 0.2, 2, 0.6, "btn_armor", ES"Armor")
|
||||||
fmt("button", 3.87, yextra - 0.2, 2, 0.6, "btn_skins", ES"Skins"))
|
fs("button", 3.87, yextra - 0.2, 2, 0.6, "btn_skins", ES"Skins")
|
||||||
|
|
||||||
fs(fmt("box", 0, yextra + 0.4, ctn_len, 0.045, "#bababa50"),
|
fs("box", 0, yextra + 0.4, ctn_len, 0.045, "#bababa50")
|
||||||
fmt("box", (bag_equip and 0) or (armor_equip and 2) or (skins_equip and 4),
|
fs("box", (bag_equip and 0) or (armor_equip and 2) or (skins_equip and 4),
|
||||||
yextra + 0.4, 1.7, 0.045, "#f9826c"))
|
yextra + 0.4, 1.7, 0.045, "#f9826c")
|
||||||
|
|
||||||
if bag_equip then
|
if bag_equip then
|
||||||
fs(fmt("list[detached:%s_backpack;main;0,%f;1,1;]", ESC(name), yextra + 0.7))
|
fs(fmt("list[detached:%s_backpack;main;0,%f;1,1;]", ESC(name), yextra + 0.7))
|
||||||
|
|
||||||
if not data.bag:get_stack("main", 1):is_empty() then
|
if not data.bag:get_stack("main", 1):is_empty() then
|
||||||
fs(fmt("hypertext", 1.2, yextra + 0.89, ctn_len - 1.9, 0.8, "",
|
fs("hypertext", 1.2, yextra + 0.89, ctn_len - 1.9, 0.8, "",
|
||||||
ES("The inventory is extended by @1 slots", BAG_SIZES[data.bag_size] - INV_SIZE)))
|
ES("The inventory is extended by @1 slots", BAG_SIZES[data.bag_size] - INV_SIZE))
|
||||||
end
|
end
|
||||||
|
|
||||||
elseif armor_equip then
|
elseif armor_equip then
|
||||||
@ -1901,11 +1900,11 @@ local function get_ctn_content(fs, data, player, yoffset, ctn_len, award_list, a
|
|||||||
|
|
||||||
local armor_def = armor.def[name]
|
local armor_def = armor.def[name]
|
||||||
|
|
||||||
fs(fmt("label", 3.65, yextra + 1.55, fmt("%s: %s", ES"Level", armor_def.level)),
|
fs("label", 3.65, yextra + 1.55, fmt("%s: %s", ES"Level", armor_def.level))
|
||||||
fmt("label", 3.65, yextra + 2.05, fmt("%s: %s", ES"Heal", armor_def.heal)))
|
fs("label", 3.65, yextra + 2.05, fmt("%s: %s", ES"Heal", armor_def.heal))
|
||||||
else
|
else
|
||||||
fs(fmt("hypertext", 0, yextra + 0.9, ctn_len, 0.6, "",
|
fs("hypertext", 0, yextra + 0.9, ctn_len, 0.6, "",
|
||||||
"<center><style color=#7bf font=mono>3d_armor</style> not installed</center>"))
|
"<center><style color=#7bf font=mono>3d_armor</style> not installed</center>")
|
||||||
end
|
end
|
||||||
|
|
||||||
elseif skins_equip then
|
elseif skins_equip then
|
||||||
@ -1921,8 +1920,8 @@ local function get_ctn_content(fs, data, player, yoffset, ctn_len, award_list, a
|
|||||||
|
|
||||||
fs(fmt("dropdown[0,%f;4,0.6;skins;%s;%u;true]", yextra + 0.7, sks, data.skin_id or 1))
|
fs(fmt("dropdown[0,%f;4,0.6;skins;%s;%u;true]", yextra + 0.7, sks, data.skin_id or 1))
|
||||||
else
|
else
|
||||||
fs(fmt("hypertext", 0, yextra + 0.9, ctn_len, 0.6, "",
|
fs("hypertext", 0, yextra + 0.9, ctn_len, 0.6, "",
|
||||||
"<center><style color=#7bf font=mono>skinsdb</style> not installed</center>"))
|
"<center><style color=#7bf font=mono>skinsdb</style> not installed</center>")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -1974,14 +1973,15 @@ local function get_tabs_fs(player, data, fs, full_height)
|
|||||||
local Y = btm and full_height or -tab_hgh
|
local Y = btm and full_height or -tab_hgh
|
||||||
|
|
||||||
fs("style_type[image_button:hovered;textcolor=#fff]")
|
fs("style_type[image_button:hovered;textcolor=#fff]")
|
||||||
fs(fmt("image_button", X, Y, tab_len, tab_hgh, "", fmt("tab_%s", def.name),
|
fs("image_button", X, Y, tab_len, tab_hgh, "", fmt("tab_%s", def.name),
|
||||||
ESC(def.description)))
|
ESC(def.description))
|
||||||
|
|
||||||
if def.image and def.image ~= "" then
|
if def.image and def.image ~= "" then
|
||||||
fs("style_type[image;noclip=true]")
|
|
||||||
local desc = translate(data.lang_code, def.description)
|
local desc = translate(data.lang_code, def.description)
|
||||||
fs(fmt("image", X + (tab_len / 2) - ((#desc * 0.1) / 2) - 0.55,
|
|
||||||
Y + 0.05, 0.35, 0.35, fmt("%s^\\[resize:16x16", def.image)))
|
fs("style_type[image;noclip=true]")
|
||||||
|
fs("image", X + (tab_len / 2) - ((#desc * 0.1) / 2) - 0.55,
|
||||||
|
Y + 0.05, 0.35, 0.35, fmt("%s^\\[resize:16x16", def.image))
|
||||||
end
|
end
|
||||||
|
|
||||||
c = c + 1
|
c = c + 1
|
||||||
@ -1992,15 +1992,15 @@ local function get_debug_grid(data, fs, full_height)
|
|||||||
local spacing = 0.2
|
local spacing = 0.2
|
||||||
|
|
||||||
for x = 0, data.xoffset, spacing do
|
for x = 0, data.xoffset, spacing do
|
||||||
fs(fmt("box", x, 0, 0.01, full_height, "#ff0"))
|
fs("box", x, 0, 0.01, full_height, "#ff0")
|
||||||
end
|
end
|
||||||
|
|
||||||
for y = 0, full_height, spacing do
|
for y = 0, full_height, spacing do
|
||||||
fs(fmt("box", 0, y, data.xoffset, 0.01, "#ff0"))
|
fs("box", 0, y, data.xoffset, 0.01, "#ff0")
|
||||||
end
|
end
|
||||||
|
|
||||||
fs(fmt("box", data.xoffset / 2, 0, 0.01, full_height, "#f00"))
|
fs("box", data.xoffset / 2, 0, 0.01, full_height, "#f00")
|
||||||
fs(fmt("box", 0, full_height / 2, data.xoffset, 0.01, "#f00"))
|
fs("box", 0, full_height / 2, data.xoffset, 0.01, "#f00")
|
||||||
end
|
end
|
||||||
|
|
||||||
local function make_fs(player, data)
|
local function make_fs(player, data)
|
||||||
@ -2008,7 +2008,14 @@ local function make_fs(player, data)
|
|||||||
|
|
||||||
local fs = setmetatable({}, {
|
local fs = setmetatable({}, {
|
||||||
__call = function(t, ...)
|
__call = function(t, ...)
|
||||||
t[#t + 1] = concat({...})
|
local args = {...}
|
||||||
|
local elem = fs_elements[args[1]]
|
||||||
|
|
||||||
|
if elem then
|
||||||
|
t[#t + 1] = fmt(elem, select(2, ...))
|
||||||
|
else
|
||||||
|
t[#t + 1] = concat(args)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -2022,7 +2029,7 @@ local function make_fs(player, data)
|
|||||||
fs(fmt("formspec_version[%u]size[%f,%f]no_prepend[]bgcolor[#0000]",
|
fs(fmt("formspec_version[%u]size[%f,%f]no_prepend[]bgcolor[#0000]",
|
||||||
MIN_FORMSPEC_VERSION, data.xoffset + (show_panels and 8 or 0), full_height), styles)
|
MIN_FORMSPEC_VERSION, data.xoffset + (show_panels and 8 or 0), full_height), styles)
|
||||||
|
|
||||||
fs(fmt("bg9", 0, 0, data.xoffset, full_height, PNG.bg_full, 10))
|
fs("bg9", 0, 0, data.xoffset, full_height, PNG.bg_full, 10)
|
||||||
|
|
||||||
if tab then
|
if tab then
|
||||||
tab.formspec(player, data, fs)
|
tab.formspec(player, data, fs)
|
||||||
@ -2234,7 +2241,7 @@ local function get_inv_slots(data, fs)
|
|||||||
fs("style_type[box;colors=#77777710,#77777710,#777,#777]")
|
fs("style_type[box;colors=#77777710,#77777710,#777,#777]")
|
||||||
|
|
||||||
for i = 0, HOTBAR_COUNT - 1 do
|
for i = 0, HOTBAR_COUNT - 1 do
|
||||||
fs(fmt("box", i * size + inv_x + (i * spacing), inv_y, size, size, ""))
|
fs("box", i * size + inv_x + (i * spacing), inv_y, size, size, "")
|
||||||
end
|
end
|
||||||
|
|
||||||
fs(fmt("style_type[list;size=%f;spacing=%f]", size, spacing),
|
fs(fmt("style_type[list;size=%f;spacing=%f]", size, spacing),
|
||||||
@ -2274,13 +2281,13 @@ local function get_inventory_fs(player, data, fs)
|
|||||||
--fs("style[player_model;bgcolor=black]")
|
--fs("style[player_model;bgcolor=black]")
|
||||||
local armor_skin = __3darmor or __skinsdb
|
local armor_skin = __3darmor or __skinsdb
|
||||||
|
|
||||||
fs(fmt("model", 0.2, 0.2, armor_skin and 4 or 3.4, armor_skin and ctn_hgt or 5.8,
|
fs("model", 0.2, 0.2, armor_skin and 4 or 3.4, armor_skin and ctn_hgt or 5.8,
|
||||||
"player_model",
|
"player_model",
|
||||||
props.mesh, concat(props.textures, ","), "0,-150", "false", "false",
|
props.mesh, concat(props.textures, ","), "0,-150", "false", "false",
|
||||||
fmt("%u,%u", anim.x, anim.y)))
|
fmt("%u,%u", anim.x, anim.y))
|
||||||
else
|
else
|
||||||
local size = 2.5
|
local size = 2.5
|
||||||
fs(fmt("image", 0.7, 0.2, size, size * props.visual_size.y, props.textures[1]))
|
fs("image", 0.7, 0.2, size, size * props.visual_size.y, props.textures[1])
|
||||||
end
|
end
|
||||||
|
|
||||||
local award_list, award_list_nb
|
local award_list, award_list_nb
|
||||||
@ -2337,7 +2344,7 @@ local function get_inventory_fs(player, data, fs)
|
|||||||
fs(fmt("style[%s;fgimg=%s;fgimg_hovered=%s;content_offset=0]",
|
fs(fmt("style[%s;fgimg=%s;fgimg_hovered=%s;content_offset=0]",
|
||||||
btn_name, PNG[btn_name], PNG[fmt("%s_hover", btn_name)]))
|
btn_name, PNG[btn_name], PNG[fmt("%s_hover", btn_name)]))
|
||||||
|
|
||||||
fs(fmt("image_button", i + 3.447 - (i * 0.4), 11.13, 0.35, 0.35, "", btn_name, ""))
|
fs("image_button", i + 3.447 - (i * 0.4), 11.13, 0.35, 0.35, "", btn_name, "")
|
||||||
fs(fmt("tooltip[%s;%s]", btn_name, tooltip))
|
fs(fmt("tooltip[%s;%s]", btn_name, tooltip))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -2347,15 +2354,15 @@ local function get_items_fs(_, data, fs)
|
|||||||
fmt("field[0.3,0.2;3.45,0.6;filter;;%s]", ESC(data.filter)),
|
fmt("field[0.3,0.2;3.45,0.6;filter;;%s]", ESC(data.filter)),
|
||||||
"field_close_on_enter[filter;false]")
|
"field_close_on_enter[filter;false]")
|
||||||
|
|
||||||
fs(fmt("image_button", 3.75, 0.35, 0.3, 0.3, "", "cancel", ""),
|
fs("image_button", 3.75, 0.35, 0.3, 0.3, "", "cancel", "")
|
||||||
fmt("image_button", 4.25, 0.32, 0.35, 0.35, "", "search", ""),
|
fs("image_button", 4.25, 0.32, 0.35, 0.35, "", "search", "")
|
||||||
fmt("image_button", data.xoffset - 2.73, 0.3, 0.35, 0.35, "", "prev_page", ""),
|
fs("image_button", data.xoffset - 2.73, 0.3, 0.35, 0.35, "", "prev_page", "")
|
||||||
fmt("image_button", data.xoffset - 0.55, 0.3, 0.35, 0.35, "", "next_page", ""))
|
fs("image_button", data.xoffset - 0.55, 0.3, 0.35, 0.35, "", "next_page", "")
|
||||||
|
|
||||||
data.pagemax = max(1, ceil(#data.items / IPP))
|
data.pagemax = max(1, ceil(#data.items / IPP))
|
||||||
|
|
||||||
fs(fmt("button", data.xoffset - 2.4, 0.14, 1.88, 0.7, "pagenum",
|
fs("button", data.xoffset - 2.4, 0.14, 1.88, 0.7, "pagenum",
|
||||||
fmt("%s / %u", clr("#ff0", data.pagenum), data.pagemax)))
|
fmt("%s / %u", clr("#ff0", data.pagenum), data.pagemax))
|
||||||
|
|
||||||
if #data.items == 0 then
|
if #data.items == 0 then
|
||||||
local lbl = ES"No item to show"
|
local lbl = ES"No item to show"
|
||||||
@ -2364,7 +2371,7 @@ local function get_items_fs(_, data, fs)
|
|||||||
lbl = ES"Collect items to reveal more recipes"
|
lbl = ES"Collect items to reveal more recipes"
|
||||||
end
|
end
|
||||||
|
|
||||||
fs(fmt("button", 0, 3, data.xoffset, 1, "no_item", lbl))
|
fs("button", 0, 3, data.xoffset, 1, "no_item", lbl)
|
||||||
end
|
end
|
||||||
|
|
||||||
local first_item = (data.pagenum - 1) * IPP
|
local first_item = (data.pagenum - 1) * IPP
|
||||||
@ -2380,7 +2387,7 @@ local function get_items_fs(_, data, fs)
|
|||||||
Y = Y + (Y * 0.06) + 1
|
Y = Y + (Y * 0.06) + 1
|
||||||
|
|
||||||
if data.query_item == item then
|
if data.query_item == item then
|
||||||
fs(fmt("image", X, Y, 1, 1, PNG.slot))
|
fs("image", X, Y, 1, 1, PNG.slot)
|
||||||
end
|
end
|
||||||
|
|
||||||
fs[#fs + 1] = fmt("item_image_button", X, Y, 1, 1, item, fmt("%s_inv", item), "")
|
fs[#fs + 1] = fmt("item_image_button", X, Y, 1, 1, item, fmt("%s_inv", item), "")
|
||||||
|
Loading…
Reference in New Issue
Block a user