Commit Graph

908 Commits

Author SHA1 Message Date
red-001 d210b6d2cf
Give CSM access to use `core.colorize()` (#5113) 2022-05-21 16:14:30 +02:00
Auke Kok 0d606691dd
Fix two nul deref if digging unknown nodes. (#5398)
Introduced by d785456b3fa35faf47cb972fde9e8668382c5e22 (#5162)
2022-05-21 16:14:30 +02:00
Loïc Blot 7af68932f2
Add enable_client_modding param (default: false) 2022-05-21 16:14:29 +02:00
red-001 c38197ed66
Add `on_punchnode` callback 2022-05-21 16:14:29 +02:00
red-001 e02c119936
Add `on_dignode` callback (#5140) 2022-05-21 16:14:29 +02:00
red-001 fb042da4a5
Improve security for client-sided mods (#5100) 2022-05-21 16:14:28 +02:00
Loïc Blot 3d38c234e5
implement client side mod loading (#5123)
* client side mods are located in clientmods/
* move builtin/preview.lua to clientmods/preview/init.lua as a preview mod
* refactor ModConfiguration class to work properly with client and server using child objects
* move some Server constructor mod load code to ModConfiguration to reduce code duplication between client and server
* remove mods.{cpp,h} unused functions
* use UNORDERED_SET instead of std::set in some modspec storages
2022-05-21 16:14:28 +02:00
red-001 0412d35355
Add local formspecs. (#5094) 2022-05-21 16:14:27 +02:00
Loïc Blot b38c00d90f
sound_play & sound_stop support + client_lua_api doc (#5096)
* squashed: CSM: Implement register_globalstep
  * Re-use fatal error mechanism from server to disconnect client on CSM error
  * Little client functions cleanups

* squashed: CSM: add core.after function
  * core.after is shared code between client & server
  * ModApiUtil get_us_time feature enabled for client
2022-05-21 16:14:27 +02:00
red-001 33b76809dd
Add client-sided chat commands (#5092) 2022-05-21 16:14:27 +02:00
Loïc Blot 6a9953bd0f
Add on_death, on_hp_modification & oh_damage_taken callbacks (#5093)
* Add on_death callback
* Add on_hp_modification & on_damage_taken callbacks
* move preview code to preview.lua
2022-05-21 16:14:26 +02:00
Loïc Blot 80f3d77767
Client side modding
* rename GameScripting to ServerScripting
* Make getBuiltinLuaPath static serverside
* Add on_shutdown callback
* Add on_receiving_chat_message & on_sending_chat_message callbacks
* ScriptApiBase: use IGameDef instead of Server
  This permits to share common attribute between client & server
* Enable mod security in client side modding without conditions
2022-05-21 16:14:26 +02:00
Vladislav Tsendrovskii 49602a4a4f
Save metainfo for falling nodes 2022-05-21 16:14:25 +02:00
lhofhansl a25f0a2210
Enable server side occlusion culling by default. 2022-05-21 16:14:25 +02:00
lhofhansl cc4fdda474
Allow server side occlusion culling. 2022-05-21 16:14:24 +02:00
paramat 6838bbf6d0
Climb speed: Increase default setting from 2 to 3 2022-05-21 16:14:24 +02:00
tenplus1 22ca380b87
Optimize item.lua Replace slow ItemStack get_definitions with registered_nodes one's and cached playername as it's used multiple times. Also removed local item = itemstack:peek_item() as it is never used. 2022-05-21 16:14:24 +02:00
zaoqi ebe297520a
Add minetest.spawn_falling_node(pos) (#5339)
* Add minetest.spawn_falling_node(pos)

* lua_api.txt: Add minetest.spawn_falling_node(pos)

* Update minetest.spawn_falling_node(pos)
2022-05-21 16:14:23 +02:00
red-001 ccce7bbd6d
Fix crash that can be caused by the shutdown command. (#5292) 2022-05-21 16:14:23 +02:00
Dániel Juhász 3a111fa7d6
Fixes for colorwallmounted and colorfacedir nodes
Correct node placement prediction for attached colorwallmounted nodes.
Correct placement direction for colorfacedir and colorwallmounted nodes.
Correct detatch mechanism for attached colorwallmounted nodes.
2022-05-21 16:14:22 +02:00
Jean-Patrick Guerrero b62c15b4b1
Multiplayer menu: fix attempt to open nonexistant image
Since local servers and local favorites have no ping value (these
are only provided by the server) we shouldn't load a broken
image filename.

Fixes #5238
2022-05-21 16:14:22 +02:00
tenplus1 560f339872
Statbars.lua: Cache enable_damage setting 2022-05-21 16:14:21 +02:00
red-001 152924b6f2
Add support for the new arguments of `request_shutdown` to the `/shutdown` chatcommand. (#5252) 2022-05-21 16:14:21 +02:00
HybridDog 90478ea779
Mainmenu: Brighter text colours for readability 2022-05-21 16:14:21 +02:00
rubenwardy a41241456a
Use tree to list mods rather than textlist 2022-05-21 16:14:20 +02:00
Wuzzy 3c57053538
Add textures for air and ignore items (#5196) 2022-05-21 16:14:20 +02:00
Auke Kok a938cc30c7
Change default nodetimer_interval to 0.2s. (#5193)
We want to reduce the chance that we get lots and lots of node
timers all happening once a second, because we're better off doing
small bits of work as they are available.

Reducing this to 0.2 seconds will greatly reduce the total amount
of nodetimers that elapse at the same instance, while not effecting
total work load. This results in a far better chance of the server
keeping up with work loads.
2022-05-21 16:14:19 +02:00
Jean-Patrick Guerrero 464935baec
Serverlist: Add ping indicators (#5164) 2022-05-21 16:14:19 +02:00
Nathanaël Courant bfd687d6bf
Make facedir_to_dir and wallmounted_to_dir work with coloured nodes as well. (#5153) 2022-05-21 16:14:18 +02:00
Ezhh afaf7bcff7
Add console height setting (#5136) 2022-05-21 16:14:18 +02:00
paramat 9e91f4ff3c
Zoom FOV: Reduce minimum zoom FOV to 7 degrees
The default of 15 is unchanged.
7 degrees is x10 magnification which is common for binoculars.
Alter hardcoded limits in camera.cpp:
Minimum 7 degrees.
Maximum 160 degrees to match upper limits in advanced settings.
2022-05-21 16:14:18 +02:00
Auke Kok a648fbc2e7
core: Add dir_to_yaw and yaw_to_dir helpers
These are needed to go from things like entity yaw to a vector
and vice versa.
2022-05-21 16:14:17 +02:00
Auke Kok 944e5ca4e9
Vector: Add vector.sort(a, b): return box edges
This function returns the box corners of the smallest box
that includes the two given coordinates.
2022-05-21 16:14:17 +02:00
Loïc Blot e48d06f7c7
Add show_statusline_on_connect setting (#5084)
Add show_statusline_on_connect setting
2022-05-21 16:14:16 +02:00
Elijah Duffy d22ecfcbb3
Add chatcommand unregister and override API (#5076)
Introduces two functions to unregister and override chatcommands.
minetest.unregister_chatcommand("<name>") and
minetest.override_chatcommand("<name>", {<redifinition>})
2022-05-21 16:14:16 +02:00
rubenwardy 14a4e9994c
Add minetest.player_exists() (#5064) 2022-05-21 16:14:16 +02:00
rubenwardy 79c4ab386c
Add search to advanced settings (#4806)
* Add search to advanced settings

* Press enter again to go to next result

* Use keyword based search, auto select best option
2022-05-21 16:14:15 +02:00
Ezhh 3f0a7c339b
Improve priv descriptions (#5047) 2022-05-21 16:14:15 +02:00
red-001 3861ac47bb
Remove client-side chat prediction. (#5055)
Network lag isn't really a big issue with chat and chat prediction makes writing mods harder.
2022-05-21 16:14:14 +02:00
rubenwardy 33b02fcb36
Adjust formspec spacing on the Client tab of the mainmenu 2022-05-21 16:14:14 +02:00
red-001 1b7a21e322
Add keyword based search to serverlist 2022-05-21 16:14:13 +02:00
paramat 30398224b7
Documentation: Correct biome heat / humidity noise parameters
When the new set of biomes was added in MTGame the 'spread' for heat
and humidity noise parameters was increased to 1000, i forgot to update
settingtypes.txt and minetest.conf.
2022-05-21 16:14:13 +02:00
ShadowNinja fc2c76e0fc
Main menu tweaks 2022-05-21 16:14:13 +02:00
ShadowNinja 856a228407
Enable mod security by default 2022-05-21 16:14:12 +02:00
Rui 1d5a04c315
Add staticdata parameter to add_entity (#5009)
* Add staticdata parameter to add_entity
* Add add_entity_with_staticdata to core.features
2022-05-21 16:14:12 +02:00
sfan5 6ecb28d409
builtin/.../falling.lua: Avoid crash when hitting unknown nodes 2022-05-21 16:14:11 +02:00
Ezhh 5bfa146c8d
Make column alignment consistent in advanced settings (#5004) 2022-05-21 16:14:11 +02:00
rubenwardy ec70ea807a
Expose and document chatcommands as minetest.registered_chatcommands 2022-05-21 16:14:10 +02:00
Dorian Wouters 269e50a879
Fix /grant & /revoke not working with custom auth handler (#4974)
core.auth_table is not supposed to be accessed directly.
2022-05-21 16:14:10 +02:00
Auke Kok 47ee10b85c
Redo light.cpp.
Remake the light_decode_table.

The table starts out without pre-filled in values since those
are always discarded by the code apparently. We calculate a
pseudo curve with gamma power function, and then apply a new
adjustment table.

The adjustment table is setup to make the default gamma of 2.2
look decent: not too dark at light level 3 or so, but too dark
at 1 and below to be playable. The curve is much smoother than
before and looks reasonable at the whole range, offering a
pleasant decay of light levels away from lights.

The `display_gamma` setting now actually does something logical:
the game is darker at values below 2.2, and brighter at values
above 2.2. At 3.0, the game is very bright, but still has a good
light scale. At 1.1 or so, the bottom 5 light levels are virtually
black, but you can still see enough detail at light levels 7-8,
so the range and spread is adequate.

I must add that my monitor is somewhat dark to begin with, since
I have a `hc` screen that doesn't dynamic range colors or try to
pull up `black` pixels for me (it is tuned for accurate color and
light levels), so this should look even better on more dynamic
display tunings.
2022-05-21 16:14:10 +02:00