1
0

8 Commits

Autor SHA1 Nachricht Datum
1d6848bc9c Merge remote-tracking branch 'upstream/master' into nalc-1.2-dev 2020-06-16 21:46:20 +02:00
Hugo Locurcio
9b47fc7b4b Declare the minimum supported Minetest version to 0.4.17
This information can be used by ContentDB.
2020-06-03 18:56:14 +02:00
Hugo Locurcio
0439216cab Fix the Unreleased comparison link in the changelog 2020-02-15 16:24:29 +01:00
Hugo Locurcio
ab7806a4bf Tweak grammar in various files
- Fix release date to match the actual 1.0.3 release.
2020-02-15 16:19:33 +01:00
MoNTE48
0f924c177c Bump to version 1.0.3 2020-02-15 16:09:20 +01:00
MoNTE48
960ca02e42 Readd Gauges when a player is lost 2020-02-15 16:09:20 +01:00
MoNTE48
b075262daf More reliable version checking 2020-02-15 16:09:20 +01:00
Maksim
9425b8dcf5 Fix entity creating crash and restore 0.4 support 2020-01-19 14:07:23 +01:00
4 geänderte Dateien mit 55 neuen und 22 gelöschten Zeilen

Datei anzeigen

@@ -7,6 +7,26 @@ 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
@@ -17,5 +37,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Initial versioned release.
[Unreleased]: https://github.com/minetest-mods/gauges/compare/v1.0.1...HEAD
[Unreleased]: https://github.com/minetest-mods/gauges/compare/v1.0.3...HEAD
[1.0.3]: https://github.com/minetest-mods/gauges/compare/v1.0.2...v1.0.3
[1.0.2]: https://github.com/minetest-mods/gauges/compare/v1.0.1...v1.0.2
[1.0.1]: https://github.com/minetest-mods/gauges/compare/v1.0.0...v1.0.1

Datei anzeigen

@@ -60,9 +60,8 @@ on that line.
## Version compatibility
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.
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.
## License

Datei anzeigen

@@ -7,26 +7,44 @@ 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 minetest.is_player(player) or
vector_distance(player:get_pos(), self.object:get_pos()) > 3
then
self.object:remove()
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)
return
end
@@ -34,10 +52,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
self.object:set_properties({
gauge:set_properties({
textures = {
"health_"..tostring(hp)..".png^"..
"breath_"..tostring(breath)..".png"
"health_"..hp..".png^"..
"breath_"..breath..".png"
}
})
self.hp = hp
@@ -46,13 +64,6 @@ 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)

Datei anzeigen

@@ -1,2 +1,3 @@
name = gauges
description = Adds health and breath gauges above players.
min_minetest_version = 0.4.17