mirror of
				https://repo.or.cz/minetest_hudbars.git
				synced 2025-10-30 23:25:39 +01:00 
			
		
		
		
	Compare commits
	
		
			18 Commits
		
	
	
		
			2.0.0
			...
			28dcf8af65
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 28dcf8af65 | |||
|  | a250d2a350 | ||
|  | 7993feac07 | ||
|  | b19b5f090a | ||
|  | 9a8a3f0f8c | ||
|  | 2eb2df946b | ||
| c4ddef312e | |||
|  | 2ffcd94dd6 | ||
|  | 8d3fa950f8 | ||
|  | 332aa18452 | ||
| 7f6ed309b3 | |||
|  | 99ebd71da7 | ||
|  | 699e356609 | ||
|  | 8c80745ecb | ||
|  | 1e3def3cfa | ||
|  | 48d9fd6a12 | ||
| 7cd5940c68 | |||
|  | 67ca481f7c | 
							
								
								
									
										2
									
								
								API.md
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								API.md
									
									
									
									
									
								
							| @@ -70,6 +70,8 @@ for more information. | |||||||
| * `format_string_config`: Required if `format_string` is set. This allows to change which parameters to use in the format string. It's a table with these fields: | * `format_string_config`: Required if `format_string` is set. This allows to change which parameters to use in the format string. It's a table with these fields: | ||||||
|  * `textdomain`: Text domain of the format string, used by `minetest.translate` |  * `textdomain`: Text domain of the format string, used by `minetest.translate` | ||||||
|  * `order`: Table that contains the order of the placeholders. It's also possible to remove placeholders. Default order: `{ "label", "value", "max_value" }` |  * `order`: Table that contains the order of the placeholders. It's also possible to remove placeholders. Default order: `{ "label", "value", "max_value" }` | ||||||
|  |  * `format_value`: Format string to apply when displaying `value`. Syntax is same as in `string.format`. Default: `"%d"` | ||||||
|  |  * `format_max_value`: Same as `format_value` but is applied to `max_value` | ||||||
|  |  | ||||||
| #### Example | #### Example | ||||||
| Example (mostly) from `hbarmor` mod: | Example (mostly) from `hbarmor` mod: | ||||||
|   | |||||||
| @@ -11,7 +11,7 @@ this mod will place them accordingly. | |||||||
| position should be displayed correctly on every screen size. | position should be displayed correctly on every screen size. | ||||||
|  |  | ||||||
| ## Current version | ## Current version | ||||||
| The current version is 2.0.0. | The current version is 2.2.2. | ||||||
|  |  | ||||||
| This software uses [semantic versioning](http://semver.org), as defined by version 2.0.0 of the SemVer | This software uses [semantic versioning](http://semver.org), as defined by version 2.0.0 of the SemVer | ||||||
| standard. | standard. | ||||||
| @@ -38,6 +38,8 @@ Translations: | |||||||
| * Dutch: kingoscargames | * Dutch: kingoscargames | ||||||
| * Italian: Hamlet | * Italian: Hamlet | ||||||
| * Malay: muhdnurhidayat | * Malay: muhdnurhidayat | ||||||
|  | * Russian: Imk | ||||||
|  | * Spanish: wuniversales | ||||||
|  |  | ||||||
| This program is free software. It comes without any warranty, to | This program is free software. It comes without any warranty, to | ||||||
| the extent permitted by applicable law. You can redistribute it | the extent permitted by applicable law. You can redistribute it | ||||||
|   | |||||||
							
								
								
									
										41
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								init.lua
									
									
									
									
									
								
							| @@ -58,9 +58,17 @@ local function make_label(format_string, format_string_config, label, start_valu | |||||||
| 		if order[o] == "label" then | 		if order[o] == "label" then | ||||||
| 			table.insert(params, label) | 			table.insert(params, label) | ||||||
| 		elseif order[o] == "value" then | 		elseif order[o] == "value" then | ||||||
| 			table.insert(params, start_value) | 			if format_string_config.format_value then | ||||||
|  | 				table.insert(params, string.format(format_string_config.format_value, start_value)) | ||||||
|  | 			else | ||||||
|  | 				table.insert(params, start_value) | ||||||
|  | 			end | ||||||
| 		elseif order[o] == "max_value" then | 		elseif order[o] == "max_value" then | ||||||
| 			table.insert(params, max_value) | 			if format_string_config.format_max_value then | ||||||
|  | 				table.insert(params, string.format(format_string_config.format_max_value, max_value)) | ||||||
|  | 			else | ||||||
|  | 				table.insert(params, max_value) | ||||||
|  | 			end | ||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
| 	local ret | 	local ret | ||||||
| @@ -148,7 +156,16 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | |||||||
| 		format_string = N("@1: @2/@3") | 		format_string = N("@1: @2/@3") | ||||||
| 	end | 	end | ||||||
| 	if format_string_config == nil then | 	if format_string_config == nil then | ||||||
| 		format_string_config = { order = { "label", "value", "max_value" } } | 		format_string_config = {} | ||||||
|  | 	end | ||||||
|  | 	if format_string_config.order == nil then | ||||||
|  | 		format_string_config.order = { "label", "value", "max_value" } | ||||||
|  | 	end | ||||||
|  | 	if format_string_config.format_value == nil then | ||||||
|  | 		format_string_config.format_value = "%d" | ||||||
|  | 	end | ||||||
|  | 	if format_string_config.format_max_value == nil then | ||||||
|  | 		format_string_config.format_max_value = "%d" | ||||||
| 	end | 	end | ||||||
|  |  | ||||||
| 	hudtable.add_all = function(player, hudtable, start_value, start_max, start_hidden) | 	hudtable.add_all = function(player, hudtable, start_value, start_max, start_hidden) | ||||||
| @@ -183,6 +200,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | |||||||
| 				text = "hudbars_bar_background.png", | 				text = "hudbars_bar_background.png", | ||||||
| 				alignment = {x=1,y=1}, | 				alignment = {x=1,y=1}, | ||||||
| 				offset = { x = offset.x - 1, y = offset.y - 1 }, | 				offset = { x = offset.x - 1, y = offset.y - 1 }, | ||||||
|  | 				z_index = 0, | ||||||
| 			}) | 			}) | ||||||
| 			if textures.icon ~= nil then | 			if textures.icon ~= nil then | ||||||
| 				ids.icon = player:hud_add({ | 				ids.icon = player:hud_add({ | ||||||
| @@ -192,6 +210,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | |||||||
| 					text = textures.icon, | 					text = textures.icon, | ||||||
| 					alignment = {x=-1,y=1}, | 					alignment = {x=-1,y=1}, | ||||||
| 					offset = { x = offset.x - 3, y = offset.y }, | 					offset = { x = offset.x - 3, y = offset.y }, | ||||||
|  | 					z_index = 1, | ||||||
| 				}) | 				}) | ||||||
| 			end | 			end | ||||||
| 		elseif hb.settings.bar_type == "statbar_modern" then | 		elseif hb.settings.bar_type == "statbar_modern" then | ||||||
| @@ -205,13 +224,20 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | |||||||
| 					offset = { x = offset.x, y = offset.y }, | 					offset = { x = offset.x, y = offset.y }, | ||||||
| 					direction = 0, | 					direction = 0, | ||||||
| 					size = {x=24, y=24}, | 					size = {x=24, y=24}, | ||||||
|  | 					z_index = 0, | ||||||
| 				}) | 				}) | ||||||
| 			end | 			end | ||||||
| 		end | 		end | ||||||
| 		local bar_image, bar_size | 		local bar_image, bar_size | ||||||
| 		if hb.settings.bar_type == "progress_bar" then | 		if hb.settings.bar_type == "progress_bar" then | ||||||
| 			bar_image = textures.bar | 			bar_image = textures.bar | ||||||
| 			bar_size = {x=2, y=16} | 			-- NOTE: Intentionally set to nil. For some reason, on some systems, | ||||||
|  | 			-- the progress bar is displaced when the bar_size is set explicitly here. | ||||||
|  | 			-- On the other hand, setting this to nil is deprecated in MT 5.0.0 due to | ||||||
|  | 			-- a debug log warning, but nothing is explained in lua_api.txt. | ||||||
|  | 			-- This section is a potential bug magnet, please watch with care! | ||||||
|  | 			-- The size of the bar image is expected to be exactly 2×16 pixels. | ||||||
|  | 			bar_size = nil | ||||||
| 		elseif hb.settings.bar_type == "statbar_classic" or hb.settings.bar_type == "statbar_modern" then | 		elseif hb.settings.bar_type == "statbar_classic" or hb.settings.bar_type == "statbar_modern" then | ||||||
| 			bar_image = textures.icon | 			bar_image = textures.icon | ||||||
| 			bar_size = {x=24, y=24} | 			bar_size = {x=24, y=24} | ||||||
| @@ -225,6 +251,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | |||||||
| 			offset = offset, | 			offset = offset, | ||||||
| 			direction = 0, | 			direction = 0, | ||||||
| 			size = bar_size, | 			size = bar_size, | ||||||
|  | 			z_index = 1, | ||||||
| 		}) | 		}) | ||||||
| 		if hb.settings.bar_type == "progress_bar" then | 		if hb.settings.bar_type == "progress_bar" then | ||||||
| 			ids.text = player:hud_add({ | 			ids.text = player:hud_add({ | ||||||
| @@ -235,6 +262,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | |||||||
| 				number = text_color, | 				number = text_color, | ||||||
| 				direction = 0, | 				direction = 0, | ||||||
| 				offset = { x = offset.x + 2,  y = offset.y - 1}, | 				offset = { x = offset.x + 2,  y = offset.y - 1}, | ||||||
|  | 				z_index = 2, | ||||||
| 		}) | 		}) | ||||||
| 		end | 		end | ||||||
| 		-- Do not forget to update hb.get_hudbar_state if you add new fields to the state table | 		-- Do not forget to update hb.get_hudbar_state if you add new fields to the state table | ||||||
| @@ -293,6 +321,9 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon | |||||||
|  |  | ||||||
| 	local name = player:get_player_name() | 	local name = player:get_player_name() | ||||||
| 	local hudtable = hb.get_hudtable(identifier) | 	local hudtable = hb.get_hudtable(identifier) | ||||||
|  | 	if not hudtable.hudstate[name] then | ||||||
|  | 		return false | ||||||
|  | 	end | ||||||
| 	local value_changed, max_changed = false, false | 	local value_changed, max_changed = false, false | ||||||
|  |  | ||||||
| 	if new_value ~= nil then | 	if new_value ~= nil then | ||||||
| @@ -544,3 +575,5 @@ minetest.register_globalstep(function(dtime) | |||||||
| 	end | 	end | ||||||
| 	if timer > 4 then timer = 0 end | 	if timer > 4 then timer = 0 end | ||||||
| end) | end) | ||||||
|  |  | ||||||
|  | minetest.log("action", "[hudbars] loaded.") | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								locale/hudbars.es.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								locale/hudbars.es.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: hudbars | ||||||
|  | Health=Salud | ||||||
|  | Breath=Aliento | ||||||
|  | @1: @2/@3=@1: @2/@3 | ||||||
							
								
								
									
										4
									
								
								locale/hudbars.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								locale/hudbars.ru.tr
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | |||||||
|  | # textdomain: hudbars | ||||||
|  | Health=HP | ||||||
|  | Breath=дыхание | ||||||
|  | @1: @2/@3=@1: @2/@3 | ||||||
		Reference in New Issue
	
	Block a user