* Implement minetest.register_on_userlimit_check
This new callback permits to bypass the max_users parameter with new mods condition, based on player name or IP
Only one mod needs to permit it.
Move core part for builtin privileges checks to builtin
Creates a single undulating ore stratum that is continuous across mapchunk
borders and horizontally spans the world.
Due to being continuous is ideal for creating bands of alternative stone
type running through cliffs and mountains, or underground layers.
Add missing documentation of 'ore_param2' parameter.
* Fix animation frame_speed and blend loosing precision due to incorrect data type
Add lua function set_animation_frame_speed to update the frame speed without resetting the animation to start
* Fix HP transport + some double <-> float problems
TOCLIENT_HP transport u16 hp as a u8, use u16 HP, this prevent HP over 255 to overflow across network
* Fix more double/float problem in serverpackethandler & remove implicit struct type for TileAnimationParams
* Fix connection unittests container
* Formspec: Add options to set background color and opacity (fullscreen mode)
* Enhance previous comment: Set formspec background when regenerate UI.
* This permit to do the calcul only at regen and override it with bgcolor tag
* Add a setting for default background color into formspec, separated from fullscreen
* Add a little performance gain on formspecs using a const ref instead of copying formspec string
Move client 'controls', 'graphics' and 'sound' into the first level to be
immediately visible to players who may not realise these come under 'client'.
These are the settings that new players or players on a server are likely to
want to access while not having understanding of what comes under 'client'.
Leave client 'network' and 'advanced' under 'client' as these are more
advanced.
Move 'show entity selection boxes' from the bizarre location in
'client'>'network' to 'graphics'>'in game'>'advanced'.
* Refactor clientevent structure
* Move structure outside of client header
* Create client events on heap not stack, this remove the ClientEvent object copy
* Use clientEventHandler to route events
* Alternative code for slipping
- does not depend on frame rate
- controllable via environment variables for now
* Adjust slipping speed for item entities too.
* Final version of framerate-independent slippery code
* Remove dead code and fix formatting
* getStandingNodePos should only look 0.05 nodes downwards
This ensures that, even if the player is standing on a partially
filled node, this node is used as the standing node and not the
node below it.
Specific use: enables slippery slabs
* Exchange global getStandingPosNode change for local inline change
Reverts previous commit
* Revert the item movement changes
* Slippery nodes now slip over cliffs and edges
Players no longer suddenly stop before falling off.
Also refactored slippery code into getSlipFactor method.
* Slipping over an edge gated by player's is_slipping state
A new flag for just this case, to reduce costly node lookups in
the normal case of leaning over a non-slippery edge.
Public access for consistency and potential future uses.
* Minor code tweaks / cosmetics
* Add temp variable to improve readability and fix indentation issues
* Move Connection threads to dedicated files + various cleanups
* ConnectionReceiveThread::processPacket now uses function pointer table to route MT packet types
* Various code style fixes
* Code style with clang-format
* Various SharedBuffer copy removal
* SharedBuffer cannot be copied anymore using Buffer
* Fix many SharedBuffer copy (thanks to delete operator)