mirror of
				https://github.com/minetest-mods/unified_inventory.git
				synced 2025-10-26 13:35:27 +01:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			master
			...
			hide_uncra
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 4499ae1139 | 
| @@ -1,6 +1,6 @@ | ||||
| unused_args = false | ||||
| allow_defined_top = true | ||||
| max_line_length = 131 | ||||
| max_line_length = 999 | ||||
|  | ||||
| globals = { | ||||
| 	"unified_inventory", | ||||
| @@ -10,10 +10,8 @@ read_globals = { | ||||
| 	string = {fields = {"split", "trim"}}, | ||||
| 	table = {fields = {"copy", "getn"}}, | ||||
|  | ||||
| 	"dump", | ||||
| 	"core", "minetest", | ||||
| 	"minetest", "vector", | ||||
| 	"ItemStack", "datastorage", | ||||
| 	"vector", | ||||
|  | ||||
| 	"hb", | ||||
| 	"doors", | ||||
|   | ||||
							
								
								
									
										31
									
								
								api.lua
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								api.lua
									
									
									
									
									
								
							| @@ -184,37 +184,6 @@ minetest.after(0.01, function() | ||||
| 		ui.crafts_for.recipe[outputitemname] = new_recipe_list | ||||
| 	end | ||||
|  | ||||
| 	-- Remove unknown items from all categories | ||||
| 	local total_removed = 0 | ||||
| 	for cat_name, cat_def in pairs(ui.registered_category_items) do | ||||
| 		for itemname, _ in pairs(cat_def) do | ||||
| 			local idef = minetest.registered_items[itemname] | ||||
| 			if not idef then | ||||
| 				total_removed = total_removed + 1 | ||||
| 				--[[ | ||||
| 				-- For analysis | ||||
| 				minetest.log("warning", "[unified_inventory] Removed item '" | ||||
| 					.. itemname .. "' from category '" .. cat_name | ||||
| 					.. "'. Reason: item not registered") | ||||
| 				]] | ||||
| 				cat_def[itemname] = nil | ||||
| 			elseif not ui.is_itemdef_listable(idef) then | ||||
| 				total_removed = total_removed + 1 | ||||
| 				--[[ | ||||
| 				-- For analysis | ||||
| 				minetest.log("warning", "[unified_inventory] Removed item '" | ||||
| 					.. itemname .. "' from category '" .. cat_name | ||||
| 					.. "'. Reason: item is in 'not_in_creative_inventory' group") | ||||
| 				]] | ||||
| 				cat_def[itemname] = nil | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| 	if total_removed > 0 then | ||||
| 		minetest.log("info", "[unified_inventory] Removed " .. total_removed .. | ||||
| 			" items from the categories.") | ||||
| 	end | ||||
|  | ||||
| 	for _, callback in ipairs(ui.initialized_callbacks) do | ||||
| 		callback() | ||||
| 	end | ||||
|   | ||||
							
								
								
									
										2
									
								
								bags.lua
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								bags.lua
									
									
									
									
									
								
							| @@ -144,7 +144,7 @@ local function save_bags_metadata(player, bags_inv) | ||||
| 	end | ||||
| 	local meta = player:get_meta() | ||||
| 	if is_empty then | ||||
| 		meta:set_string("unified_inventory:bags", "") | ||||
| 		meta:set_string("unified_inventory:bags", nil) | ||||
| 	else | ||||
| 		meta:set_string("unified_inventory:bags", | ||||
| 			minetest.serialize(bags)) | ||||
|   | ||||
| @@ -115,11 +115,6 @@ function unified_inventory.set_category_index(category_name, index) | ||||
| 	update_category_list() | ||||
| end | ||||
| function unified_inventory.add_category_item(category_name, item) | ||||
| 	if type(item) ~= "string" then | ||||
| 		minetest.log("warning", "[unified_inventory] Cannot register category item: " .. dump(item)) | ||||
| 		return | ||||
| 	end | ||||
|  | ||||
| 	ensure_category_exists(category_name) | ||||
| 	unified_inventory.registered_category_items[category_name][item] = true | ||||
| end | ||||
|   | ||||
| @@ -1,5 +1,4 @@ | ||||
| local S = minetest.get_translator("unified_inventory") | ||||
| local ui = unified_inventory | ||||
|  | ||||
| unified_inventory.register_category('plants', { | ||||
| 	symbol = "flowers:tulip", | ||||
| @@ -26,87 +25,71 @@ unified_inventory.register_category('lighting', { | ||||
| 	label = S("Lighting") | ||||
| }) | ||||
|  | ||||
| local function register_automatic_categorization() | ||||
| 	-- Add biome nodes to environment category | ||||
| 	for _,def in pairs(minetest.registered_biomes) do | ||||
| 		local env_nodes = { | ||||
| 			def.node_riverbed, def.node_top, def.node_filler, def.node_dust, | ||||
| 		} | ||||
| 		for i,node in pairs(env_nodes) do | ||||
| 			if node then | ||||
| 				unified_inventory.add_category_item('environment', node) | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
|  | ||||
| 	-- Preparation for ore registration: find all possible drops (digging) | ||||
| 	local possible_node_dig_drops = { | ||||
| 		-- ["default:stone_with_coal"] = { "default:coal_lump", "mymod:raregem" } | ||||
| 		-- Ores may be contained multiple times, depending on drop chances. | ||||
| 	} | ||||
| 	for itemname, recipes in pairs(ui.crafts_for.usage) do | ||||
| 		for _, recipe in ipairs(recipes) do | ||||
| 			if recipe.type == "digging" or recipe.type == "digging_chance" then | ||||
| 				if not possible_node_dig_drops[itemname] then | ||||
| 					possible_node_dig_drops[itemname] = {} | ||||
| if unified_inventory.automatic_categorization then | ||||
| 	minetest.register_on_mods_loaded(function() | ||||
|  | ||||
| 		-- Add biome nodes to environment category | ||||
| 		for _,def in pairs(minetest.registered_biomes) do | ||||
| 			local env_nodes = { | ||||
| 				def.node_riverbed, def.node_top, def.node_filler, def.node_dust, | ||||
| 			} | ||||
| 			for i,node in pairs(env_nodes) do | ||||
| 				if node then | ||||
| 					unified_inventory.add_category_item('environment', node) | ||||
| 				end | ||||
| 				local stack = ItemStack(recipe.output) | ||||
| 				table.insert(possible_node_dig_drops[itemname], stack:get_name()) | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
|  | ||||
| 	-- Add minable ores to minerals and everything else (pockets of stone & sand variations) to environment | ||||
| 	for _, odef in pairs(minetest.registered_ores) do | ||||
| 		local drops = possible_node_dig_drops[odef.ore] | ||||
| 		if drops and odef.ore_type == "scatter" then | ||||
| 			ui.add_category_item('minerals', odef.ore) | ||||
| 			-- Register all possible drops as "minerals" | ||||
| 			ui.add_category_items('minerals', drops) | ||||
| 			possible_node_dig_drops[odef.ore] = {} -- mask as handled | ||||
| 		else | ||||
| 			ui.add_category_item('environment', odef.ore) | ||||
| 		end | ||||
| 	end | ||||
|  | ||||
| 	-- Add items by item definition | ||||
| 	for name, def in pairs(minetest.registered_items) do | ||||
| 		local group = def.groups or {} | ||||
| 		if not group.not_in_creative_inventory then | ||||
| 			if group.stair or | ||||
| 			   group.slab or | ||||
| 			   group.wall or | ||||
| 			   group.fence then | ||||
| 				unified_inventory.add_category_item('building', name) | ||||
| 			elseif group.flora or | ||||
| 				   group.flower or | ||||
| 				   group.seed or | ||||
| 				   group.leaves or | ||||
| 				   group.sapling or | ||||
| 				   group.tree then | ||||
| 				unified_inventory.add_category_item('plants', name) | ||||
| 			elseif def.type == 'tool' then | ||||
| 				unified_inventory.add_category_item('tools', name) | ||||
| 			elseif def.liquidtype == 'source' then | ||||
| 				unified_inventory.add_category_item('environment', name) | ||||
| 			elseif def.light_source and def.light_source > 0 then | ||||
| 				unified_inventory.add_category_item('lighting', name) | ||||
| 			elseif group.door or | ||||
| 				   minetest.global_exists("doors") and ( | ||||
| 					 doors.registered_doors and doors.registered_doors[name..'_a'] or | ||||
| 					 doors.registered_trapdoors and doors.registered_trapdoors[name] | ||||
| 				   ) then | ||||
| 				unified_inventory.add_category_item('building', name) | ||||
| 		-- Add minable ores to minerals and everything else (pockets of stone & sand variations) to environment | ||||
| 		for _,item in  pairs(minetest.registered_ores) do | ||||
| 			if item.ore_type == "scatter" then | ||||
| 				local drop = minetest.registered_nodes[item.ore].drop | ||||
| 				if drop and drop ~= "" then | ||||
| 					unified_inventory.add_category_item('minerals', item.ore) | ||||
| 					unified_inventory.add_category_item('minerals', drop) | ||||
| 				else | ||||
| 					unified_inventory.add_category_item('environment', item.ore) | ||||
| 				end | ||||
| 			else | ||||
| 				unified_inventory.add_category_item('environment', item.ore) | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| end | ||||
|  | ||||
| if ui.automatic_categorization then | ||||
| 	ui.register_on_initialized(register_automatic_categorization) | ||||
| 		-- Add items by item definition | ||||
| 		for name, def in pairs(minetest.registered_items) do | ||||
| 			local group = def.groups or {} | ||||
| 			if not group.not_in_creative_inventory then | ||||
| 				if group.stair or | ||||
| 				   group.slab or | ||||
| 				   group.wall or | ||||
| 				   group.fence then | ||||
| 					unified_inventory.add_category_item('building', name) | ||||
| 				elseif group.flora or | ||||
| 					   group.flower or | ||||
| 					   group.seed or | ||||
| 					   group.leaves or | ||||
| 					   group.sapling or | ||||
| 					   group.tree then | ||||
| 					unified_inventory.add_category_item('plants', name) | ||||
| 				elseif def.type == 'tool' then | ||||
| 					unified_inventory.add_category_item('tools', name) | ||||
| 				elseif def.liquidtype == 'source' then | ||||
| 					unified_inventory.add_category_item('environment', name) | ||||
| 				elseif def.light_source and def.light_source > 0 then | ||||
| 					unified_inventory.add_category_item('lighting', name) | ||||
| 				elseif group.door or | ||||
| 					   minetest.global_exists("doors") and ( | ||||
| 					     doors.registered_doors and doors.registered_doors[name..'_a'] or | ||||
| 					     doors.registered_trapdoors and doors.registered_trapdoors[name] | ||||
| 					   ) then | ||||
| 					unified_inventory.add_category_item('building', name) | ||||
| 				end | ||||
| 			end | ||||
| 		end | ||||
| 	end) | ||||
| end | ||||
|  | ||||
|  | ||||
| -- [[ | ||||
| unified_inventory.add_category_items('plants', { | ||||
| 	"default:dry_grass_5", | ||||
| @@ -273,6 +256,23 @@ unified_inventory.add_category_items('minerals', { | ||||
| 	"default:coal_lump", | ||||
| 	"default:bronzeblock", | ||||
| 	"default:goldblock", | ||||
|  | ||||
| 	"stairs:slab_bronzeblock", | ||||
| 	"stairs:slab_copperblock", | ||||
| 	"stairs:slab_steelblock", | ||||
| 	"stairs:slab_tinblock", | ||||
| 	"stairs:stair_bronzeblock", | ||||
| 	"stairs:stair_copperblock", | ||||
| 	"stairs:stair_inner_bronzeblock", | ||||
| 	"stairs:stair_inner_copperblock", | ||||
| 	"stairs:stair_inner_steelblock", | ||||
| 	"stairs:stair_inner_tinblock", | ||||
| 	"stairs:stair_outer_bronzeblock", | ||||
| 	"stairs:stair_outer_copperblock", | ||||
| 	"stairs:stair_outer_steelblock", | ||||
| 	"stairs:stair_outer_tinblock", | ||||
| 	"stairs:stair_steelblock", | ||||
| 	"stairs:stair_tinblock", | ||||
| }) | ||||
|  | ||||
| unified_inventory.add_category_items('building', { | ||||
|   | ||||
							
								
								
									
										17
									
								
								internal.lua
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								internal.lua
									
									
									
									
									
								
							| @@ -143,21 +143,18 @@ local function formspec_add_categories(player, formspec, ui_peruser) | ||||
| 			if ui.current_category[player_name] == category.name then | ||||
| 				scale = 1 | ||||
| 			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) | ||||
| 			n = n + 1 | ||||
| 		end | ||||
| 	end | ||||
| 	if category_count > ui_peruser.pagecols and scroll_offset > 0 then | ||||
| 		-- prev | ||||
| 		formspec[n] = formspec_button(ui_peruser, "prev_category", "ui_left_icon.png", categories_scroll_pos, | ||||
| 			{ui_peruser.pagecols - 2, 0}, 0.8, S("Scroll categories left")) | ||||
| 		formspec[n] = formspec_button(ui_peruser, "prev_category", "ui_left_icon.png", categories_scroll_pos, {ui_peruser.pagecols - 2, 0}, 0.8, S("Scroll categories left")) | ||||
| 		n = n + 1 | ||||
| 	end | ||||
| 	if category_count > ui_peruser.pagecols and category_count - scroll_offset > ui_peruser.pagecols then | ||||
| 		-- 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")) | ||||
| 	end | ||||
| end | ||||
|  | ||||
| @@ -371,10 +368,6 @@ function ui.apply_filter(player, filter, search_dir) | ||||
| 		local groups = lfilter:sub(7):split(",") | ||||
| 		ffilter = function(name) | ||||
| 			local def = registered_items[name] | ||||
| 			if not def then | ||||
| 				return false | ||||
| 			end | ||||
|  | ||||
| 			for _, group in ipairs(groups) do | ||||
| 				if not def.groups[group] | ||||
| 				or def.groups[group] <= 0 then | ||||
| @@ -390,10 +383,6 @@ function ui.apply_filter(player, filter, search_dir) | ||||
|  | ||||
| 		ffilter = function(name) | ||||
| 			local def = registered_items[name] | ||||
| 			if not def then | ||||
| 				return false | ||||
| 			end | ||||
|  | ||||
| 			local lname = string.lower(name) | ||||
| 			local ldesc = string.lower(def.description) | ||||
| 			local llocaldesc = minetest.get_translated_string | ||||
|   | ||||
| @@ -18,8 +18,7 @@ local function set_hud(player) | ||||
|  | ||||
| 	item_names[player_name] = { | ||||
| 		hud = player:hud_add({ | ||||
| 			-- TODO: remove compatibility code when 5.8.0 is no longer used | ||||
| 			[minetest.features.hud_def_type_field and "type" or "hud_elem_type"] = "text", | ||||
| 			hud_elem_type = "text", | ||||
| 			position = {x=0.5, y=1}, | ||||
| 			offset = off, | ||||
| 			alignment = {x=0, y=-1}, | ||||
|   | ||||
| @@ -1,366 +0,0 @@ | ||||
| # LANGUAGE translation for the unified_inventory mod. | ||||
| # Copyright (C) 2018 Maciej Kasatkin (RealBadAngel) | ||||
| # This file is distributed under the same license as the unified_inventory package. | ||||
| # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | ||||
| # | ||||
| #, fuzzy | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: unified_inventory\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2018-04-02 03:34+0200\n" | ||||
| "PO-Revision-Date: 2025-09-06 23:13+0200\n" | ||||
| "Last-Translator: \n" | ||||
| "Language-Team: \n" | ||||
| "Language: da_DK\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "X-Generator: Poedit 3.6\n" | ||||
|  | ||||
| #: api.lua register.lua | ||||
| msgid "Crafting" | ||||
| msgstr "Fremstilling" | ||||
|  | ||||
| #: api.lua | ||||
| msgid "Mixing" | ||||
| msgstr "Mikse" | ||||
|  | ||||
| #: api.lua | ||||
| msgid "Cooking" | ||||
| msgstr "Koge" | ||||
|  | ||||
| #: api.lua | ||||
| msgid "Digging" | ||||
| msgstr "Grave" | ||||
|  | ||||
| #: bags.lua | ||||
| msgid "Bags" | ||||
| msgstr "Tasker" | ||||
|  | ||||
| #: bags.lua | ||||
| msgid "Bag @1" | ||||
| msgstr "Taske @1" | ||||
|  | ||||
| #: bags.lua | ||||
| msgid "Small Bag" | ||||
| msgstr "Lille taske" | ||||
|  | ||||
| #: bags.lua | ||||
| msgid "Medium Bag" | ||||
| msgstr "Mellem taske" | ||||
|  | ||||
| #: bags.lua | ||||
| msgid "Large Bag" | ||||
| msgstr "Stor taske" | ||||
|  | ||||
| #: group.lua | ||||
| msgid " and " | ||||
| msgstr " og " | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "First page" | ||||
| msgstr "Første side" | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "Back three pages" | ||||
| msgstr "Tilbage tre sider" | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "Back one page" | ||||
| msgstr "Tilbage en side" | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "Forward one page" | ||||
| msgstr "Frem en side" | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "Forward three pages" | ||||
| msgstr "Frem tre sider" | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "Last page" | ||||
| msgstr "Sidste side" | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "Search" | ||||
| msgstr "Søg" | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "Reset search and display everything" | ||||
| msgstr "Nulstil søgning og vis alting" | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "No matching items" | ||||
| msgstr "Ingen ting svarer til søgningen" | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "No matches." | ||||
| msgstr "Ingen resultater." | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "Page" | ||||
| msgstr "Side" | ||||
|  | ||||
| #: internal.lua | ||||
| #, lua-format | ||||
| msgid "%s of %s" | ||||
| msgstr "%s af %s" | ||||
|  | ||||
| #: internal.lua | ||||
| msgid "Filter" | ||||
| msgstr "Filter" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Can use the creative inventory" | ||||
| msgstr "Kan bruge den kreative beholdning" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "" | ||||
| "Forces Unified Inventory to be displayed in Full mode if Lite mode is " | ||||
| "configured globally" | ||||
| msgstr "" | ||||
| "Tvinger Unified Inventory til at blive vist i fuld visning, hvis simpel " | ||||
| "visning er indstillet globalt" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Crafting Grid" | ||||
| msgstr "Fremstillingsgitter" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Crafting Guide" | ||||
| msgstr "Fremstillingsvejledning" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Set home position" | ||||
| msgstr "Sæt position for hjem" | ||||
|  | ||||
| #: register.lua | ||||
| #, lua-format | ||||
| msgid "Home position set to: %s" | ||||
| msgstr "Hjem-position sat til: %s" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "You don't have the \"home\" privilege!" | ||||
| msgstr "Du har ikke \"hjem\"-rettigheden!" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Go home" | ||||
| msgstr "Gå hjem" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Set time to day" | ||||
| msgstr "Sæt tiden til dag" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Time of day set to 6am" | ||||
| msgstr "Sæt uret til kl. 6" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "You don't have the settime privilege!" | ||||
| msgstr "Du har ikke rettigheden til at sætte tiden!" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Set time to night" | ||||
| msgstr "Sæt tiden til nat" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Time of day set to 9pm" | ||||
| msgstr "Sæt uret til kl. 21" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Clear inventory" | ||||
| msgstr "Ryd beholdningen" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "" | ||||
| "This button has been disabled outside of creative mode to prevent accidental " | ||||
| "inventory trashing.\n" | ||||
| "Use the trash slot instead." | ||||
| msgstr "" | ||||
| "Denne knap er deaktiveret uden for kreativ tilstand for at forhindre " | ||||
| "utilsigtet rydning af beholdningen.\n" | ||||
| "Brug skraldespanden i stedet." | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Inventory cleared!" | ||||
| msgstr "Beholdningen er ryddet!" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Trash:" | ||||
| msgstr "Skraldespand:" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Refill:" | ||||
| msgstr "Genopfyld:" | ||||
|  | ||||
| #: register.lua | ||||
| #, lua-format | ||||
| msgid "Any item belonging to the %s group" | ||||
| msgstr "Hvilken som helst ting der hører til %s-gruppen" | ||||
|  | ||||
| #: register.lua | ||||
| #, lua-format | ||||
| msgid "Any item belonging to the groups %s" | ||||
| msgstr "Hvilken som helst ting der hører til grupperne %s" | ||||
|  | ||||
| #: register.lua | ||||
| #, lua-format | ||||
| msgid "Recipe %d of %d" | ||||
| msgstr "Opskrift %d af %d" | ||||
|  | ||||
| #: register.lua | ||||
| #, lua-format | ||||
| msgid "Usage %d of %d" | ||||
| msgstr "Brug %d af %d" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "No recipes" | ||||
| msgstr "Ingen opskrifter" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "No usages" | ||||
| msgstr "Ingen brugt" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Result" | ||||
| msgstr "Resultat" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Ingredient" | ||||
| msgstr "Ingrediens" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Show next recipe" | ||||
| msgstr "Vis næste opskrift" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Show next usage" | ||||
| msgstr "Vis næste brug" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Show previous recipe" | ||||
| msgstr "Vis foregående opskrift" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Show previous usage" | ||||
| msgstr "Vis foregående brug" | ||||
|  | ||||
| #: register.lua | ||||
| #, lua-format | ||||
| msgid "%s (%s)" | ||||
| msgstr "%s (%s)" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "Give me:" | ||||
| msgstr "Giv mig:" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "" | ||||
| "This recipe is too\n" | ||||
| "large to be displayed." | ||||
| msgstr "" | ||||
| "Denne opskrift er for\n" | ||||
| "stor til at blive vist." | ||||
|  | ||||
| #: register.lua | ||||
| msgid "To craft grid:" | ||||
| msgstr "Fremstillingsgitteret:" | ||||
|  | ||||
| #: register.lua | ||||
| msgid "All" | ||||
| msgstr "Alle" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "White" | ||||
| msgstr "Hvid" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Yellow" | ||||
| msgstr "Gul" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Red" | ||||
| msgstr "Rød" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Green" | ||||
| msgstr "Grøn" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Blue" | ||||
| msgstr "Blå" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Waypoints" | ||||
| msgstr "Vigtige lokaliteter" | ||||
|  | ||||
| #: waypoints.lua | ||||
| #, lua-format | ||||
| msgid "Select Waypoint #%d" | ||||
| msgstr "Vælg lokalitet #%d" | ||||
|  | ||||
| #: waypoints.lua | ||||
| #, lua-format | ||||
| msgid "Waypoint %d" | ||||
| msgstr "Lokalitet %d" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Set waypoint to current location" | ||||
| msgstr "Angiv dette sted som vigtigt lokalitet" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "invisible" | ||||
| msgstr "usynligt" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "visible" | ||||
| msgstr "synligt" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Make waypoint @1" | ||||
| msgstr "Gør lokalitet @1" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Disable" | ||||
| msgstr "Slå fra" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Enable" | ||||
| msgstr "Slå til" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "@1 display of waypoint coordinates" | ||||
| msgstr "@1 visning af vigtige lokaliteters koordinater" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Change color of waypoint display" | ||||
| msgstr "Ændr farven på visning af vigtige lokaliteter" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Edit waypoint name" | ||||
| msgstr "Rediger lokalitetens navn" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Waypoint active" | ||||
| msgstr "Lokaliteten aktiv" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Waypoint inactive" | ||||
| msgstr "Lokaliteten inaktiv" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Finish editing" | ||||
| msgstr "Afslut redigering" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "World position" | ||||
| msgstr "Position i verdenen" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "Name" | ||||
| msgstr "Navn" | ||||
|  | ||||
| #: waypoints.lua | ||||
| msgid "HUD text color" | ||||
| msgstr "Farve på instrumentbrættet" | ||||
| @@ -1,23 +1,23 @@ | ||||
| # textdomain: unified_inventory | ||||
| Mixing=Мешать | ||||
| Cooking=Готовить | ||||
| Cooking=Варить | ||||
| Digging=Копать | ||||
| Bags=Сумки | ||||
| Bag @1=Сумка @1 | ||||
| Small Bag=Малая сумка | ||||
| Medium Bag=Средняя сумка | ||||
| Large Bag=Большая сумка | ||||
| All Items=Все предметы | ||||
| Misc. Items=Разн. предметы | ||||
| Plant Life=Растения | ||||
| Building Materials=Стройматериалы | ||||
| Tools=Инструменты | ||||
| Minerals and Metals=Металлы и минералы | ||||
| Environment and Worldgen=Окружение и генер.мира | ||||
| Lighting=Освещение | ||||
| All Items= | ||||
| Misc. Items= | ||||
| Plant Life= | ||||
| Building Materials= | ||||
| Tools= | ||||
| Minerals and Metals= | ||||
| Environment and Worldgen= | ||||
| Lighting= | ||||
|  and = и  | ||||
| Scroll categories left=Листать влево | ||||
| Scroll categories right=Листать вправо | ||||
| Scroll categories left= | ||||
| Scroll categories right= | ||||
| Search=Поиск | ||||
| Reset search and display everything=Сброс поиска, показать всё | ||||
| First page=Первая страница | ||||
| @@ -32,7 +32,7 @@ Page=Страница | ||||
| @1 of @2=@1 из @2 | ||||
| Filter=Фильтр | ||||
| 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 Guide=Книга рецептов | ||||
| Set home position=Установить позицию дома | ||||
| @@ -59,11 +59,11 @@ Result=Результат | ||||
| Ingredient=Состав | ||||
| Show next recipe=Следующий рецепт | ||||
| Show next usage=Следующее использование | ||||
| Show previous recipe=Предыдущий рецепт | ||||
| Show previous usage=Предыдущая страница | ||||
| Show previous recipe=Прошлый рецепт | ||||
| Show previous usage=Прошлая страница | ||||
| @1 (@2)= | ||||
| Give me:=Дай мне: | ||||
| This recipe is too@@large to be displayed.=Этот рецепт слишком большой | ||||
| This recipe is too@@large to be displayed.= | ||||
| To craft grid:=На решeтку крафта: | ||||
| All=Все | ||||
| Crafting=Крафт | ||||
| @@ -76,10 +76,10 @@ Waypoints=Путевые точки | ||||
| Select Waypoint #@1=Выбрать путевую точку №@1 | ||||
| Waypoint @1=Путевая точка @1 | ||||
| Set waypoint to current location=Установить путевую точку по текущей позиции | ||||
| Hide waypoint=Скрыть точку | ||||
| Show waypoint=Показать точку | ||||
| Hide coordinates=Скрыть координаты | ||||
| Show coordinates=Показать координаты | ||||
| Hide waypoint= | ||||
| Show waypoint= | ||||
| Hide coordinates= | ||||
| Show coordinates= | ||||
| Change color of waypoint display=Поменять цвет путевой точки | ||||
| Edit waypoint name=Переименовать путевую точку | ||||
| Waypoint active=Путевая точка включена | ||||
| @@ -88,4 +88,13 @@ Finish editing=Закончить редакцию | ||||
| World position=Позиция мира | ||||
| Name=Имя | ||||
| HUD text color=Цвет текста HUDа | ||||
| Category:=Категории: | ||||
|  | ||||
|  | ||||
| ##### not used anymore ##### | ||||
|  | ||||
| invisible=невидимой | ||||
| visible=видимой | ||||
| Make waypoint @1=Сделать путевую точку @1 | ||||
| Disable=Выключить | ||||
| Enable=Включить | ||||
| @1 display of waypoint coordinates=@1 показ координат путевых точек | ||||
|   | ||||
| @@ -1,92 +0,0 @@ | ||||
| # textdomain: unified_inventory | ||||
| Replaces the default inventory and adds a number of features, such as a crafting guide=Замінює стандартний інвентар та додає ряд особливостей, таких як книга рецептів | ||||
| Mixing=Перемішати | ||||
| Cooking=Виплавити | ||||
| Digging=Викопати | ||||
| Bags=Сумки | ||||
| Bag @1=Сумка @1 | ||||
| Small Bag=Мала сумка | ||||
| Medium Bag=Середня сумка | ||||
| Large Bag=Велика сумка | ||||
| All Items=Все | ||||
| Misc. Items=Різне | ||||
| Plant Life=Рослини | ||||
| Building Materials=Будматеріали | ||||
| Tools=Інструменти | ||||
| Minerals and Metals=Руди й метали | ||||
| Environment and Worldgen=Оточення та генерація світу | ||||
| Lighting=Освітлення | ||||
|  and = та | ||||
| Scroll categories left=Ліворуч | ||||
| Scroll categories right=Праворуч | ||||
| Search=Пошук | ||||
| Reset search and display everything=Скинути пошук та відобразити усе | ||||
| First page=Перша сторінка | ||||
| Back three pages=3 сторінки назад | ||||
| Back one page=Попередня сторінка | ||||
| Forward one page=Наступна сторінка | ||||
| Forward three pages=3 сторінки вперед | ||||
| Last page=Остання сторінка | ||||
| No matching items=Не знайдено предметів | ||||
| No matches.=Немає результатів. | ||||
| Page=Сторінка | ||||
| @1 of @2=@1 з @2 | ||||
| Filter=Фільтр | ||||
| 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=Встановити позицію дому | ||||
| Home position set to: @1=Тепер дім розташований по координатам: @1 | ||||
| You don't have the "home" privilege!=У вас немає привілею "home"! | ||||
| Go home=Додому | ||||
| Set time to day=День | ||||
| Time of day set to 6am=Час встановлено на 6:00 | ||||
| You don't have the settime privilege!=Ви не можете встановлювати час (нема привілею "settime") | ||||
| Set time to night=Ніч | ||||
| Time of day set to 9pm=Час встановлено на 21:00 | ||||
| Clear inventory=Очистити інвентар | ||||
| This button has been disabled outside of creative mode to prevent accidental inventory trashing.@nUse the trash slot instead.=Цю кнопку було вимкнено в творчому режимі, щоб запобігти випадковому очищенню інвентаря.@nВикористовуйте слот смітника натомість. | ||||
| Inventory cleared!=Інвентар очищено! | ||||
| Trash:=Смітник: | ||||
| Refill:=Заповнити: | ||||
| Any item belonging to the @1 group=Будь-який елемент із групи @1 | ||||
| Any item belonging to the groups @1=Будь-який елемент із груп @1 | ||||
| Recipe @1 of @2=Рецепт @1 із @2 | ||||
| Usage @1 of @2=Використання @1 із @2 | ||||
| No recipes=Немає рецептів | ||||
| No usages=Ніде не використовується | ||||
| Result=Результат | ||||
| Ingredient=Інгредієнт | ||||
| Show next recipe=Наступний рецепт | ||||
| Show next usage=Наступне використання | ||||
| Show previous recipe=Попередній рецепт | ||||
| Show previous usage=Попереднє використання | ||||
| @1 (@2)=@1 (@2) | ||||
| Give me:=Дай мені: | ||||
| This recipe is too@@large to be displayed.=Цей рецепт надто великий, щоб його відобразити | ||||
| To craft grid:=На сітку крафту: | ||||
| All=Все | ||||
| Crafting=Крафт | ||||
| White=Білий | ||||
| Yellow=Жовтий | ||||
| Red=Червоний | ||||
| Green=Зелений | ||||
| Blue=Синій | ||||
| Waypoints=Геомітки | ||||
| Select Waypoint #@1=Вибрати геомітку №@1 | ||||
| Waypoint @1=Геомітка @1 | ||||
| Set waypoint to current location=Встановити тут | ||||
| Hide waypoint=Сховати геомітку | ||||
| Show waypoint=Показати геомітку | ||||
| Hide coordinates=Сховати координати | ||||
| Show coordinates=Показати координати | ||||
| Change color of waypoint display=Змінити колір геомітки | ||||
| Edit waypoint name=Перейменувати геомітку | ||||
| Waypoint active=Геомітку показано | ||||
| Waypoint inactive=Геомітку приховано | ||||
| Finish editing=Закінчити редагування | ||||
| World position=Світова позиція | ||||
| Name=Назва | ||||
| HUD text color=Колір тексту | ||||
| Category:=Категорії: | ||||
							
								
								
									
										23
									
								
								register.lua
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								register.lua
									
									
									
									
									
								
							| @@ -215,7 +215,7 @@ local function stack_image_button(x, y, w, h, buttonname_prefix, item) | ||||
| 		local group_name = name:sub(7) | ||||
| 		local group_item = ui.get_group_item(group_name) | ||||
| 		show_is_group = not group_item.sole | ||||
| 		displayitem = group_item.item or name | ||||
| 		displayitem = group_item.item or "unknown" | ||||
| 		selectitem = group_item.sole and displayitem or name | ||||
| 	end | ||||
| 	local label = show_is_group and "G" or "" | ||||
| @@ -298,10 +298,11 @@ ui.register_page("craftguide", { | ||||
|  | ||||
| 		local n = 4 | ||||
|  | ||||
| 		local item_def = minetest.registered_items[item_name] | ||||
| 		local item_name_shown | ||||
| 		if item_def and item_def.description then | ||||
| 			item_name_shown = S("@1 (@2)", item_def.description, item_name) | ||||
| 		if minetest.registered_items[item_name] | ||||
| 				and minetest.registered_items[item_name].description then | ||||
| 			item_name_shown = S("@1 (@2)", | ||||
| 				minetest.registered_items[item_name].description, item_name) | ||||
| 		else | ||||
| 			item_name_shown = item_name | ||||
| 		end | ||||
| @@ -326,14 +327,12 @@ ui.register_page("craftguide", { | ||||
| 				F(role_text[dir]), item_name_shown) | ||||
| 		n = n + 2 | ||||
|  | ||||
| 		local giveme_form = | ||||
| 			"label[" .. (give_x + 0.1) .. "," .. (craftguidey + 2.7) .. ";" .. F(S("Give me:")) .. "]" .. | ||||
| 			"button[" .. (give_x) .. "," .. (craftguidey + 2.9) .. ";0.75,0.5;craftguide_giveme_1;1]" | ||||
| 		if item_def and item_def.type ~= "tool" then | ||||
| 			giveme_form = giveme_form .. | ||||
| 				"button[" .. (give_x + 0.8) .. "," .. (craftguidey + 2.9) .. ";0.75,0.5;craftguide_giveme_10;10]" .. | ||||
| 				"button[" .. (give_x + 1.6) .. "," .. (craftguidey + 2.9) .. ";0.75,0.5;craftguide_giveme_99;99]" | ||||
| 		end | ||||
| 		local giveme_form = table.concat({ | ||||
| 			"label[".. (give_x+0.1)..",".. (craftguidey + 2.7) .. ";" .. F(S("Give me:")) .. "]", | ||||
| 			"button["..(give_x)..","..     (craftguidey + 2.9) .. ";0.75,0.5;craftguide_giveme_1;1]", | ||||
| 			"button["..(give_x+0.8)..",".. (craftguidey + 2.9) .. ";0.75,0.5;craftguide_giveme_10;10]", | ||||
| 			"button["..(give_x+1.6)..",".. (craftguidey + 2.9) .. ";0.75,0.5;craftguide_giveme_99;99]" | ||||
| 		}) | ||||
|  | ||||
| 		if not craft then | ||||
| 			-- No craft recipes available for this item. | ||||
|   | ||||
| @@ -103,7 +103,7 @@ local function get_waypoint_data(player) | ||||
| end | ||||
|  | ||||
| ui.register_page("waypoints", { | ||||
| 	get_formspec = function(player, perplayer_formspec) | ||||
| 	get_formspec = function(player) | ||||
| 		local player_name = player:get_player_name() | ||||
| 		local wp_info_x = ui.style_full.form_header_x + 1.25 | ||||
| 		local wp_info_y = ui.style_full.form_header_y + 0.5 | ||||
| @@ -115,16 +115,12 @@ ui.register_page("waypoints", { | ||||
| 		local sel = waypoints.selected or 1 | ||||
|  | ||||
| 		local formspec = { | ||||
| 			ui.style_full.standard_inv_bg, | ||||
| 			string.format("label[%f,%f;%s]", | ||||
| 				ui.style_full.form_header_x, ui.style_full.form_header_y, F(S("Waypoints"))), | ||||
| 			"image["..wp_info_x..","..wp_info_y..";1,1;ui_waypoints_icon.png]" | ||||
| 		} | ||||
| 		local n=3 | ||||
|  | ||||
| 		if not perplayer_formspec.is_lite_mode then | ||||
| 			formspec[n] = ui.style_full.standard_inv_bg | ||||
| 			n = n + 1 | ||||
| 		end | ||||
| 		local n=4 | ||||
|  | ||||
| 		-- Tabs buttons: | ||||
| 		for i = 1, COUNT do | ||||
| @@ -164,8 +160,7 @@ ui.register_page("waypoints", { | ||||
| 			}, | ||||
| 			{ | ||||
| 				"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 "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") | ||||
| 			}, | ||||
| 			{ | ||||
| @@ -217,10 +212,7 @@ ui.register_page("waypoints", { | ||||
| 		formspec[n+2] = string.format("label[%f,%f;%s: %s]", | ||||
| 			wp_info_x, wp_info_y+2.60, F(S("HUD text color")), hud_colors[waypoint.color or 1][3]) | ||||
|  | ||||
| 		return { | ||||
| 			formspec = table.concat(formspec), | ||||
| 			draw_inventory = not perplayer_formspec.is_lite_mode, | ||||
| 		} | ||||
| 		return {formspec=table.concat(formspec)} | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| @@ -228,6 +220,7 @@ ui.register_button("waypoints", { | ||||
| 	type = "image", | ||||
| 	image = "ui_waypoints_icon.png", | ||||
| 	tooltip = S("Waypoints"), | ||||
| 	hide_lite=true | ||||
| }) | ||||
|  | ||||
| local function update_hud(player, waypoints, temp, i) | ||||
| @@ -255,7 +248,7 @@ local function update_hud(player, waypoints, temp, i) | ||||
| 	end | ||||
| 	if waypoint.active then | ||||
| 		temp.hud = player:hud_add({ | ||||
| 			[core.features.hud_def_type_field and "type" or "hud_elem_type"] = "waypoint", | ||||
| 			hud_elem_type = "waypoint", | ||||
| 			number = hud_colors[waypoint.color or 1][2] , | ||||
| 			name = name, | ||||
| 			text = "m", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user