forked from minetest-mods/unified_inventory
Compare commits
14 Commits
03b077cd1b
...
4c4fb3ba88
Author | SHA1 | Date | |
---|---|---|---|
4c4fb3ba88 | |||
8c84751ff8 | |||
9d66a21271 | |||
b1c85a2cb8 | |||
3fffa41eaf | |||
077bed90eb | |||
15a84bdbf4 | |||
6d123da61c | |||
d39dd78cb5 | |||
838c67ae86 | |||
aeb9841e3a | |||
132a362f85 | |||
afd38e0c73 | |||
4d4355a741 |
@ -15,7 +15,8 @@ Unified Inventory replaces the default survival and creative inventory.
|
|||||||
* Recipe search function by ingredients
|
* Recipe search function by ingredients
|
||||||
* Up to four bags with up to 24 slots each
|
* Up to four bags with up to 24 slots each
|
||||||
* Home function to teleport
|
* Home function to teleport
|
||||||
* Trash slot
|
* Trash slot and refill slot for creative
|
||||||
|
* Waypoints to keep track of important locations
|
||||||
* Lite mode: reduces the item browser width
|
* Lite mode: reduces the item browser width
|
||||||
* `minetest.conf` setting `unified_inventory_lite = true`
|
* `minetest.conf` setting `unified_inventory_lite = true`
|
||||||
* Mod API for modders: see [mod_api.txt](doc/mod_api.txt)
|
* Mod API for modders: see [mod_api.txt](doc/mod_api.txt)
|
||||||
@ -25,6 +26,10 @@ Unified Inventory replaces the default survival and creative inventory.
|
|||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
* Minetest 5.4.0+
|
* Minetest 5.4.0+
|
||||||
|
* Mod `default` for category filters (contained in Minetest Game)
|
||||||
|
* Mod `farming` for craftable bags (contained in Minetest Game)
|
||||||
|
* For waypoint migration: `datastorage`
|
||||||
|
|
||||||
|
|
||||||
# Licenses
|
# Licenses
|
||||||
|
|
||||||
|
47
api.lua
47
api.lua
@ -152,6 +152,10 @@ minetest.after(0.01, function()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
for _, callback in ipairs(ui.initialized_callbacks) do
|
||||||
|
callback()
|
||||||
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
||||||
@ -177,8 +181,14 @@ load_home()
|
|||||||
function ui.set_home(player, pos)
|
function ui.set_home(player, pos)
|
||||||
local player_name = player:get_player_name()
|
local player_name = player:get_player_name()
|
||||||
ui.home_pos[player_name] = vector.round(pos)
|
ui.home_pos[player_name] = vector.round(pos)
|
||||||
|
|
||||||
-- save the home data from the table to the file
|
-- save the home data from the table to the file
|
||||||
local output = io.open(ui.home_filename, "w")
|
local output = io.open(ui.home_filename, "w")
|
||||||
|
if not output then
|
||||||
|
minetest.log("warning", "[unified_inventory] Failed to save file: "
|
||||||
|
.. ui.home_filename)
|
||||||
|
return
|
||||||
|
end
|
||||||
for k, v in pairs(ui.home_pos) do
|
for k, v in pairs(ui.home_pos) do
|
||||||
output:write(v.x.." "..v.y.." "..v.z.." "..k.."\n")
|
output:write(v.x.." "..v.y.." "..v.z.." "..k.."\n")
|
||||||
end
|
end
|
||||||
@ -206,10 +216,15 @@ function ui.register_craft(options)
|
|||||||
if options.type == "normal" and options.width == 0 then
|
if options.type == "normal" and options.width == 0 then
|
||||||
options = { type = "shapeless", items = options.items, output = options.output, width = 0 }
|
options = { type = "shapeless", items = options.items, output = options.output, width = 0 }
|
||||||
end
|
end
|
||||||
if not ui.crafts_for.recipe[itemstack:get_name()] then
|
local item_name = itemstack:get_name()
|
||||||
ui.crafts_for.recipe[itemstack:get_name()] = {}
|
if not ui.crafts_for.recipe[item_name] then
|
||||||
|
ui.crafts_for.recipe[item_name] = {}
|
||||||
|
end
|
||||||
|
table.insert(ui.crafts_for.recipe[item_name],options)
|
||||||
|
|
||||||
|
for _, callback in ipairs(ui.craft_registered_callbacks) do
|
||||||
|
callback(item_name, options)
|
||||||
end
|
end
|
||||||
table.insert(ui.crafts_for.recipe[itemstack:get_name()],options)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -303,6 +318,32 @@ function ui.register_button(name, def)
|
|||||||
table.insert(ui.buttons, def)
|
table.insert(ui.buttons, def)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function ui.register_on_initialized(callback)
|
||||||
|
if type(callback) ~= "function" then
|
||||||
|
error(("Initialized callback must be a function, %s given."):format(type(callback)))
|
||||||
|
end
|
||||||
|
table.insert(ui.initialized_callbacks, callback)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ui.register_on_craft_registered(callback)
|
||||||
|
if type(callback) ~= "function" then
|
||||||
|
error(("Craft registered callback must be a function, %s given."):format(type(callback)))
|
||||||
|
end
|
||||||
|
table.insert(ui.craft_registered_callbacks, callback)
|
||||||
|
end
|
||||||
|
|
||||||
|
function ui.get_recipe_list(output)
|
||||||
|
return ui.crafts_for.recipe[output]
|
||||||
|
end
|
||||||
|
|
||||||
|
function ui.get_registered_outputs()
|
||||||
|
local outputs = {}
|
||||||
|
for item_name, _ in pairs(ui.crafts_for.recipe) do
|
||||||
|
table.insert(outputs, item_name)
|
||||||
|
end
|
||||||
|
return outputs
|
||||||
|
end
|
||||||
|
|
||||||
function ui.is_creative(playername)
|
function ui.is_creative(playername)
|
||||||
return minetest.check_player_privs(playername, {creative=true})
|
return minetest.check_player_privs(playername, {creative=true})
|
||||||
or minetest.settings:get_bool("creative_mode")
|
or minetest.settings:get_bool("creative_mode")
|
||||||
|
@ -24,8 +24,7 @@ minetest.register_on_joinplayer(function(player)
|
|||||||
unified_inventory.alternate[player_name] = 1
|
unified_inventory.alternate[player_name] = 1
|
||||||
unified_inventory.current_item[player_name] = nil
|
unified_inventory.current_item[player_name] = nil
|
||||||
unified_inventory.current_craft_direction[player_name] = "recipe"
|
unified_inventory.current_craft_direction[player_name] = "recipe"
|
||||||
unified_inventory.set_inventory_formspec(player,
|
unified_inventory.set_inventory_formspec(player, unified_inventory.default)
|
||||||
unified_inventory.default)
|
|
||||||
|
|
||||||
-- Refill slot
|
-- Refill slot
|
||||||
local refill = minetest.create_detached_inventory(player_name.."refill", {
|
local refill = minetest.create_detached_inventory(player_name.."refill", {
|
||||||
|
11
category.lua
11
category.lua
@ -70,7 +70,7 @@ end
|
|||||||
local function ensure_category_exists(category_name)
|
local function ensure_category_exists(category_name)
|
||||||
if not unified_inventory.registered_categories[category_name] then
|
if not unified_inventory.registered_categories[category_name] then
|
||||||
unified_inventory.registered_categories[category_name] = {
|
unified_inventory.registered_categories[category_name] = {
|
||||||
symbol = "default:stick",
|
symbol = "unknown_item.png",
|
||||||
label = category_name
|
label = category_name
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
@ -81,16 +81,17 @@ end
|
|||||||
|
|
||||||
function unified_inventory.register_category(category_name, config)
|
function unified_inventory.register_category(category_name, config)
|
||||||
ensure_category_exists(category_name)
|
ensure_category_exists(category_name)
|
||||||
if config and config.symbol then
|
config = config or {}
|
||||||
|
if config.symbol then
|
||||||
unified_inventory.set_category_symbol(category_name, config.symbol)
|
unified_inventory.set_category_symbol(category_name, config.symbol)
|
||||||
end
|
end
|
||||||
if config and config.label then
|
if config.label then
|
||||||
unified_inventory.set_category_label(category_name, config.label)
|
unified_inventory.set_category_label(category_name, config.label)
|
||||||
end
|
end
|
||||||
if config and config.index then
|
if config.index then
|
||||||
unified_inventory.set_category_index(category_name, config.index)
|
unified_inventory.set_category_index(category_name, config.index)
|
||||||
end
|
end
|
||||||
if config and config.items then
|
if config.items then
|
||||||
unified_inventory.add_category_items(category_name, config.items)
|
unified_inventory.add_category_items(category_name, config.items)
|
||||||
end
|
end
|
||||||
update_category_list()
|
update_category_list()
|
||||||
|
@ -20,6 +20,64 @@ Grouped by use-case, afterwards sorted alphabetically.
|
|||||||
* Checks whether creative is enabled or the player has `creative`
|
* Checks whether creative is enabled or the player has `creative`
|
||||||
|
|
||||||
|
|
||||||
|
Callbacks
|
||||||
|
---------
|
||||||
|
|
||||||
|
Register a callback that will be run whenever a craft is registered via unified_inventory.register_craft:
|
||||||
|
|
||||||
|
unified_inventory.register_on_craft_registered(
|
||||||
|
function (item_name, options)
|
||||||
|
-- item_name (string): name of the output item, equivalent to `ItemStack:get_name()`
|
||||||
|
-- options (table): definition table of crafts registered by `unified_inventory.register_craft`
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
Register a callback that will be run after all mods have loaded and after the unified_inventory mod has initialised all its internal structures:
|
||||||
|
|
||||||
|
unified_inventory.register_on_initialized(callback)
|
||||||
|
-- The callback is passed no arguments
|
||||||
|
|
||||||
|
|
||||||
|
Accessing Data
|
||||||
|
--------------
|
||||||
|
|
||||||
|
These methods should be used instead of accessing the unified_inventory data structures directly - this will ensure your code survives any potential restructuring of the mod.
|
||||||
|
|
||||||
|
Get a list of recipes for a particular output item:
|
||||||
|
|
||||||
|
unified_inventory.get_recipe_list(output_item)
|
||||||
|
|
||||||
|
Returns a list of tables, each holding a recipe definition, like:
|
||||||
|
{
|
||||||
|
{
|
||||||
|
type = "normal",
|
||||||
|
items = { "default:stick", "default:stick", "default:stick", "default:stick" },
|
||||||
|
output = "default:wood",
|
||||||
|
width = 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type = "shapeless",
|
||||||
|
items = { "default:tree" },
|
||||||
|
output = "default:wood 4",
|
||||||
|
width = 0
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
Get a list of all the output items crafts have been registered for:
|
||||||
|
|
||||||
|
unified_inventory.get_registered_outputs()
|
||||||
|
|
||||||
|
Returns a list of item names, like:
|
||||||
|
{
|
||||||
|
"default:stone",
|
||||||
|
"default:chest",
|
||||||
|
"default:brick",
|
||||||
|
"doors:door_wood",
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Pages
|
Pages
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
13
init.lua
13
init.lua
@ -1,4 +1,4 @@
|
|||||||
-- Unified Inventory for Minetest >= 0.4.16
|
-- Unified Inventory
|
||||||
|
|
||||||
local modpath = minetest.get_modpath(minetest.get_current_modname())
|
local modpath = minetest.get_modpath(minetest.get_current_modname())
|
||||||
local worldpath = minetest.get_worldpath()
|
local worldpath = minetest.get_worldpath()
|
||||||
@ -24,6 +24,8 @@ unified_inventory = {
|
|||||||
filtered_items_list = {},
|
filtered_items_list = {},
|
||||||
pages = {},
|
pages = {},
|
||||||
buttons = {},
|
buttons = {},
|
||||||
|
initialized_callbacks = {},
|
||||||
|
craft_registered_callbacks = {},
|
||||||
|
|
||||||
-- Homepos stuff
|
-- Homepos stuff
|
||||||
home_pos = {},
|
home_pos = {},
|
||||||
@ -43,7 +45,8 @@ unified_inventory = {
|
|||||||
imgscale = 1.25,
|
imgscale = 1.25,
|
||||||
list_img_offset = 0.13,
|
list_img_offset = 0.13,
|
||||||
standard_background = "background9[0,0;1,1;ui_formbg_9_sliced.png;true;16]",
|
standard_background = "background9[0,0;1,1;ui_formbg_9_sliced.png;true;16]",
|
||||||
version = 2
|
|
||||||
|
version = 3
|
||||||
}
|
}
|
||||||
|
|
||||||
local ui = unified_inventory
|
local ui = unified_inventory
|
||||||
@ -166,9 +169,5 @@ if minetest.settings:get_bool("unified_inventory_bags") ~= false then
|
|||||||
end
|
end
|
||||||
|
|
||||||
dofile(modpath.."/item_names.lua")
|
dofile(modpath.."/item_names.lua")
|
||||||
|
dofile(modpath.."/waypoints.lua")
|
||||||
if minetest.get_modpath("datastorage") then
|
|
||||||
dofile(modpath.."/waypoints.lua")
|
|
||||||
end
|
|
||||||
|
|
||||||
minetest.log("action", "[unified_inventory] loaded.")
|
minetest.log("action", "[unified_inventory] loaded.")
|
||||||
|
325
internal.lua
325
internal.lua
@ -22,13 +22,17 @@ end
|
|||||||
function ui.get_per_player_formspec(player_name)
|
function ui.get_per_player_formspec(player_name)
|
||||||
local draw_lite_mode = ui.lite_mode and not minetest.check_player_privs(player_name, {ui_full=true})
|
local draw_lite_mode = ui.lite_mode and not minetest.check_player_privs(player_name, {ui_full=true})
|
||||||
|
|
||||||
return table.copy(draw_lite_mode and ui.style_lite or ui.style_full), draw_lite_mode
|
local style = table.copy(draw_lite_mode and ui.style_lite or ui.style_full)
|
||||||
|
style.is_lite_mode = draw_lite_mode
|
||||||
|
return style
|
||||||
end
|
end
|
||||||
|
|
||||||
local function formspec_button(ui_peruser, name, image, offset, pos, scale, label)
|
local function formspec_button(ui_peruser, name, image, offset, pos, scale, label)
|
||||||
local element = 'image_button'
|
local element = 'image_button'
|
||||||
if minetest.registered_items[image] then
|
if minetest.registered_items[image] then
|
||||||
element = 'item_image_button'
|
element = 'item_image_button'
|
||||||
|
elseif image:find(":", 1, true) then
|
||||||
|
image = "unknown_item.png"
|
||||||
end
|
end
|
||||||
local spc = (1-scale)*ui_peruser.btn_size/2
|
local spc = (1-scale)*ui_peruser.btn_size/2
|
||||||
local size = ui_peruser.btn_size*scale
|
local size = ui_peruser.btn_size*scale
|
||||||
@ -39,54 +43,24 @@ local function formspec_button(ui_peruser, name, image, offset, pos, scale, labe
|
|||||||
string.format("tooltip[%s;%s]", name, F(label or name))
|
string.format("tooltip[%s;%s]", name, F(label or name))
|
||||||
end
|
end
|
||||||
|
|
||||||
function ui.get_formspec(player, page)
|
local function formspec_add_filters(player, formspec, style)
|
||||||
|
|
||||||
if not player then
|
|
||||||
return ""
|
|
||||||
end
|
|
||||||
|
|
||||||
local player_name = player:get_player_name()
|
|
||||||
local ui_peruser,draw_lite_mode = ui.get_per_player_formspec(player_name)
|
|
||||||
|
|
||||||
ui.current_page[player_name] = page
|
|
||||||
local pagedef = ui.pages[page]
|
|
||||||
|
|
||||||
if not pagedef then
|
|
||||||
return "" -- Invalid page name
|
|
||||||
end
|
|
||||||
|
|
||||||
local formspec = {
|
|
||||||
"formspec_version[4]",
|
|
||||||
"size["..ui_peruser.formw..","..ui_peruser.formh.."]",
|
|
||||||
pagedef.formspec_prepend and "" or "no_prepend[]",
|
|
||||||
ui.standard_background
|
|
||||||
}
|
|
||||||
|
|
||||||
local n = 5
|
|
||||||
|
|
||||||
local perplayer_formspec = ui.get_per_player_formspec(player_name)
|
|
||||||
local fsdata = pagedef.get_formspec(player, perplayer_formspec)
|
|
||||||
|
|
||||||
formspec[n] = fsdata.formspec
|
|
||||||
n = n+1
|
|
||||||
|
|
||||||
local button_row = 0
|
local button_row = 0
|
||||||
local button_col = 0
|
local button_col = 0
|
||||||
|
local n = #formspec + 1
|
||||||
|
|
||||||
-- Main buttons
|
-- Main buttons
|
||||||
|
|
||||||
local filtered_inv_buttons = {}
|
local filtered_inv_buttons = {}
|
||||||
|
|
||||||
for i, def in pairs(ui.buttons) do
|
for i, def in pairs(ui.buttons) do
|
||||||
if not (draw_lite_mode and def.hide_lite) then
|
if not (style.is_lite_mode and def.hide_lite) then
|
||||||
table.insert(filtered_inv_buttons, def)
|
table.insert(filtered_inv_buttons, def)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local j = 1 --Modif NALC (sys4 20/11/2018) 12 buttons max by row
|
local j = 1 --Modif NALC (sys4 20/11/2018) 12 buttons max by row
|
||||||
for i, def in pairs(filtered_inv_buttons) do
|
for i, def in pairs(filtered_inv_buttons) do
|
||||||
|
if style.is_lite_mode and i > 4 then
|
||||||
if draw_lite_mode and i > 4 then
|
|
||||||
button_row = 1
|
button_row = 1
|
||||||
button_col = 1
|
button_col = 1
|
||||||
elseif not draw_lite_mode and j > 12 then
|
elseif not draw_lite_mode and j > 12 then
|
||||||
@ -95,62 +69,61 @@ function ui.get_formspec(player, page)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if def.type == "image" then
|
if def.type == "image" then
|
||||||
|
local pos_x = style.main_button_x + style.btn_spc * (j - 1) - button_col * style.btn_spc * 4
|
||||||
|
local pos_y = style.main_button_y + button_row * style.btn_spc
|
||||||
if (def.condition == nil or def.condition(player) == true) then
|
if (def.condition == nil or def.condition(player) == true) then
|
||||||
formspec[n] = string.format("image_button[%f,%f;%f,%f;%s;%s;]",
|
formspec[n] = string.format("image_button[%f,%f;%f,%f;%s;%s;]",
|
||||||
ui_peruser.main_button_x + ui_peruser.btn_spc * (j - 1) - button_col * ui_peruser.btn_spc * 4, -- Modif NALC
|
pos_x, pos_y, style.btn_size, style.btn_size,
|
||||||
ui_peruser.main_button_y + button_row * ui_peruser.btn_spc,
|
|
||||||
ui_peruser.btn_size,ui_peruser.btn_size,
|
|
||||||
F(def.image),
|
F(def.image),
|
||||||
F(def.name))
|
F(def.name))
|
||||||
formspec[n+1] = "tooltip["..F(def.name)..";"..(def.tooltip or "").."]"
|
formspec[n+1] = "tooltip["..F(def.name)..";"..(def.tooltip or "").."]"
|
||||||
n = n+2
|
n = n+2
|
||||||
else
|
else
|
||||||
formspec[n] = string.format("image[%f,%f;%f,%f;%s^[colorize:#808080:alpha]",
|
formspec[n] = string.format("image[%f,%f;%f,%f;%s^[colorize:#808080:alpha]",
|
||||||
ui_peruser.main_button_x + ui_peruser.btn_spc * (j - 1) - button_col * ui_peruser.btn_spc * 4, -- Modif NALC
|
pos_x, pos_y, style.btn_size, style.btn_size,
|
||||||
ui_peruser.main_button_y + button_row * ui_peruser.btn_spc,
|
def.image)
|
||||||
ui_peruser.btn_size,ui_peruser.btn_size,def.image)
|
|
||||||
n = n+1
|
n = n+1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
j = j + 1 -- Modif NALC
|
j = j + 1 -- Modif NALC
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
if fsdata.draw_inventory ~= false then
|
local function formspec_add_categories(player, formspec, ui_peruser)
|
||||||
-- Player inventory
|
local player_name = player:get_player_name()
|
||||||
formspec[n] = "listcolors[#00000000;#00000000]"
|
local n = #formspec + 1
|
||||||
formspec[n+1] = ui_peruser.standard_inv
|
|
||||||
n = n+2
|
|
||||||
end
|
|
||||||
|
|
||||||
if fsdata.draw_item_list == false then
|
local categories_pos = {
|
||||||
return table.concat(formspec, "")
|
ui_peruser.page_x,
|
||||||
end
|
ui_peruser.page_y-ui_peruser.btn_spc-0.5
|
||||||
|
}
|
||||||
-- Category filters
|
local categories_scroll_pos = {
|
||||||
|
ui_peruser.page_x,
|
||||||
local categories_pos = { ui_peruser.page_x, ui_peruser.page_y-ui_peruser.btn_spc-0.5 }
|
ui_peruser.form_header_y - (ui_peruser.is_lite_mode and 0 or 0.2)
|
||||||
local categories_scroll_pos = { ui_peruser.page_x, ui_peruser.form_header_y-(draw_lite_mode and 0 or 0.2) }
|
}
|
||||||
|
|
||||||
formspec[n] = string.format("background9[%f,%f;%f,%f;%s;false;3]",
|
formspec[n] = string.format("background9[%f,%f;%f,%f;%s;false;3]",
|
||||||
ui_peruser.page_x-0.1, categories_scroll_pos[2],
|
ui_peruser.page_x-0.1, categories_scroll_pos[2],
|
||||||
(ui_peruser.btn_spc * ui_peruser.pagecols) + 0.13, 1.4+(draw_lite_mode and 0 or 0.2),
|
(ui_peruser.btn_spc * ui_peruser.pagecols) + 0.13, 1.4 + (ui_peruser.is_lite_mode and 0 or 0.2),
|
||||||
"ui_smallbg_9_sliced.png")
|
"ui_smallbg_9_sliced.png")
|
||||||
n = n + 1
|
n = n + 1
|
||||||
|
|
||||||
formspec[n] = string.format("label[%f,%f;%s]", ui_peruser.page_x, ui_peruser.form_header_y+(draw_lite_mode and 0.3 or 0.2), "Category:")
|
formspec[n] = string.format("label[%f,%f;%s]",
|
||||||
|
ui_peruser.page_x,
|
||||||
|
ui_peruser.form_header_y + (ui_peruser.is_lite_mode and 0.3 or 0.2), F(S("Category:")))
|
||||||
n = n + 1
|
n = n + 1
|
||||||
|
|
||||||
local scroll_offset = 0
|
local scroll_offset = 0
|
||||||
local category_count = #unified_inventory.category_list
|
local category_count = #ui.category_list
|
||||||
if category_count > ui_peruser.pagecols then
|
if category_count > ui_peruser.pagecols then
|
||||||
scroll_offset = unified_inventory.current_category_scroll[player_name]
|
scroll_offset = ui.current_category_scroll[player_name]
|
||||||
end
|
end
|
||||||
|
|
||||||
for index, category in ipairs(unified_inventory.category_list) do
|
for index, category in ipairs(ui.category_list) do
|
||||||
local column = index - scroll_offset
|
local column = index - scroll_offset
|
||||||
if column > 0 and column <= ui_peruser.pagecols then
|
if column > 0 and column <= ui_peruser.pagecols then
|
||||||
local scale = 0.8
|
local scale = 0.8
|
||||||
if unified_inventory.current_category[player_name] == category.name then
|
if ui.current_category[player_name] == category.name then
|
||||||
scale = 1
|
scale = 1
|
||||||
end
|
end
|
||||||
formspec[n] = formspec_button(ui_peruser, "category_"..category.name, category.symbol, categories_pos, {column-1, 0}, scale, category.label)
|
formspec[n] = formspec_button(ui_peruser, "category_"..category.name, category.symbol, categories_pos, {column-1, 0}, scale, category.label)
|
||||||
@ -165,10 +138,13 @@ function ui.get_formspec(player, page)
|
|||||||
if category_count > ui_peruser.pagecols and category_count - scroll_offset > ui_peruser.pagecols then
|
if category_count > ui_peruser.pagecols and category_count - scroll_offset > ui_peruser.pagecols then
|
||||||
-- next
|
-- next
|
||||||
formspec[n] = formspec_button(ui_peruser, "next_category", "ui_right_icon.png", categories_scroll_pos, {ui_peruser.pagecols - 1, 0}, 0.8, S("Scroll categories right"))
|
formspec[n] = formspec_button(ui_peruser, "next_category", "ui_right_icon.png", categories_scroll_pos, {ui_peruser.pagecols - 1, 0}, 0.8, S("Scroll categories right"))
|
||||||
n = n + 1
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function formspec_add_search_box(player, formspec, ui_peruser)
|
||||||
|
local player_name = player:get_player_name()
|
||||||
|
local n = #formspec + 1
|
||||||
|
|
||||||
-- Search box
|
|
||||||
formspec[n] = "field_close_on_enter[searchbox;false]"
|
formspec[n] = "field_close_on_enter[searchbox;false]"
|
||||||
|
|
||||||
formspec[n+1] = string.format("field[%f,%f;%f,%f;searchbox;;%s]",
|
formspec[n+1] = string.format("field[%f,%f;%f,%f;searchbox;;%s]",
|
||||||
@ -185,7 +161,16 @@ function ui.get_formspec(player, page)
|
|||||||
ui_peruser.btn_size, ui_peruser.btn_size)
|
ui_peruser.btn_size, ui_peruser.btn_size)
|
||||||
formspec[n+5] = "tooltip[searchresetbutton;"..F(S("Reset search and display everything")).."]"
|
formspec[n+5] = "tooltip[searchresetbutton;"..F(S("Reset search and display everything")).."]"
|
||||||
|
|
||||||
n = n + 6
|
if ui.activefilter[player_name] ~= "" then
|
||||||
|
formspec[n+6] = string.format("label[%f,%f;%s: %s]",
|
||||||
|
ui_peruser.page_x, ui_peruser.page_y - 0.25,
|
||||||
|
F(S("Filter")), F(ui.activefilter[player_name]))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function formspec_add_item_browser(player, formspec, ui_peruser)
|
||||||
|
local player_name = player:get_player_name()
|
||||||
|
local n = #formspec + 1
|
||||||
|
|
||||||
-- Controls to flip items pages
|
-- Controls to flip items pages
|
||||||
|
|
||||||
@ -198,9 +183,9 @@ function ui.get_formspec(player, page)
|
|||||||
{ "ui_skip_forward_icon.png", "end_list", S("Last page") },
|
{ "ui_skip_forward_icon.png", "end_list", S("Last page") },
|
||||||
}
|
}
|
||||||
|
|
||||||
if draw_lite_mode then
|
if ui_peruser.is_lite_mode then
|
||||||
btnlist[5] = nil
|
|
||||||
btnlist[2] = nil
|
btnlist[2] = nil
|
||||||
|
btnlist[5] = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
local bn = 0
|
local bn = 0
|
||||||
@ -215,69 +200,109 @@ function ui.get_formspec(player, page)
|
|||||||
n = n + 2
|
n = n + 2
|
||||||
end
|
end
|
||||||
|
|
||||||
local no_matches = S("No matching items")
|
|
||||||
if draw_lite_mode then
|
|
||||||
no_matches = S("No matches.")
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Items list
|
-- Items list
|
||||||
if #ui.filtered_items_list[player_name] == 0 then
|
if #ui.filtered_items_list[player_name] == 0 then
|
||||||
formspec[n] = "label["..ui_peruser.page_x..","..(ui_peruser.page_y+0.15)..";" .. F(no_matches) .. "]"
|
local no_matches = S("No matching items")
|
||||||
else
|
if ui_peruser.is_lite_mode then
|
||||||
local dir = ui.active_search_direction[player_name]
|
no_matches = S("No matches.")
|
||||||
local list_index = ui.current_index[player_name]
|
end
|
||||||
local page2 = math.floor(list_index / (ui_peruser.items_per_page) + 1)
|
|
||||||
local pagemax = math.floor(
|
|
||||||
(#ui.filtered_items_list[player_name] - 1)
|
|
||||||
/ (ui_peruser.items_per_page) + 1)
|
|
||||||
for y = 0, ui_peruser.pagerows - 1 do
|
|
||||||
for x = 0, ui_peruser.pagecols - 1 do
|
|
||||||
local name = ui.filtered_items_list[player_name][list_index]
|
|
||||||
local item = minetest.registered_items[name]
|
|
||||||
if item then
|
|
||||||
-- Clicked on current item: Flip crafting direction
|
|
||||||
if name == ui.current_item[player_name] then
|
|
||||||
local cdir = ui.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 = ui.active_search_direction[player_name]
|
|
||||||
end
|
|
||||||
|
|
||||||
local button_name = "item_button_" .. dir .. "_"
|
formspec[n] = "label["..ui_peruser.page_x..","..(ui_peruser.page_y+0.15)..";" .. F(no_matches) .. "]"
|
||||||
.. ui.mangle_for_formspec(name)
|
return
|
||||||
formspec[n] = ("item_image_button[%f,%f;%f,%f;%s;%s;]"):format(
|
end
|
||||||
ui_peruser.page_x + x * ui_peruser.btn_spc,
|
|
||||||
ui_peruser.page_y + y * ui_peruser.btn_spc,
|
local dir = ui.active_search_direction[player_name]
|
||||||
ui_peruser.btn_size, ui_peruser.btn_size,
|
local list_index = ui.current_index[player_name]
|
||||||
name, button_name
|
local page2 = math.floor(list_index / (ui_peruser.items_per_page) + 1)
|
||||||
)
|
local pagemax = math.floor(
|
||||||
formspec[n + 1] = ("tooltip[%s;%s \\[%s\\]]"):format(
|
(#ui.filtered_items_list[player_name] - 1)
|
||||||
button_name, minetest.formspec_escape(item.description),
|
/ (ui_peruser.items_per_page) + 1)
|
||||||
item.mod_origin or "??"
|
for y = 0, ui_peruser.pagerows - 1 do
|
||||||
)
|
for x = 0, ui_peruser.pagecols - 1 do
|
||||||
n = n + 2
|
local name = ui.filtered_items_list[player_name][list_index]
|
||||||
list_index = list_index + 1
|
local item = minetest.registered_items[name]
|
||||||
|
if item then
|
||||||
|
-- Clicked on current item: Flip crafting direction
|
||||||
|
if name == ui.current_item[player_name] then
|
||||||
|
local cdir = ui.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 = ui.active_search_direction[player_name]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local button_name = "item_button_" .. dir .. "_"
|
||||||
|
.. ui.mangle_for_formspec(name)
|
||||||
|
formspec[n] = ("item_image_button[%f,%f;%f,%f;%s;%s;]"):format(
|
||||||
|
ui_peruser.page_x + x * ui_peruser.btn_spc,
|
||||||
|
ui_peruser.page_y + y * ui_peruser.btn_spc,
|
||||||
|
ui_peruser.btn_size, ui_peruser.btn_size,
|
||||||
|
name, button_name
|
||||||
|
)
|
||||||
|
formspec[n + 1] = ("tooltip[%s;%s \\[%s\\]]"):format(
|
||||||
|
button_name, minetest.formspec_escape(item.description),
|
||||||
|
item.mod_origin or "??"
|
||||||
|
)
|
||||||
|
n = n + 2
|
||||||
|
list_index = list_index + 1
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
formspec[n] = string.format("label[%f,%f;%s: %s]",
|
|
||||||
ui_peruser.page_buttons_x + ui_peruser.btn_spc * (draw_lite_mode and 1 or 2),
|
|
||||||
ui_peruser.page_buttons_y + 0.1 + ui_peruser.btn_spc * 2,
|
|
||||||
F(S("Page")), S("@1 of @2",page2,pagemax))
|
|
||||||
end
|
end
|
||||||
n= n+1
|
formspec[n] = string.format("label[%f,%f;%s: %s]",
|
||||||
|
ui_peruser.page_buttons_x + ui_peruser.btn_spc * (ui_peruser.is_lite_mode and 1 or 2),
|
||||||
|
ui_peruser.page_buttons_y + 0.1 + ui_peruser.btn_spc * 2,
|
||||||
|
F(S("Page")), S("@1 of @2",page2,pagemax))
|
||||||
|
end
|
||||||
|
|
||||||
if ui.activefilter[player_name] ~= "" then
|
function ui.get_formspec(player, page)
|
||||||
formspec[n] = string.format("label[%f,%f;%s: %s]",
|
|
||||||
ui_peruser.page_x, ui_peruser.page_y - 0.25,
|
if not player then
|
||||||
F(S("Filter")), F(ui.activefilter[player_name]))
|
return ""
|
||||||
end
|
end
|
||||||
return table.concat(formspec, "")
|
|
||||||
|
local player_name = player:get_player_name()
|
||||||
|
local ui_peruser = ui.get_per_player_formspec(player_name)
|
||||||
|
|
||||||
|
ui.current_page[player_name] = page
|
||||||
|
local pagedef = ui.pages[page]
|
||||||
|
|
||||||
|
if not pagedef then
|
||||||
|
return "" -- Invalid page name
|
||||||
|
end
|
||||||
|
|
||||||
|
local fs = {
|
||||||
|
"formspec_version[4]",
|
||||||
|
"size["..ui_peruser.formw..","..ui_peruser.formh.."]",
|
||||||
|
pagedef.formspec_prepend and "" or "no_prepend[]",
|
||||||
|
ui.standard_background
|
||||||
|
}
|
||||||
|
|
||||||
|
local perplayer_formspec = ui.get_per_player_formspec(player_name)
|
||||||
|
local fsdata = pagedef.get_formspec(player, perplayer_formspec)
|
||||||
|
|
||||||
|
fs[#fs + 1] = fsdata.formspec
|
||||||
|
|
||||||
|
formspec_add_filters(player, fs, ui_peruser)
|
||||||
|
|
||||||
|
if fsdata.draw_inventory ~= false then
|
||||||
|
-- Player inventory
|
||||||
|
fs[#fs + 1] = "listcolors[#00000000;#00000000]"
|
||||||
|
fs[#fs + 1] = ui_peruser.standard_inv
|
||||||
|
end
|
||||||
|
|
||||||
|
if fsdata.draw_item_list == false then
|
||||||
|
return table.concat(fs, "")
|
||||||
|
end
|
||||||
|
|
||||||
|
formspec_add_categories(player, fs, ui_peruser)
|
||||||
|
formspec_add_search_box(player, fs, ui_peruser)
|
||||||
|
formspec_add_item_browser(player, fs, ui_peruser)
|
||||||
|
|
||||||
|
return table.concat(fs)
|
||||||
end
|
end
|
||||||
|
|
||||||
function ui.set_inventory_formspec(player, page)
|
function ui.set_inventory_formspec(player, page)
|
||||||
@ -355,63 +380,5 @@ function ui.apply_filter(player, filter, search_dir)
|
|||||||
ui.current_index[player_name] = 1
|
ui.current_index[player_name] = 1
|
||||||
ui.activefilter[player_name] = filter
|
ui.activefilter[player_name] = filter
|
||||||
ui.active_search_direction[player_name] = search_dir
|
ui.active_search_direction[player_name] = search_dir
|
||||||
ui.set_inventory_formspec(player,
|
ui.set_inventory_formspec(player, ui.current_page[player_name])
|
||||||
ui.current_page[player_name])
|
|
||||||
end
|
|
||||||
|
|
||||||
function ui.items_in_group(groups)
|
|
||||||
local items = {}
|
|
||||||
for name, item in pairs(minetest.registered_items) do
|
|
||||||
for _, group in pairs(groups:split(',')) do
|
|
||||||
if item.groups[group] then
|
|
||||||
table.insert(items, name)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return items
|
|
||||||
end
|
|
||||||
|
|
||||||
function ui.sort_inventory(inv)
|
|
||||||
local inlist = inv:get_list("main")
|
|
||||||
local typecnt = {}
|
|
||||||
local typekeys = {}
|
|
||||||
for _, st in ipairs(inlist) do
|
|
||||||
if not st:is_empty() then
|
|
||||||
local n = st:get_name()
|
|
||||||
local w = st:get_wear()
|
|
||||||
local m = st:get_metadata()
|
|
||||||
local k = string.format("%s %05d %s", n, w, m)
|
|
||||||
if not typecnt[k] then
|
|
||||||
typecnt[k] = {
|
|
||||||
name = n,
|
|
||||||
wear = w,
|
|
||||||
metadata = m,
|
|
||||||
stack_max = st:get_stack_max(),
|
|
||||||
count = 0,
|
|
||||||
}
|
|
||||||
table.insert(typekeys, k)
|
|
||||||
end
|
|
||||||
typecnt[k].count = typecnt[k].count + st:get_count()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
table.sort(typekeys)
|
|
||||||
local outlist = {}
|
|
||||||
for _, k in ipairs(typekeys) do
|
|
||||||
local tc = typecnt[k]
|
|
||||||
while tc.count > 0 do
|
|
||||||
local c = math.min(tc.count, tc.stack_max)
|
|
||||||
table.insert(outlist, ItemStack({
|
|
||||||
name = tc.name,
|
|
||||||
wear = tc.wear,
|
|
||||||
metadata = tc.metadata,
|
|
||||||
count = c,
|
|
||||||
}))
|
|
||||||
tc.count = tc.count - c
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if #outlist > #inlist then return end
|
|
||||||
while #outlist < #inlist do
|
|
||||||
table.insert(outlist, ItemStack(nil))
|
|
||||||
end
|
|
||||||
inv:set_list("main", outlist)
|
|
||||||
end
|
end
|
||||||
|
@ -1,54 +1,52 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
|
Mixing=
|
||||||
# waypoints.lua
|
Cooking=
|
||||||
|
Digging=
|
||||||
White=
|
Bags=
|
||||||
Yellow=
|
Bag @1=
|
||||||
Red=
|
Small Bag=
|
||||||
Green=
|
Medium Bag=
|
||||||
Blue=
|
Large Bag=
|
||||||
Waypoints=
|
All Items=
|
||||||
Select Waypoint #@1=
|
Misc. Items=
|
||||||
Waypoint @1=
|
Plant Life=
|
||||||
Set waypoint to current location=
|
Building Materials=
|
||||||
Make waypoint @1=
|
Tools=
|
||||||
invisible=
|
Minerals and Metals=
|
||||||
visible=
|
Environment and Worldgen=
|
||||||
@1 display of waypoint coordinates=
|
Lighting=
|
||||||
Disable=
|
|
||||||
Enable=
|
|
||||||
Change color of waypoint display=
|
|
||||||
Edit waypoint name=
|
|
||||||
Waypoint active=
|
|
||||||
Waypoint inactive=
|
|
||||||
Finish editing=
|
|
||||||
World position=
|
|
||||||
Name=
|
|
||||||
HUD text color=
|
|
||||||
|
|
||||||
# group.lua
|
|
||||||
|
|
||||||
and =
|
and =
|
||||||
|
Scroll categories left=
|
||||||
# register.lua
|
Scroll categories right=
|
||||||
|
Search=
|
||||||
|
Reset search and display everything=
|
||||||
|
First page=
|
||||||
|
Back three pages=
|
||||||
|
Back one page=
|
||||||
|
Forward one page=
|
||||||
|
Forward three pages=
|
||||||
|
Last page=
|
||||||
|
No matching items=
|
||||||
|
No matches.=
|
||||||
|
Page=
|
||||||
|
@1 of @2=
|
||||||
|
Filter=
|
||||||
Can use the creative inventory=
|
Can use the creative inventory=
|
||||||
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=
|
||||||
Crafting Grid=
|
Crafting Grid=
|
||||||
Crafting Guide=
|
Crafting Guide=
|
||||||
Set home position=
|
Set home position=
|
||||||
Home position set to: @1=
|
Home position set to: @1=
|
||||||
You don't have the \"home\" privilege!=
|
You don't have the "home" privilege!=
|
||||||
Go home=
|
Go home=
|
||||||
Set time to day=
|
Set time to day=
|
||||||
Set time to night=
|
|
||||||
Time of day set to 6am=
|
Time of day set to 6am=
|
||||||
Time of day set to 9pm=
|
|
||||||
You don't have the settime privilege!=
|
You don't have the settime privilege!=
|
||||||
|
Set time to night=
|
||||||
|
Time of day set to 9pm=
|
||||||
Clear inventory=
|
Clear inventory=
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
Inventory cleared!=
|
Inventory cleared!=
|
||||||
This button has been disabled outside=
|
|
||||||
Crafting=
|
|
||||||
Trash:=
|
Trash:=
|
||||||
Refill:=
|
Refill:=
|
||||||
Any item belonging to the @1 group=
|
Any item belonging to the @1 group=
|
||||||
@ -65,36 +63,28 @@ Show previous recipe=
|
|||||||
Show previous usage=
|
Show previous usage=
|
||||||
@1 (@2)=
|
@1 (@2)=
|
||||||
Give me:=
|
Give me:=
|
||||||
This recipe is too@nlarge to be displayed.=
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=
|
To craft grid:=
|
||||||
All=
|
All=
|
||||||
|
Crafting=
|
||||||
# api.lua
|
White=
|
||||||
|
Yellow=
|
||||||
Mixing=
|
Red=
|
||||||
Cooking=
|
Green=
|
||||||
Digging=
|
Blue=
|
||||||
|
Waypoints=
|
||||||
# internal.lua
|
Select Waypoint #@1=
|
||||||
|
Waypoint @1=
|
||||||
First page=
|
Set waypoint to current location=
|
||||||
Back three pages=
|
Hide waypoint=
|
||||||
Back one page=
|
Show waypoint=
|
||||||
Forward one page=
|
Hide coordinates=
|
||||||
Forward three pages=
|
Show coordinates=
|
||||||
Last page=
|
Change color of waypoint display=
|
||||||
Search=
|
Edit waypoint name=
|
||||||
Reset search and display everything=
|
Waypoint active=
|
||||||
No matching items=
|
Waypoint inactive=
|
||||||
No matches.=
|
Finish editing=
|
||||||
Page=
|
World position=
|
||||||
@1 of @2=
|
Name=
|
||||||
Filter=
|
HUD text color=
|
||||||
|
|
||||||
# bags.lua
|
|
||||||
|
|
||||||
Bags=
|
|
||||||
Bag @1=
|
|
||||||
Small Bag=
|
|
||||||
Medium Bag=
|
|
||||||
Large Bag=
|
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
Crafting=Fertigung
|
|
||||||
Mixing=Mischen
|
Mixing=Mischen
|
||||||
Cooking=Kochen
|
Cooking=Kochen
|
||||||
Digging=Graben
|
Digging=Graben
|
||||||
@ -8,21 +7,32 @@ Bag @1=Tasche @1
|
|||||||
Small Bag=Kleine Tasche
|
Small Bag=Kleine Tasche
|
||||||
Medium Bag=Mittelgroße Tasche
|
Medium Bag=Mittelgroße Tasche
|
||||||
Large Bag=Große Tasche
|
Large Bag=Große Tasche
|
||||||
|
All Items=
|
||||||
|
Misc. Items=
|
||||||
|
Plant Life=
|
||||||
|
Building Materials=
|
||||||
|
Tools=
|
||||||
|
Minerals and Metals=
|
||||||
|
Environment and Worldgen=
|
||||||
|
Lighting=
|
||||||
and = und
|
and = und
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=Suchen
|
||||||
|
Reset search and display everything=Suche zurücksetzen und alles anzeigen
|
||||||
First page=Erste Seite
|
First page=Erste Seite
|
||||||
Back three pages=3 Seiten zurückblättern
|
Back three pages=3 Seiten zurückblättern
|
||||||
Back one page=1 Seite zurückblättern
|
Back one page=1 Seite zurückblättern
|
||||||
Forward one page=1 Seite vorblättern
|
Forward one page=1 Seite vorblättern
|
||||||
Forward three pages=3 Seiten vorblättern
|
Forward three pages=3 Seiten vorblättern
|
||||||
Last page=Letzte Seite
|
Last page=Letzte Seite
|
||||||
Search=Suchen
|
|
||||||
Reset search and display everything=Suche zurücksetzen und alles anzeigen
|
|
||||||
No matching items=Keine passenden Gegenstände
|
No matching items=Keine passenden Gegenstände
|
||||||
No matches.=Keine Treffer
|
No matches.=Keine Treffer
|
||||||
Page=Seite
|
Page=Seite
|
||||||
@1 of @2=@1 von @2
|
@1 of @2=@1 von @2
|
||||||
Filter=Filter
|
Filter=Filter
|
||||||
Can use the creative inventory=Kann das Kreativinventar nutzen
|
Can use the creative inventory=Kann das Kreativinventar nutzen
|
||||||
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=Zwingt Unified Inventory, im Vollmodus angezeigt zu werden, wenn der Minimalmodus global eingestellt ist
|
||||||
Crafting Grid=Fertigungsraster
|
Crafting Grid=Fertigungsraster
|
||||||
Crafting Guide=Fertigungsführer
|
Crafting Guide=Fertigungsführer
|
||||||
Set home position=Heimatposition setzen
|
Set home position=Heimatposition setzen
|
||||||
@ -35,6 +45,7 @@ You don't have the settime privilege!=Du hast das „settime“-Privileg nicht!
|
|||||||
Set time to night=Zur Nachtzeit wechseln
|
Set time to night=Zur Nachtzeit wechseln
|
||||||
Time of day set to 9pm=Tageszeit auf 21 Uhr gesetzt
|
Time of day set to 9pm=Tageszeit auf 21 Uhr gesetzt
|
||||||
Clear inventory=Inventar leeren
|
Clear inventory=Inventar leeren
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
Inventory cleared!=Inventar geleert!
|
Inventory cleared!=Inventar geleert!
|
||||||
Trash:=Müll:
|
Trash:=Müll:
|
||||||
Refill:=Nachfüllen:
|
Refill:=Nachfüllen:
|
||||||
@ -50,9 +61,12 @@ Show next recipe=Nächstes Rezept zeigen
|
|||||||
Show next usage=Nächste Verwendung zeigen
|
Show next usage=Nächste Verwendung zeigen
|
||||||
Show previous recipe=Vorheriges Rezept zeigen
|
Show previous recipe=Vorheriges Rezept zeigen
|
||||||
Show previous usage=Vorherige Verwendung zeigen
|
Show previous usage=Vorherige Verwendung zeigen
|
||||||
|
@1 (@2)=
|
||||||
Give me:=Gib mir:
|
Give me:=Gib mir:
|
||||||
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=Ins Fertigungsraster:
|
To craft grid:=Ins Fertigungsraster:
|
||||||
All=Alles
|
All=Alles
|
||||||
|
Crafting=Fertigung
|
||||||
White=Weiß
|
White=Weiß
|
||||||
Yellow=Gelb
|
Yellow=Gelb
|
||||||
Red=Rot
|
Red=Rot
|
||||||
@ -62,12 +76,10 @@ Waypoints=Wegpunkte
|
|||||||
Select Waypoint #@1=Wegpunkt Nr. @1 auswählen
|
Select Waypoint #@1=Wegpunkt Nr. @1 auswählen
|
||||||
Waypoint @1=Wegpunkt Nr. @1
|
Waypoint @1=Wegpunkt Nr. @1
|
||||||
Set waypoint to current location=Setze Wegpunkt zur derzeitigen Position
|
Set waypoint to current location=Setze Wegpunkt zur derzeitigen Position
|
||||||
invisible=unsichtbar
|
Hide waypoint=
|
||||||
visible=sichtbar
|
Show waypoint=
|
||||||
Make waypoint @1=Wegpunkt @1 machen
|
Hide coordinates=
|
||||||
Disable=ausschalten
|
Show coordinates=
|
||||||
Enable=einschalten
|
|
||||||
@1 display of waypoint coordinates=Anzeige der Wegpunktkoordinaten @1
|
|
||||||
Change color of waypoint display=Farbe der Darstellung der Wegpunkte ändern
|
Change color of waypoint display=Farbe der Darstellung der Wegpunkte ändern
|
||||||
Edit waypoint name=Name des Wegpunkts ändern
|
Edit waypoint name=Name des Wegpunkts ändern
|
||||||
Waypoint active=Wegpunkt aktiv
|
Waypoint active=Wegpunkt aktiv
|
||||||
@ -76,4 +88,13 @@ Finish editing=Bearbeitung abschließen
|
|||||||
World position=Weltposition
|
World position=Weltposition
|
||||||
Name=Name
|
Name=Name
|
||||||
HUD text color=HUD-Textfarbe
|
HUD text color=HUD-Textfarbe
|
||||||
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=Zwingt Unified Inventory, im Vollmodus angezeigt zu werden, wenn der Minimalmodus global eingestellt ist
|
|
||||||
|
|
||||||
|
##### not used anymore #####
|
||||||
|
|
||||||
|
invisible=unsichtbar
|
||||||
|
visible=sichtbar
|
||||||
|
Make waypoint @1=Wegpunkt @1 machen
|
||||||
|
Disable=ausschalten
|
||||||
|
Enable=einschalten
|
||||||
|
@1 display of waypoint coordinates=Anzeige der Wegpunktkoordinaten @1
|
||||||
|
@ -1,54 +1,57 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
|
# api.lua
|
||||||
# waypoints.lua
|
Mixing=Mezclar
|
||||||
|
Cooking=Hornear
|
||||||
White=Blanco
|
Digging=Recoger
|
||||||
Yellow=Amarillo
|
# bags.lua
|
||||||
Red=Rojo
|
Bags=Bolsos
|
||||||
Green=Verde
|
Bag @1=Bolso @1
|
||||||
Blue=Azul
|
Small Bag=Bolso Pequeño
|
||||||
Waypoints=Puntos
|
Medium Bag=Bolso Mediano
|
||||||
Select Waypoint #@1=Seleccionar Punto #@1
|
Large Bag=Bolso Grande
|
||||||
Waypoint @1=Punto @1
|
All Items=
|
||||||
Set waypoint to current location=Establecer el punto a la ubicación actual
|
Misc. Items=
|
||||||
Make waypoint @1=Hacer punto @1
|
Plant Life=
|
||||||
invisible=invisible
|
Building Materials=
|
||||||
visible=visible
|
Tools=
|
||||||
@1 display of waypoint coordinates=Visualizar coordenadas del punto @1
|
Minerals and Metals=
|
||||||
Disable=Deshabilitado
|
Environment and Worldgen=
|
||||||
Enable=Habilitado
|
Lighting=
|
||||||
Change color of waypoint display=Cambiar el color del punto
|
|
||||||
Edit waypoint name=Editar nombre del punto
|
|
||||||
Waypoint active=Punto activo
|
|
||||||
Waypoint inactive=Punto inactivo
|
|
||||||
Finish editing=Terminar edición
|
|
||||||
World position=Posición en el mundo
|
|
||||||
Name=Nombre
|
|
||||||
HUD text color=Color del texto de la Interfaz
|
|
||||||
|
|
||||||
# group.lua
|
# group.lua
|
||||||
|
|
||||||
and = y
|
and = y
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=Buscar
|
||||||
|
Reset search and display everything=Limpiar la busqueda y mostrar todo
|
||||||
|
# internal.lua
|
||||||
|
First page=Primera página
|
||||||
|
Back three pages=Volver tres páginas
|
||||||
|
Back one page=Volver una página
|
||||||
|
Forward one page=Avanzar una página
|
||||||
|
Forward three pages=Avanzar tres páginas
|
||||||
|
Last page=Ultima Pagina
|
||||||
|
No matching items=No se encontraron elementos
|
||||||
|
No matches.=No hay resultados.
|
||||||
|
Page=Página
|
||||||
|
@1 of @2=@1 de @2
|
||||||
|
Filter=Filtro
|
||||||
# register.lua
|
# register.lua
|
||||||
|
|
||||||
Can use the creative inventory=Puede usar el inventario creativo
|
Can use the creative inventory=Puede usar el inventario creativo
|
||||||
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=Obliga al Inventario Unificado a mostrarse en modo Completo si el modo Simple está configurado globalmente
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=Obliga al Inventario Unificado a mostrarse en modo Completo si el modo Simple está configurado globalmente
|
||||||
Crafting Grid=Cuadricula de Elaboración
|
Crafting Grid=Cuadricula de Elaboración
|
||||||
Crafting Guide=Guía de Elaboración
|
Crafting Guide=Guía de Elaboración
|
||||||
Set home position=Establecer posición de la casa
|
Set home position=Establecer posición de la casa
|
||||||
Home position set to: @1=Posición de la casa cambiada a: @1
|
Home position set to: @1=Posición de la casa cambiada a: @1
|
||||||
You don't have the \"home\" privilege!=¡No tienes el privilegio \"home\"!
|
You don't have the "home" privilege!=
|
||||||
Go home=Ir a casa
|
Go home=Ir a casa
|
||||||
Set time to day=Cambiar a dia
|
Set time to day=Cambiar a dia
|
||||||
Set time to night=Cambiar a noche
|
|
||||||
Time of day set to 6am=Hora del día cambiada a 6 AM
|
Time of day set to 6am=Hora del día cambiada a 6 AM
|
||||||
Time of day set to 9pm=Hora del día cambiada a 9 PM
|
|
||||||
You don't have the settime privilege!=¡No tienes el privilegio "settime"!
|
You don't have the settime privilege!=¡No tienes el privilegio "settime"!
|
||||||
|
Set time to night=Cambiar a noche
|
||||||
|
Time of day set to 9pm=Hora del día cambiada a 9 PM
|
||||||
Clear inventory=Limpiar inventario
|
Clear inventory=Limpiar inventario
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
Inventory cleared!=¡Inventario limpio!
|
Inventory cleared!=¡Inventario limpio!
|
||||||
This button has been disabled outside=Este botón ha sido deshabilitado
|
|
||||||
Crafting=Elaboración
|
|
||||||
Trash:=Basura:
|
Trash:=Basura:
|
||||||
Refill:=Rellenar:
|
Refill:=Rellenar:
|
||||||
Any item belonging to the @1 group=Cualquier elemento que pertenezca al grupo @1
|
Any item belonging to the @1 group=Cualquier elemento que pertenezca al grupo @1
|
||||||
@ -65,36 +68,41 @@ Show previous recipe=Mostrar la receta anterior
|
|||||||
Show previous usage=Mostrar el uso anterior
|
Show previous usage=Mostrar el uso anterior
|
||||||
@1 (@2)=@1 (@2)
|
@1 (@2)=@1 (@2)
|
||||||
Give me:=Dame:
|
Give me:=Dame:
|
||||||
This recipe is too@nlarge to be displayed.=Esta receta es demasiado@ngrande para ser mostrada.
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=Construir:
|
To craft grid:=Construir:
|
||||||
All=Todos
|
All=Todos
|
||||||
|
Crafting=Elaboración
|
||||||
|
White=Blanco
|
||||||
|
Yellow=Amarillo
|
||||||
|
Red=Rojo
|
||||||
|
Green=Verde
|
||||||
|
Blue=Azul
|
||||||
|
Waypoints=Puntos
|
||||||
|
Select Waypoint #@1=Seleccionar Punto #@1
|
||||||
|
Waypoint @1=Punto @1
|
||||||
|
Set waypoint to current location=Establecer el punto a la ubicación actual
|
||||||
|
Hide waypoint=
|
||||||
|
Show waypoint=
|
||||||
|
Hide coordinates=
|
||||||
|
Show coordinates=
|
||||||
|
Change color of waypoint display=Cambiar el color del punto
|
||||||
|
Edit waypoint name=Editar nombre del punto
|
||||||
|
Waypoint active=Punto activo
|
||||||
|
Waypoint inactive=Punto inactivo
|
||||||
|
Finish editing=Terminar edición
|
||||||
|
World position=Posición en el mundo
|
||||||
|
Name=Nombre
|
||||||
|
HUD text color=Color del texto de la Interfaz
|
||||||
|
|
||||||
# api.lua
|
|
||||||
|
|
||||||
Mixing=Mezclar
|
##### not used anymore #####
|
||||||
Cooking=Hornear
|
|
||||||
Digging=Recoger
|
|
||||||
|
|
||||||
# internal.lua
|
Make waypoint @1=Hacer punto @1
|
||||||
|
invisible=invisible
|
||||||
First page=Primera página
|
visible=visible
|
||||||
Back three pages=Volver tres páginas
|
@1 display of waypoint coordinates=Visualizar coordenadas del punto @1
|
||||||
Back one page=Volver una página
|
Disable=Deshabilitado
|
||||||
Forward one page=Avanzar una página
|
Enable=Habilitado
|
||||||
Forward three pages=Avanzar tres páginas
|
You don't have the \"home\" privilege!=¡No tienes el privilegio \"home\"!
|
||||||
Last page=Ultima Pagina
|
This button has been disabled outside=Este botón ha sido deshabilitado
|
||||||
Search=Buscar
|
This recipe is too@nlarge to be displayed.=Esta receta es demasiado@ngrande para ser mostrada.
|
||||||
Reset search and display everything=Limpiar la busqueda y mostrar todo
|
|
||||||
No matching items=No se encontraron elementos
|
|
||||||
No matches.=No hay resultados.
|
|
||||||
Page=Página
|
|
||||||
@1 of @2=@1 de @2
|
|
||||||
Filter=Filtro
|
|
||||||
|
|
||||||
# bags.lua
|
|
||||||
|
|
||||||
Bags=Bolsos
|
|
||||||
Bag @1=Bolso @1
|
|
||||||
Small Bag=Bolso Pequeño
|
|
||||||
Medium Bag=Bolso Mediano
|
|
||||||
Large Bag=Bolso Grande
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
Crafting=Création
|
Mixing=
|
||||||
Cooking=Cuisson
|
Cooking=Cuisson
|
||||||
Digging=Creuser
|
Digging=Creuser
|
||||||
Bags=Sacs
|
Bags=Sacs
|
||||||
@ -7,35 +7,66 @@ Bag @1=Sac @1
|
|||||||
Small Bag=Petit sac
|
Small Bag=Petit sac
|
||||||
Medium Bag=Sac moyen
|
Medium Bag=Sac moyen
|
||||||
Large Bag=Grand sac
|
Large Bag=Grand sac
|
||||||
|
All Items=
|
||||||
|
Misc. Items=
|
||||||
|
Plant Life=
|
||||||
|
Building Materials=
|
||||||
|
Tools=
|
||||||
|
Minerals and Metals=
|
||||||
|
Environment and Worldgen=
|
||||||
|
Lighting=
|
||||||
and = et
|
and = et
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=Rechercher
|
||||||
|
Reset search and display everything=
|
||||||
First page=1ère page
|
First page=1ère page
|
||||||
Back three pages=3 pages en arrière
|
Back three pages=3 pages en arrière
|
||||||
Back one page=Page précédente
|
Back one page=Page précédente
|
||||||
Forward one page=Page suivante
|
Forward one page=Page suivante
|
||||||
Forward three pages=3 pages en avant
|
Forward three pages=3 pages en avant
|
||||||
Last page=Dernière page
|
Last page=Dernière page
|
||||||
Search=Rechercher
|
|
||||||
No matching items=Aucun élément correspondant
|
No matching items=Aucun élément correspondant
|
||||||
No matches.=Aucun match
|
No matches.=Aucun match
|
||||||
Page=Page
|
Page=Page
|
||||||
@1 of @2=@1 de @2
|
@1 of @2=@1 de @2
|
||||||
Filter=Filtre
|
Filter=Filtre
|
||||||
Can use the creative inventory=Vous pouvez utiliser l'inventaire créatif
|
Can use the creative inventory=Vous pouvez utiliser l'inventaire créatif
|
||||||
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=
|
||||||
Crafting Grid=Grille de création
|
Crafting Grid=Grille de création
|
||||||
Crafting Guide=Guide de création
|
Crafting Guide=Guide de création
|
||||||
Set home position=Position dans le monde
|
Set home position=Position dans le monde
|
||||||
Home position set to: @1=Position de votre base fixée à: @1
|
Home position set to: @1=Position de votre base fixée à: @1
|
||||||
You don't have the "home" privilege!=Vous n'avez pas le privilège "home"!
|
You don't have the "home" privilege!=Vous n'avez pas le privilège "home"!
|
||||||
|
Go home=
|
||||||
|
Set time to day=
|
||||||
Time of day set to 6am=Heure fixée à 6h
|
Time of day set to 6am=Heure fixée à 6h
|
||||||
You don't have the settime privilege!=Vous n'avez pas le privilège "settime"!
|
You don't have the settime privilege!=Vous n'avez pas le privilège "settime"!
|
||||||
|
Set time to night=
|
||||||
Time of day set to 9pm=Heure fixée à 21h
|
Time of day set to 9pm=Heure fixée à 21h
|
||||||
|
Clear inventory=
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
Inventory cleared!=Inventaire vidé !
|
Inventory cleared!=Inventaire vidé !
|
||||||
Trash:=Poubelle :
|
Trash:=Poubelle :
|
||||||
Refill:=Remplir :
|
Refill:=Remplir :
|
||||||
|
Any item belonging to the @1 group=
|
||||||
|
Any item belonging to the groups @1=
|
||||||
Recipe @1 of @2=Recette @1 de @2
|
Recipe @1 of @2=Recette @1 de @2
|
||||||
|
Usage @1 of @2=
|
||||||
|
No recipes=
|
||||||
|
No usages=
|
||||||
Result=Résultat
|
Result=Résultat
|
||||||
|
Ingredient=
|
||||||
|
Show next recipe=
|
||||||
|
Show next usage=
|
||||||
|
Show previous recipe=
|
||||||
|
Show previous usage=
|
||||||
|
@1 (@2)=
|
||||||
|
Give me:=
|
||||||
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=Sur de création:
|
To craft grid:=Sur de création:
|
||||||
All=Tout
|
All=Tout
|
||||||
|
Crafting=Création
|
||||||
White=Blanc
|
White=Blanc
|
||||||
Yellow=Jaune
|
Yellow=Jaune
|
||||||
Red=Rouge
|
Red=Rouge
|
||||||
@ -45,8 +76,10 @@ Waypoints=Point de passage
|
|||||||
Select Waypoint #@1=Choisir un point de passage #@1
|
Select Waypoint #@1=Choisir un point de passage #@1
|
||||||
Waypoint @1=Point de passage @1
|
Waypoint @1=Point de passage @1
|
||||||
Set waypoint to current location=Marquer un point de passage à la position actuelle
|
Set waypoint to current location=Marquer un point de passage à la position actuelle
|
||||||
Make waypoint @1=Rendre @1 le point de passage
|
Hide waypoint=
|
||||||
@1 display of waypoint coordinates=@1 montrer les coordonnées des points de passages
|
Show waypoint=
|
||||||
|
Hide coordinates=
|
||||||
|
Show coordinates=
|
||||||
Change color of waypoint display=Changer la couleur du point de passage
|
Change color of waypoint display=Changer la couleur du point de passage
|
||||||
Edit waypoint name=Editer le nom du point de passage
|
Edit waypoint name=Editer le nom du point de passage
|
||||||
Waypoint active=Point de passage actif
|
Waypoint active=Point de passage actif
|
||||||
@ -55,3 +88,9 @@ Finish editing=Terminer l'édition
|
|||||||
World position=Position dans le monde
|
World position=Position dans le monde
|
||||||
Name=Nom
|
Name=Nom
|
||||||
HUD text color=Couleur de texte du HUD
|
HUD text color=Couleur de texte du HUD
|
||||||
|
|
||||||
|
|
||||||
|
##### not used anymore #####
|
||||||
|
|
||||||
|
Make waypoint @1=Rendre @1 le point de passage
|
||||||
|
@1 display of waypoint coordinates=@1 montrer les coordonnées des points de passages
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
Crafting=Assemblaggio
|
|
||||||
Mixing=Unione
|
Mixing=Unione
|
||||||
Cooking=Cottura
|
Cooking=Cottura
|
||||||
Digging=Scavo
|
Digging=Scavo
|
||||||
@ -8,21 +7,32 @@ Bag @1=Borsa @1
|
|||||||
Small Bag=Borsa piccola
|
Small Bag=Borsa piccola
|
||||||
Medium Bag=Borsa media
|
Medium Bag=Borsa media
|
||||||
Large Bag=Borsa grande
|
Large Bag=Borsa grande
|
||||||
|
All Items=
|
||||||
|
Misc. Items=
|
||||||
|
Plant Life=
|
||||||
|
Building Materials=
|
||||||
|
Tools=
|
||||||
|
Minerals and Metals=
|
||||||
|
Environment and Worldgen=
|
||||||
|
Lighting=
|
||||||
and = e
|
and = e
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=Cerca
|
||||||
|
Reset search and display everything=Azzera la ricerca e mostra tutto
|
||||||
First page=Prima pagina
|
First page=Prima pagina
|
||||||
Back three pages=Indietro di tre pagine
|
Back three pages=Indietro di tre pagine
|
||||||
Back one page=Indietro di una pagina
|
Back one page=Indietro di una pagina
|
||||||
Forward one page=Avanti di una pagina
|
Forward one page=Avanti di una pagina
|
||||||
Forward three pages=Avanti di tre pagine
|
Forward three pages=Avanti di tre pagine
|
||||||
Last page=Ultima pagina
|
Last page=Ultima pagina
|
||||||
Search=Cerca
|
|
||||||
Reset search and display everything=Azzera la ricerca e mostra tutto
|
|
||||||
No matching items=Nessun oggetto corrispondente
|
No matching items=Nessun oggetto corrispondente
|
||||||
No matches.=Nessuna corrispondenza.
|
No matches.=Nessuna corrispondenza.
|
||||||
Page=Pagina
|
Page=Pagina
|
||||||
@1 of @2=@1 di @2
|
@1 of @2=@1 di @2
|
||||||
Filter=Filtro
|
Filter=Filtro
|
||||||
Can use the creative inventory=Può usare l'inventario creativo
|
Can use the creative inventory=Può usare l'inventario creativo
|
||||||
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=Forza la visualizzazione di Unified Inventory in modalità completa se è configurata globalmente la visualizzazione semplice
|
||||||
Crafting Grid=Griglia di assemblaggio
|
Crafting Grid=Griglia di assemblaggio
|
||||||
Crafting Guide=Guida di assemblaggio
|
Crafting Guide=Guida di assemblaggio
|
||||||
Set home position=Imposta la residenza
|
Set home position=Imposta la residenza
|
||||||
@ -35,6 +45,7 @@ You don't have the settime privilege!=Non hai il privilegio "time"!
|
|||||||
Set time to night=Imposta l'orario sulla notte
|
Set time to night=Imposta l'orario sulla notte
|
||||||
Time of day set to 9pm=Orario impostato sulle 9am
|
Time of day set to 9pm=Orario impostato sulle 9am
|
||||||
Clear inventory=Ripulisci l'inventario
|
Clear inventory=Ripulisci l'inventario
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
Inventory cleared!=Inventario ripulito!
|
Inventory cleared!=Inventario ripulito!
|
||||||
Trash:=Butta:
|
Trash:=Butta:
|
||||||
Refill:=Riempi:
|
Refill:=Riempi:
|
||||||
@ -50,9 +61,12 @@ Show next recipe=Mostra la prossima ricetta
|
|||||||
Show next usage=Mostra il prossimo utilizzo
|
Show next usage=Mostra il prossimo utilizzo
|
||||||
Show previous recipe=Mostra la ricetta precedente
|
Show previous recipe=Mostra la ricetta precedente
|
||||||
Show previous usage=Mostra l'utilizzo precedente
|
Show previous usage=Mostra l'utilizzo precedente
|
||||||
|
@1 (@2)=
|
||||||
Give me:=Dammi:
|
Give me:=Dammi:
|
||||||
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=Alla griglia di assemblaggio:
|
To craft grid:=Alla griglia di assemblaggio:
|
||||||
All=Tutto
|
All=Tutto
|
||||||
|
Crafting=Assemblaggio
|
||||||
White=Bianco
|
White=Bianco
|
||||||
Yellow=Giallo
|
Yellow=Giallo
|
||||||
Red=Rosso
|
Red=Rosso
|
||||||
@ -62,12 +76,10 @@ Waypoints=Tappe
|
|||||||
Select Waypoint #@1=Seleziona tappa n°@1
|
Select Waypoint #@1=Seleziona tappa n°@1
|
||||||
Waypoint @1=Tappa @1
|
Waypoint @1=Tappa @1
|
||||||
Set waypoint to current location=Imposta tappa alla posizione attuale
|
Set waypoint to current location=Imposta tappa alla posizione attuale
|
||||||
invisible=invisibile
|
Hide waypoint=
|
||||||
visible=visibile
|
Show waypoint=
|
||||||
Make waypoint @1=Crea tappa @1
|
Hide coordinates=
|
||||||
Disable=Disabilita
|
Show coordinates=
|
||||||
Enable=Abilita
|
|
||||||
@1 display of waypoint coordinates=@1 la visualizzazione delle coordinate della tappa
|
|
||||||
Change color of waypoint display=Modifica il colore della visualizzazione della tappa
|
Change color of waypoint display=Modifica il colore della visualizzazione della tappa
|
||||||
Edit waypoint name=Modifica il nome della tappa
|
Edit waypoint name=Modifica il nome della tappa
|
||||||
Waypoint active=Tappa attiva
|
Waypoint active=Tappa attiva
|
||||||
@ -76,4 +88,13 @@ Finish editing=Termina la modifica
|
|||||||
World position=Posizione del mondo
|
World position=Posizione del mondo
|
||||||
Name=Nome
|
Name=Nome
|
||||||
HUD text color=Colore del testo del visore
|
HUD text color=Colore del testo del visore
|
||||||
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=Forza la visualizzazione di Unified Inventory in modalità completa se è configurata globalmente la visualizzazione semplice
|
|
||||||
|
|
||||||
|
##### not used anymore #####
|
||||||
|
|
||||||
|
invisible=invisibile
|
||||||
|
visible=visibile
|
||||||
|
Make waypoint @1=Crea tappa @1
|
||||||
|
Disable=Disabilita
|
||||||
|
Enable=Abilita
|
||||||
|
@1 display of waypoint coordinates=@1 la visualizzazione delle coordinate della tappa
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
Crafting=Pertukangan
|
|
||||||
Mixing=Pencampuran
|
Mixing=Pencampuran
|
||||||
Cooking=Pemasakan
|
Cooking=Pemasakan
|
||||||
Digging=Penggalian
|
Digging=Penggalian
|
||||||
@ -8,21 +7,32 @@ Bag @1=Beg @1
|
|||||||
Small Bag=Beg Kecil
|
Small Bag=Beg Kecil
|
||||||
Medium Bag=Beg Sederhana
|
Medium Bag=Beg Sederhana
|
||||||
Large Bag=Beg Besar
|
Large Bag=Beg Besar
|
||||||
|
All Items=
|
||||||
|
Misc. Items=
|
||||||
|
Plant Life=
|
||||||
|
Building Materials=
|
||||||
|
Tools=
|
||||||
|
Minerals and Metals=
|
||||||
|
Environment and Worldgen=
|
||||||
|
Lighting=
|
||||||
and = dan
|
and = dan
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=Cari
|
||||||
|
Reset search and display everything=Set semula carian dan tunjukkan semua benda
|
||||||
First page=Halaman pertama
|
First page=Halaman pertama
|
||||||
Back three pages=Tiga halaman sebelumnya
|
Back three pages=Tiga halaman sebelumnya
|
||||||
Back one page=Halaman sebelumnya
|
Back one page=Halaman sebelumnya
|
||||||
Forward one page=Halaman seterusnya
|
Forward one page=Halaman seterusnya
|
||||||
Forward three pages=Tiga halaman seterusnya
|
Forward three pages=Tiga halaman seterusnya
|
||||||
Last page=Halaman terakhir
|
Last page=Halaman terakhir
|
||||||
Search=Cari
|
|
||||||
Reset search and display everything=Set semula carian dan tunjukkan semua benda
|
|
||||||
No matching items=Tiada item sepadan
|
No matching items=Tiada item sepadan
|
||||||
No matches.=Tiada padanan.
|
No matches.=Tiada padanan.
|
||||||
Page=Halaman
|
Page=Halaman
|
||||||
@1 of @2=@1 drpd @2
|
@1 of @2=@1 drpd @2
|
||||||
Filter=Tapis
|
Filter=Tapis
|
||||||
Can use the creative inventory=Boleh guna inventori kreatif
|
Can use the creative inventory=Boleh guna inventori kreatif
|
||||||
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=
|
||||||
Crafting Grid=Grid Pertukangan
|
Crafting Grid=Grid Pertukangan
|
||||||
Crafting Guide=Panduan Pertukangan
|
Crafting Guide=Panduan Pertukangan
|
||||||
Set home position=Tetapkan kedudukan rumah
|
Set home position=Tetapkan kedudukan rumah
|
||||||
@ -35,6 +45,7 @@ You don't have the settime privilege!=Anda tidak ada keistimewaan settime!
|
|||||||
Set time to night=Tetapkan masa jadi malam
|
Set time to night=Tetapkan masa jadi malam
|
||||||
Time of day set to 9pm=Masa ditetapkan ke 9 malam
|
Time of day set to 9pm=Masa ditetapkan ke 9 malam
|
||||||
Clear inventory=Kosongkan inventori
|
Clear inventory=Kosongkan inventori
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
Inventory cleared!=Inventori dikosongkan!
|
Inventory cleared!=Inventori dikosongkan!
|
||||||
Trash:=Buang:
|
Trash:=Buang:
|
||||||
Refill:=Isi balik:
|
Refill:=Isi balik:
|
||||||
@ -52,7 +63,10 @@ Show previous recipe=Tunjuk resipi sebelumnya
|
|||||||
Show previous usage=Tunjuk kegunaan sebelumnya
|
Show previous usage=Tunjuk kegunaan sebelumnya
|
||||||
@1 (@2)=@1 (@2)
|
@1 (@2)=@1 (@2)
|
||||||
Give me:=Beri saya:
|
Give me:=Beri saya:
|
||||||
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=Ke grid pertukangan:
|
To craft grid:=Ke grid pertukangan:
|
||||||
|
All=
|
||||||
|
Crafting=Pertukangan
|
||||||
White=Putih
|
White=Putih
|
||||||
Yellow=Kuning
|
Yellow=Kuning
|
||||||
Red=Merah
|
Red=Merah
|
||||||
@ -62,12 +76,10 @@ Waypoints=Titik Arah
|
|||||||
Select Waypoint #@1=Pilih Titik Arah #@1
|
Select Waypoint #@1=Pilih Titik Arah #@1
|
||||||
Waypoint @1=Titik Arah @1
|
Waypoint @1=Titik Arah @1
|
||||||
Set waypoint to current location=Tetapkan titik arah ke lokasi semasa
|
Set waypoint to current location=Tetapkan titik arah ke lokasi semasa
|
||||||
invisible=Sembunyikan
|
Hide waypoint=
|
||||||
visible=Paparkan
|
Show waypoint=
|
||||||
Make waypoint @1=@1 titik arah
|
Hide coordinates=
|
||||||
Disable=Sembunyikan
|
Show coordinates=
|
||||||
Enable=Paparkan
|
|
||||||
@1 display of waypoint coordinates=@1 koordinat untuk titik arah
|
|
||||||
Change color of waypoint display=Tukar warna paparan titik arah
|
Change color of waypoint display=Tukar warna paparan titik arah
|
||||||
Edit waypoint name=Edit nama titik arah
|
Edit waypoint name=Edit nama titik arah
|
||||||
Waypoint active=Titik arah aktif
|
Waypoint active=Titik arah aktif
|
||||||
@ -76,3 +88,13 @@ Finish editing=Selesai edit
|
|||||||
World position=Kedudukan dunia
|
World position=Kedudukan dunia
|
||||||
Name=Nama
|
Name=Nama
|
||||||
HUD text color=Warna tulisan HUD
|
HUD text color=Warna tulisan HUD
|
||||||
|
|
||||||
|
|
||||||
|
##### not used anymore #####
|
||||||
|
|
||||||
|
invisible=Sembunyikan
|
||||||
|
visible=Paparkan
|
||||||
|
Make waypoint @1=@1 titik arah
|
||||||
|
Disable=Sembunyikan
|
||||||
|
Enable=Paparkan
|
||||||
|
@1 display of waypoint coordinates=@1 koordinat untuk titik arah
|
||||||
|
@ -1,22 +1,40 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
|
Mixing=
|
||||||
|
Cooking=
|
||||||
|
Digging=
|
||||||
Bags=Plecaki
|
Bags=Plecaki
|
||||||
Bag @1=Plecak @1
|
Bag @1=Plecak @1
|
||||||
Small Bag=Maly plecak
|
Small Bag=Maly plecak
|
||||||
Medium Bag=Sredni plecak
|
Medium Bag=Sredni plecak
|
||||||
Large Bag=Duzy plecak
|
Large Bag=Duzy plecak
|
||||||
|
All Items=
|
||||||
|
Misc. Items=
|
||||||
|
Plant Life=
|
||||||
|
Building Materials=
|
||||||
|
Tools=
|
||||||
|
Minerals and Metals=
|
||||||
|
Environment and Worldgen=
|
||||||
|
Lighting=
|
||||||
and = i
|
and = i
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=Szukaj
|
||||||
|
Reset search and display everything=
|
||||||
First page=Pierwsza strona
|
First page=Pierwsza strona
|
||||||
Back three pages=3 strony w tyl
|
Back three pages=3 strony w tyl
|
||||||
Back one page=1 strona w tyl
|
Back one page=1 strona w tyl
|
||||||
Forward one page=1 strona do przodu
|
Forward one page=1 strona do przodu
|
||||||
Forward three pages=3 strony do przodu
|
Forward three pages=3 strony do przodu
|
||||||
Last page=Ostatnia strona
|
Last page=Ostatnia strona
|
||||||
Search=Szukaj
|
|
||||||
No matching items=Brak pasujacych przedmiotow
|
No matching items=Brak pasujacych przedmiotow
|
||||||
No matches.=Brak wyników
|
No matches.=Brak wyników
|
||||||
Page=Strona
|
Page=Strona
|
||||||
@1 of @2=@1 z @2
|
@1 of @2=@1 z @2
|
||||||
Filter=Filtr
|
Filter=Filtr
|
||||||
|
Can use the creative inventory=
|
||||||
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=
|
||||||
|
Crafting Grid=
|
||||||
|
Crafting Guide=
|
||||||
Set home position=Ustaw pozycję wyjściową
|
Set home position=Ustaw pozycję wyjściową
|
||||||
Home position set to: @1=Pozycja domowa ustawiona na: @1
|
Home position set to: @1=Pozycja domowa ustawiona na: @1
|
||||||
You don't have the "home" privilege!=Nie masz uprawnien do zmiany czasu "home"!
|
You don't have the "home" privilege!=Nie masz uprawnien do zmiany czasu "home"!
|
||||||
@ -27,17 +45,28 @@ You don't have the settime privilege!=Nie masz uprawnien do zmiany czasu "settim
|
|||||||
Set time to night=Ustaw czas na noc
|
Set time to night=Ustaw czas na noc
|
||||||
Time of day set to 9pm=Czas ustawiony na 21:00
|
Time of day set to 9pm=Czas ustawiony na 21:00
|
||||||
Clear inventory=Wyczyść zapasy
|
Clear inventory=Wyczyść zapasy
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
Inventory cleared!=Zapasy zostały wyczyszczone!
|
Inventory cleared!=Zapasy zostały wyczyszczone!
|
||||||
Trash:=Smietnik:
|
Trash:=Smietnik:
|
||||||
Refill:=Uzupelnianie:
|
Refill:=Uzupelnianie:
|
||||||
|
Any item belonging to the @1 group=
|
||||||
|
Any item belonging to the groups @1=
|
||||||
Recipe @1 of @2=Recepta @1 z @2
|
Recipe @1 of @2=Recepta @1 z @2
|
||||||
Usage @1 of @2=Użycie @1 z @2
|
Usage @1 of @2=Użycie @1 z @2
|
||||||
No recipes=Brak recepty
|
No recipes=Brak recepty
|
||||||
No usages=Bez użycia
|
No usages=Bez użycia
|
||||||
Result=Wynik
|
Result=Wynik
|
||||||
Ingredient=Składnik
|
Ingredient=Składnik
|
||||||
|
Show next recipe=
|
||||||
|
Show next usage=
|
||||||
|
Show previous recipe=
|
||||||
|
Show previous usage=
|
||||||
|
@1 (@2)=
|
||||||
Give me:=Daj mi:
|
Give me:=Daj mi:
|
||||||
|
This recipe is too@@large to be displayed.=
|
||||||
|
To craft grid:=
|
||||||
All=Wszystko
|
All=Wszystko
|
||||||
|
Crafting=
|
||||||
White=Bialy
|
White=Bialy
|
||||||
Yellow=Zolty
|
Yellow=Zolty
|
||||||
Red=Czerwony
|
Red=Czerwony
|
||||||
@ -47,10 +76,10 @@ Waypoints=Punkty orientacyjne
|
|||||||
Select Waypoint #@1=Wybierz punkt #@1
|
Select Waypoint #@1=Wybierz punkt #@1
|
||||||
Waypoint @1=Punkty orientacyjne @1
|
Waypoint @1=Punkty orientacyjne @1
|
||||||
Set waypoint to current location=Ustaw punkt orientacyjny na biezacej pozycji
|
Set waypoint to current location=Ustaw punkt orientacyjny na biezacej pozycji
|
||||||
invisible=niewidzialny
|
Hide waypoint=
|
||||||
visible=widomy
|
Show waypoint=
|
||||||
Make waypoint @1=Robić punkt @1
|
Hide coordinates=
|
||||||
@1 display of waypoint coordinates=@1 koordynatow punktu
|
Show coordinates=
|
||||||
Change color of waypoint display=Zmien kolor punktu
|
Change color of waypoint display=Zmien kolor punktu
|
||||||
Edit waypoint name=Edytuj nazwe punktu
|
Edit waypoint name=Edytuj nazwe punktu
|
||||||
Waypoint active=Punkt wlaczony
|
Waypoint active=Punkt wlaczony
|
||||||
@ -59,3 +88,11 @@ Finish editing=Zakoncz edycje
|
|||||||
World position=Pozycja
|
World position=Pozycja
|
||||||
Name=Nazwa
|
Name=Nazwa
|
||||||
HUD text color=Kolor tekstu HUD
|
HUD text color=Kolor tekstu HUD
|
||||||
|
|
||||||
|
|
||||||
|
##### not used anymore #####
|
||||||
|
|
||||||
|
invisible=niewidzialny
|
||||||
|
visible=widomy
|
||||||
|
Make waypoint @1=Robić punkt @1
|
||||||
|
@1 display of waypoint coordinates=@1 koordynatow punktu
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
Crafting=Artesanato
|
|
||||||
Mixing=Muistura
|
Mixing=Muistura
|
||||||
Cooking=Cozimento
|
Cooking=Cozimento
|
||||||
Digging=Escavação
|
Digging=Escavação
|
||||||
@ -8,21 +7,32 @@ Bag @1=Bolsa @1
|
|||||||
Small Bag=Bolsa Pequena
|
Small Bag=Bolsa Pequena
|
||||||
Medium Bag=Bolsa Média
|
Medium Bag=Bolsa Média
|
||||||
Large Bag=Bolsa Grande
|
Large Bag=Bolsa Grande
|
||||||
|
All Items=
|
||||||
|
Misc. Items=
|
||||||
|
Plant Life=
|
||||||
|
Building Materials=
|
||||||
|
Tools=
|
||||||
|
Minerals and Metals=
|
||||||
|
Environment and Worldgen=
|
||||||
|
Lighting=
|
||||||
and = e
|
and = e
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=Pesquisar
|
||||||
|
Reset search and display everything=Redefinir pesquisa e exibir tudo
|
||||||
First page=Primeira Página
|
First page=Primeira Página
|
||||||
Back three pages=Voltar 3 Páginas
|
Back three pages=Voltar 3 Páginas
|
||||||
Back one page=Voltar 1 Página
|
Back one page=Voltar 1 Página
|
||||||
Forward one page=Avançar 1 Página
|
Forward one page=Avançar 1 Página
|
||||||
Forward three pages=Avançar 3 Páginas
|
Forward three pages=Avançar 3 Páginas
|
||||||
Last page=Ultima Página
|
Last page=Ultima Página
|
||||||
Search=Pesquisar
|
|
||||||
Reset search and display everything=Redefinir pesquisa e exibir tudo
|
|
||||||
No matching items=Nenhum item correspondente
|
No matching items=Nenhum item correspondente
|
||||||
No matches.=Sem correspondências
|
No matches.=Sem correspondências
|
||||||
Page=Página
|
Page=Página
|
||||||
@1 of @2=@1 de @2
|
@1 of @2=@1 de @2
|
||||||
Filter=Filtro
|
Filter=Filtro
|
||||||
Can use the creative inventory=Pode usar o inventário do criativo
|
Can use the creative inventory=Pode usar o inventário do criativo
|
||||||
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=
|
||||||
Crafting Grid=Grade de Artesanato
|
Crafting Grid=Grade de Artesanato
|
||||||
Crafting Guide=Guia de Artesanato
|
Crafting Guide=Guia de Artesanato
|
||||||
Set home position=Definir posição de casa
|
Set home position=Definir posição de casa
|
||||||
@ -35,6 +45,7 @@ You don't have the settime privilege!=Você não tem o privilégio de "settime"!
|
|||||||
Set time to night=Definir turno para noite
|
Set time to night=Definir turno para noite
|
||||||
Time of day set to 9pm=Hora do dia ajustada para 21h
|
Time of day set to 9pm=Hora do dia ajustada para 21h
|
||||||
Clear inventory=Limpar Inventário
|
Clear inventory=Limpar Inventário
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
Inventory cleared!=Inventário Apagado!
|
Inventory cleared!=Inventário Apagado!
|
||||||
Trash:=Lixo:
|
Trash:=Lixo:
|
||||||
Refill:=Recarga:
|
Refill:=Recarga:
|
||||||
@ -50,9 +61,12 @@ Show next recipe=Exibir Próxima Receita
|
|||||||
Show next usage=Mostrar Próxima Utilização
|
Show next usage=Mostrar Próxima Utilização
|
||||||
Show previous recipe=Exibir Receita Anterior
|
Show previous recipe=Exibir Receita Anterior
|
||||||
Show previous usage=Exibir Utilização Anterior
|
Show previous usage=Exibir Utilização Anterior
|
||||||
|
@1 (@2)=
|
||||||
Give me:=Gerado:
|
Give me:=Gerado:
|
||||||
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=Para Grade de Artesanato
|
To craft grid:=Para Grade de Artesanato
|
||||||
All=MAX
|
All=MAX
|
||||||
|
Crafting=Artesanato
|
||||||
White=Branco
|
White=Branco
|
||||||
Yellow=Amarelo
|
Yellow=Amarelo
|
||||||
Red=Vermelho
|
Red=Vermelho
|
||||||
@ -62,10 +76,10 @@ Waypoints=Apontador de Direção
|
|||||||
Select Waypoint #@1=Seleção de Apontador de Direção #@1
|
Select Waypoint #@1=Seleção de Apontador de Direção #@1
|
||||||
Waypoint @1=Apontador de Direção @1
|
Waypoint @1=Apontador de Direção @1
|
||||||
Set waypoint to current location=Configurar localização atual do Apontador de Direção
|
Set waypoint to current location=Configurar localização atual do Apontador de Direção
|
||||||
invisible=invisível
|
Hide waypoint=
|
||||||
visible=visível
|
Show waypoint=
|
||||||
Make waypoint @1=Fazer Apontador de Direção @1
|
Hide coordinates=
|
||||||
@1 display of waypoint coordinates=@1 exibição de coordenadas de Fazer Apontador de Direção
|
Show coordinates=
|
||||||
Change color of waypoint display=Mudar cor exibida do Apontador de Direção
|
Change color of waypoint display=Mudar cor exibida do Apontador de Direção
|
||||||
Edit waypoint name=Editar Nome de Apontador de Direção
|
Edit waypoint name=Editar Nome de Apontador de Direção
|
||||||
Waypoint active=Apontador de Direção Ativo
|
Waypoint active=Apontador de Direção Ativo
|
||||||
@ -74,3 +88,11 @@ Finish editing=Edição Finalizada
|
|||||||
World position=Posição Mundial
|
World position=Posição Mundial
|
||||||
Name=Nome
|
Name=Nome
|
||||||
HUD text color=Cor de HUD
|
HUD text color=Cor de HUD
|
||||||
|
|
||||||
|
|
||||||
|
##### not used anymore #####
|
||||||
|
|
||||||
|
invisible=invisível
|
||||||
|
visible=visível
|
||||||
|
Make waypoint @1=Fazer Apontador de Direção @1
|
||||||
|
@1 display of waypoint coordinates=@1 exibição de coordenadas de Fazer Apontador de Direção
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
Crafting=Крафт
|
|
||||||
Mixing=Мешать
|
Mixing=Мешать
|
||||||
Cooking=Варить
|
Cooking=Варить
|
||||||
Digging=Копать
|
Digging=Копать
|
||||||
@ -8,21 +7,32 @@ Bag @1=Сумка @1
|
|||||||
Small Bag=Малая сумка
|
Small Bag=Малая сумка
|
||||||
Medium Bag=Средняя сумка
|
Medium Bag=Средняя сумка
|
||||||
Large Bag=Большая сумка
|
Large Bag=Большая сумка
|
||||||
|
All Items=
|
||||||
|
Misc. Items=
|
||||||
|
Plant Life=
|
||||||
|
Building Materials=
|
||||||
|
Tools=
|
||||||
|
Minerals and Metals=
|
||||||
|
Environment and Worldgen=
|
||||||
|
Lighting=
|
||||||
and = и
|
and = и
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=Поиск
|
||||||
|
Reset search and display everything=Сброс поиска, показать всё
|
||||||
First page=Первая страница
|
First page=Первая страница
|
||||||
Back three pages=3 страницы назад
|
Back three pages=3 страницы назад
|
||||||
Back one page=1 страницу назад
|
Back one page=1 страницу назад
|
||||||
Forward one page=1 страницу вперёд
|
Forward one page=1 страницу вперёд
|
||||||
Forward three pages=3 страницы вперёд
|
Forward three pages=3 страницы вперёд
|
||||||
Last page=Последняя страница
|
Last page=Последняя страница
|
||||||
Search=Поиск
|
|
||||||
Reset search and display everything=Сброс поиска, показать всё
|
|
||||||
No matching items=Нет подходящих элементов
|
No matching items=Нет подходящих элементов
|
||||||
No matches.=Ничего не найдено
|
No matches.=Ничего не найдено
|
||||||
Page=Страница
|
Page=Страница
|
||||||
@1 of @2=@1 из @2
|
@1 of @2=@1 из @2
|
||||||
Filter=Фильтр
|
Filter=Фильтр
|
||||||
Can use the creative inventory=Можно использовать инвентарь творческого режима
|
Can use the creative inventory=Можно использовать инвентарь творческого режима
|
||||||
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=
|
||||||
Crafting Grid=Решетка крафта
|
Crafting Grid=Решетка крафта
|
||||||
Crafting Guide=Книга рецептов
|
Crafting Guide=Книга рецептов
|
||||||
Set home position=Установить позицию дома
|
Set home position=Установить позицию дома
|
||||||
@ -35,6 +45,7 @@ You don't have the settime privilege!=Вам не разрешено устан
|
|||||||
Set time to night=Ночь
|
Set time to night=Ночь
|
||||||
Time of day set to 9pm=Установлено время 9 вечера
|
Time of day set to 9pm=Установлено время 9 вечера
|
||||||
Clear inventory=Очистить инвентарь
|
Clear inventory=Очистить инвентарь
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
Inventory cleared!=Инвентарь очищен!
|
Inventory cleared!=Инвентарь очищен!
|
||||||
Trash:=Мусор:
|
Trash:=Мусор:
|
||||||
Refill:=Наполнить:
|
Refill:=Наполнить:
|
||||||
@ -50,9 +61,12 @@ Show next recipe=Следующий рецепт
|
|||||||
Show next usage=Следующее использование
|
Show next usage=Следующее использование
|
||||||
Show previous recipe=Прошлый рецепт
|
Show previous recipe=Прошлый рецепт
|
||||||
Show previous usage=Прошлая страница
|
Show previous usage=Прошлая страница
|
||||||
|
@1 (@2)=
|
||||||
Give me:=Дай мне:
|
Give me:=Дай мне:
|
||||||
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=На решeтку крафта:
|
To craft grid:=На решeтку крафта:
|
||||||
All=Все
|
All=Все
|
||||||
|
Crafting=Крафт
|
||||||
White=Белый
|
White=Белый
|
||||||
Yellow=Желтый
|
Yellow=Желтый
|
||||||
Red=Красный
|
Red=Красный
|
||||||
@ -62,12 +76,10 @@ Waypoints=Путевые точки
|
|||||||
Select Waypoint #@1=Выбрать путевую точку №@1
|
Select Waypoint #@1=Выбрать путевую точку №@1
|
||||||
Waypoint @1=Путевая точка @1
|
Waypoint @1=Путевая точка @1
|
||||||
Set waypoint to current location=Установить путевую точку по текущей позиции
|
Set waypoint to current location=Установить путевую точку по текущей позиции
|
||||||
invisible=невидимой
|
Hide waypoint=
|
||||||
visible=видимой
|
Show waypoint=
|
||||||
Make waypoint @1=Сделать путевую точку @1
|
Hide coordinates=
|
||||||
Disable=Выключить
|
Show coordinates=
|
||||||
Enable=Включить
|
|
||||||
@1 display of waypoint coordinates=@1 показ координат путевых точек
|
|
||||||
Change color of waypoint display=Поменять цвет путевой точки
|
Change color of waypoint display=Поменять цвет путевой точки
|
||||||
Edit waypoint name=Переименовать путевую точку
|
Edit waypoint name=Переименовать путевую точку
|
||||||
Waypoint active=Путевая точка включена
|
Waypoint active=Путевая точка включена
|
||||||
@ -76,3 +88,13 @@ Finish editing=Закончить редакцию
|
|||||||
World position=Позиция мира
|
World position=Позиция мира
|
||||||
Name=Имя
|
Name=Имя
|
||||||
HUD text color=Цвет текста HUDа
|
HUD text color=Цвет текста HUDа
|
||||||
|
|
||||||
|
|
||||||
|
##### not used anymore #####
|
||||||
|
|
||||||
|
invisible=невидимой
|
||||||
|
visible=видимой
|
||||||
|
Make waypoint @1=Сделать путевую точку @1
|
||||||
|
Disable=Выключить
|
||||||
|
Enable=Включить
|
||||||
|
@1 display of waypoint coordinates=@1 показ координат путевых точек
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
Crafting=Üretim
|
|
||||||
Mixing=Karıştırma
|
Mixing=Karıştırma
|
||||||
Cooking=Pişirme
|
Cooking=Pişirme
|
||||||
Digging=Kazma
|
Digging=Kazma
|
||||||
@ -8,20 +7,32 @@ Bag @1=@1. Çanta
|
|||||||
Small Bag=Küçük Çanta
|
Small Bag=Küçük Çanta
|
||||||
Medium Bag=Çanta
|
Medium Bag=Çanta
|
||||||
Large Bag=Büyük Çanta
|
Large Bag=Büyük Çanta
|
||||||
|
All Items=
|
||||||
|
Misc. Items=
|
||||||
|
Plant Life=
|
||||||
|
Building Materials=
|
||||||
|
Tools=
|
||||||
|
Minerals and Metals=
|
||||||
|
Environment and Worldgen=
|
||||||
|
Lighting=
|
||||||
and = ve
|
and = ve
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=Ara
|
||||||
|
Reset search and display everything=
|
||||||
First page=İlk Sayfa
|
First page=İlk Sayfa
|
||||||
Back three pages=3 Sayfa Gerile
|
Back three pages=3 Sayfa Gerile
|
||||||
Back one page=Geri
|
Back one page=Geri
|
||||||
Forward one page=İleri
|
Forward one page=İleri
|
||||||
Forward three pages=3 Sayfa İlerile
|
Forward three pages=3 Sayfa İlerile
|
||||||
Last page=Son Sayfa
|
Last page=Son Sayfa
|
||||||
Search=Ara
|
|
||||||
No matching items=Eşleşme yok
|
No matching items=Eşleşme yok
|
||||||
No matches.=Eşleşme yok
|
No matches.=Eşleşme yok
|
||||||
Page=Sayfa
|
Page=Sayfa
|
||||||
@1 of @2=@1 dan @2
|
@1 of @2=@1 dan @2
|
||||||
Filter=Süzgeç
|
Filter=Süzgeç
|
||||||
Can use the creative inventory=Yaratıcı envanteri kullanabilir
|
Can use the creative inventory=Yaratıcı envanteri kullanabilir
|
||||||
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=
|
||||||
Crafting Grid=Üretim tablosu
|
Crafting Grid=Üretim tablosu
|
||||||
Crafting Guide=Kılavuz
|
Crafting Guide=Kılavuz
|
||||||
Set home position=Set ev pozisyon
|
Set home position=Set ev pozisyon
|
||||||
@ -33,19 +44,29 @@ Time of day set to 6am=Saat 06:00 olarak ayarlandı
|
|||||||
You don't have the settime privilege!="settime" yetkiniz yok!
|
You don't have the settime privilege!="settime" yetkiniz yok!
|
||||||
Set time to night=Geceye zaman ayarla
|
Set time to night=Geceye zaman ayarla
|
||||||
Time of day set to 9pm=Saat 19:00 olarak ayarlandı
|
Time of day set to 9pm=Saat 19:00 olarak ayarlandı
|
||||||
msgid ""=Yaratıcı modu dışında iken bu tuş kullanılamaz.
|
Clear inventory=
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
Inventory cleared!=Envanter temizlendi!
|
Inventory cleared!=Envanter temizlendi!
|
||||||
Trash:=Çöp
|
Trash:=Çöp
|
||||||
Refill:=Doldur
|
Refill:=Doldur
|
||||||
|
Any item belonging to the @1 group=
|
||||||
|
Any item belonging to the groups @1=
|
||||||
Recipe @1 of @2=@1 dan @2 tarifi
|
Recipe @1 of @2=@1 dan @2 tarifi
|
||||||
Usage @1 of @2=Kullanım @1/@2
|
Usage @1 of @2=Kullanım @1/@2
|
||||||
No recipes=Tarifi yok
|
No recipes=Tarifi yok
|
||||||
No usages=Kullanım yok
|
No usages=Kullanım yok
|
||||||
Result=Çıktı
|
Result=Çıktı
|
||||||
Ingredient=Bileşen
|
Ingredient=Bileşen
|
||||||
|
Show next recipe=
|
||||||
|
Show next usage=
|
||||||
|
Show previous recipe=
|
||||||
|
Show previous usage=
|
||||||
|
@1 (@2)=
|
||||||
Give me:=Ver bana:
|
Give me:=Ver bana:
|
||||||
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=Üretim tablosuna kopyala
|
To craft grid:=Üretim tablosuna kopyala
|
||||||
All=Tümü
|
All=Tümü
|
||||||
|
Crafting=Üretim
|
||||||
White=Beyaz
|
White=Beyaz
|
||||||
Yellow=Sarı
|
Yellow=Sarı
|
||||||
Red=Kırmızı
|
Red=Kırmızı
|
||||||
@ -55,10 +76,10 @@ Waypoints=Konum Noktaları
|
|||||||
Select Waypoint #@1=#@1 konum noktası seç
|
Select Waypoint #@1=#@1 konum noktası seç
|
||||||
Waypoint @1=@1 Konum Noktaları
|
Waypoint @1=@1 Konum Noktaları
|
||||||
Set waypoint to current location=Bulunduğun noktayı işaretle
|
Set waypoint to current location=Bulunduğun noktayı işaretle
|
||||||
invisible=görünmez
|
Hide waypoint=
|
||||||
visible=görünür
|
Show waypoint=
|
||||||
Make waypoint @1=Yol noktası @1
|
Hide coordinates=
|
||||||
@1 display of waypoint coordinates=Yol noktası koordinatlarının görüntülenmesini @1
|
Show coordinates=
|
||||||
Change color of waypoint display=Konum Gösterge Rengi
|
Change color of waypoint display=Konum Gösterge Rengi
|
||||||
Edit waypoint name=Konum Noktasını Düzenle
|
Edit waypoint name=Konum Noktasını Düzenle
|
||||||
Waypoint active=Konum Etkin
|
Waypoint active=Konum Etkin
|
||||||
@ -67,3 +88,12 @@ Finish editing=Düzenleme bitti
|
|||||||
World position=Dünya konumu
|
World position=Dünya konumu
|
||||||
Name=İsim
|
Name=İsim
|
||||||
HUD text color=Metin rengi
|
HUD text color=Metin rengi
|
||||||
|
|
||||||
|
|
||||||
|
##### not used anymore #####
|
||||||
|
|
||||||
|
msgid ""=Yaratıcı modu dışında iken bu tuş kullanılamaz.
|
||||||
|
invisible=görünmez
|
||||||
|
visible=görünür
|
||||||
|
Make waypoint @1=Yol noktası @1
|
||||||
|
@1 display of waypoint coordinates=Yol noktası koordinatlarının görüntülenmesini @1
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
# traslation by: IFRFSX(BingFengFSX)
|
|
||||||
#Email: IFRFSX@Protonmail.com
|
|
||||||
|
|
||||||
Crafting=合成
|
|
||||||
Mixing=混合
|
Mixing=混合
|
||||||
Cooking=烹饪
|
Cooking=烹饪
|
||||||
Digging=挖出
|
Digging=挖出
|
||||||
@ -11,20 +7,32 @@ Bag @1=背包@1
|
|||||||
Small Bag=小背包
|
Small Bag=小背包
|
||||||
Medium Bag=中背包
|
Medium Bag=中背包
|
||||||
Large Bag=大背包
|
Large Bag=大背包
|
||||||
|
All Items=
|
||||||
|
Misc. Items=
|
||||||
|
Plant Life=
|
||||||
|
Building Materials=
|
||||||
|
Tools=
|
||||||
|
Minerals and Metals=
|
||||||
|
Environment and Worldgen=
|
||||||
|
Lighting=
|
||||||
and = 和
|
and = 和
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=搜索
|
||||||
|
Reset search and display everything=重置搜索并显示所有物品
|
||||||
First page=第一页
|
First page=第一页
|
||||||
Back three pages=后退三页
|
Back three pages=后退三页
|
||||||
Back one page=后退一页
|
Back one page=后退一页
|
||||||
Forward one page=前进一页
|
Forward one page=前进一页
|
||||||
Forward three pages=前进三页
|
Forward three pages=前进三页
|
||||||
Last page=最后一页
|
Last page=最后一页
|
||||||
Search=搜索
|
|
||||||
No matching items=没有匹配物品
|
No matching items=没有匹配物品
|
||||||
No matches.=没有匹配
|
No matches.=没有匹配
|
||||||
Page=页面
|
Page=页面
|
||||||
@1 of @2=第@1页,共@2页
|
@1 of @2=第@1页,共@2页
|
||||||
Filter=过滤器
|
Filter=过滤器
|
||||||
Can use the creative inventory=可以使用创造背包
|
Can use the creative inventory=可以使用创造背包
|
||||||
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=
|
||||||
Crafting Grid=合成表
|
Crafting Grid=合成表
|
||||||
Crafting Guide=合成指南
|
Crafting Guide=合成指南
|
||||||
Set home position=设置家的位置
|
Set home position=设置家的位置
|
||||||
@ -36,21 +44,29 @@ Time of day set to 6am=时间设置到早晨6点
|
|||||||
You don't have the settime privilege!=你没有“settime”权限!
|
You don't have the settime privilege!=你没有“settime”权限!
|
||||||
Set time to night=设置时间到晚上
|
Set time to night=设置时间到晚上
|
||||||
Time of day set to 9pm=时间设置到晚上9点
|
Time of day set to 9pm=时间设置到晚上9点
|
||||||
|
|
||||||
Inventory cleared!=清空背包
|
|
||||||
Clear inventory=清空背包
|
Clear inventory=清空背包
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
|
Inventory cleared!=清空背包
|
||||||
Trash:=丢弃:
|
Trash:=丢弃:
|
||||||
Refill:=填满:
|
Refill:=填满:
|
||||||
|
Any item belonging to the @1 group=属于@1组的任何项目
|
||||||
|
Any item belonging to the groups @1=属于组@1的任何项目
|
||||||
Recipe @1 of @2=第@1配方,共@2个
|
Recipe @1 of @2=第@1配方,共@2个
|
||||||
Usage @1 of @2=第@1用法,共@2个
|
Usage @1 of @2=第@1用法,共@2个
|
||||||
No recipes=没有配方
|
No recipes=没有配方
|
||||||
No usages=没有用法
|
No usages=没有用法
|
||||||
Result=结果
|
Result=结果
|
||||||
Ingredient=原料
|
Ingredient=原料
|
||||||
|
Show next recipe=
|
||||||
|
Show next usage=
|
||||||
|
Show previous recipe=
|
||||||
|
Show previous usage=
|
||||||
|
@1 (@2)=
|
||||||
Give me:=给予:
|
Give me:=给予:
|
||||||
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=填充物品到合成表
|
To craft grid:=填充物品到合成表
|
||||||
All=全部
|
All=全部
|
||||||
|
Crafting=合成
|
||||||
White=白
|
White=白
|
||||||
Yellow=黄
|
Yellow=黄
|
||||||
Red=红
|
Red=红
|
||||||
@ -60,10 +76,10 @@ Waypoints=航路点
|
|||||||
Select Waypoint #@1=查询航路点 #@1
|
Select Waypoint #@1=查询航路点 #@1
|
||||||
Waypoint @1=航路点 @1
|
Waypoint @1=航路点 @1
|
||||||
Set waypoint to current location=将航路点设置到当前位置
|
Set waypoint to current location=将航路点设置到当前位置
|
||||||
invisible=不可见的
|
Hide waypoint=
|
||||||
visible=可见的
|
Show waypoint=
|
||||||
Make waypoint @1=设置航路点 @1
|
Hide coordinates=
|
||||||
@1 display of waypoint coordinates=显示航路点@1坐标
|
Show coordinates=
|
||||||
Change color of waypoint display=改变航路点显示的颜色
|
Change color of waypoint display=改变航路点显示的颜色
|
||||||
Edit waypoint name=编辑航路点名称
|
Edit waypoint name=编辑航路点名称
|
||||||
Waypoint active=航路点已激活
|
Waypoint active=航路点已激活
|
||||||
@ -73,7 +89,10 @@ World position=世界位置
|
|||||||
Name=名称
|
Name=名称
|
||||||
HUD text color=HUD文本颜色
|
HUD text color=HUD文本颜色
|
||||||
|
|
||||||
Reset search and display everything=重置搜索并显示所有物品
|
|
||||||
|
|
||||||
Any item belonging to the @1 group=属于@1组的任何项目
|
##### not used anymore #####
|
||||||
Any item belonging to the groups @1=属于组@1的任何项目
|
|
||||||
|
invisible=不可见的
|
||||||
|
visible=可见的
|
||||||
|
Make waypoint @1=设置航路点 @1
|
||||||
|
@1 display of waypoint coordinates=显示航路点@1坐标
|
||||||
|
@ -1,8 +1,4 @@
|
|||||||
# textdomain: unified_inventory
|
# textdomain: unified_inventory
|
||||||
# traslation by: IFRFSX(BingFengFSX)
|
|
||||||
#Email: IFRFSX@Protonmail.com
|
|
||||||
|
|
||||||
Crafting=合成
|
|
||||||
Mixing=混合
|
Mixing=混合
|
||||||
Cooking=烹飪
|
Cooking=烹飪
|
||||||
Digging=挖出
|
Digging=挖出
|
||||||
@ -11,20 +7,32 @@ Bag @1=揹包@1
|
|||||||
Small Bag=小揹包
|
Small Bag=小揹包
|
||||||
Medium Bag=中揹包
|
Medium Bag=中揹包
|
||||||
Large Bag=大揹包
|
Large Bag=大揹包
|
||||||
|
All Items=
|
||||||
|
Misc. Items=
|
||||||
|
Plant Life=
|
||||||
|
Building Materials=
|
||||||
|
Tools=
|
||||||
|
Minerals and Metals=
|
||||||
|
Environment and Worldgen=
|
||||||
|
Lighting=
|
||||||
and = 和
|
and = 和
|
||||||
|
Scroll categories left=
|
||||||
|
Scroll categories right=
|
||||||
|
Search=搜索
|
||||||
|
Reset search and display everything=重置搜索並顯示所有物品
|
||||||
First page=第一頁
|
First page=第一頁
|
||||||
Back three pages=後退三頁
|
Back three pages=後退三頁
|
||||||
Back one page=後退一頁
|
Back one page=後退一頁
|
||||||
Forward one page=前進一頁
|
Forward one page=前進一頁
|
||||||
Forward three pages=前進三頁
|
Forward three pages=前進三頁
|
||||||
Last page=最後一頁
|
Last page=最後一頁
|
||||||
Search=搜索
|
|
||||||
No matching items=沒有匹配物品
|
No matching items=沒有匹配物品
|
||||||
No matches.=沒有匹配
|
No matches.=沒有匹配
|
||||||
Page=頁面
|
Page=頁面
|
||||||
@1 of @2=第@1頁,共@2頁
|
@1 of @2=第@1頁,共@2頁
|
||||||
Filter=過濾器
|
Filter=過濾器
|
||||||
Can use the creative inventory=可以使用創造揹包
|
Can use the creative inventory=可以使用創造揹包
|
||||||
|
Forces Unified Inventory to be displayed in Full mode if Lite mode is configured globally=
|
||||||
Crafting Grid=合成表
|
Crafting Grid=合成表
|
||||||
Crafting Guide=合成指南
|
Crafting Guide=合成指南
|
||||||
Set home position=設置家的位置
|
Set home position=設置家的位置
|
||||||
@ -36,21 +44,29 @@ Time of day set to 6am=時間設置到早晨6點
|
|||||||
You don't have the settime privilege!=你沒有“settime”權限!
|
You don't have the settime privilege!=你沒有“settime”權限!
|
||||||
Set time to night=設置時間到晚上
|
Set time to night=設置時間到晚上
|
||||||
Time of day set to 9pm=時間設置到晚上9點
|
Time of day set to 9pm=時間設置到晚上9點
|
||||||
|
|
||||||
Inventory cleared!=清空揹包
|
|
||||||
Clear inventory=清空揹包
|
Clear inventory=清空揹包
|
||||||
|
This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=
|
||||||
|
Inventory cleared!=清空揹包
|
||||||
Trash:=丟棄:
|
Trash:=丟棄:
|
||||||
Refill:=填滿:
|
Refill:=填滿:
|
||||||
|
Any item belonging to the @1 group=屬於@1組的任何項目
|
||||||
|
Any item belonging to the groups @1=屬於組@1的任何項目
|
||||||
Recipe @1 of @2=第@1配方,共@2個
|
Recipe @1 of @2=第@1配方,共@2個
|
||||||
Usage @1 of @2=第@1用法,共@2個
|
Usage @1 of @2=第@1用法,共@2個
|
||||||
No recipes=沒有配方
|
No recipes=沒有配方
|
||||||
No usages=沒有用法
|
No usages=沒有用法
|
||||||
Result=結果
|
Result=結果
|
||||||
Ingredient=原料
|
Ingredient=原料
|
||||||
|
Show next recipe=
|
||||||
|
Show next usage=
|
||||||
|
Show previous recipe=
|
||||||
|
Show previous usage=
|
||||||
|
@1 (@2)=
|
||||||
Give me:=給予:
|
Give me:=給予:
|
||||||
|
This recipe is too@@large to be displayed.=
|
||||||
To craft grid:=填充物品到合成表
|
To craft grid:=填充物品到合成表
|
||||||
All=全部
|
All=全部
|
||||||
|
Crafting=合成
|
||||||
White=白
|
White=白
|
||||||
Yellow=黃
|
Yellow=黃
|
||||||
Red=紅
|
Red=紅
|
||||||
@ -60,10 +76,10 @@ Waypoints=航路點
|
|||||||
Select Waypoint #@1=查詢航路點 #@1
|
Select Waypoint #@1=查詢航路點 #@1
|
||||||
Waypoint @1=航路點 @1
|
Waypoint @1=航路點 @1
|
||||||
Set waypoint to current location=將航路點設置到當前位置
|
Set waypoint to current location=將航路點設置到當前位置
|
||||||
invisible=不可見的
|
Hide waypoint=
|
||||||
visible=可見的
|
Show waypoint=
|
||||||
Make waypoint @1=設置航路點 @1
|
Hide coordinates=
|
||||||
@1 display of waypoint coordinates=顯示航路點@1座標
|
Show coordinates=
|
||||||
Change color of waypoint display=改變航路點顯示的顏色
|
Change color of waypoint display=改變航路點顯示的顏色
|
||||||
Edit waypoint name=編輯航路點名稱
|
Edit waypoint name=編輯航路點名稱
|
||||||
Waypoint active=航路點已激活
|
Waypoint active=航路點已激活
|
||||||
@ -73,7 +89,10 @@ World position=世界位置
|
|||||||
Name=名稱
|
Name=名稱
|
||||||
HUD text color=HUD文本顏色
|
HUD text color=HUD文本顏色
|
||||||
|
|
||||||
Reset search and display everything=重置搜索並顯示所有物品
|
|
||||||
|
|
||||||
Any item belonging to the @1 group=屬於@1組的任何項目
|
##### not used anymore #####
|
||||||
Any item belonging to the groups @1=屬於組@1的任何項目
|
|
||||||
|
invisible=不可見的
|
||||||
|
visible=可見的
|
||||||
|
Make waypoint @1=設置航路點 @1
|
||||||
|
@1 display of waypoint coordinates=顯示航路點@1座標
|
||||||
|
4
mod.conf
4
mod.conf
@ -1,6 +1,6 @@
|
|||||||
name = unified_inventory
|
name = unified_inventory
|
||||||
depends = default
|
|
||||||
optional_depends = creative, sfinv, datastorage, farming
|
optional_depends = default, creative, sfinv, datastorage, farming
|
||||||
description = """
|
description = """
|
||||||
Unified Inventory replaces the default survival and creative inventory.
|
Unified Inventory replaces the default survival and creative inventory.
|
||||||
It adds a nicer interface and a number of features, such as a crafting guide.
|
It adds a nicer interface and a number of features, such as a crafting guide.
|
||||||
|
228
waypoints.lua
228
waypoints.lua
@ -1,6 +1,7 @@
|
|||||||
local S = minetest.get_translator("unified_inventory")
|
local S = minetest.get_translator("unified_inventory")
|
||||||
local F = minetest.formspec_escape
|
local F = minetest.formspec_escape
|
||||||
local ui = unified_inventory
|
local ui = unified_inventory
|
||||||
|
local COUNT = 5
|
||||||
|
|
||||||
local hud_colors = {
|
local hud_colors = {
|
||||||
{"#FFFFFF", 0xFFFFFF, S("White")},
|
{"#FFFFFF", 0xFFFFFF, S("White")},
|
||||||
@ -10,11 +11,97 @@ local hud_colors = {
|
|||||||
{"#2c4df1", 0x2c4df1, S("Blue")},
|
{"#2c4df1", 0x2c4df1, S("Blue")},
|
||||||
}
|
}
|
||||||
|
|
||||||
local hud_colors_max = #hud_colors
|
-- Storage compatibility code
|
||||||
|
|
||||||
-- Stores temporary player data (persists until player leaves)
|
--[[
|
||||||
|
Stores temporary player data (persists until player leaves)
|
||||||
|
[player_name] = {
|
||||||
|
[<waypoint index>] = {
|
||||||
|
edit = <edit current waypoint?>,
|
||||||
|
hud = <hud ID>,
|
||||||
|
},
|
||||||
|
[<waypoint index>] = { ... },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
]]
|
||||||
local waypoints_temp = {}
|
local waypoints_temp = {}
|
||||||
|
|
||||||
|
--[[
|
||||||
|
Datastorage format (per-player):
|
||||||
|
{
|
||||||
|
selected = <waypoint index>,
|
||||||
|
[<waypoint index>] = {
|
||||||
|
name = <name or nil>
|
||||||
|
world_pos = <coordinates vector>,
|
||||||
|
color = <"hud_colors" index>,
|
||||||
|
active = <hud show waypoint?>,
|
||||||
|
display_pos = <hud display coorinates?>,
|
||||||
|
},
|
||||||
|
[<waypoint index>] = { ... },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
Player metadata format:
|
||||||
|
{
|
||||||
|
selected = <selected number>,
|
||||||
|
-- Cannot mix integer/string keys in JSON
|
||||||
|
data = {
|
||||||
|
[<waypoint index>] = { same as above },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]
|
||||||
|
|
||||||
|
local function set_waypoint_data(player, waypoints)
|
||||||
|
local meta = player:get_meta()
|
||||||
|
if not next(waypoints.data or {}) then
|
||||||
|
-- Empty data. Do not save anything, or delete
|
||||||
|
meta:set_string("ui_waypoints", "")
|
||||||
|
else
|
||||||
|
meta:set_string("ui_waypoints", minetest.write_json(waypoints))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function migrate_datastorage(player, waypoints)
|
||||||
|
-- Copy values from old table
|
||||||
|
local new_data = {
|
||||||
|
selected = waypoints.selected,
|
||||||
|
data = {}
|
||||||
|
}
|
||||||
|
for i = 1, COUNT do
|
||||||
|
new_data.data[i] = waypoints[i]
|
||||||
|
end
|
||||||
|
|
||||||
|
set_waypoint_data(player, new_data)
|
||||||
|
|
||||||
|
-- Delete values, but keep one entry so that it's saved by datastorage
|
||||||
|
for k, _ in pairs(waypoints) do
|
||||||
|
waypoints[k] = nil
|
||||||
|
end
|
||||||
|
waypoints[1] = 1
|
||||||
|
end
|
||||||
|
|
||||||
|
local have_datastorage = minetest.get_modpath("datastorage") ~= nil
|
||||||
|
local function get_waypoint_data(player)
|
||||||
|
local player_name = player:get_player_name()
|
||||||
|
|
||||||
|
-- Migration step
|
||||||
|
if have_datastorage then
|
||||||
|
local waypoints = datastorage.get(player_name, "waypoints")
|
||||||
|
if waypoints.selected then
|
||||||
|
migrate_datastorage(player, waypoints)
|
||||||
|
minetest.log("action", "[unified_inventory] " ..
|
||||||
|
"Migrated waypoints of player: " .. player_name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Get directly from metadata
|
||||||
|
local waypoints = player:get_meta():get("ui_waypoints")
|
||||||
|
waypoints = waypoints and minetest.parse_json(waypoints) or {}
|
||||||
|
waypoints.data = waypoints.data or {}
|
||||||
|
|
||||||
|
return waypoints
|
||||||
|
end
|
||||||
|
|
||||||
ui.register_page("waypoints", {
|
ui.register_page("waypoints", {
|
||||||
get_formspec = function(player)
|
get_formspec = function(player)
|
||||||
local player_name = player:get_player_name()
|
local player_name = player:get_player_name()
|
||||||
@ -24,73 +111,83 @@ ui.register_page("waypoints", {
|
|||||||
local wp_buttons_rj = ui.style_full.std_inv_x + 10.1 - ui.style_full.btn_spc
|
local wp_buttons_rj = ui.style_full.std_inv_x + 10.1 - ui.style_full.btn_spc
|
||||||
local wp_edit_w = ui.style_full.btn_spc * 4 - 0.1
|
local wp_edit_w = ui.style_full.btn_spc * 4 - 0.1
|
||||||
|
|
||||||
-- build a "fake" temp entry if the server took too long
|
local waypoints = get_waypoint_data(player)
|
||||||
-- during sign-on and returned an empty entry
|
local sel = waypoints.selected or 1
|
||||||
if not waypoints_temp[player_name] then waypoints_temp[player_name] = {hud = 1} end
|
|
||||||
|
|
||||||
local waypoints = datastorage.get(player_name, "waypoints")
|
local formspec = {
|
||||||
local formspec = { ui.style_full.standard_inv_bg,
|
ui.style_full.standard_inv_bg,
|
||||||
string.format("label[%f,%f;%s]",
|
string.format("label[%f,%f;%s]",
|
||||||
ui.style_full.form_header_x, ui.style_full.form_header_y,
|
ui.style_full.form_header_x, ui.style_full.form_header_y, F(S("Waypoints"))),
|
||||||
F(S("Waypoints"))),
|
|
||||||
"image["..wp_info_x..","..wp_info_y..";1,1;ui_waypoints_icon.png]"
|
"image["..wp_info_x..","..wp_info_y..";1,1;ui_waypoints_icon.png]"
|
||||||
}
|
}
|
||||||
local n=4
|
local n=4
|
||||||
|
|
||||||
-- Tabs buttons:
|
-- Tabs buttons:
|
||||||
for i = 1, 5 do
|
for i = 1, COUNT do
|
||||||
local sw="select_waypoint"..i
|
local sw="select_waypoint"..i
|
||||||
formspec[n] = string.format("image_button[%f,%f;%f,%f;%sui_%i_icon.png;%s;]",
|
formspec[n] = string.format("image_button[%f,%f;%f,%f;%sui_%i_icon.png;%s;]",
|
||||||
ui.style_full.main_button_x, wp_bottom_row - (5-i) * ui.style_full.btn_spc,
|
ui.style_full.main_button_x, wp_bottom_row - (5-i) * ui.style_full.btn_spc,
|
||||||
ui.style_full.btn_size, ui.style_full.btn_size,
|
ui.style_full.btn_size, ui.style_full.btn_size,
|
||||||
(i == waypoints.selected) and "ui_blue_icon_background.png^" or "",
|
(i == sel) and "ui_blue_icon_background.png^" or "",
|
||||||
i, sw)
|
i, sw)
|
||||||
formspec[n+1] = "tooltip["..sw..";"..S("Select Waypoint #@1", i).."]"
|
formspec[n+1] = "tooltip["..sw..";"..S("Select Waypoint #@1", i).."]"
|
||||||
n = n + 2
|
n = n + 2
|
||||||
end
|
end
|
||||||
|
|
||||||
local i = waypoints.selected or 1
|
local waypoint = waypoints.data[sel] or {}
|
||||||
local waypoint = waypoints[i] or {}
|
local temp = waypoints_temp[player_name][sel] or {}
|
||||||
local temp = waypoints_temp[player_name][i] or {}
|
local default_name = S("Waypoint @1", sel)
|
||||||
local default_name = S("Waypoint @1", i)
|
|
||||||
|
|
||||||
-- Main buttons:
|
-- Main buttons:
|
||||||
local btnlist = {
|
local btnlist = {
|
||||||
{ "ui_waypoint_set_icon.png", "set_waypoint", S("Set waypoint to current location") },
|
set_waypoint = {
|
||||||
{ waypoint.active and "ui_on_icon.png" or "ui_off_icon.png", "toggle_waypoint", S("Make waypoint @1", waypoint.active and "invisible" or "visible") },
|
"ui_waypoint_set_icon.png",
|
||||||
{ waypoint.display_pos and "ui_green_icon_background.png^ui_xyz_icon.png" or "ui_red_icon_background.png^ui_xyz_icon.png^(ui_no.png^[transformR90)", "toggle_display_pos", S("@1 display of waypoint coordinates", waypoint.display_pos and "Disable" or "Enable") },
|
S("Set waypoint to current location")
|
||||||
{ "ui_circular_arrows_icon.png", "toggle_color", S("Change color of waypoint display") },
|
},
|
||||||
{ "ui_pencil_icon.png", "rename_waypoint", S("Edit waypoint name") }
|
toggle_waypoint = {
|
||||||
|
waypoint.active and "ui_on_icon.png" or "ui_off_icon.png",
|
||||||
|
waypoint.active and S("Hide waypoint") or S("Show waypoint")
|
||||||
|
},
|
||||||
|
toggle_display_pos = {
|
||||||
|
waypoint.display_pos and "ui_green_icon_background.png^ui_xyz_icon.png" or "ui_red_icon_background.png^ui_xyz_icon.png^(ui_no.png^[transformR90)",
|
||||||
|
waypoint.display_pos and S("Hide coordinates") or S("Show coordinates")
|
||||||
|
},
|
||||||
|
toggle_color = {
|
||||||
|
"ui_circular_arrows_icon.png",
|
||||||
|
S("Change color of waypoint display")
|
||||||
|
},
|
||||||
|
rename_waypoint = {
|
||||||
|
"ui_pencil_icon.png",
|
||||||
|
S("Edit waypoint name")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
local x = 4
|
local x = 4
|
||||||
for _, b in pairs(btnlist) do
|
for name, def in pairs(btnlist) do
|
||||||
formspec[n] = string.format("image_button[%f,%f;%f,%f;%s;%s%i;]",
|
formspec[n] = string.format("image_button[%f,%f;%f,%f;%s;%s%i;]",
|
||||||
wp_buttons_rj - ui.style_full.btn_spc * x, wp_bottom_row,
|
wp_buttons_rj - ui.style_full.btn_spc * x, wp_bottom_row,
|
||||||
ui.style_full.btn_size, ui.style_full.btn_size,
|
ui.style_full.btn_size, ui.style_full.btn_size,
|
||||||
b[1], b[2], i)
|
def[1], name, sel)
|
||||||
formspec[n+1] = "tooltip["..b[2]..i..";"..F(b[3]).."]"
|
formspec[n+1] = "tooltip["..name..sel..";"..F(def[2]).."]"
|
||||||
x = x - 1
|
x = x - 1
|
||||||
n = n + 2
|
n = n + 2
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Waypoint's info:
|
-- Waypoint's info:
|
||||||
formspec[n] = "label["..wp_info_x..","..(wp_info_y+1.1)..";"
|
formspec[n] = ("label[%f,%f;%s]"):format(
|
||||||
if waypoint.active then
|
wp_info_x, wp_info_y + 1.1,
|
||||||
formspec[n+1] = F(S("Waypoint active")).."]"
|
F(waypoint.active and S("Waypoint active") or S("Waypoint inactive"))
|
||||||
else
|
)
|
||||||
formspec[n+1] = F(S("Waypoint inactive")).."]"
|
n = n + 1
|
||||||
end
|
|
||||||
n = n + 2
|
|
||||||
|
|
||||||
if temp.edit then
|
if temp.edit then
|
||||||
formspec[n] = string.format("field[%f,%f;%f,%f;rename_box%i;;%s]",
|
formspec[n] = string.format("field[%f,%f;%f,%f;rename_box%i;;%s]",
|
||||||
wp_buttons_rj - wp_edit_w - 0.1, wp_bottom_row - ui.style_full.btn_spc,
|
wp_buttons_rj - wp_edit_w - 0.1, wp_bottom_row - ui.style_full.btn_spc,
|
||||||
wp_edit_w, ui.style_full.btn_size, i, (waypoint.name or default_name))
|
wp_edit_w, ui.style_full.btn_size, sel, (waypoint.name or default_name))
|
||||||
formspec[n+1] = string.format("image_button[%f,%f;%f,%f;ui_ok_icon.png;confirm_rename%i;]",
|
formspec[n+1] = string.format("image_button[%f,%f;%f,%f;ui_ok_icon.png;confirm_rename%i;]",
|
||||||
wp_buttons_rj, wp_bottom_row - ui.style_full.btn_spc,
|
wp_buttons_rj, wp_bottom_row - ui.style_full.btn_spc,
|
||||||
ui.style_full.btn_size, ui.style_full.btn_size, i)
|
ui.style_full.btn_size, ui.style_full.btn_size, sel)
|
||||||
formspec[n+2] = "tooltip[confirm_rename"..i..";"..F(S("Finish editing")).."]"
|
formspec[n+2] = "tooltip[confirm_rename"..sel..";"..F(S("Finish editing")).."]"
|
||||||
n = n + 3
|
n = n + 3
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -114,10 +211,12 @@ ui.register_button("waypoints", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
local function update_hud(player, waypoints, temp, i)
|
local function update_hud(player, waypoints, temp, i)
|
||||||
local waypoint = waypoints[i]
|
local waypoint = waypoints.data[i]
|
||||||
if not waypoint then return end
|
if not waypoint then return end
|
||||||
|
|
||||||
temp[i] = temp[i] or {}
|
temp[i] = temp[i] or {}
|
||||||
temp = temp[i]
|
temp = temp[i]
|
||||||
|
|
||||||
local pos = waypoint.world_pos or vector.new()
|
local pos = waypoint.world_pos or vector.new()
|
||||||
local name
|
local name
|
||||||
if waypoint.display_pos then
|
if waypoint.display_pos then
|
||||||
@ -126,10 +225,13 @@ local function update_hud(player, waypoints, temp, i)
|
|||||||
name = name..", "..waypoint.name
|
name = name..", "..waypoint.name
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
name = waypoint.name or "Waypoint "..i
|
name = waypoint.name or S("Waypoint @1", i)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- Perform HUD updates
|
||||||
if temp.hud then
|
if temp.hud then
|
||||||
player:hud_remove(temp.hud)
|
player:hud_remove(temp.hud)
|
||||||
|
temp.hud = nil
|
||||||
end
|
end
|
||||||
if waypoint.active then
|
if waypoint.active then
|
||||||
temp.hud = player:hud_add({
|
temp.hud = player:hud_add({
|
||||||
@ -139,8 +241,6 @@ local function update_hud(player, waypoints, temp, i)
|
|||||||
text = "m",
|
text = "m",
|
||||||
world_pos = pos
|
world_pos = pos
|
||||||
})
|
})
|
||||||
else
|
|
||||||
temp.hud = nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -152,9 +252,11 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
local need_update_hud = false
|
local need_update_hud = false
|
||||||
local hit = false
|
local hit = false
|
||||||
|
|
||||||
local waypoints = datastorage.get(player_name, "waypoints")
|
local waypoints = get_waypoint_data(player)
|
||||||
local temp = waypoints_temp[player_name]
|
local temp = waypoints_temp[player_name]
|
||||||
for i = 1, 5, 1 do
|
for i = 1, COUNT do
|
||||||
|
local waypoint = waypoints.data[i] or {}
|
||||||
|
|
||||||
if fields["select_waypoint"..i] then
|
if fields["select_waypoint"..i] then
|
||||||
hit = true
|
hit = true
|
||||||
waypoints.selected = i
|
waypoints.selected = i
|
||||||
@ -163,20 +265,15 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
|
|
||||||
if fields["toggle_waypoint"..i] then
|
if fields["toggle_waypoint"..i] then
|
||||||
hit = true
|
hit = true
|
||||||
waypoints[i] = waypoints[i] or {}
|
waypoint.active = not (waypoint.active)
|
||||||
waypoints[i].active = not (waypoints[i].active)
|
|
||||||
need_update_hud = true
|
need_update_hud = true
|
||||||
update_formspec = true
|
update_formspec = true
|
||||||
end
|
end
|
||||||
|
|
||||||
if fields["set_waypoint"..i] then
|
if fields["set_waypoint"..i] then
|
||||||
hit = true
|
hit = true
|
||||||
local pos = player:get_pos()
|
local pos = vector.round(player:get_pos())
|
||||||
pos.x = math.floor(pos.x)
|
waypoint.world_pos = pos
|
||||||
pos.y = math.floor(pos.y)
|
|
||||||
pos.z = math.floor(pos.z)
|
|
||||||
waypoints[i] = waypoints[i] or {}
|
|
||||||
waypoints[i].world_pos = pos
|
|
||||||
need_update_hud = true
|
need_update_hud = true
|
||||||
update_formspec = true
|
update_formspec = true
|
||||||
end
|
end
|
||||||
@ -190,51 +287,58 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
|
|
||||||
if fields["toggle_display_pos"..i] then
|
if fields["toggle_display_pos"..i] then
|
||||||
hit = true
|
hit = true
|
||||||
waypoints[i] = waypoints[i] or {}
|
waypoint.display_pos = not waypoint.display_pos
|
||||||
waypoints[i].display_pos = not waypoints[i].display_pos
|
|
||||||
need_update_hud = true
|
need_update_hud = true
|
||||||
update_formspec = true
|
update_formspec = true
|
||||||
end
|
end
|
||||||
|
|
||||||
if fields["toggle_color"..i] then
|
if fields["toggle_color"..i] then
|
||||||
hit = true
|
hit = true
|
||||||
waypoints[i] = waypoints[i] or {}
|
local color = waypoint.color or 0
|
||||||
local color = waypoints[i].color or 1
|
|
||||||
color = color + 1
|
color = color + 1
|
||||||
if color > hud_colors_max then
|
if color > #hud_colors then
|
||||||
color = 1
|
color = 1
|
||||||
end
|
end
|
||||||
waypoints[i].color = color
|
waypoint.color = color
|
||||||
need_update_hud = true
|
need_update_hud = true
|
||||||
update_formspec = true
|
update_formspec = true
|
||||||
end
|
end
|
||||||
|
|
||||||
if fields["confirm_rename"..i] then
|
if fields["confirm_rename"..i] then
|
||||||
hit = true
|
hit = true
|
||||||
waypoints[i] = waypoints[i] or {}
|
temp[i] = temp[i] or {}
|
||||||
temp[i].edit = false
|
temp[i].edit = false
|
||||||
waypoints[i].name = fields["rename_box"..i]
|
waypoint.name = fields["rename_box"..i]
|
||||||
need_update_hud = true
|
need_update_hud = true
|
||||||
update_formspec = true
|
update_formspec = true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if hit then
|
||||||
|
-- Save first
|
||||||
|
waypoints.data[i] = waypoint
|
||||||
|
set_waypoint_data(player, waypoints)
|
||||||
|
end
|
||||||
|
-- Update after
|
||||||
if need_update_hud then
|
if need_update_hud then
|
||||||
update_hud(player, waypoints, temp, i)
|
update_hud(player, waypoints, temp, i)
|
||||||
end
|
end
|
||||||
if update_formspec then
|
if update_formspec then
|
||||||
ui.set_inventory_formspec(player, "waypoints")
|
ui.set_inventory_formspec(player, "waypoints")
|
||||||
end
|
end
|
||||||
|
|
||||||
if hit then return end
|
if hit then return end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
-- waypoints_temp must be initialized before the general unified_inventory
|
||||||
minetest.register_on_joinplayer(function(player)
|
-- joinplayer callback is run for updating the inventory
|
||||||
|
table.insert(minetest.registered_on_joinplayers, 1, function(player)
|
||||||
local player_name = player:get_player_name()
|
local player_name = player:get_player_name()
|
||||||
local waypoints = datastorage.get(player_name, "waypoints")
|
local waypoints = get_waypoint_data(player)
|
||||||
local temp = {}
|
|
||||||
waypoints_temp[player_name] = temp
|
waypoints_temp[player_name] = {}
|
||||||
for i = 1, 5 do
|
for i = 1, COUNT do
|
||||||
update_hud(player, waypoints, temp, i)
|
update_hud(player, waypoints, waypoints_temp[player_name], i)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user