mirror of
				https://repo.or.cz/minetest_hudbars.git
				synced 2025-10-31 07:35:25 +01:00 
			
		
		
		
	Compare commits
	
		
			5 Commits
		
	
	
		
			2.3.3
			...
			28dcf8af65
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 28dcf8af65 | |||
| c4ddef312e | |||
| 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.2.2. | ||||
|  | ||||
| This software uses [semantic versioning](http://semver.org), as defined by version 2.0.0 of the SemVer | ||||
| standard. | ||||
|   | ||||
							
								
								
									
										33
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								init.lua
									
									
									
									
									
								
							| @@ -213,8 +213,22 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta | ||||
| 					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}, | ||||
| 					z_index = 0, | ||||
| 				}) | ||||
| 			end | ||||
| 		local bar_image, bgicon, bar_size | ||||
| 		end | ||||
| 		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,16 +240,13 @@ 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, | ||||
| @@ -404,16 +415,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 +434,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 +445,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 +503,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 +527,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 +575,5 @@ minetest.register_globalstep(function(dtime) | ||||
| 	end | ||||
| 	if timer > 4 then timer = 0 end | ||||
| end) | ||||
|  | ||||
| minetest.log("action", "[hudbars] loaded.") | ||||
|   | ||||
		Reference in New Issue
	
	Block a user