Show colored itemstacks the right way
This commit is contained in:
parent
dd8657ab56
commit
00a258afea
3
init.lua
3
init.lua
|
@ -111,6 +111,7 @@ i3 = {
|
||||||
i3.files.common()
|
i3.files.common()
|
||||||
i3.files.api(http)
|
i3.files.api(http)
|
||||||
i3.files.compress()
|
i3.files.compress()
|
||||||
|
i3.files.detached()
|
||||||
i3.files.groups()
|
i3.files.groups()
|
||||||
i3.files.callbacks(http, storage)
|
i3.files.callbacks(http, storage)
|
||||||
|
|
||||||
|
@ -120,7 +121,7 @@ end
|
||||||
|
|
||||||
if i3.settings.debug_mode then
|
if i3.settings.debug_mode then
|
||||||
lf("/tests/test_tabs.lua")()
|
lf("/tests/test_tabs.lua")()
|
||||||
lf("/tests/test_operators.lua")()
|
-- lf("/tests/test_operators.lua")()
|
||||||
lf("/tests/test_compression.lua")()
|
lf("/tests/test_compression.lua")()
|
||||||
lf("/tests/test_custom_recipes.lua")()
|
lf("/tests/test_custom_recipes.lua")()
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
local http, storage = ...
|
local http, storage = ...
|
||||||
local init_bags = i3.files.bags()
|
local init_bags = i3.files.bags()
|
||||||
local fill_caches = i3.files.caches(http)
|
local fill_caches = i3.files.caches(http)
|
||||||
local init_detached = i3.files.detached()
|
|
||||||
local init_hud = i3.files.hud()
|
local init_hud = i3.files.hud()
|
||||||
local set_fs = i3.set_fs
|
local set_fs = i3.set_fs
|
||||||
|
|
||||||
|
@ -262,7 +261,6 @@ insert(core.registered_on_joinplayers, 1, function(player)
|
||||||
|
|
||||||
init_data(player, info)
|
init_data(player, info)
|
||||||
init_bags(player)
|
init_bags(player)
|
||||||
init_detached(player)
|
|
||||||
init_hud(player)
|
init_hud(player)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
local set_fs = i3.set_fs
|
local set_fs = i3.set_fs
|
||||||
IMPORT("fmt", "play_sound", "create_inventory")
|
IMPORT("play_sound", "create_inventory")
|
||||||
|
|
||||||
local trash = create_inventory("i3_trash", {
|
local trash = create_inventory("i3_trash", {
|
||||||
allow_put = function(_, _, _, stack)
|
allow_put = function(_, _, _, stack)
|
||||||
|
@ -22,15 +22,3 @@ local trash = create_inventory("i3_trash", {
|
||||||
})
|
})
|
||||||
|
|
||||||
trash:set_size("main", 1)
|
trash:set_size("main", 1)
|
||||||
|
|
||||||
local function init_detached(player)
|
|
||||||
local name = player:get_player_name()
|
|
||||||
|
|
||||||
local output_rcp = create_inventory(fmt("i3_output_rcp_%s", name), {}, name)
|
|
||||||
output_rcp:set_size("main", 1)
|
|
||||||
|
|
||||||
local output_usg = create_inventory(fmt("i3_output_usg_%s", name), {}, name)
|
|
||||||
output_usg:set_size("main", 1)
|
|
||||||
end
|
|
||||||
|
|
||||||
return init_detached
|
|
||||||
|
|
44
src/gui.lua
44
src/gui.lua
|
@ -790,7 +790,7 @@ local function get_inventory_fs(player, data, fs)
|
||||||
show_settings(fs, data)
|
show_settings(fs, data)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function get_tooltip(item, info, pos, lang_code)
|
local function get_tooltip(item, info, lang_code)
|
||||||
local tooltip
|
local tooltip
|
||||||
|
|
||||||
if info.groups then
|
if info.groups then
|
||||||
|
@ -863,11 +863,6 @@ local function get_tooltip(item, info, pos, lang_code)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if pos then
|
|
||||||
local btn_size = i3.settings.item_btn_size
|
|
||||||
return fmt("tooltip", pos.x, pos.y, btn_size, btn_size, ESC(tooltip))
|
|
||||||
end
|
|
||||||
|
|
||||||
return fmt("tooltip[%s;%s]", item, ESC(tooltip))
|
return fmt("tooltip[%s;%s]", item, ESC(tooltip))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -939,28 +934,16 @@ local function get_output_fs(fs, data, rcp, is_recipe, is_usage, shapeless, righ
|
||||||
local meta = item:get_meta()
|
local meta = item:get_meta()
|
||||||
local name = item:get_name()
|
local name = item:get_name()
|
||||||
local count = item:get_count()
|
local count = item:get_count()
|
||||||
local wear = item:get_wear()
|
|
||||||
local _name = fmt("_%s", name)
|
local _name = fmt("_%s", name)
|
||||||
local pos
|
|
||||||
|
|
||||||
if meta:get_string"color" ~= "" or meta:get_string"palette_index" ~= "" then
|
|
||||||
local rcp_usg = is_recipe and "rcp" or "usg"
|
|
||||||
|
|
||||||
fs("style_type[list;size=%f]", BTN_SIZE)
|
|
||||||
fs"listcolors[#bababa50;#bababa99]"
|
|
||||||
fs("list[detached:i3_output_%s_%s;main;%f,%f;1,1;]", rcp_usg, data.player_name, X + 0.11, Y)
|
|
||||||
button(X + 0.11, Y, BTN_SIZE, BTN_SIZE, _name, "")
|
|
||||||
|
|
||||||
local inv = get_detached_inv(fmt("output_%s", rcp_usg), data.player_name)
|
|
||||||
inv:set_stack("main", 1, item)
|
|
||||||
pos = {x = X + 0.11, y = Y}
|
|
||||||
else
|
|
||||||
local size = BTN_SIZE * 1.2
|
local size = BTN_SIZE * 1.2
|
||||||
slot(X, Y - 0.11, size, size)
|
slot(X, Y - 0.11, size, size)
|
||||||
|
|
||||||
count = get_true_count(data, count, is_recipe, is_usage)
|
count = get_true_count(data, count, is_recipe, is_usage)
|
||||||
item_image_button(X + 0.11, Y, BTN_SIZE, BTN_SIZE, fmt("%s %u %u", name, count, wear), _name, "")
|
item:set_count(count)
|
||||||
end
|
|
||||||
|
local itemstr = ESC(item:to_string())
|
||||||
|
item_image_button(X + 0.11, Y, BTN_SIZE, BTN_SIZE, itemstr, _name, "")
|
||||||
|
|
||||||
local def = reg_items[name]
|
local def = reg_items[name]
|
||||||
local unknown = not def or nil
|
local unknown = not def or nil
|
||||||
|
@ -983,7 +966,7 @@ local function get_output_fs(fs, data, rcp, is_recipe, is_usage, shapeless, righ
|
||||||
}
|
}
|
||||||
|
|
||||||
if next(infos) then
|
if next(infos) then
|
||||||
fs(get_tooltip(_name, infos, pos, data.lang_code))
|
fs(get_tooltip(_name, infos, data.lang_code))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1100,7 +1083,10 @@ local function get_grid_fs(fs, data, rcp, is_recipe, is_usage)
|
||||||
label(X + 0.8, Y + 0.9, count)
|
label(X + 0.8, Y + 0.9, count)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
item_image_button(X, Y, btn_size, btn_size, fmt("%s %u", name, count), btn_name, label)
|
item:set_name(name)
|
||||||
|
item:set_count(count)
|
||||||
|
local itemstr = ESC(item:to_string())
|
||||||
|
item_image_button(X, Y, btn_size, btn_size, itemstr, btn_name, label)
|
||||||
end
|
end
|
||||||
|
|
||||||
local def = reg_items[name]
|
local def = reg_items[name]
|
||||||
|
@ -1125,7 +1111,7 @@ local function get_grid_fs(fs, data, rcp, is_recipe, is_usage)
|
||||||
}
|
}
|
||||||
|
|
||||||
if next(infos) then
|
if next(infos) then
|
||||||
fs(get_tooltip(btn_name, infos, nil, data.lang_code))
|
fs(get_tooltip(btn_name, infos, data.lang_code))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1140,9 +1126,13 @@ local function get_rcp_lbl(fs, data, panel, rn, is_recipe, is_usage)
|
||||||
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]
|
||||||
|
|
||||||
if rcp.custom then
|
if rcp.custom then
|
||||||
local desc = i3.craft_types[rcp.type].description
|
local craft_type = i3.craft_types[rcp.type]
|
||||||
|
if craft_type then
|
||||||
|
local desc = craft_type.description
|
||||||
hypertext(data.inv_width + 4.8, data.yoffset + 0.12, 3, 1, "custom_rcp",
|
hypertext(data.inv_width + 4.8, data.yoffset + 0.12, 3, 1, "custom_rcp",
|
||||||
fmt("<right><i><global size=16>%s\n<global size=15>%s</i></right>", ES"Custom recipe", desc))
|
fmt("<right><i><global size=16>%s\n<global size=15>%s</i></right>",
|
||||||
|
ES"Custom recipe", ESC(desc)))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local lbl = ES("Usage @1 of @2", data.unum, rn)
|
local lbl = ES("Usage @1 of @2", data.unum, rn)
|
||||||
|
|
Ŝarĝante…
Reference in New Issue