4 Commits

Author SHA1 Message Date
5e76ccfa78 Merge remote-tracking branch 'upstream/master' into nalc-1.2-dev 2020-01-06 22:24:13 +01:00
e1cae85e42 Merge branch 'master' of yunohost.local:minetest-mods/gauges into nalc-1.2-dev 2019-12-22 13:11:58 +01:00
e1534c2139 Corrige emplacement de la barre gauges
- Place à nouveau la barre au dessus de la tête du joueur.
2019-05-01 18:46:26 +02:00
d5f2404ddd Ajoute message de chargement du mod dans le journal action 2019-05-01 18:37:42 +02:00
3 changed files with 23 additions and 53 deletions

View File

@ -7,26 +7,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
## [Unreleased]
## [1.0.3] - 2020-02-15
### Fixed
- Fix an issue with gauges occasionally no longer appearing above a player.
### Changed
- Improved the reliability of the Minetest version check (for compatibility with 0.4.17).
## [1.0.2] - 2020-01-16
### Fixed
- Fix crash when creating an entity if a player leaves the server quickly.
### Changed
- Restore Minetest 0.4.17 support. The version check works only with `minetest_game` with the `player_api` mod added in Minetest 5.0.
## [1.0.1] - 2020-01-01
### Changed
@ -39,5 +19,3 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
[Unreleased]: https://github.com/minetest-mods/gauges/compare/v1.0.1...HEAD
[1.0.1]: https://github.com/minetest-mods/gauges/compare/v1.0.0...v1.0.1
[1.0.2]: https://github.com/minetest-mods/gauges/compare/v1.0.1...v1.0.2
[1.0.3]: https://github.com/minetest-mods/gauges/compare/v1.0.2...v1.0.3

View File

@ -60,8 +60,9 @@ on that line.
## Version compatibility
Gauges currently supports Minetest 5.0 and later, as well as 0.4.17.
Issues arising in versions older than 5.0 will generally not be fixed.
Gauges is currently primarily tested with Minetest 5.1.0. It may or may not work
with newer or older versions. Issues arising in versions older than 5.0.0
will generally not be fixed.
## License

View File

@ -7,44 +7,26 @@ if minetest.settings:get_bool("health_bars") == false or
not minetest.settings:get_bool("enable_damage")
then return end
-- Localize the vector distance function for better performance,
-- as it's called on every step
-- Localize the vector distance function for better performance, as it's called
-- on every step
local vector_distance = vector.distance
local function add_gauge(player)
if player and player:is_player() then
local entity = minetest.add_entity(player:get_pos(), "gauges:hp_bar")
local height = 19
-- Check for Minetest 0.4.17 and adjust the entity height if needed
-- (The entity height offset was changed in Minetest 5.0.0.)
local version = tonumber(minetest.get_version().string:sub(1, 1))
if version and version < 5 then
height = 9
end
entity:set_attach(player, "", {x=0, y=height, z=0}, {x=0, y=0, z=0})
entity:get_luaentity().wielder = player
end
end
minetest.register_entity("gauges:hp_bar", {
visual = "sprite",
visual_size = {x=1, y=1/16, z=1},
-- The texture is changed later in the code
textures = {"blank.png"},
collisionbox = {0},
physical = false,
on_step = function(self)
local player = self.wielder
local gauge = self.object
if not player or not player:is_player() then
gauge:remove()
return
elseif vector_distance(player:get_pos(), gauge:get_pos()) > 3 then
gauge:remove()
add_gauge(player)
if not player or
not minetest.is_player(player) or
vector_distance(player:get_pos(), self.object:get_pos()) > 3
then
self.object:remove()
return
end
@ -52,10 +34,10 @@ minetest.register_entity("gauges:hp_bar", {
local breath = player:get_breath() <= 10 and player:get_breath() or 11
if self.hp ~= hp or self.breath ~= breath then
gauge:set_properties({
self.object:set_properties({
textures = {
"health_"..hp..".png^"..
"breath_"..breath..".png"
"health_"..tostring(hp)..".png^"..
"breath_"..tostring(breath)..".png"
}
})
self.hp = hp
@ -64,6 +46,15 @@ minetest.register_entity("gauges:hp_bar", {
end
})
local function add_gauge(player)
local entity = minetest.add_entity(player:get_pos(), "gauges:hp_bar")
entity:set_attach(player, "", {x=0, y=19, z=0}, {x=0, y=0, z=0})
entity:get_luaentity().wielder = player
end
minetest.register_on_joinplayer(function(player)
minetest.after(1, add_gauge, player)
end)
minetest.log("action", "[gauges] loaded.")