mirror of
				https://repo.or.cz/minetest_hudbars.git
				synced 2025-10-30 23:25:39 +01:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			2.3.3
			...
			7f6ed309b3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7f6ed309b3 | |||
| 7cd5940c68 | |||
|  | 67ca481f7c | 
| @@ -11,8 +11,7 @@ this mod will place them accordingly. | ||||
| position should be displayed correctly on every screen size. | ||||
|  | ||||
| ## Current version | ||||
| The current version is 2.3.3. | ||||
| It works for Minetest 5.3.0. | ||||
| The current version is 2.1.0. | ||||
|  | ||||
| This software uses [semantic versioning](http://semver.org), as defined by version 2.0.0 of the SemVer | ||||
| standard. | ||||
| @@ -40,7 +39,6 @@ Translations: | ||||
| * Italian: Hamlet | ||||
| * Malay: muhdnurhidayat | ||||
| * Russian: Imk | ||||
| * Spanish: wuniversales | ||||
|  | ||||
| This program is free software. It comes without any warranty, to | ||||
| the extent permitted by applicable law. You can redistribute it | ||||
|   | ||||
							
								
								
									
										39
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								init.lua
									
									
									
									
									
								
							| @@ -200,7 +200,6 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | ||||
| 				text = "hudbars_bar_background.png", | ||||
| 				alignment = {x=1,y=1}, | ||||
| 				offset = { x = offset.x - 1, y = offset.y - 1 }, | ||||
| 				z_index = 0, | ||||
| 			}) | ||||
| 			if textures.icon ~= nil then | ||||
| 				ids.icon = player:hud_add({ | ||||
| @@ -210,11 +209,23 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | ||||
| 					text = textures.icon, | ||||
| 					alignment = {x=-1,y=1}, | ||||
| 					offset = { x = offset.x - 3, y = offset.y }, | ||||
| 					z_index = 1, | ||||
| 				}) | ||||
| 			end | ||||
| 		elseif hb.settings.bar_type == "statbar_modern" then | ||||
| 			if textures.bgicon ~= nil then | ||||
| 				ids.bg = player:hud_add({ | ||||
| 					hud_elem_type = "statbar", | ||||
| 					position = pos, | ||||
| 					text = textures.bgicon, | ||||
| 					number = bgiconnumber, | ||||
| 					alignment = {x=-1,y=-1}, | ||||
| 					offset = { x = offset.x, y = offset.y }, | ||||
| 					direction = 0, | ||||
| 					size = {x=24, y=24}, | ||||
| 				}) | ||||
| 			end | ||||
| 		end | ||||
| 		local bar_image, bgicon, bar_size | ||||
| 		local bar_image, bar_size | ||||
| 		if hb.settings.bar_type == "progress_bar" then | ||||
| 			bar_image = textures.bar | ||||
| 			-- NOTE: Intentionally set to nil. For some reason, on some systems, | ||||
| @@ -226,21 +237,17 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | ||||
| 			bar_size = nil | ||||
| 		elseif hb.settings.bar_type == "statbar_classic" or hb.settings.bar_type == "statbar_modern" then | ||||
| 			bar_image = textures.icon | ||||
| 			bgicon = textures.bgicon | ||||
| 			bar_size = {x=24, y=24} | ||||
| 		end | ||||
| 		ids.bar = player:hud_add({ | ||||
| 			hud_elem_type = "statbar", | ||||
| 			position = pos, | ||||
| 			text = bar_image, | ||||
| 			text2 = bgicon, | ||||
| 			number = barnumber, | ||||
| 			item = bgiconnumber, | ||||
| 			alignment = {x=-1,y=-1}, | ||||
| 			offset = offset, | ||||
| 			direction = 0, | ||||
| 			size = bar_size, | ||||
| 			z_index = 1, | ||||
| 		}) | ||||
| 		if hb.settings.bar_type == "progress_bar" then | ||||
| 			ids.text = player:hud_add({ | ||||
| @@ -251,7 +258,6 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | ||||
| 				number = text_color, | ||||
| 				direction = 0, | ||||
| 				offset = { x = offset.x + 2,  y = offset.y - 1}, | ||||
| 				z_index = 2, | ||||
| 		}) | ||||
| 		end | ||||
| 		-- Do not forget to update hb.get_hudbar_state if you add new fields to the state table | ||||
| @@ -310,9 +316,6 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon | ||||
|  | ||||
| 	local name = player:get_player_name() | ||||
| 	local hudtable = hb.get_hudtable(identifier) | ||||
| 	if not hudtable.hudstate[name] then | ||||
| 		return false | ||||
| 	end | ||||
| 	local value_changed, max_changed = false, false | ||||
|  | ||||
| 	if new_value ~= nil then | ||||
| @@ -404,16 +407,16 @@ function hb.hide_hudbar(player, identifier) | ||||
| 	local name = player:get_player_name() | ||||
| 	local hudtable = hb.get_hudtable(identifier) | ||||
| 	if hudtable == nil then return false end | ||||
| 	if hudtable.hudstate[name].hidden == true then return true end | ||||
| 	if hb.settings.bar_type == "progress_bar" then | ||||
| 		if hudtable.hudids[name].icon ~= nil then | ||||
| 			player:hud_change(hudtable.hudids[name].icon, "scale", {x=0,y=0}) | ||||
| 		end | ||||
| 		player:hud_change(hudtable.hudids[name].bg, "scale", {x=0,y=0}) | ||||
| 		player:hud_change(hudtable.hudids[name].text, "text", "") | ||||
| 	elseif hb.settings.bar_type == "statbar_modern" then | ||||
| 		player:hud_change(hudtable.hudids[name].bg, "number", 0) | ||||
| 	end | ||||
| 	player:hud_change(hudtable.hudids[name].bar, "number", 0) | ||||
| 	player:hud_change(hudtable.hudids[name].bar, "item", 0) | ||||
| 	hudtable.hudstate[name].hidden = true | ||||
| 	return true | ||||
| end | ||||
| @@ -423,7 +426,6 @@ function hb.unhide_hudbar(player, identifier) | ||||
| 	local name = player:get_player_name() | ||||
| 	local hudtable = hb.get_hudtable(identifier) | ||||
| 	if hudtable == nil then return false end | ||||
| 	if hudtable.hudstate[name].hidden == false then return true end | ||||
| 	local value = hudtable.hudstate[name].value | ||||
| 	local max = hudtable.hudstate[name].max | ||||
| 	if hb.settings.bar_type == "progress_bar" then | ||||
| @@ -435,10 +437,9 @@ function hb.unhide_hudbar(player, identifier) | ||||
| 		end | ||||
| 		player:hud_change(hudtable.hudids[name].text, "text", make_label(hudtable.format_string, hudtable.format_string_config, hudtable.label, value, max)) | ||||
| 	elseif hb.settings.bar_type == "statbar_modern" then | ||||
| 		player:hud_change(hudtable.hudids[name].bar, "scale", {x=1,y=1}) | ||||
| 		player:hud_change(hudtable.hudids[name].bg, "number", hb.settings.statbar_length) | ||||
| 	end | ||||
| 	player:hud_change(hudtable.hudids[name].bar, "number", hb.value_to_barlength(value, max)) | ||||
| 	player:hud_change(hudtable.hudids[name].bar, "item", hb.value_to_barlength(max, max)) | ||||
| 	hudtable.hudstate[name].hidden = false | ||||
| 	return true | ||||
| end | ||||
| @@ -494,7 +495,7 @@ local function custom_hud(player) | ||||
| 		local breath_max = player:get_properties().breath_max | ||||
| 		local hide_breath | ||||
| 		if breath >= breath_max and hb.settings.autohide_breath == true then hide_breath = true else hide_breath = false end | ||||
| 		hb.init_hudbar(player, "breath", math.min(breath, breath_max), breath_max, hide_breath or hide) | ||||
| 		hb.init_hudbar(player, "breath", math.min(breath, breath_max-1), breath_max-1, hide_breath or hide) | ||||
| 	end | ||||
| end | ||||
|  | ||||
| @@ -518,7 +519,7 @@ local function update_hud(player) | ||||
| 			hb.hide_hudbar(player, "breath") | ||||
| 		else | ||||
| 			hb.unhide_hudbar(player, "breath") | ||||
| 			hb.change_hudbar(player, "breath", math.min(breath, breath_max), breath_max) | ||||
| 			hb.change_hudbar(player, "breath", math.min(breath, breath_max-1), breath_max-1) | ||||
| 		end | ||||
| 		--health | ||||
| 		update_health(player) | ||||
| @@ -566,3 +567,5 @@ minetest.register_globalstep(function(dtime) | ||||
| 	end | ||||
| 	if timer > 4 then timer = 0 end | ||||
| end) | ||||
|  | ||||
| minetest.log("action", "[hudbars] loaded.") | ||||
|   | ||||
| @@ -1,4 +0,0 @@ | ||||
| # textdomain: hudbars | ||||
| Health=Salud | ||||
| Breath=Aliento | ||||
| @1: @2/@3=@1: @2/@3 | ||||
		Reference in New Issue
	
	Block a user