Commit Graph

1016 Commits

Author SHA1 Message Date
rubenwardy de55f24677
Add updating to online content browser 2022-05-21 16:15:59 +02:00
paramat cbc774df86
Pointed_thing_to_face_pos: Avoid crash when player is inside a node (#7342)
Avoid crash in some situations when player is inside a node, causing
'above' to equal 'under'.
In this situation return 'under' which is the node position very close
to the face position that would normally be returned.
2022-05-21 16:15:58 +02:00
rubenwardy 149a82de6b
Fix description wrapping in browse online content 2022-05-21 16:15:58 +02:00
paramat 00bfa0a433
Mgvalleys: Update settingtypes.txt 2022-05-21 16:15:57 +02:00
rubenwardy b744f1d46f
Add online content repository
Replaces mods and texture pack tabs with a single content tab
2022-05-21 16:15:57 +02:00
SmallJoker a7cfc3984c
Builtin auth handler: Speed up file writing (#7252) 2022-05-21 16:15:56 +02:00
paramat 3151bab1e3
FOV: Raise lower limit to avoid zoom-loading of distant world (#7234)
In the client, raise lower limit from 30 to 45 degrees, to avoid server
seeing this as a zoom and loading world beyond the server-set limit.
Add minimum in settingtypes.txt and enforce lower limit when set using
minetest.conf.

In the server, distrust the client-sent FOV if below the heuristic zoom
threshold and use the player object property 'zoom_fov' to check it, to
protect against hacked clients.
2022-05-21 16:15:56 +02:00
srfqi 2b13217021
Android: Replace movement buttons with joystick (#7126)
* Android: Replace movement buttons with joystick

Replace movement control buttons (arrows at bottom left screen) with virtual joystick.
Joystick has 8 directions (same as keyboard). Basically, just map it to keyboard input.
Joystick applies only on left 1/3 of screen.
Joystick's position can be fixed by enabling fixed_virtual_joystick setting.
Three new images:
(1) placeholder joystick,
(2) joystick container (background), and
(3) joystick cursor.
Remove unused images: movement control buttons (*_arrow.png).
New data type: touch_gui_joystick_move_id

Joystick's fixed position is spaced one button size from bottom and from left of screen.
Remove unused variable: m_joystick_downlocation
2022-05-21 16:15:56 +02:00
paramat 08ddff6e0c
Mgcarpathian: Remove insignificant 'base' noise variation (#7209)
Was only +-1 node over a scale of thousands of nodes.
Replace with 'base_level' parameter value.
2022-05-21 16:15:55 +02:00
SmallJoker 58a5386e00
Add player inventory callbacks 2022-05-21 16:15:55 +02:00
HybridDog 04a81cf4ab
ObjectRef: Add add_velocity() (#3208)
Allow changing the velocity of objects relatively to their current velocity
2022-05-21 16:15:54 +02:00
SmallJoker f2628f1eb4
core.rotate_node: Do not trigger after_place_node (#6900) 2022-05-21 16:15:54 +02:00
stujones11 a85399a9d6
Optional alpha channel support for entities 2022-05-21 16:15:53 +02:00
rubenwardy fc13f12584
Load dependencies and description from mod.conf 2022-05-21 16:15:53 +02:00
rubenwardy 96afee3a52
Add reasons to on_dieplayer and on_hpchange 2022-05-21 16:15:53 +02:00
paramat f8c6f13737
Mgfractal / chunksize: Improve documentation 2022-05-21 16:15:52 +02:00
paramat f883baa51e
Rename 'subgame' to 'game' 2022-05-21 16:15:52 +02:00
HybridDog 4d35dd3c15
Fix missing warningstream (or similar problem) (#7034)
Use the --color command line parameter instead of a setting for coloured logs

This fixes the missing warningstream bug, g_settings->get mustn't be used there.
Also, the decision about en- or disabling log colours fits better to the command line parameters than minetest settings.
2022-05-21 16:15:51 +02:00
SmallJoker 878458be68
is_area_protected: Rename from intersects_protection (#7073)
* is_area_protected: Rename from intersects_protection
Return first protected position
Clarify docs: Mods may overwrite the function
2022-05-21 16:15:51 +02:00
paramat bc35b1fb69
Settingtypes.txt: Fix valleys dungeon ymax error 2022-05-21 16:15:51 +02:00
paramat 168db12309
Dungeons: Add Y limits in all mapgens
Preserve the upper limit used in mgvalleys.
2022-05-21 16:15:50 +02:00
srfqi 77f9da1c8a
Delete world dialog: Move buttons to avoid double click deletion
Move confirmation delete button to never overlap initial delete button,
to avoid world deletion by accidental double click.
2022-05-21 16:15:50 +02:00
dopik 26f80d981c
/shutdown can't do countdown when using reconnect and/or shutdown message (#7055)
Delay was converted from the param string and not the delay value, thus never using the actual given delay value when used in combination with other string values in the param, in this case reconnect and the shutdown messsage.
2022-05-21 16:15:49 +02:00
Tre d08af64363
Add a refresh button to the serverlist (#6957)
* add refresh button

* Make search and refresh buttons smaller

* Change to image button
2022-05-21 16:15:49 +02:00
HybridDog c23bdb0be1
Fix "Ignoring CONTENT_IGNORE redefinition" warning (#4393)
minetest.override_item still passes to core
2022-05-21 16:15:48 +02:00
red-001 2240df7c25
Add `on_auth_fail` callback (#7039)
Called when a client fails to supply the correct password for the account it's attempting to login as.
2022-05-21 16:15:48 +02:00
paramat a81c66d0e5
Item entity: Delete in 'ignore' nodes 2022-05-21 16:15:48 +02:00
paramat 068f060a45
Falling.lua: Delete falling node entities on contact with 'ignore'
Prevents falling node entities entering the ignore at a world edge and
resting on unloaded nodes 16 nodes below, unreachable, undiggable and
still being processed by 'on step' because they don't revert to nodes.
2022-05-21 16:15:47 +02:00
HybridDog 0a429927a9
Allow dumping userdata (#7012) 2022-05-21 16:15:47 +02:00
red-001 197b7084ff
Move `setlocale` from Lua to C++. 2022-05-21 16:15:46 +02:00
PorygonZRocks 854202903f
Add main_menu_style setting 2022-05-21 16:15:46 +02:00
HybridDog f28fb6ff6b
Add minetest.is_player (#7013)
* Add minetest.is_player

* First use for is_player
2022-05-21 16:15:45 +02:00
paramat 21112d78d9
Item entity: Prevent motion in ignore nodes 2022-05-21 16:15:45 +02:00
Wuzzy dc9f1819f8
Add kill chat command (#6992)
Replace minetest.* with core.* in 1 file
2022-05-21 16:15:45 +02:00
Wayward One e861c82fa1
Add Android drivers to the video_driver drop-down menu
Adds the Android video drivers ogles1 and ogles2 to the video_drivers drop-down menu
2022-05-21 16:15:44 +02:00
Wuzzy 4211230bb6
Make chat command + privilege help slightly more accurate (#6964)
* Make chat command help slightly more accurate

* Slightly more accurate privilege help

* Simplify command/priv help

* More command/priv help tweaks
2022-05-21 16:15:44 +02:00
Tre b471d21427
Main menu: Change tabs to 'Start Game' and 'Join Game' (#6955) 2022-05-21 16:15:43 +02:00
Muhammad Nur Hidayat Yasuyoshi (MNH48.com) 270676a290
Add missing languages from menu (#6953)
The following languages exist in Minetest PO folder were missing from the selection menu:
- dv (Dhivehi)
- ms (Malay)
- sl (Slovenian)
- sv (Swedish)
- sw (Swahili)
2022-05-21 16:15:43 +02:00
paramat 318484fcaf
Intersects_protection(): Move from Minetest Game to builtin (#6952)
A useful function that applies 'core.is_protected()' to a 3D lattice of
points evenly spaced throughout a defined volume, with a parameter for
the maximum spacing of points.
2022-05-21 16:15:42 +02:00
red-001 8683013193
Remove `on_connect` callback (#6941)
Fixes #6939
2022-05-21 16:15:42 +02:00
lhofhansl 49c25ba1f3
Revert "Add an active object step time budget #6721"
This reverts commit 9c669016d1578a5c62f932c6ccb7a2b4b1e21f0a.
See #6907
2022-05-21 16:15:42 +02:00
paramat 9a87d16534
Settingtypes.txt: Correct value of 'max block send distance' 2022-05-21 16:15:41 +02:00
paramat ed873030eb
Mgv7: Add docs for the new floatland exponent parameter 2022-05-21 16:15:41 +02:00
srfqi 1c624759bb
Advanced settings: Add range check for float type 2022-05-21 16:15:40 +02:00
rubenwardy 39bcdc7871
Add check to pause game on lost window focus 2022-05-21 16:15:40 +02:00
nOOb3167 a7436a3bd4
Fix error if setting menu_last_game is not a valid game 2022-05-21 16:15:40 +02:00
paramat dd112ad6ea
Vector functions: Fix vector.direction() function, improve documentation (#6801)
vector.direction() now returns a normalised vector with direction p1 to p2.
2022-05-21 16:15:39 +02:00
Ezhh e0d7a27298
Adjust default console height
#6797
2022-05-21 16:15:39 +02:00
Ezhh 5849b6fc97
Give subgames the ability to disallow specific mapgens (#6792) 2022-05-21 16:15:38 +02:00
Tre 4ed4d02f93
Change Normal Map setting to be less ambigous 2022-05-21 16:15:38 +02:00
ashtrayoz 24263ccbb0
Add callback to preserve node metadata as item metadata 2022-05-21 16:15:37 +02:00
SmallJoker 5cf31fb839
Builtin: Fix handle_node_drops crash with nil digger 2022-05-21 16:15:37 +02:00
Loïc Blot fe025dee62
CSM fixes: load mods after flavours & add flavour to block mod loading (#6738)
* CSM fixes: load mods after flavours & add flavour to block mod loading

* Don't permit to load mods twice

* Prepare builtin integrity global algorithm

* Add missing doc & use a nicer byteflag for LOAD_CLIENT_MODS flavour

* flag typo fix

* Invert CSM_FL_LOOKUP_NODES & CSM_FL_LOAD_CLIENT_MODS ids
2022-05-21 16:15:37 +02:00
paramat c6d98a56e7
Pointed thing to face pos: Use 'eye height' object property (#6754) 2022-05-21 16:15:36 +02:00
lhofhansl 7727cdb59e
Add an active object step time budget #6721
This can be set via the active_object_interval option.
2022-05-21 16:15:36 +02:00
HybridDog 6d8d8873c8
Add coloured logs (#4549)
The setting log_colour can be used to en-/disable or autodetect it.
2022-05-21 16:15:35 +02:00
sfan5 3a6c1d63d7
Auth handler: Player deletion & Iterator (#6741)
* Add player deletion method to auth handler (fixes #6653)
* Support iterating over the auth database

There was no way to do this previously and a recent commit
broke doing this the "hacky" way by accessing `core.auth_table`.
2022-05-21 16:15:35 +02:00
paramat 9ef2900a05
Zoom: Set zoom FOV per-player using a player object property
Remove player object property 'can zoom'.
Add player object property 'zoom fov'.
Remove clientside setting for 'zoom fov'.
Object property default is 15 degrees in creative mode, zoom disabled
in survival mode.

Needed due to zoom now loading and/or generating distant world
according to zoom FOV.

Update object properties serialisation version to 3.
2022-05-21 16:15:35 +02:00
lhofhansl d734b83ea9
Document extended meaning of active_object_send_range_blocks setting. 2022-05-21 16:15:34 +02:00
sfan5 552e74b183
Make core.auth_table private and structure builtin/auth.lua
If you give modders the ability to do something, they will...
2022-05-21 16:15:34 +02:00
paramat 630ac3d9eb
Light curve: Add and tune mid boost gaussian
Create a closer match to the light curve of 0.4.16 stable.
Results in darker shadows while maintaining the 'brightness' and light
spread.
2022-05-21 16:15:33 +02:00
paramat 2fac86cbd8
Clearobjects: Send progress messages to terminal using actionstream
Change default mode to 'quick' as 'full' can lock up a server for a
long time.
2022-05-21 16:15:33 +02:00
SmallJoker b06a8d6016
core.rotate_node: Run callbacks like with any regular placed node (#6648) 2022-05-21 16:15:32 +02:00
Ezhh 5fdad16377
Mainmenu: Improve button alignment 2022-05-21 16:15:32 +02:00
Ezhh eaad3edd8d
Mainmenu: Make capitalisation consistent in mainmenu and advanced settings 2022-05-21 16:15:32 +02:00
Auke Kok e5db1211dd
Sounds: Add falling node sounds
Falling nodes should make a sound. This can only be done here,
so for simplicity we just call the sound_play() here with the node
place sound. We ignore any gain value in the sound spec since a
falling node should be loud, so the 1.0 default gain makes sense
here.
2022-05-21 16:15:31 +02:00
Ezhh 93e0d1b036
Improve Settings tab button alignments 2022-05-21 16:15:31 +02:00
Ezhh 0d9cebb1aa
Remove incorrect entry from settingtypes 2022-05-21 16:15:30 +02:00
sfan5 aabd29474f
Make use of safe file writing in auth handler (fixes #6576) 2022-05-21 16:15:30 +02:00
DTA7 13aa347bef
Item entities: Enable item collision detection for sudden movement 2022-05-21 16:15:30 +02:00
Ezhh 3838b9c096
Fix Settings tab formspec alignment (#6585) 2022-05-21 16:15:29 +02:00
numzero 28aaf0a8b9
Rewrite rendering engine (#6253)
* Clean draw_*() arguments

* Split rendering core

* Add anaglyph 3D

* Interlaced 3D

* Drop obsolete methods
2022-05-21 16:15:29 +02:00
raymoo 7e3d9c2108
Fix default item callbacks to work with nil users (#5819)
* Fix default item callbacks to work with nil users

* item.lua: Handle node drops for invalid players

The if-condition for the dropping loop is the same as `inv`, which means that the 2nd possible definition of `give_item` is never used.
Remove redundant `local _, dropped_item`
2022-05-21 16:15:28 +02:00
srfqi cccbbc2187
Improvements/fixes for noise parameter input in advanced settings
Formspec input for each individual noise parameter and flag.
Allow noise flags to be set in advanced settings, previously only settable
in minetest.conf.

Standardise 'group format' for noise parameters set in minetest.conf, as
only these support noise flags. However the older 'single line' format is
still accepted to support existing minetest.conf files.
Therefore auto-generate minetest.conf.example with noise parameters in
'group format'.

Setting 'type' in settingtypes.txt is now either 'noise_params_2D' or
'noise_params_3D', the dimension number is displayed in the advanced
settings edit page.
2022-05-21 16:15:28 +02:00
Esteban I. Ruiz Moreno 75248d572d
don't pass g_settings around, and use it directly 2022-05-21 16:15:27 +02:00
Esteban I. Ruiz Moreno 94ebb91ebb
Implement #6096 2022-05-21 16:15:27 +02:00
numzero 73710f8bb4
Real global textures (#6105)
* Real global textures

* Add world-aligned textures
* Update minimal to support world-aligned tiles
* Update minimal
2022-05-21 16:15:27 +02:00
rubenwardy da24020ff0
Profiler: Fix var args not being passed to callback register function
Fixes #6517
2022-05-21 16:15:26 +02:00
adrido a06be5551d
Formspec: textarea with scrollbar improvements
Increase scrollrate depending on fontsize

Scroll on mousewheel

Allow scrolling and marking text on non writable textareas

Update lua api about readonly mode

Show scrollbar if text overflows
2022-05-21 16:15:26 +02:00
lhofhansl a42d4efd0d
Do not grant all privs to the admin - changes game behavior (#6460)
* Do not grant all privs to admins.

* Default give_to_admin to give_to_singleplayer
2022-05-21 16:15:25 +02:00
Rob Blanckaert e5c0d27efe
Add setting for near plane distance. (#6395)
* Allow setting the near plane

* - Add near_plane limit of 0.5 to prevent x-ray.
- Add more details to near_plane setting.
2022-05-21 16:15:25 +02:00
James Alexander Stevenson b57a17437d
settingtypes.txt: Update zoom description (#6443) 2022-05-21 16:15:24 +02:00
Vincent Glize 1f00a7e212
Add callback on open inventory (#5793) 2022-05-21 16:15:24 +02:00
DTA7 03e7cdab87
Add mute setting (toggled by the mute key and in the volume menu) (#6415)
* Add mute setting (toggled by the mute key and in the volume menu)
2022-05-21 16:15:24 +02:00
Loïc Blot 0882448ea8
Implement mod communication channels (#6351)
Implement network communication for channels

* Implement ModChannel manager server side to route incoming messages from clients to other clients
* Add signal handler switch on client & ModChannelMgr on client to handle channels
* Add Lua API bindings + client packet sending + unittests
* Implement server message sending
* Add callback from received message handler to Lua API using registration method
2022-05-21 16:15:23 +02:00
DTA7 9b0e13f582
Set placer to nil instead of a non-functional one in item_OnPlace (#6449)
* Set placer to nil instead of a non-functional one

This requires nil checks in core.rotate_node and core.rotate_and_place.
2022-05-21 16:15:23 +02:00
paramat 9f3a70cd05
Biome API: Revert biomes, decos, ores being relative to water level
Feature is unnecessary and would greatly complicate future development,
it would also make 'get biome at pos' extremely complex.
Mgv7: Revert option to repeat surface biomes in floatlands, which
depended on the above.
2022-05-21 16:15:22 +02:00
tenplus1 2a3112ab78
Fix Rotate Node Placement (#6424)
This properly checks for creative mode or privilege when using fixed rotate_node() function.
2022-05-21 16:15:22 +02:00
DTA7 9568636867
Correct tooltip_append_itemstring terminology (#6421) 2022-05-21 16:15:21 +02:00
DTA7 18366525bc
Add setting to display the itemstring after the tooltip in the inventory. (#6413)
* Add setting to display the itemstring after the tooltip in the inventory.
2022-05-21 16:15:21 +02:00
SmallJoker 7a8dbc67aa
Customizeable max breath for players (#6411)
* Customizeable maximal breath for players
2022-05-21 16:15:20 +02:00
paramat 2d4280ec1c
Item drop: Tune to land exactly 2 nodes away with level view (#6410) 2022-05-21 16:15:20 +02:00
SmallJoker 6d3f6248d6
Network: Remove large parts of deprecated legacy code (#6404)
Also remove the setting 'send_pre_v25_init'
Keep old enum entries for obsolete commands
2022-05-21 16:15:20 +02:00
sfan5 10fbc96971
Fix core.wrap_text and make its behaviour consistent with the docs
Code based on initial implementation by @dsohler.
2022-05-21 16:15:19 +02:00
red-001 5f8c3768b3
Allow the join/leave message to be overridden by mods. 2022-05-21 16:15:19 +02:00
HybridDog 538b6b1416
Fix dropped item look (#6370)
* Abort set_item when it does nothing

* Do not adjust dropped item size linearly

Instead use cube root because the item count is proportional to the volume, not to the length.

* Make the item rotate slower when it's bigger

Bigger items chafe more on the ground, so they can't rotate as fast as small ones

* Fix items flying in air
2022-05-21 16:15:18 +02:00
rubenwardy 4036abc048
Fix crash on revocation of removed privilege 2022-05-21 16:15:18 +02:00
SmallJoker e4e8481f97
Server: Calculate maximal total block sends dynamically (#6393)
The block sends per client is 1/2 when reaching the maximal player count.
2022-05-21 16:15:17 +02:00
Wuzzy adaf32a416
Prevent /spawnentity from spawning unknown entity (#6388) 2022-05-21 16:15:17 +02:00
Rui 07532193ff
Remove DSTACK keybind setting (#6378) 2022-05-21 16:15:17 +02:00
Loïc Blot 766de75bda
Implement minetest.register_can_bypass_userlimit (#6369)
* 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
2022-05-21 16:15:16 +02:00
paramat 425cabb95f
World start time: Add setting for this, default unchanged 2022-05-21 16:15:16 +02:00
Vaughan Lapsley e97aa9abe7
Remove 3D noise from getSteps function (#6360) 2022-05-21 16:15:15 +02:00
Rui 39b6fb48a6
Remove nodeupdate and nodeupdate_single 2022-05-21 16:15:15 +02:00
paramat 63a338876a
Zoom: Move enabling zoom to a new player object property
Default enabled for no change in default behaviour.
Remove 'zoom' privilege.
2022-05-21 16:15:14 +02:00
Loïc Blot 87cb3f0960
Formspec: Add options to set background color and opacity (fullscreen mode + default mode) (#5493)
* 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
2022-05-21 16:15:14 +02:00
rubenwardy 8e1bbe4ef0
Fix mistake when calling on_priv_grant/revoke, and document them (#6341) 2022-05-21 16:15:14 +02:00
paramat 87669917d3
Advanced settings: Make 'controls', 'graphics', 'sound' more accessible
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'.
2022-05-21 16:15:13 +02:00
zeuner 4ab3f7829d
Lua API: Add function to deregister single biomes (#5445) 2022-05-21 16:15:13 +02:00
Nathanaël Courant 2a8c81c50e
Add '@n' escape sequences and some documentation on translated strings. 2022-05-21 16:15:12 +02:00
rubenwardy 5f04e6a431
Add on_grant and on_revoke callbacks (#4713)
* Add register_on_priv_grant/revoke, and on_grant/revoke to privs. Call from /grant and /revoke

* Call on_grant and on_revoke callbacks from set_privs
2022-05-21 16:15:12 +02:00
rubenwardy 9e23ddc248
Check item_drop amount clientside (#6242) 2022-05-21 16:15:12 +02:00
SmallJoker 692dc11e2b
Builtin item: Tidy up (#4370)
New code structure
Use setting movement_gravity
Reset age on merge
Set merge radius to 1.0m
2022-05-21 16:15:11 +02:00
Nathanaël Courant 54fc7afb7e
Add clientside translations. 2022-05-21 16:15:11 +02:00
Ben Deutsch 0365e1b5a8
Safe digging and placing (#6127)
* Setting: Safe digging and placing

* New setting 'safe_dig_and_place' under Controls
* If set, digging and placing will not auto-repeat
* Releasing buttons unblocks the respective action again
* Useful for inexperienced users in creative mode where default
  repeat times may be too short

* Safe placing (right click repetition) does not need a guarding flag

* Added new setting to minetest.conf.example
2022-05-21 16:15:10 +02:00
SmallJoker 30f3f4c248
Respect object property hp_max field for players (#6287)
* Respect object property hp_max field for players
This allows modders to configure the maximal HP per player

* Statbars: Downscale bar to full 20 HP when exceeding this value
Add default max HP for players and breath constants to builtin
Document the constants

* Rename PLAYER_MAX_HP -> PLAYER_MAX_HP_DEFAULT
2022-05-21 16:15:10 +02:00
lisacvuk 2113286d2c
Make world creation menu automatically generate a random world name (#6257)
* Make world creation menu automatically generate a name.

* Name is now initialy empty, and generated if player tries to create a world without a name.
2022-05-21 16:15:09 +02:00
Loïc Blot c784a1d02f
Reduce dedicated server step to 0.09 (#6252)
Minetest performance improvement has been huge since months, server step reduction will permit to handle client events a little bit faster without too many penalty costs due to core engine
2022-05-21 16:15:09 +02:00
numzero fb2aff64d3
New lighting curve (#5279)
* New lighting curve

* Make polynomial lighting curve

* Update default lighting settings
2022-05-21 16:15:09 +02:00
paramat 5aeb5b81b1
Advanced settings: Re-organise mapgen settings for ease of use
Add a comment about the auto-generated minetest.conf.example possibly
appearing in the bin folder.
2022-05-21 16:15:08 +02:00
Dániel Juhász 53fdd2335b
Make dropped items colorable 2022-05-21 16:15:08 +02:00
Wuzzy 1b44ce995b
Add slippery group for nodes (players/items slide) 2022-05-21 16:15:07 +02:00
Wuzzy 479cfdf2ca
Add short description for disabled texture packs 2022-05-21 16:15:07 +02:00
TeTpaAka 2476d17a6f
Change “Use” key name to “Special” 2022-05-21 16:15:07 +02:00
Ben Deutsch aa6e8eec15
Remove cloud_height setting
With the cloud API, the cloud_height setting has become obsolete
and replaceable by a mod. It, and supporting code, can be
removed.
2022-05-21 16:15:06 +02:00
HybridDog 7f6c6055f1
Abort if static_spawnpoint is an invalid setting instead of just giving an error log 2022-05-21 16:15:06 +02:00
Zeno- c0be758367
Update credits (#6228) 2022-05-21 16:15:05 +02:00
Wuzzy 420e679679
Make direct item selection keys freely bindable 2022-05-21 16:15:05 +02:00
paramat f10492dc28
Mgv7: Add 'mount_zero_level' parameter
Allows setting of the mountain 'zero level' (y where density gradient is zero).

It is easy to vertically shift smooth terrain by editing noise parameter 'offset',
but vertically shifting mountain terrain was complex and imprecise, involving
making a calculation based on an average of the mountain height parameter.
2022-05-21 16:15:04 +02:00
paramat 97468d9162
Mgv7: Add option to repeat surface biomes in floatlands 2022-05-21 16:15:04 +02:00
paramat 0bf3965812
Window size: use 1024x600 to avoid a smaller UI
The change from 800x600 to 1024x576 (16:9) was a reduction in height which caused
user interface to become smaller.
Continue to use width 1024 as it is a common small screen width.
2022-05-21 16:15:04 +02:00
Loïc Blot fe08c0fc8b
Add flavour limits controlled by server (#5930)
* [CSM] Add flavour limits controlled by server

Server send flavour limits to client permitting to disable or limit some Lua calls

* Add limits for reading nodedefs and itemdefs

* flavour: Add lookup node limits

* Merge get_node_or_nil into get_node.

Sending fake node doesn't make sense in CSM, just return nil if node is not available for any reason

* Add node range customization when noderange flavour is enabled (default 8 nodes)

* Limit nodes range & disable chat message sending by default

* Bump protocol version
2022-05-21 16:15:03 +02:00
Loïc Blot 84f53e2eb0
Revert "CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand""
This reverts commit bdac12761cd92960c3df83c932aa610f2322215f.
2022-05-21 16:15:03 +02:00
paramat 74f1344d05
Default window size: Increase to 1024x576, aspect ratio 16:9 2022-05-21 16:15:02 +02:00
rubenwardy c8de877867
CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand"
Original PR: #5747.
This reverts commit 39f4a2f607d44738d60db84eba4b30e3d7450204.
2022-05-21 16:15:02 +02:00
Elijah Duffy b9cf7066c5
Remove remaining modstore code (#6120) 2022-05-21 16:15:01 +02:00
paramat 61d6101b74
Advanced settings: Reformat noise parameter format example
Previously the example ran off the edge of the formspec.
Also include 'lacunarity' in the format instead of treating it as an option.
2022-05-21 16:15:01 +02:00
vlapsley 7cf3076f1f
Mapgen Carpathian: Add lava_depth parameter 2022-05-21 16:15:01 +02:00
Vaughan Lapsley 790654463d
Mapgen: Add Carpathian mapgen (#6015) 2022-05-21 16:15:00 +02:00
paramat b5a5cef258
Dungeons: Add setting to prevent projecting dungeons
Prevents dungeons generating into ignore nodes in ungenerated mapchunks,
which can occasionally result in a dungeon projecting from the terrain.
2022-05-21 16:15:00 +02:00
red-001 2dcce68936
Create a filesystem abstraction layer for CSM and only allow accessing files that are scanned into it. (#5965)
* Load client-side mods into memory before executing them.

This removes the remaining filesystem access that client-sided mods had and it will hopefully make then more secure.

* Lua Virtual filesystem: don't load the files into memory just scan the filenames into memory.

* Fix the issues with backtrace

* fix most of the issues

* fix code style.

* add a comment
2022-05-21 16:14:59 +02:00
Vincent Glize 2ce5c08c16
Change the server description after a search (#6074) 2022-05-21 16:14:59 +02:00
Jean-Patrick Guerrero 8d0ce4b4c4
Add Arm Inertia (#6050) 2022-05-21 16:14:58 +02:00
Dániel Juhász 5f6d3bba2a
Helper methods for hardware colorization (#5870) 2022-05-21 16:14:58 +02:00
paramat dcde9046b5
CavesRandomWalk: Make 'lava_depth' a mapgen parameter
As with 'large_cave_depth', lava depth was previously a fixed y value and
therefore incompatible with the ability to shift terrain vertically.

Add 'lava_depth' mapgen parameter to mgflat, mgfractal, mgv5, mgv7.
2022-05-21 16:14:57 +02:00
Gael-de-Sailly dd12312b58
Add minetest.rgba function that returns ColorString from RGBA or RGB values 2022-05-21 16:14:57 +02:00
paramat a9f5dcf7c7
Mgv5/v7/fractal: Add 'large_cave_depth' parameter to replace fixed value
The value cannot be fixed because we can shift terrain vertically.
This also makes these mapgens consistent with mgflat and mgvalleys which
have 'large_cave_depth' parameters.
2022-05-21 16:14:57 +02:00
Dániel Juhász e4a6867f2c
Automatic item and node colorization (#5640)
* Automatic item and node colorization

Now nodes with a palette yield colored item stacks, and colored items
place colored nodes by default. The client predicts the colorization.

* Backwards compatibility

* Use nil

* Style fixes

* Fix code style

* Document changes
2022-05-21 16:14:56 +02:00
Ezhh 4bd4d2b3b7
Improve chatcommand params consistency (#5985)
* Fix and improve params consistency

* Move parenthesis requirement to descriptions
2022-05-21 16:14:56 +02:00
red-001 e6aaccee1d
Improve the path select GUI (#5852)
- Allow lua to chose whatever directories or files can be selected
- Fix selecting directories
- Rename dialog to `guiPathSelectMenu` from `guiFileSelectMenu`
- Rename lua function for opening the menu from `show_file_open_dialog` to `show_path_select_dialog`
- Remove duplicate code and fix code style.

Related changes
- fix `clang-format` whitelist.
- Regenerate minetest.conf.example
2022-05-21 16:14:55 +02:00
Elijah Duffy 2e9ef9b4eb
Menu: Do not use textlist for shaders in settings tab (#5820)
Replace the textlist used if the shaders checkbox is unchecked in the settings tab of the main menu with labels. This makes the formspec feel more consistent as the items do not move when shaders is unchecked but only change colour and the checkboxes beside them disappear.
2022-05-21 16:14:55 +02:00
red-001 37987d0639
Add a server-sided way to remove color codes from incoming chat messages (#5948)
These code be generated by CSM, a modded client or just copy and pasted by the player.

Changes
- Update configuration example and setting translation file.
- Remove colour codes before logging chat.
- Add setting to remove colour codes before processing the chat.
2022-05-21 16:14:54 +02:00
red-001 0aaa633975
Fix sending color codes to clients that don't support them. (#5950)
Also remove `disable_escape_sequences` since it's not needed anymore.
2022-05-21 16:14:54 +02:00
Desour 3133dce383
CSM: Fix documentation error for register_on_*_chat_messages (#5917) 2022-05-21 16:14:53 +02:00
paramat 18390cf317
Autorun: Change to 'autoforward' (#5926)
Minetest does not have 'run'.
Automatic forwards is very often used while flying or swimming, so a general
word is more suitable.
2022-05-21 16:14:53 +02:00
Desour 98efd63719
make ret variable in /builtin/mainmenu/tab_credits.lua local (#5942) 2022-05-21 16:14:53 +02:00
red-001 2f8ebed7cc
Add function to get player privileges (#5933)
* [CSM] Add function to get player privileges + move related help functions to common

* Added @Zeno- const
2022-05-21 16:14:52 +02:00
Vincent Glize 25e9dea84b
Fixed #5907 Documentation for screen_h and screen_w (#5909) 2022-05-21 16:14:52 +02:00
rubenwardy 2c6fba3904
Update credits
The following algorithm was used when selecting contributors:

* Every non-trivial contributor from the current release,
  Non-trivial meaning more than X non-trivial commits, not counting documentation/translation changes
* The top Y contributors from the last 4 years.
* Previous contributor means no contributions since a few months before the last release.

In the future this should be automated
2022-05-21 16:14:51 +02:00
red-001 2c77321bf3
Remove unimplemented setting `movement_speed_descend` (#5892) 2022-05-21 16:14:51 +02:00
Wuzzy e4a9d9276d
Remove “inf” argument from shutdown command help (#5880) 2022-05-21 16:14:51 +02:00
Nathan Salapat b2bdef4da0
Added missing levels to logging menu (#5836)
* Added missing levels to logging menu

Added none and error options to the debug_log_level in the advance settings.
2022-05-21 16:14:50 +02:00
rubenwardy 444a360e04
Add formspec escaping to subgame list in create world dialog (#5808) 2022-05-21 16:14:50 +02:00
Pierre-Adrien Langrognet c1f181041c
Add send_chat_message and run_server_chatcommand API functions (#5747)
* [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
2022-05-21 16:14:49 +02:00
Elijah Duffy 16f43df791
Menu: Merge singleplayer and server tabs (#5627)
Rename "Singleplayer" tab to "Play" and remove "Server" tab placing server functionality under a "Host Game" checkbox in "Play."
2022-05-21 16:14:49 +02:00
Elijah Duffy 6ec27e1cbf
Add /clearinv chat command (#4994)
Allow players to clear their own inventory or that of another player with /clearinv command. server privilege is required to clear another player's inventory, no privileges are required to clear your own inventory.'
2022-05-21 16:14:48 +02:00
SmallJoker 3d73357885
Mainmenu: Fix issues while trying to enable all mods (#5770) 2022-05-21 16:14:48 +02:00
SmallJoker 3fe2935a57
Builtin: Fix subgame mod selection (#5367) 2022-05-21 16:14:48 +02:00
SmallJoker 7b4120ee9f
CSM: Document forgotten functions 2022-05-21 16:14:47 +02:00
Ezhh e080ccdf39
Add option to use neither node highlighting nor outlining 2022-05-21 16:14:47 +02:00
red-001 25d089cf5f
Menu: Fix starting a server if the server address is an empty string. (#5742)
Minetest uses an empty string internal to signal that a server should be started.
2022-05-21 16:14:46 +02:00
SmallJoker 88c24db1a7
minetest.deserialize: Throw error when argument not string (#5738) 2022-05-21 16:14:46 +02:00
red-001 6fa4c1f2d0
Android: Fix crash while loading main menu (#5736)
Broken by 43d1f37
2022-05-21 16:14:45 +02:00
Auke Kok a6cd795949
Move Pilzadam to previous developers. (#5735) 2022-05-21 16:14:45 +02:00
ShadowNinja 5030ce5f4b
Use a settings object for the main settings
This unifies the settings APIs.

This also unifies the sync and async registration APIs, since the async
registration API did not support adding non-functions to the API table.
2022-05-21 16:14:45 +02:00
Wuzzy 90d5a1df8a
Add configurable key bindings for hotbar scrolling, and for changing volume. 2022-05-21 16:14:44 +02:00
red-001 284cbcd844
add `on_item_use` (#5544) 2022-05-21 16:14:44 +02:00
Loïc Blot e57e8ceba1
Save minetest screen width/height options when modified (#5683)
* Save minetest screen width/height options when modified

* Add autosave_screensize setting (default true)

* Fix @SmallJoker comments
2022-05-21 16:14:43 +02:00
Vincent Glize 9a88f2bc0c
Add event on_place_node API lua (#5548)
* [CSM] Add event on_place_node API lua
2022-05-21 16:14:43 +02:00
Louis Pearson 6787e73560
Footsteps without view bobbing (#5645)
* Remove redundant view_bobbing setting

Also fixes bug where disabling view_bobbing disables footstep sounds.

* Removes redundant view_bobbing setting

Setting view_bobbing amount to 0 is now the only way to
turn view_bobbing on and off. Also fixed a bug where footstep
sounds would not play when view_bobbing was disabled.
2022-05-21 16:14:42 +02:00
Loïc Blot 8ed0c6ebfa
Player data to Database (#5475)
* Player data to Database

Add player data into databases (SQLite3 & PG only)

PostgreSQL & SQLite: better POO Design for databases

Add --migrate-players argument to server + deprecation warning

* Remove players directory if empty
2022-05-21 16:14:42 +02:00
Dániel Juhász 26833c3659
Add /fixlight chat command 2022-05-21 16:14:42 +02:00
paramat 059c5e1d41
Conf.example: Move some lines to minetest.conf.example.extra
Some information in conf.example cannot be generated from
settingtypes.txt, moving it to a new file makes generating
conf.example while preserving that information easier.

Regenerate conf.example from settingtypes.txt.
2022-05-21 16:14:41 +02:00
MarkuBu a99d95ee92
Pointed thing to face pos: Fix crash if opening door with slab or stair
Avoids crash caused when 'pointed thing -under' and '-above' are not
face-neighbours, for example in the case of pointing to the top half
of a door.
2022-05-21 16:14:41 +02:00
Perttu Ahola a72a00ff52
MeshUpdateQueue: Add a MapBlock cache that minimizes the amount of MapBlock copying done in the main thread
Cache size is configurable by the meshgen_block_cache_size (default 20 MB).

New profiler stats:
- MeshUpdateQueue MapBlock cache hit %
- MeshUpdateQueue MapBlock cache size kB

Removes one type of stutter that was seen on the client when received MapBlocks
were being handled. (the "MeshMakeData::fill" stutter)

Kind of related to at least #5239

Originally preceded by these commits, now includes them:
- Move the mesh generator thread into src/mesh_generator_thread.{cpp,h}
- mesh_generator_thread.cpp: Update code style
- MeshUpdateThread: Modify interface to house a different implementation: Actual functionality will be changed by next commits.
- MeshMakeData: Add fillBlockData() interface (so that caller can fill in stuff from eg. a MapBlock cache)
2022-05-21 16:14:40 +02:00
Loïc Blot bed4f29a19
Implement delayed server shutdown with cancelation (#4664) 2022-05-21 16:14:40 +02:00
red-001 04a8ca0f9c
Allow escaping chatcommands and add missing calls to gettext. (#5565) 2022-05-21 16:14:40 +02:00
red-001 089bca3f7f
Use more gettext (#5553) 2022-05-21 16:14:39 +02:00
red-001 e6d04ba28f
Move `.list_players` and `.disconnect` to builtin. (#5550) 2022-05-21 16:14:39 +02:00
numzero 1ce5854e18
Hard-coded undersampling.
Adds uniform undersampling for the 3D rendered scene. GUI elements
are not undersampled, resulting in better playability for users
with low-performance platforms with readable fonts and formspecs.

The undersampling setting can be set to 0 (disabled), 2, 3, 4 pixels
which translates into a resolution reduction of x4, x9 or x16, and
is significant.
2022-05-21 16:14:38 +02:00
Dániel Juhász b97e06de4b
Hardware coloring for itemstacks
Adds the possibility to colorize item stacks based on their metadata.

In the item/node definition you can specify palette (an image file)
and color (fallback color if the item has no palette or metadata).
Then you can add palette_index to the metadata.

Dropped itemstacks with different colors do not merge.
2022-05-21 16:14:38 +02:00
red-001 f12f99333b
Move chat command handling code from C++ to Lua (#5528) 2022-05-21 16:14:37 +02:00
Vincent Glize 58e922c884
Add event on_connect player API lua (#5540)
* Add event on_connect player API lua
2022-05-21 16:14:37 +02:00
SmallJoker 200a18f1ef
Settings: Update documentation (#5534)
Now documented (sorted a-z):
enable_console
enable_particles
creative_mode
hud_scaling
inventory_image_hack
keymap_console
keymap_zoom
shader_path
view_bobbing
2022-05-21 16:14:37 +02:00
rubenwardy cc1235c8ec
Add Joystick type detection and Xbox controller support
* Add joystick type detection (with joystick_type setting to override it)
* Fix multiple joysticks from interfering with each other by only reading from one (add joystick_id setting)
* Add support for Xbox controllers
2022-05-21 16:14:36 +02:00
Loïc Blot 342452f247
Expose vector helpers to CSM 2022-05-21 16:14:36 +02:00
paramat b199634744
Mapgen documentation: Add descriptions to noise parameters
Shorten 'readable names'.
Add a new advanced settings menu section for Biome API noises.
Various minor edits and improvements.
2022-05-21 16:14:35 +02:00
paramat e2a176b887
Cavegen/Mgv5/Mgv7: Add optional giant caverns
Add to MapgenBasic for use by multiple mapgens.
Add to mgv5 and mgv7, enabled by default.

Similar to mgvalleys caverns but half the scale.
Parameters for upper y limit, distance caverns taper to full size, and
noise threshold (full cavern size).
As with mgvalleys caverns are generated first and classic caves are
disabled in any mapchunk containing a cavern, to avoid excessive
spreading volumes of liquids.
This also avoids floating blobs of liquid where a large classic cave
has overgenerated out into a neighbouring previously-generated mapchunk.
2022-05-21 16:14:35 +02:00
Auke Kok 9d9c4cc91f
minetest.after(): simplify further, pause in singleplayer (#5500)
Using the `dtime` value entirely, this will stop the clock
if the game is paused in singleplayer. Since most of the
clocks were fixed a long time ago, this should again be
safe to use.
2022-05-21 16:14:34 +02:00
MarkuBu 61efcfec7d
First commit for fine pointed (#5485) 2022-05-21 16:14:34 +02:00