SmallJoker [Mon, 1 Jun 2020 17:02:15 +0000 (19:02 +0200)]
Lua API: Log incorrect parameter types as error (#9954)
Incorrect parameter types are logged as errors, taking coercion into account.
This is a workaround to ensure mod compatibility.
Duplicate warnings are ignored per server instance.
Paramat [Mon, 25 May 2020 20:11:57 +0000 (21:11 +0100)]
L-System trees: Remove hardcoded use of 'mapgen_dirt' alias (#9931)
Games often and increasingly do not use this mapgen alias, as it
is only required for Mapgen V6. Such games were triggering the
recently added error message.
Even if this mapgen alias was defined, dirt nodes placed under a
wide trunk were inconsistent with biomes that do not use dirt
surface nodes.
Place trunk nodes below a wide trunk instead of 'mapgen_dirt'.
On sloping ground, the trunk then extends down to the surface,
instead of the surface rising up to meet the trunk. This looks
more natural and does not alter the terrain.
sorcerykid [Sat, 23 May 2020 11:24:06 +0000 (06:24 -0500)]
Add on_authplayer callback and 'last_login' to on_joinplayer (#9574)
Replace on_auth_fail callback with more versatile on_authplayer
Better clarify account login process in Lua API documentation
Change initial timestamp for newly registered accounts to -1
Paramat [Fri, 22 May 2020 00:32:20 +0000 (01:32 +0100)]
Various documentation fixes in settingtypes.txt (#9910)
Fix incorrect value of 'mgv7_floatland_density'.
Use correct spelling of 'persistence'.
Move '3d_paralax_strength' into correct section (3D mode).
Refer to 'active_object_send_range_blocks' instead of non-existent 'active_object_range'.
ANAND [Sat, 16 May 2020 19:42:31 +0000 (01:12 +0530)]
Make automatic_rotate relative, allow setting rotation (#8468)
automatic_rotate does not make sense if it is absolute. Make it relative.
To avoid bouncing, set_rotation did not update the client when automatic_rotate was set. That's no longer necessary because the new spinning method applies the rotation on top of the current one, and the updates are necessary for set_rotation to actually transform the object.
Co-authored-by: ANAND <ClobberXD@gmail.com> Co-authored-by: Pedro Gimeno <pgimeno@users.noreply.notabug.org>
Paramat [Thu, 14 May 2020 21:27:54 +0000 (22:27 +0100)]
Add new Mapgen V7 floatland implementation (#9296)
Floatland structure is vertically-compressed 3D noise.
Uses a lacunarity of 1.618 (the golden ratio) for high quality
noise.
Floatlands appear between user-settable Y limits, with smooth
tapering at each limit.
Simple user-settable density adjustment.
Shadow propagation is disabled in and just below floatlands, no
shadows are cast on the world surface.
Can be reconfigured to create a solid upper world layer between
the Y limits, lakes/seas can be optionally added to this.
Wuzzy [Mon, 11 May 2020 19:40:45 +0000 (21:40 +0200)]
Add support for statbar “off state” icons (#9462)
This adds support for optional “off state” icons for statbars. “off state icons” can be used to denote the lack of something, like missing hearts or bubbles.
Hugo Locurcio [Sun, 10 May 2020 11:37:30 +0000 (13:37 +0200)]
Request the dedicated GPU when starting Minetest from the `.desktop` file (#9827)
See <https://www.hadess.net/2020/05/dual-gpu-support-launch-on-discrete-gpu.html>
for more information about this newly added `.desktop` entry property.
Paul Ouellette [Sat, 9 May 2020 15:14:29 +0000 (11:14 -0400)]
Always use same default tabheader height (#9319)
Previously the default tabheader height was different when using
real coordinates. This resulted in the height of tabs changing when
switching tabs in sfinv if some tabs used real coordinates.
Loïc Blot [Thu, 7 May 2020 20:38:41 +0000 (22:38 +0200)]
Server class code cleanups (#9769)
* Server::overrideDayNightRatio doesn't require to return bool
There is no sense to sending null player, the caller should send a valid object
* Server::init: make private & cleanup
This function is always called before start() and loads some variables which can be loaded in constructor directly.
Make it private and call it directly in start
* Split Server inventory responsibility to a dedicated object
This splits permit to found various historical issues:
* duplicate lookups on player connection
* sending inventory to non related player when a player connects
* non friendly lookups on detached inventories ownership
This reduce the detached inventory complexity and also increased the
lookup performance in a quite interesting way for servers with thousands
of inventories.
Fix breath_bar scaling; delay breath_bar hiding by one second (#8271)
PLAYER_MAX_BREATH_DEFAULT was earlier set to 11, so that 10 bubbles are shown before the breath bar disappears.
Now, PLAYER_MAX_BREATH_DEFAULT is set to 10, and the breath_bar scaling code in builtin has been tweaked to show all 10 bubbles before hiding the breath_bar