* LuaEntitySAO: Remove beyond outermost mapchunk edges
Based on a commit by, and with help from, nerzhul.
Add 2 functions to class Mapgen:
A function to calculate actual mapgen edges, called from the Mapgen constructor.
A function called indirectly from content_sao.cpp per entity step to check SAO
position is within mapgen edges.
* Calculate borders from params not mapgen, which is not available everytime
Add minor bits of missing Lua API documentation.
Remove L-system lighting bug warning.
Clarify 2 lines in node timer documentation.
Fix many Markdown syntax errors in lua_api.txt.
* Use only one label instead of two for the soundText, this permit to ensure both label & values are aligned
* Add '%' character too, to reflect it's a percentage volume
* Remove rect on regenerateGui (upper part) which shadows outer part and which is not needed outside of the DesiredRect affectation
Fix issue #5837
* Enhance ABM performance a little bit by removing two std::set copy
* ActiveBlockModifier::getTriggerContents now returns a const ref
* ActiveBlockModifier::getRequiredNeighbors now returns a const ref
* ActiveBlockModifier::getRequiredNeighbors is now purely virtual
* Little code style fix
Mudflow of a neighbouring mapchunk extends into a mapchunk's edge, and could
remove 'dirt with grass' from under a decoration, creating unsupported
decorations.
Remove any decoration above if a 'dirt with grass' node is removed by mudflow.
* Revert 1469424075 and fix wrong char position when doing mouse selection on intlGUIEditBox
position should look at current line not the whole text and shift 1 character on the last line (due to \0 string delimiter)
* Finish the fix and prevent values under zero for getCursorPos which crash the program if found
* Forget to remove old comment
* fix zero to NULL
* Fix typo
Fixes a crash caused in MTGame by breaking and right-clicking a chest.
If loading meta, digging, node can disappear and we looked at meta, which is wrong because meta became NULL.
Pointer is invalidated and we read wrong memory area
Seems the diff mode doesn't work well, PR are detected as working whereas in master it's shown it's problematic (and really problematic). Use same check everywhere
* [CSM] Add send_chat_message and run_server_chatcommand API functions
* Add client-side chat message rate limiting
* Limit out chat queue size
* [CSM] Add minetest.clear_out_chat_queue API function and .clear_chat_queue chatcommand
* Last fixes/cleanups before merge
* Allow enabling and disabling mods.
* Re-fix 605599b6f1
This breaks some chars like € in chat.
Instead verify is char is a non control char -> iswcntrl
Use runData.dig_time_complete instead of params.time to find out whether it's instant digging.
runData.dig_time_complete is set to something very big if the node can't be dug, whereas param.time is 0 when digging is impossible or it's instant digging. So not using param.time fixes#5728.
Previously, every particle was rendered by (even if not actually visible to)
the client regardless of distance. This significantly reduced client FPS.
Acts clientside, particle spawners are always sent to clients, but each
particle is checked for distance from the player.
As with 'add particle' the distance limit is set to 'max block send distance'
as this determines how far a client can see.