From 1370754dfbc965f8fb20ec135da2c7b226af2511 Mon Sep 17 00:00:00 2001 From: crabman77 Date: Sun, 21 Aug 2016 19:26:09 +0200 Subject: [PATCH] update unified_inventory --- mods/unified_inventory/api.lua | 89 ++++++++++++- mods/unified_inventory/bags.lua | 21 +-- mods/unified_inventory/callbacks.lua | 37 +++++- mods/unified_inventory/depends.txt | 2 +- mods/unified_inventory/description.txt | 1 + mods/unified_inventory/group.lua | 29 +++++ mods/unified_inventory/init.lua | 9 +- mods/unified_inventory/internal.lua | 55 +++++--- mods/unified_inventory/item_names.lua | 21 +-- mods/unified_inventory/locale/de.txt | 118 ++++++++++------- mods/unified_inventory/locale/es.txt | 2 +- mods/unified_inventory/locale/fr.txt | 2 +- mods/unified_inventory/locale/pl.txt | 2 +- mods/unified_inventory/locale/ru.txt | 2 +- mods/unified_inventory/locale/template.txt | 39 +++++- mods/unified_inventory/locale/tr.txt | 2 +- mods/unified_inventory/mod.conf | 1 + mods/unified_inventory/register.lua | 122 ++++++++++++------ mods/unified_inventory/screenshot.png | Bin 0 -> 137234 bytes .../textures/ui_reset_icon.png | Bin 0 -> 3489 bytes mods/unified_inventory/waypoints.lua | 33 ++--- 21 files changed, 430 insertions(+), 157 deletions(-) create mode 100644 mods/unified_inventory/description.txt create mode 100644 mods/unified_inventory/mod.conf create mode 100644 mods/unified_inventory/screenshot.png create mode 100644 mods/unified_inventory/textures/ui_reset_icon.png diff --git a/mods/unified_inventory/api.lua b/mods/unified_inventory/api.lua index 80946982..9de63ee5 100755 --- a/mods/unified_inventory/api.lua +++ b/mods/unified_inventory/api.lua @@ -1,4 +1,5 @@ local S = unified_inventory.gettext +local F = unified_inventory.fgettext -- Create detached creative inventory after loading all mods minetest.after(0.01, function() @@ -56,6 +57,7 @@ minetest.after(0.01, function() minetest.log("Unified Inventory. inventory size: "..unified_inventory.items_list_size) for _, name in ipairs(unified_inventory.items_list) do local def = minetest.registered_items[name] + -- Simple drops if type(def.drop) == "string" then local dstack = ItemStack(def.drop) if not dstack:is_empty() and dstack:get_name() ~= name then @@ -67,6 +69,79 @@ minetest.after(0.01, function() }) end + -- Complex drops. Yes, it's really complex! + elseif type(def.drop) == "table" then + --[[ Extract single items from the table and save them into dedicated tables + to register them later, in order to avoid duplicates. These tables counts + the total number of guaranteed drops and drops by chance (“maybes”) for each item. + For “maybes”, the final count is the theoretical maximum number of items, not + neccessarily the actual drop count. ]] + local drop_guaranteed = {} + local drop_maybe = {} + -- This is for catching an obscure corner case: If the top items table has + -- only items with rarity = 1, but max_items is set, then only the first + -- max_items will be part of the drop, any later entries are logically + -- impossible, so this variable is for keeping track of this + local max_items_left = def.drop.max_items + -- For checking whether we still encountered only guaranteed only so far; + -- for the first “maybe” item it will become false which will cause ALL + -- later items to be considered “maybes”. + -- A common idiom is: + -- { max_items 1, { items = { + -- { items={"example:1"}, rarity = 5 }, + -- { items={"example:2"}, rarity = 1 }, }}} + -- example:2 must be considered a “maybe” because max_items is set and it + -- appears after a “maybe” + local max_start = true + -- Let's iterate through the items madness! + if def.drop.items then + for i=1,#def.drop.items do + if max_items_left ~= nil and max_items_left <= 0 then break end + local itit = def.drop.items[i] + for j=1,#itit.items do + local dstack = ItemStack(itit.items[j]) + if not dstack:is_empty() and dstack:get_name() ~= name then + local dname = dstack:get_name() + local dcount = dstack:get_count() + -- Guaranteed drops AND we are not yet in “maybe mode” + if #itit.items == 1 and itit.rarity == 1 and max_start then + if drop_guaranteed[dname] == nil then + drop_guaranteed[dname] = 0 + end + drop_guaranteed[dname] = drop_guaranteed[dname] + dcount + + if max_items_left ~= nil then + max_items_left = max_items_left - 1 + if max_items_left <= 0 then break end + end + -- Drop was a “maybe” + else + if max_items_left ~= nil then max_start = false end + if drop_maybe[dname] == nil then + drop_maybe[dname] = 0 + end + drop_maybe[dname] = drop_maybe[dname] + dcount + end + end + end + end + end + for itemstring, count in pairs(drop_guaranteed) do + unified_inventory.register_craft({ + type = "digging", + items = {name}, + output = itemstring .. " " .. count, + width = 0, + }) + end + for itemstring, count in pairs(drop_maybe) do + unified_inventory.register_craft({ + type = "digging_chance", + items = {name}, + output = itemstring .. " " .. count, + width = 0, + }) + end end end for _, recipes in pairs(unified_inventory.crafts_for.recipe) do @@ -170,7 +245,7 @@ end unified_inventory.register_craft_type("normal", { - description = "Crafting", + description = F("Crafting"), icon = "ui_craftgrid_icon.png", width = 3, height = 3, @@ -186,7 +261,7 @@ unified_inventory.register_craft_type("normal", { unified_inventory.register_craft_type("shapeless", { - description = "Mixing", + description = F("Mixing"), icon = "ui_craftgrid_icon.png", width = 3, height = 3, @@ -201,7 +276,7 @@ unified_inventory.register_craft_type("shapeless", { unified_inventory.register_craft_type("cooking", { - description = "Cooking", + description = F("Cooking"), icon = "default_furnace_front.png", width = 1, height = 1, @@ -209,12 +284,18 @@ unified_inventory.register_craft_type("cooking", { unified_inventory.register_craft_type("digging", { - description = "Digging", + description = F("Digging"), icon = "default_tool_steelpick.png", width = 1, height = 1, }) +unified_inventory.register_craft_type("digging_chance", { + description = "Digging (by chance)", + icon = "default_tool_steelpick.png^[transformFY.png", + width = 1, + height = 1, +}) function unified_inventory.register_page(name, def) unified_inventory.pages[name] = def diff --git a/mods/unified_inventory/bags.lua b/mods/unified_inventory/bags.lua index 377ffed3..ec3e95f7 100755 --- a/mods/unified_inventory/bags.lua +++ b/mods/unified_inventory/bags.lua @@ -4,16 +4,17 @@ -- License: GPLv3 local S = unified_inventory.gettext +local F = unified_inventory.fgettext unified_inventory.register_page("bags", { get_formspec = function(player) local player_name = player:get_player_name() local formspec = "background[0.06,0.99;7.92,7.52;ui_bags_main_form.png]" - formspec = formspec.."label[0,0;"..S("Bags").."]" - formspec = formspec.."button[0,2;2,0.5;bag1;Bag 1]" .. "button[0,3;2,0.5;unequip_bag1;Unequip]" - formspec = formspec.."button[2,2;2,0.5;bag2;Bag 2]" .. "button[2,3;2,0.5;unequip_bag2;Unequip]" - formspec = formspec.."button[4,2;2,0.5;bag3;Bag 3]" .. "button[4,3;2,0.5;unequip_bag3;Unequip]" - formspec = formspec.."button[6,2;2,0.5;bag4;Bag 4]" .. "button[6,3;2,0.5;unequip_bag4;Unequip]" + formspec = formspec.."label[0,0;"..F("Bags").."]" + formspec = formspec.."button[0,2;2,0.5;bag1;"..F("Bag 1").."]" .. "button[0,3;2,0.5;unequip_bag1;Unequip]" + formspec = formspec.."button[2,2;2,0.5;bag2;"..F("Bag 2").."]" .. "button[2,3;2,0.5;unequip_bag2;Unequip]" + formspec = formspec.."button[4,2;2,0.5;bag3;"..F("Bag 3").."]" .. "button[4,3;2,0.5;unequip_bag3;Unequip]" + formspec = formspec.."button[6,2;2,0.5;bag4;"..F("Bag 4").."]" .. "button[6,3;2,0.5;unequip_bag4;Unequip]" formspec = formspec.."listcolors[#00000000;#00000000]" formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag1;0.5,1;1,1;]" formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."_bags;bag2;2.5,1;1,1;]" @@ -37,7 +38,7 @@ unified_inventory.register_button("bags", { local stack = player:get_inventory():get_stack("bag1", 1) local image = stack:get_definition().inventory_image local formspec = "image[7,0;1,1;"..image.."]" - formspec = formspec.."label[0,0;Bag 1]" + formspec = formspec.."label[0,0;"..F("Bag 1").."]" formspec = formspec.."listcolors[#00000000;#00000000]" formspec = formspec.."list[current_player;bag1contents;0,1;8,3;]" formspec = formspec.."listring[current_name;bag1contents]" @@ -58,7 +59,7 @@ unified_inventory.register_button("bags", { local stack = player:get_inventory():get_stack("bag2", 1) local image = stack:get_definition().inventory_image local formspec = "image[7,0;1,1;"..image.."]" - formspec = formspec.."label[0,0;Bag 2]" + formspec = formspec.."label[0,0;"..F("Bag 2").."]" formspec = formspec.."listcolors[#00000000;#00000000]" formspec = formspec.."list[current_player;bag2contents;0,1;8,3;]" formspec = formspec.."listring[current_name;bag2contents]" @@ -79,7 +80,7 @@ unified_inventory.register_button("bags", { local stack = player:get_inventory():get_stack("bag3", 1) local image = stack:get_definition().inventory_image local formspec = "image[7,0;1,1;"..image.."]" - formspec = formspec.."label[0,0;Bag 3]" + formspec = formspec.."label[0,0;"..F("Bag 3").."]" formspec = formspec.."listcolors[#00000000;#00000000]" formspec = formspec.."list[current_player;bag3contents;0,1;8,3;]" formspec = formspec.."listring[current_name;bag3contents]" @@ -100,7 +101,7 @@ unified_inventory.register_button("bags", { local stack = player:get_inventory():get_stack("bag4", 1) local image = stack:get_definition().inventory_image local formspec = "image[7,0;1,1;"..image.."]" - formspec = formspec.."label[0,0;Bag 4]" + formspec = formspec.."label[0,0;"..F("Bag 4").."]" formspec = formspec.."listcolors[#00000000;#00000000]" formspec = formspec.."list[current_player;bag4contents;0,1;8,3;]" formspec = formspec.."listring[current_name;bag4contents]" @@ -232,7 +233,7 @@ for _, colour in pairs(colours) do {"dye:"..colour, "unified_inventory:bag_small"}, }, }) - + minetest.register_craft({ output = "unified_inventory:bag_medium_" .. colour, recipe = { diff --git a/mods/unified_inventory/callbacks.lua b/mods/unified_inventory/callbacks.lua index 42a5e240..fbe4d91f 100755 --- a/mods/unified_inventory/callbacks.lua +++ b/mods/unified_inventory/callbacks.lua @@ -130,6 +130,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if string.sub(clicked_item, 1, 6) == "group:" then minetest.sound_play("click", {to_player=player_name, gain = 0.1}) unified_inventory.apply_filter(player, clicked_item, new_dir) + unified_inventory.current_searchbox[player_name] = clicked_item + unified_inventory.set_inventory_formspec(player, + unified_inventory.current_page[player_name]) return end if new_dir == "recipe" @@ -163,15 +166,21 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if fields.searchbutton then unified_inventory.apply_filter(player, unified_inventory.current_searchbox[player_name], "nochange") - unified_inventory.current_searchbox[player_name] = "" unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name]) minetest.sound_play("paperflip2", {to_player=player_name, gain = 1.0}) + elseif fields.searchresetbutton then + unified_inventory.apply_filter(player, "", "nochange") + unified_inventory.current_searchbox[player_name] = "" + unified_inventory.set_inventory_formspec(player, + unified_inventory.current_page[player_name]) + minetest.sound_play("click", + {to_player=player_name, gain = 0.1}) end - -- alternate button - if not fields.alternate then + -- alternate buttons + if not (fields.alternate or fields.alternate_prev) then return end minetest.sound_play("click", @@ -188,12 +197,28 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) if alternates <= 1 then return end - local alternate = unified_inventory.alternate[player_name] + 1 - if alternate > alternates then - alternate = 1 + local alternate + if fields.alternate then + alternate = unified_inventory.alternate[player_name] + 1 + if alternate > alternates then + alternate = 1 + end + elseif fields.alternate_prev then + alternate = unified_inventory.alternate[player_name] - 1 + if alternate < 1 then + alternate = alternates + end end unified_inventory.alternate[player_name] = alternate unified_inventory.set_inventory_formspec(player, unified_inventory.current_page[player_name]) end) +if minetest.delete_detached_inventory then + minetest.register_on_leaveplayer(function(player) + local player_name = player:get_player_name() + minetest.delete_detached_inventory(player_name.."_bags") + minetest.delete_detached_inventory(player_name.."craftrecipe") + minetest.delete_detached_inventory(player_name.."refill") + end) +end diff --git a/mods/unified_inventory/depends.txt b/mods/unified_inventory/depends.txt index 7a6f9bd8..b4e6fcde 100755 --- a/mods/unified_inventory/depends.txt +++ b/mods/unified_inventory/depends.txt @@ -2,4 +2,4 @@ h2omes creative? intllib? datastorage? - +farming? diff --git a/mods/unified_inventory/description.txt b/mods/unified_inventory/description.txt new file mode 100644 index 00000000..b541fdf2 --- /dev/null +++ b/mods/unified_inventory/description.txt @@ -0,0 +1 @@ +Unified Inventory replaces the default survival and creative inventory. It adds a nicer interface and a number of features, such as a crafting guide. diff --git a/mods/unified_inventory/group.lua b/mods/unified_inventory/group.lua index 8fa632d5..43964902 100755 --- a/mods/unified_inventory/group.lua +++ b/mods/unified_inventory/group.lua @@ -1,3 +1,5 @@ +local S = unified_inventory.gettext + function unified_inventory.canonical_item_spec_matcher(spec) local specname = ItemStack(spec):get_name() if specname:sub(1, 6) == "group:" then @@ -21,9 +23,36 @@ function unified_inventory.item_matches_spec(item, spec) return unified_inventory.canonical_item_spec_matcher(spec)(itemname) end +function unified_inventory.extract_groupnames(groupname) + local specname = ItemStack(groupname):get_name() + if specname:sub(1, 6) == "group:" then + local group_names = specname:sub(7):split(",") + if #group_names == 1 then + return group_names[1], 1 + end + local s = "" + for g=1,#group_names do + if g > 1 then + -- List connector + s = s .. S(" and ") + end + s = s .. group_names[g] + end + return s, #group_names + else + return nil, 0 + end +end + unified_inventory.registered_group_items = { mesecon_conductor_craftable = "mesecons:wire_00000000_off", stone = "default:cobble", + wood = "default:wood", + book = "default:book", + sand = "default:sand", + leaves = "default:leaves", + tree = "default:tree", + vessel = "vessels:glass_bottle", wool = "wool:white", ingot = "default:steel_ingot", } diff --git a/mods/unified_inventory/init.lua b/mods/unified_inventory/init.lua index 00b66e03..aa2d9db5 100755 --- a/mods/unified_inventory/init.lua +++ b/mods/unified_inventory/init.lua @@ -2,6 +2,7 @@ local modpath = minetest.get_modpath(minetest.get_current_modname()) local worldpath = minetest.get_worldpath() +local mygettext = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end -- Data tables definitions unified_inventory = { @@ -32,7 +33,8 @@ unified_inventory = { default = "craft", -- intllib - gettext = rawget(_G, "intllib") and intllib.Getter() or function(s) return s end, + gettext = mygettext, + fgettext = function(s) return minetest.formspec_escape(mygettext(s)) end, -- "Lite" mode lite_mode = minetest.setting_getbool("unified_inventory_lite"), @@ -49,8 +51,9 @@ unified_inventory = { } -- Disable default creative inventory -if rawget(_G, "creative_inventory") then - function creative_inventory.set_creative_formspec(player, start_i, pagenum) +local creative = rawget(_G, "creative") or rawget(_G, "creative_inventory") +if creative then + function creative.set_creative_formspec(player, start_i, pagenum) return end end diff --git a/mods/unified_inventory/internal.lua b/mods/unified_inventory/internal.lua index f3475423..80d7ef01 100755 --- a/mods/unified_inventory/internal.lua +++ b/mods/unified_inventory/internal.lua @@ -1,4 +1,5 @@ local S = unified_inventory.gettext +local F = unified_inventory.fgettext -- This pair of encoding functions is used where variable text must go in -- button names, where the text might contain formspec metacharacters. @@ -136,11 +137,11 @@ function unified_inventory.get_formspec(player, page) if not unified_inventory.hidden_guide[player_name] then --MFF crabman(29/11/2015) hide guide, textfield bug formspec[n] = "image_button[13.2,0.1;.8,.8;ui_on_icon.png;hidebutton;]" - .. "tooltip[hidebutton;" ..S("Hide guide") .. "]" + .. "tooltip[hidebutton;" ..F("Hide guide") .. "]" n = n+1 else formspec[n] = "image_button[13.2,0.1;.8,.8;ui_off_icon.png;hidebutton;]" - .. "tooltip[hidebutton;" ..S("Show guide") .. "]" + .. "tooltip[hidebutton;" ..F("Show guide") .. "]" return table.concat(formspec, "") end @@ -151,39 +152,39 @@ function unified_inventory.get_formspec(player, page) formspec[n] = "image_button[" .. (start_x + 0.6 * 0) .. ",9;.8,.8;ui_skip_backward_icon.png;start_list;]" - .. "tooltip[start_list;" .. minetest.formspec_escape(S("First page")) .. "]" + .. "tooltip[start_list;" .. F("First page") .. "]" .. "image_button[" .. (start_x + 0.6 * 1) .. ",9;.8,.8;ui_doubleleft_icon.png;rewind3;]" - .. "tooltip[rewind3;" .. minetest.formspec_escape(S("Back three pages")) .. "]" + .. "tooltip[rewind3;" .. F("Back three pages") .. "]" .. "image_button[" .. (start_x + 0.6 * 2) .. ",9;.8,.8;ui_left_icon.png;rewind1;]" - .. "tooltip[rewind1;" .. minetest.formspec_escape(S("Back one page")) .. "]" + .. "tooltip[rewind1;" .. F("Back one page") .. "]" .. "image_button[" .. (start_x + 0.6 * 3) .. ",9;.8,.8;ui_right_icon.png;forward1;]" - .. "tooltip[forward1;" .. minetest.formspec_escape(S("Forward one page")) .. "]" + .. "tooltip[forward1;" .. F("Forward one page") .. "]" .. "image_button[" .. (start_x + 0.6 * 4) .. ",9;.8,.8;ui_doubleright_icon.png;forward3;]" - .. "tooltip[forward3;" .. minetest.formspec_escape(S("Forward three pages")) .. "]" + .. "tooltip[forward3;" .. F("Forward three pages") .. "]" .. "image_button[" .. (start_x + 0.6 * 5) .. ",9;.8,.8;ui_skip_forward_icon.png;end_list;]" - .. "tooltip[end_list;" .. minetest.formspec_escape(S("Last page")) .. "]" + .. "tooltip[end_list;" .. F("Last page") .. "]" else formspec[n] = "image_button[" .. (8.2 + 0.65 * 0) .. ",5.8;.8,.8;ui_skip_backward_icon.png;start_list;]" - .. "tooltip[start_list;" .. minetest.formspec_escape(S("First page")) .. "]" + .. "tooltip[start_list;" .. F("First page") .. "]" .. "image_button[" .. (8.2 + 0.65 * 1) .. ",5.8;.8,.8;ui_left_icon.png;rewind1;]" - .. "tooltip[rewind1;" .. minetest.formspec_escape(S("Back one page")) .. "]" + .. "tooltip[rewind1;" .. F("Back one page") .. "]" .. "image_button[" .. (8.2 + 0.65 * 2) .. ",5.8;.8,.8;ui_right_icon.png;forward1;]" - .. "tooltip[forward1;" .. minetest.formspec_escape(S("Forward one page")) .. "]" + .. "tooltip[forward1;" .. F("Forward one page") .. "]" .. "image_button[" .. (8.2 + 0.65 * 3) .. ",5.8;.8,.8;ui_skip_forward_icon.png;end_list;]" - .. "tooltip[end_list;" .. minetest.formspec_escape(S("Last page")) .. "]" + .. "tooltip[end_list;" .. F("Last page") .. "]" end n = n+1 @@ -193,14 +194,20 @@ function unified_inventory.get_formspec(player, page) formspec[n] = "field[9.5,8.325;3,1;searchbox;;" .. minetest.formspec_escape(unified_inventory.current_searchbox[player_name]) .. "]" formspec[n+1] = "image_button[12.2,8.1;.8,.8;ui_search_icon.png;searchbutton;]" - .. "tooltip[searchbutton;" ..S("Search") .. "]" + .. "tooltip[searchbutton;" ..F("Search") .. "]" + formspec[n+2] = "image_button[12.9,8.1;.8,.8;ui_reset_icon.png;searchresetbutton;]" + .. "tooltip[searchbutton;" ..F("Search") .. "]" + .. "tooltip[searchresetbutton;" ..F("Reset search and display everything") .. "]" else formspec[n] = "field[8.5,5.225;2.2,1;searchbox;;" .. minetest.formspec_escape(unified_inventory.current_searchbox[player_name]) .. "]" formspec[n+1] = "image_button[10.3,5;.8,.8;ui_search_icon.png;searchbutton;]" - .. "tooltip[searchbutton;" ..S("Search") .. "]" + .. "tooltip[searchbutton;" ..F("Search") .. "]" + formspec[n+2] = "image_button[11,5;.8,.8;ui_reset_icon.png;searchresetbutton;]" + .. "tooltip[searchbutton;" ..F("Search") .. "]" + .. "tooltip[searchresetbutton;" ..F("Reset search and display everything") .. "]" end - n = n+2 + n = n+3 local no_matches = "No matching items" if draw_lite_mode then @@ -209,7 +216,7 @@ function unified_inventory.get_formspec(player, page) -- Items list if #unified_inventory.filtered_items_list[player_name] == 0 then - formspec[n] = "label[8.2,"..ui_peruser.form_header_y..";" .. S(no_matches) .. "]" + formspec[n] = "label[8.2,"..ui_peruser.form_header_y..";" .. F(no_matches) .. "]" else local dir = unified_inventory.active_search_direction[player_name] local list_index = unified_inventory.current_index[player_name] @@ -222,6 +229,18 @@ function unified_inventory.get_formspec(player, page) for x = 0, ui_peruser.pagecols - 1 do local name = unified_inventory.filtered_items_list[player_name][list_index] if minetest.registered_items[name] then + -- Clicked on current item: Flip crafting direction + if name == unified_inventory.current_item[player_name] then + local cdir = unified_inventory.current_craft_direction[player_name] + if cdir == "recipe" then + dir = "usage" + elseif cdir == "usage" then + dir = "recipe" + end + else + -- Default: use active search direction by default + dir = unified_inventory.active_search_direction[player_name] + end formspec[n] = "item_image_button[" ..(8.2 + x * 0.7).."," ..(ui_peruser.formspec_y + ui_peruser.page_y + y * 0.7)..";.81,.81;" @@ -232,13 +251,13 @@ function unified_inventory.get_formspec(player, page) end end end - formspec[n] = "label[8.2,"..ui_peruser.form_header_y..";"..S("Page") .. ": " + formspec[n] = "label[8.2,"..ui_peruser.form_header_y..";"..F("Page") .. ": " .. S("%s of %s"):format(page,pagemax).."]" end n= n+1 if unified_inventory.activefilter[player_name] ~= "" then - formspec[n] = "label[8.2,"..(ui_peruser.form_header_y + 0.4)..";" .. S("Filter") .. ":]" + formspec[n] = "label[8.2,"..(ui_peruser.form_header_y + 0.4)..";" .. F("Filter") .. ":]" formspec[n+1] = "label[9.1,"..(ui_peruser.form_header_y + 0.4)..";"..minetest.formspec_escape(unified_inventory.activefilter[player_name]).."]" end return table.concat(formspec, "") diff --git a/mods/unified_inventory/item_names.lua b/mods/unified_inventory/item_names.lua index f6686dd3..5bc79c30 100755 --- a/mods/unified_inventory/item_names.lua +++ b/mods/unified_inventory/item_names.lua @@ -2,15 +2,19 @@ local wield = {} local huds = {} +local dtimes = {} local dlimit = 3 -- HUD element will be hidden after this many seconds local air_hud_mod = minetest.get_modpath("4air") local hud_mod = minetest.get_modpath("hud") +local hudbars_mod = minetest.get_modpath("hudbars") local function set_hud(player) local player_name = player:get_player_name() local off = {x=0, y=-70} if air_hud_mod or hud_mod then off.y = off.y - 20 + elseif hudbars_mod then + off.y = off.y + 5 end huds[player_name] = player:hud_add({ hud_elem_type = "text", @@ -24,24 +28,23 @@ end minetest.register_on_joinplayer(function(player) minetest.after(0, set_hud, player) - minetest.after(dlimit, u_inv_hud_step, player:get_player_name()) end) -function u_inv_hud_step(name) - local p = minetest.get_player_by_name(name) - if not p then return end - - p:hud_change(huds[name], 'text', "") - minetest.after(dlimit, u_inv_hud_step, name) -end - minetest.register_globalstep(function(dtime) for _, player in pairs(minetest.get_connected_players()) do local player_name = player:get_player_name() local wstack = player:get_wielded_item():get_name() + if dtimes[player_name] and dtimes[player_name] < dlimit then + dtimes[player_name] = dtimes[player_name] + dtime + if dtimes[player_name] > dlimit and huds[player_name] then + player:hud_change(huds[player_name], 'text', "") + end + end + if wstack ~= wield[player_name] then wield[player_name] = wstack + dtimes[player_name] = 0 if huds[player_name] then local def = minetest.registered_items[wstack] local desc = def and def.description or "" diff --git a/mods/unified_inventory/locale/de.txt b/mods/unified_inventory/locale/de.txt index d678b683..a2f7c3d1 100755 --- a/mods/unified_inventory/locale/de.txt +++ b/mods/unified_inventory/locale/de.txt @@ -1,71 +1,101 @@ # Translation mostly by Xanthin +### api.lua ### +Digging (by chance) = Graben (durch Zufall) + ### bags.lua ### -Bags = Rucksaecke -Bag 1 = Rucksack 1 -Bag 2 = Rucksack 2 -Bag 3 = Rucksack 3 -Bag 4 = Rucksack 4 -Small Bag = Rucksack (klein) -Medium Bag = Rucksack (mittel) -Large Bag = Rucksack (gross) +Bags = Taschen +Bag 1 = Tasche 1 +Bag 2 = Tasche 2 +Bag 3 = Tasche 3 +Bag 4 = Tasche 4 +Small Bag = Kleine Tasche +Medium Bag = Mittelgroße Tasche +Large Bag = Große Tasche ### inernal.lua ### First page = Erste Seite -Back three pages = Drei Seiten zurueckblaettern -Back one page = Eine Seiten zurueckblaettern -Forward one page = Eine Seiten vorblaettern -Forward three pages = Drei Seiten vorblaettern +Back three pages = Drei Seiten zurueckblättern +Back one page = Eine Seite zurueckblättern +Forward one page = Eine Seite vorblättern +Forward three pages = Drei Seiten vorblättern Last page = Letzte Seite No matching items = Keine passenden Gegenstände Page = Seite %s of %s = %s von %s -Filter = Suche +Filter = Filter Search = Suchen +Reset search and display everything = Suche zurücksetzen und alles anzeigen ### register.lua ### Can use the creative inventory = Kann das Kreativinventar nutzen -Home position set to: %s = Ausgangsposition nach: %s gesetzt -Time of day set to 6am = Tageszeit auf 6 Uhr morgens geaendert -You don't have the settime privilege! = Du hast nicht das "settime" Privileg! -Time of day set to 9pm = Tageszeit auf 9 Uhr abends geaendert -This button has been disabled outside of creative mode to prevent accidental inventory trashing. Use the trash slot instead. = Diese Funktion ist ausserhalb des Kreativmodus deaktiviert um ein versehentliches Loeschen des ganzen Inventars zu verhindern.\nNutze stattdessen das Muellfeld. -Inventory Cleared! = Inventar geleert! -Crafting = Bauen -Trash: = Muell: -Refill: = Nachfuellen: -Crafting Guide = Bauanleitung +Home position set to: %s = Heimatposition nach: %s gesetzt +Time of day set to 6am = Tageszeit auf 6 Uhr geändert +You don't have the settime privilege! = Du hast nicht das „settime“-Privileg! +Time of day set to 9pm = Tageszeit auf 21 Uhr geändert +This button has been disabled outside of creative mode to prevent accidental inventory trashing. Use the trash slot instead. = Diese Funktion ist außerhalb des Kreativmodus deaktiviert, um ein versehentliches Löschen des ganzen Inventars zu verhindern.\nNutze stattdessen das Müllfeld. +Inventory cleared! = Inventar geleert! +Crafting = Fertigung +Digging = Graben +Cooking = Kochen +Mixing = Mischen +Trash: = Müll: +Refill: = Nachfüllen: +Crafting Guide = Fertigungsführer Method: = Methode: Result: %s = Ergebnis: %s crafting = Bauen -shapeless crafting = Formloses Bauen +shapeless crafting = Formlose Fertigung cooking = Kochen alloy cooking = Legierung Kochen -Copy to craft grid: = Kopiere ins Baufeld: +Copy to craft grid: = Ins Fertigungsraster kopieren: All = Alles -Recipe %s of %s = Rezept %s von %s Alternate = Alternative -Crafting Grid = +Crafting Grid = Fertigungsraster +Show next recipe = Nächstes Rezept zeigen +Show next usage = Nächste Verwendung zeigen +Show previous recipe = Vorheriges Rezept zeigen +Show previous usage = Vorherige Verwendung zeigen +This recipe is too\nlarge to be displayed. = Dieses Rezept ist zu\ngroß, um angezeigt\nzu werden. +Any item belonging to the %s group = Irgendein Gegenstand, der zur Gruppe %s gehört +Any item belonging to the groups %s = Irgendein Gegenstand, der zu den Gruppen %s gehört +Recipe %d of %d = Rezept %d von %d +Usage %d of %d = Verwendung %d von %d +No recipes = Keine Rezepte +No usages = Keine Verwendungen +Result = Ergebnis +Ingredient = Zutat +Set time to day = Zur Tageszeit wechseln +Set time to night = Zur Nachtzeit wechseln +Set home position = Heimatposition setzen +Go home = Nach Hause gehen +Clear inventory = Inventar leeren +Give me: = Gib mir: +To craft grid: = Ins Fertigungsraster: + +### group.lua ### +\sand\s=\sund\s ### waypoints.lua ### White = Weiß Yellow = Gelb Red = Rot -Green = Gruen +Green = Grün Blue = Blau -Waypoints = Markierungen -Waypoint active = Markierung aktiv -Waypoint inactive = Markierung inaktiv -World position = Welt Position -Name = -HUD text color = -Edit waypoint name = Name der Markierung aendern -Rename waypoint = Markierung umbenennen -Change color of waypoint display = Farbe der Darstellung der Markierung aendern -Set waypoint to current location = Setze Markierung zur derzeitigen Position -Make waypoint visible = Markierung sichtbar machen -Make waypoint invisible = Markierung verstecken -Disable display of waypoint coordinates = -Enable display of waypoint coordinates = -Finish editing = -Select Waypoint #%d = +Waypoints = Wegpunkte +Waypoint %d = Wegpunkt Nr. %d +Waypoint active = Wegpunkt aktiv +Waypoint inactive = Wegpunkt inaktiv +World position = Weltposition +Name = Name +HUD text color = HUD-Textfarbe +Edit waypoint name = Name des Wegpunkts ändern +Rename waypoint = Wegpunkt umbenennen +Change color of waypoint display = Farbe der Darstellung der Wegpunkte ändern +Set waypoint to current location = Setze Wegpunkt zur derzeitigen Position +Make waypoint visible = Wegpunkt sichtbar machen +Make waypoint invisible = Wegpunkt verstecken +Disable display of waypoint coordinates = Anzeige der Wegpunktkoordinaten deaktivieren +Enable display of waypoint coordinates = Anzeige der Wegpunktkoordinaten aktivieren +Finish editing = Bearbeitung abschließen +Select Waypoint #%d = Wegpunkt Nr. %d auswählen diff --git a/mods/unified_inventory/locale/es.txt b/mods/unified_inventory/locale/es.txt index 9382c79c..26508fbf 100755 --- a/mods/unified_inventory/locale/es.txt +++ b/mods/unified_inventory/locale/es.txt @@ -31,7 +31,7 @@ Time of day set to 6am = Hora del día cambiada a 6AM You don't have the settime priviledge! = ¡No tienes el privilegio `settime'! Time of day set to 9pm = Hora del día cambiada a 9PM This button has been disabled outside of creative mode to prevent accidental inventory trashing. Use the trash slot instead. = Éste botón ha sido deshabilitado para prevenir la destrucción accidental del inventario.\nUsa la ranura para basura en su lugar. -Inventory Cleared! = ¡Inventario limpio! +Inventory cleared! = ¡Inventario limpio! Crafting = Elaboración Trash: = Basura: Refill: = Rellenar: diff --git a/mods/unified_inventory/locale/fr.txt b/mods/unified_inventory/locale/fr.txt index 01e975e1..e4923a0b 100755 --- a/mods/unified_inventory/locale/fr.txt +++ b/mods/unified_inventory/locale/fr.txt @@ -31,7 +31,7 @@ Time of day set to 6am = Heure fixée à 6h You don't have the settime priviledge! = Vous n'avez pas le privilège 'settime' ! Time of day set to 9pm = Heure fixée à 21h This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Ce bouton a été désactivé en dehors du mode créatif pour éviter des saccages dans l'inventaire.\nUtilisez plutôt la case poubelle. -Inventory Cleared! = Inventaire vidé ! +Inventory cleared! = Inventaire vidé ! Crafting = Création Trash: = Poubelle : Refill: = Remplir : diff --git a/mods/unified_inventory/locale/pl.txt b/mods/unified_inventory/locale/pl.txt index 33003d8d..6173a5f7 100755 --- a/mods/unified_inventory/locale/pl.txt +++ b/mods/unified_inventory/locale/pl.txt @@ -30,7 +30,7 @@ Time of day set to 6am = Czas ustawiony na 6:00 You don't have the settime priviledge! = Nie masz uprawnien do zmiany czasu (settime)! Time of day set to 9pm = Czas ustawiony na 21:00 This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = -Inventory Cleared! = +Inventory cleared! = Crafting = Trash: = Smietnik: Refill: = Uzupelnianie: diff --git a/mods/unified_inventory/locale/ru.txt b/mods/unified_inventory/locale/ru.txt index 19481554..821f2b18 100755 --- a/mods/unified_inventory/locale/ru.txt +++ b/mods/unified_inventory/locale/ru.txt @@ -31,7 +31,7 @@ Time of day set to 6am = Установлено время 6 утра You don't have the settime priviledge! = Вам не разрешено устанавливать время! Time of day set to 9pm = Установлено время 9 вечера This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Эта кнопка отключена вне творческого режима, чтобы предотвратить случайное уничтожение предметов.\nИспользуйте слот корзины вместо нее. -Inventory Cleared! = Инвентарь очищен! +Inventory cleared! = Инвентарь очищен! Crafting = Крафт Trash: = Корзина: Refill: = Размножить: diff --git a/mods/unified_inventory/locale/template.txt b/mods/unified_inventory/locale/template.txt index ae382e32..bd27f2f7 100755 --- a/mods/unified_inventory/locale/template.txt +++ b/mods/unified_inventory/locale/template.txt @@ -1,5 +1,8 @@ # Translation by +### api.lua ### +Digging (by chance) = + # Template ### bags.lua ### Bags = @@ -23,16 +26,21 @@ Page = %s of %s = Filter = Search = +Reset search and display everything = ### register.lua ### Can use the creative inventory = +Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally = Home position set to: %s = Time of day set to 6am = You don't have the settime priviledge! = Time of day set to 9pm = This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = -Inventory Cleared! = +Inventory cleared! = Crafting = +Digging = +Cooking = +Mixing = Trash: = Refill: = Crafting Guide = @@ -44,9 +52,35 @@ cooking = alloy cooking = Copy to craft grid: = All = -Recipe %s of %s = Alternate = Crafting Grid = +Show next recipe = +Show next usage = +Show previous recipe = +Show previous usage = +# Shown for huge crafting recipes; try to keep the line length short and use multiple line breaks as needed +This recipe is too\nlarge to be displayed. = +# %s = group name (e.g. wool) +Any item belonging to the %s group = +# %s = List of “and”-concatenated group names +Any item belonging to the groups %s = +Recipe %d of %d = +Usage %d of %d = +No recipes = +No usages = +Result = +Ingredient = +Set time to day = +Set time to night = +Set home position = +Go home = +Clear inventory = +Give me: = +To craft grid: = + +### group.lua ### +# Logical connective, example: “Any item belonging to the groups foo and bar” +\sand\s = ### waypoints.lua ### White = @@ -55,6 +89,7 @@ Red = Green = Blue = Waypoints = +Waypoint %d = Waypoint active = Waypoint inactive = World position = diff --git a/mods/unified_inventory/locale/tr.txt b/mods/unified_inventory/locale/tr.txt index c1d3207b..138e66cc 100755 --- a/mods/unified_inventory/locale/tr.txt +++ b/mods/unified_inventory/locale/tr.txt @@ -31,7 +31,7 @@ Time of day set to 6am = Saat 06:00 olarak ayarlandı You don't have the settime priviledge = Saati düzenleme yetkiniz yok! Time of day set to 9pm = Saat 19:00 olarak ayarlandı This button has been disabled outside of creative mode to prevent accidental inventory trashing.\nUse the trash slot instead. = Yaratıcı modu dışında iken bu tuş kullanılamaz. -Inventory Cleared! = Envanter temizlendi! +Inventory cleared! = Envanter temizlendi! Crafting = Üretim Trash: = Çöp Refill: = Doldur diff --git a/mods/unified_inventory/mod.conf b/mods/unified_inventory/mod.conf new file mode 100644 index 00000000..26a8af6b --- /dev/null +++ b/mods/unified_inventory/mod.conf @@ -0,0 +1 @@ +name = unified_inventory diff --git a/mods/unified_inventory/register.lua b/mods/unified_inventory/register.lua index 6bb7285a..344f3892 100755 --- a/mods/unified_inventory/register.lua +++ b/mods/unified_inventory/register.lua @@ -1,12 +1,13 @@ local S = unified_inventory.gettext +local F = unified_inventory.fgettext minetest.register_privilege("creative", { - description = "Can use the creative inventory", + description = S("Can use the creative inventory"), give_to_singleplayer = false, }) minetest.register_privilege("ui_full", { - description = "Forces UI to display in Full mode when Lite mode is configured globally", + description = S("Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally"), give_to_singleplayer = false, }) @@ -56,9 +57,6 @@ unified_inventory.register_button("home_gui_set", { end, }) - - - unified_inventory.register_button("home_gui_go", { type = "image", image = "ui_gohome_icon.png", @@ -155,7 +153,7 @@ unified_inventory.register_button("clear_inv", { return end player:get_inventory():set_list("main", {}) - minetest.chat_send_player(player_name, 'Inventory Cleared!') + minetest.chat_send_player(player_name, S('Inventory cleared!')) minetest.sound_play("trash_all", {to_player=player_name, gain = 1.0}) end, @@ -170,16 +168,16 @@ unified_inventory.register_page("craft", { local player_name = player:get_player_name() local formspec = "background[2,"..formspecy..";6,3;ui_crafting_form.png]" formspec = formspec.."background[0,"..(formspecy + 3.5)..";8,4;ui_main_inventory.png]" - formspec = formspec.."label[0,"..formheadery..";Crafting]" + formspec = formspec.."label[0,"..formheadery..";" ..F("Crafting").."]" formspec = formspec.."listcolors[#00000000;#00000000]" formspec = formspec.."list[current_player;craftpreview;6,"..formspecy..";1,1;]" formspec = formspec.."list[current_player;craft;2,"..formspecy..";3,3;]" - formspec = formspec.."label[7,"..(formspecy + 1.5)..";" .. S("Trash:") .. "]" + formspec = formspec.."label[7,"..(formspecy + 1.5)..";" .. F("Trash:") .. "]" formspec = formspec.."list[detached:trash;main;7,"..(formspecy + 2)..";1,1;]" formspec = formspec.."listring[current_name;craft]" formspec = formspec.."listring[current_player;main]" if unified_inventory.is_creative(player_name) then - formspec = formspec.."label[0,"..(formspecy + 1.5)..";" .. S("Refill:") .. "]" + formspec = formspec.."label[0,"..(formspecy + 1.5)..";" .. F("Refill:") .. "]" formspec = formspec.."list[detached:"..minetest.formspec_escape(player_name).."refill;main;0,"..(formspecy +2)..";1,1;]" end return {formspec=formspec} @@ -188,11 +186,6 @@ unified_inventory.register_page("craft", { -- stack_image_button(): generate a form button displaying a stack of items -- --- Normally a simple item_image_button[] is used. If the stack contains --- more than one item, item_image_button[] doesn't have an option to --- display an item count in the way that an inventory slot does, so --- we have to fake it using the label facility. --- -- The specified item may be a group. In that case, the group will be -- represented by some item in the group, along with a flag indicating -- that it's a group. If the group contains only one item, it will be @@ -202,7 +195,7 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item) local name = item:get_name() local count = item:get_count() local show_is_group = false - local displayitem = name + local displayitem = name.." "..count local selectitem = name if name:sub(1, 6) == "group:" then local group_name = name:sub(7) @@ -211,18 +204,30 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item) displayitem = group_item.item or "unknown" selectitem = group_item.sole and displayitem or name end - local label = string.format("\n\n%s%7d", show_is_group and " G\n" or " ", count):gsub(" 1$", " .") - if label == "\n\n ." then label = "" end - return string.format("item_image_button[%f,%f;%u,%u;%s;%s;%s]", + local label = show_is_group and "G" or "" + local buttonname = minetest.formspec_escape(buttonname_prefix..unified_inventory.mangle_for_formspec(selectitem)) + local button = string.format("item_image_button[%f,%f;%f,%f;%s;%s;%s]", x, y, w, h, - minetest.formspec_escape(displayitem), - minetest.formspec_escape(buttonname_prefix..unified_inventory.mangle_for_formspec(selectitem)), - label) + minetest.formspec_escape(displayitem), buttonname, label) + if show_is_group then + local groupstring, andcount = unified_inventory.extract_groupnames(name) + local grouptip + if andcount == 1 then + grouptip = string.format(S("Any item belonging to the %s group"), groupstring) + elseif andcount > 1 then + grouptip = string.format(S("Any item belonging to the groups %s"), groupstring) + end + grouptip = minetest.formspec_escape(grouptip) + if andcount >= 1 then + button = button .. string.format("tooltip[%s;%s]", buttonname, grouptip) + end + end + return button end local recipe_text = { - recipe = "Recipe", - usage = "Usage", + recipe = "Recipe %d of %d", + usage = "Usage %d of %d", } local no_recipe_text = { recipe = "No recipes", @@ -232,6 +237,14 @@ local role_text = { recipe = "Result", usage = "Ingredient", } +local next_alt_text = { + recipe = "Show next recipe", + usage = "Show next usage", +} +local prev_alt_text = { + recipe = "Show previous recipe", + usage = "Show previous usage", +} local other_dir = { recipe = "usage", usage = "recipe", @@ -249,7 +262,7 @@ unified_inventory.register_page("craftguide", { local player_privs = minetest.get_player_privs(player_name) local formspec = "" formspec = formspec.."background[0,"..(formspecy + 3.5)..";8,4;ui_main_inventory.png]" - formspec = formspec.."label[0,"..formheadery..";" .. S("Crafting Guide") .. "]" + formspec = formspec.."label[0,"..formheadery..";" .. F("Crafting Guide") .. "]" formspec = formspec.."listcolors[#00000000;#00000000]" local item_name = unified_inventory.current_item[player_name] if not item_name then return {formspec=formspec} end @@ -268,20 +281,20 @@ unified_inventory.register_page("craftguide", { formspec = formspec.."background[0.5,"..(formspecy + 0.2)..";8,3;ui_craftguide_form.png]" formspec = formspec.."textarea["..craftresultx..","..craftresulty - ..";10,1;;"..minetest.formspec_escape(role_text[dir]..": "..item_name)..";]" + ..";10,1;;"..minetest.formspec_escape(F(role_text[dir])..": "..item_name)..";]" formspec = formspec..stack_image_button(0, formspecy, 1.1, 1.1, "item_button_" .. rdir .. "_", ItemStack(item_name)) if not craft then formspec = formspec.."label[5.5,"..(formspecy + 2.35)..";" - ..minetest.formspec_escape(no_recipe_text[dir]).."]" + ..minetest.formspec_escape(F(no_recipe_text[dir])).."]" local no_pos = dir == "recipe" and 4.5 or 6.5 local item_pos = dir == "recipe" and 6.5 or 4.5 formspec = formspec.."image["..no_pos..","..formspecy..";1.1,1.1;ui_no.png]" formspec = formspec..stack_image_button(item_pos, formspecy, 1.1, 1.1, "item_button_" ..other_dir[dir].."_", ItemStack(item_name)) if player_privs.give == true then - formspec = formspec.."label[0,"..(formspecy + 2.10)..";" .. S("Give me:") .. "]" + formspec = formspec.."label[0,"..(formspecy + 2.10)..";" .. F("Give me:") .. "]" .."button[0, "..(formspecy + 2.7)..";0.6,0.5;craftguide_giveme_1;1]" .."button[0.6,"..(formspecy + 2.7)..";0.7,0.5;craftguide_giveme_10;10]" .."button[1.3,"..(formspecy + 2.7)..";0.8,0.5;craftguide_giveme_99;99]" @@ -301,45 +314,76 @@ unified_inventory.register_page("craftguide", { -- This keeps recipes aligned to the right, -- so that they're close to the arrow. - local xoffset = 1.5 + (3 - display_size.width) + local xoffset = 5.5 + -- Offset factor for crafting grids with side length > 4 + local of = (3/math.max(3, math.max(display_size.width, display_size.height))) + local od = 0 + -- Minimum grid size at which size optimazation measures kick in + local mini_craft_size = 6 + if display_size.width >= mini_craft_size then + od = math.max(1, display_size.width - 2) + xoffset = xoffset - 0.1 + end + -- Size modifier factor + local sf = math.min(1, of * (1.05 + 0.05*od)) + -- Button size + local bsize_h = 1.1 * sf + local bsize_w = bsize_h + if display_size.width >= mini_craft_size then + bsize_w = 1.175 * sf + end + if (bsize_h > 0.35 and display_size.width) then for y = 1, display_size.height do for x = 1, display_size.width do local item if craft and x <= craft_width then item = craft.items[(y-1) * craft_width + x] end + -- Flipped x, used to build formspec buttons from right to left + local fx = display_size.width - (x-1) + -- x offset, y offset + local xof = (fx-1) * of + of + local yof = (y-1) * of + 1 if item then formspec = formspec..stack_image_button( - xoffset + x, formspecy - 1 + y, 1.1, 1.1, + xoffset - xof, formspecy - 1 + yof, bsize_w, bsize_h, "item_button_recipe_", ItemStack(item)) else -- Fake buttons just to make grid formspec = formspec.."image_button[" - ..tostring(xoffset + x)..","..tostring(formspecy - 1 + y) - ..";1,1;ui_blank_image.png;;]" + ..tostring(xoffset - xof)..","..tostring(formspecy - 1 + yof) + ..";"..bsize_w..","..bsize_h..";ui_blank_image.png;;]" end end end + else + -- Error + formspec = formspec.."label[" + ..tostring(2)..","..tostring(formspecy) + ..";"..minetest.formspec_escape(S("This recipe is too\nlarge to be displayed.")).."]" + end - if craft_type.uses_crafting_grid then - formspec = formspec.."label[0,"..(formspecy + 0.9)..";" .. S("To craft grid:") .. "]" + if craft_type.uses_crafting_grid and display_size.width <= 3 then + formspec = formspec.."label[0,"..(formspecy + 0.9)..";" .. F("To craft grid:") .. "]" .."button[0, "..(formspecy + 1.5)..";0.6,0.5;craftguide_craft_1;1]" .."button[0.6,"..(formspecy + 1.5)..";0.7,0.5;craftguide_craft_10;10]" - .."button[1.3,"..(formspecy + 1.5)..";0.8,0.5;craftguide_craft_max;" .. S("All") .. "]" + .."button[1.3,"..(formspecy + 1.5)..";0.8,0.5;craftguide_craft_max;" .. F("All") .. "]" end if player_privs.give then - formspec = formspec.."label[0,"..(formspecy + 2.1)..";" .. S("Give me:") .. "]" + formspec = formspec.."label[0,"..(formspecy + 2.1)..";" .. F("Give me:") .. "]" .."button[0, "..(formspecy + 2.7)..";0.6,0.5;craftguide_giveme_1;1]" .."button[0.6,"..(formspecy + 2.7)..";0.7,0.5;craftguide_giveme_10;10]" .."button[1.3,"..(formspecy + 2.7)..";0.8,0.5;craftguide_giveme_99;99]" end if alternates and alternates > 1 then - formspec = formspec.."label[5.5,"..(formspecy + 1.6)..";"..recipe_text[dir].." " - ..tostring(alternate).." of " - ..tostring(alternates).."]" - .."button[5.5,"..(formspecy + 2)..";2,1;alternate;" .. S("Alternate") .. "]" + formspec = formspec.."label[5.5,"..(formspecy + 1.6)..";" + ..string.format(F(recipe_text[dir]), alternate, alternates).."]" + .."image_button[5.5,"..(formspecy + 2)..";1,1;ui_left_icon.png;alternate_prev;]" + .."image_button[6.5,"..(formspecy + 2)..";1,1;ui_right_icon.png;alternate;]" + .."tooltip[alternate_prev;"..F(prev_alt_text[dir]).."]" + .."tooltip[alternate;"..F(next_alt_text[dir]).."]" end return {formspec = formspec} end, diff --git a/mods/unified_inventory/screenshot.png b/mods/unified_inventory/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..972cbb469dba9b2c976c7582d91110dc9d765c20 GIT binary patch literal 137234 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 literal 0 HcmV?d00001 diff --git a/mods/unified_inventory/textures/ui_reset_icon.png b/mods/unified_inventory/textures/ui_reset_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..882fdae2d78ad56566ec4f5314e5475592217b1f GIT binary patch literal 3489 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 P00000NkvXXu0mjfnh=9f literal 0 HcmV?d00001 diff --git a/mods/unified_inventory/waypoints.lua b/mods/unified_inventory/waypoints.lua index 4e99d75f..c6f23522 100755 --- a/mods/unified_inventory/waypoints.lua +++ b/mods/unified_inventory/waypoints.lua @@ -1,4 +1,5 @@ local S = unified_inventory.gettext +local F = unified_inventory.fgettext local hud_colors = { {"#FFFFFF", 0xFFFFFF, S("White")}, @@ -24,7 +25,7 @@ unified_inventory.register_page("waypoints", { local waypoints = datastorage.get(player_name, "waypoints") local formspec = "background[0,4.5;8,4;ui_main_inventory.png]" .. "image[0,0;1,1;ui_waypoints_icon.png]" .. - "label[1,0;" .. S("Waypoints") .. "]" + "label[1,0;" .. F("Waypoints") .. "]" -- Tabs buttons: for i = 1, 5, 1 do @@ -34,13 +35,13 @@ unified_inventory.register_page("waypoints", { "ui_" .. i .. "_icon.png;" .. "select_waypoint" .. i .. ";]" .. "tooltip[select_waypoint" .. i .. ";" - .. minetest.formspec_escape(S("Select Waypoint #%d"):format(i)).."]" + .. (S("Select Waypoint #%d"):format(i)).."]" end local i = waypoints.selected or 1 local waypoint = waypoints[i] or {} local temp = waypoints_temp[player_name][i] or {} - local default_name = "Waypoint "..i + local default_name = string.format(S("Waypoint %d"), i) -- Main buttons: formspec = formspec .. @@ -48,43 +49,43 @@ unified_inventory.register_page("waypoints", { "ui_waypoint_set_icon.png;".. "set_waypoint"..i..";]".. "tooltip[set_waypoint" .. i .. ";" - .. minetest.formspec_escape(S("Set waypoint to current location")).."]" + .. F("Set waypoint to current location").."]" formspec = formspec .. "image_button[5.2,3.7;.8,.8;".. (waypoint.active and "ui_on_icon.png" or "ui_off_icon.png")..";".. "toggle_waypoint"..i..";]".. "tooltip[toggle_waypoint" .. i .. ";" - .. minetest.formspec_escape(S("Make waypoint " - ..(waypoint.active and "invisible" or "visible"))).."]" + .. F("Make waypoint " + ..(waypoint.active and "invisible" or "visible")).."]" formspec = formspec .. "image_button[5.9,3.7;.8,.8;".. (waypoint.display_pos and "ui_green_icon_background.png" or "ui_red_icon_background.png").."^ui_xyz_icon.png;".. "toggle_display_pos" .. i .. ";]".. "tooltip[toggle_display_pos" .. i .. ";" - .. minetest.formspec_escape(S((waypoint.display_pos and "Disable" or "Enable") - .." display of waypoint coordinates")).."]" + .. F((waypoint.display_pos and "Disable" or "Enable") + .." display of waypoint coordinates").."]" formspec = formspec .. "image_button[6.6,3.7;.8,.8;".. "ui_circular_arrows_icon.png;".. "toggle_color"..i..";]".. "tooltip[toggle_color" .. i .. ";" - .. minetest.formspec_escape(S("Change color of waypoint display")).."]" + .. F("Change color of waypoint display").."]" formspec = formspec .. "image_button[7.3,3.7;.8,.8;".. "ui_pencil_icon.png;".. "rename_waypoint"..i..";]".. "tooltip[rename_waypoint" .. i .. ";" - .. minetest.formspec_escape(S("Edit waypoint name")).."]" + .. F("Edit waypoint name").."]" -- Waypoint's info: if waypoint.active then - formspec = formspec .. "label[1,0.8;"..S("Waypoint active").."]" + formspec = formspec .. "label[1,0.8;"..F("Waypoint active").."]" else - formspec = formspec .. "label[1,0.8;"..S("Waypoint inactive").."]" + formspec = formspec .. "label[1,0.8;"..F("Waypoint inactive").."]" end if temp.edit then @@ -95,13 +96,13 @@ unified_inventory.register_page("waypoints", { "ui_ok_icon.png;".. "confirm_rename"..i.. ";]".. "tooltip[confirm_rename" .. i .. ";" - .. minetest.formspec_escape(S("Finish editing")).."]" + .. F("Finish editing").."]" end - formspec = formspec .. "label[1,1.3;"..S("World position")..": " .. + formspec = formspec .. "label[1,1.3;"..F("World position")..": " .. minetest.pos_to_string(waypoint.world_pos or vector.new()) .. "]" .. - "label[1,1.8;"..S("Name")..": ".. (waypoint.name or default_name) .. "]" .. - "label[1,2.3;"..S("HUD text color")..": " .. + "label[1,1.8;"..F("Name")..": ".. (waypoint.name or default_name) .. "]" .. + "label[1,2.3;"..F("HUD text color")..": " .. hud_colors[waypoint.color or 1][3] .. "]" return {formspec=formspec}