1
0
mirror of https://github.com/minetest/minetest.git synced 2025-07-01 23:50:22 +02:00

275 Commits

Author SHA1 Message Date
d0a118f5b1 Add minetest.get_game_info and allow reading game.conf (#12989)
Co-authored-by: sfan5 <sfan5@live.de>
2022-11-28 07:21:43 -05:00
dafdb3edb4 Check for falling float nodes in liquid transform (#12862) 2022-10-18 18:03:05 -04:00
b38ffdec27 Implement vector and node conversion in Lua (#12609)
Co-authored-by: sfan5 <sfan5@live.de>
2022-10-18 18:01:44 -04:00
03428d9825 Modify PUC Lua to wrap C++ exceptions (#12445) 2022-09-26 07:23:48 -04:00
6f5a68b7f7 Allow getmetatable in CSM (#12776) 2022-09-18 17:32:18 +02:00
1d04903c19 Add paramtype2s for 4 horizontal rotations and 64 colors (#11431)
4dir is like facedir, but only for 4 horizontal directions: NESW. It is identical in behavior to facedir otherwise. The reason why game makers would want to use this over facedir is 1) simplicity and 2) you get 6 free bits.
It can be used for things like chests and furnaces and you don't need or want them to "flip them on the side" (like you could with facedir).

color4dir is like colorfacedir, but you get 64 colors instead of only 8.
2022-09-16 13:18:55 +02:00
038da00e79 Code optimizations / refactor (#12704)
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
Co-authored-by: sfan5 <sfan5@live.de>
2022-09-06 11:21:09 +01:00
6ec6acc539 Add minetest.settings to CSM API and allow CSMs to provide settingtypes.txt (#12131)
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2022-08-02 11:58:08 +02:00
e9e721b937 Fix entity related bugs
* Make minetest.add_entity() binary-safe
* Fix on_death pushing dummy ObjectRef instead of nil
2022-06-15 17:20:07 +02:00
e7d4ec6834 on_deactivate: distinguish removal and unloading (#11931)
Sometimes you need to be able to do removal-related cleanup, such as removing files from disk, or entries from a database. staticdata obviously isn't suitable for large data. The data shouldn't be removed if the entity is unloaded, only if it is removed.
2022-06-11 20:01:14 +02:00
bb671c3089 Remove debug.get/setmetatable from security whitelist
fixes #12216
2022-05-29 14:00:19 +02:00
e7659883cc Async environment for mods to do concurrent tasks (#11131) 2022-05-02 20:56:06 +02:00
7993909fab Spacing fixes 2022-04-08 14:55:21 +01:00
06d197cdd0 Store vector metatable in registry 2022-03-29 18:07:00 +02:00
DS
8d387433b1 Fix the documentation of InvRef:get_lists() and clean up code (#12150) 2022-03-29 18:06:16 +02:00
9a12e4499e Minor improvements to Lua sandbox 2022-01-15 17:45:08 +01:00
b81948a14c Fix damage wraparound if very high damage (#11872) 2022-01-06 21:16:35 +01:00
b2409b14d0 Refactor trusted mod checking code 2021-12-18 20:37:13 +01:00
f405459548 Remove setlocal and setupvalue from debug table whitelist
It's likely that these could be used trick mods into revealing the insecure
environment even if they do everything right (which is already hard enough).
2021-12-18 20:37:13 +01:00
8472141b79 Restructure devtest's unittests and run them in CI (#11859) 2021-12-18 20:36:43 +01:00
b9051386ae Add Lua bitop library (#9847) 2021-11-26 19:31:05 +01:00
660e63dbae Fix item duplication if player dies during interact callback (alternative) (#11662) 2021-10-25 20:30:27 +02:00
21113ad410 Split liquid_viscosity to liquid_viscosity and move_resistance (#10810) 2021-10-01 16:21:24 +02:00
e0529da5c8 Fix trivial typos 2021-09-19 13:54:20 +02:00
766e885a1b Clean up/improve some scriptapi error handling code 2021-09-10 23:16:46 +02:00
bbfae0cc67 Dynamic_Add_Media v2 (#11550) 2021-09-09 16:51:35 +02:00
6a1424f2b1 Async-related script cleanups 2021-08-28 12:15:12 +02:00
52128ae11e Add API for mods to hook liquid transformation events (#11405)
Add API for mods to hook liquid transformation events

Without this API, there is no reliable way for mods to be
notified when liquid transform modifies nodes and mods are
forced to poll for changes.  This allows mods to detect
changes to flowing liquid nodes and liquid renewal using
event-driven logic.
2021-07-09 09:08:40 -04:00
b10091be9b Add min_y and max_y checks for Active Block Modifiers (ABM) (#11333)
This check can be used by ABM to reduce CPU usage.
2021-06-20 17:21:35 +02:00
623f0a8613 Isolate library tables between sandbox and insecure env 2021-04-18 16:06:42 +02:00
3b78a22371 Degrotate support for mesh nodes (#7840) 2021-03-30 00:25:11 +02:00
6e0e0324a4 Fix minetest.dig_node returning true when node isn't diggable (#10890) 2021-01-31 18:49:51 +00:00
83229921e5 Rework use_texture_alpha to provide three opaque/clip/blend modes
The change that turns nodeboxes and meshes opaque when possible is kept,
as is the compatibility code that warns modders to adjust their nodedefs.
2021-01-29 17:34:41 +01:00
4c76239818 Remove dead code (#10845) 2021-01-22 15:09:26 +00:00
08ee9794fb Implement on_rightclickplayer callback (#10775)
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-01-11 18:03:31 +01:00
dd5a732fa9 Add on_deactivate callback for luaentities (#10723) 2021-01-02 15:14:29 +01:00
74762470b2 Fix some minor code issues all over the place 2020-12-24 13:44:54 +01:00
61a196378f Fix CSMs on arm64 (#10553) 2020-10-25 18:01:39 +01:00
09f9e465e7 Fix Lua panic when error() message is not a string 2020-06-07 18:14:40 +02:00
471e567657 Value copy / allocation optimizations mostly in server, SAO and serialize code 2020-05-27 21:58:40 +02:00
15ba75e4cf 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
2020-05-23 13:25:29 +02:00
3475759d1a Expose collision information to LuaEntity on_step 2020-04-27 20:45:46 +02:00
8a03097450 script: Put getGuiEngine() inside a client-only #ifdef 2020-04-27 06:58:34 +02:00
5146086a64 Drop content_sao.{cpp,h}
Move LuaEntitySAO to a new dedicated file
Drop TestSAO (useless object)
Drop the old static startup initialized SAO factory, which was pretty useless.
This factory was using a std::map for 2 elements, now just use a simple condition owned by ServerEnvironment, which will be lightweight, that will also drop a one time useful test on each LuaEntitySAO creation. This should reduce server load on massive SAO creation
2020-04-11 16:07:17 +02:00
894a34aef4 Move PlayerSAO to dedicated files 2020-04-11 16:07:17 +02:00
6d43736172 Move serveractiveobject & unitsao
Move serverobject.{cpp,h} to server/serveractiveobject.{cpp,h}
Move UnitSAO class to dedicated files
2020-04-11 16:07:17 +02:00
659245acc7 Work around LuaJIT issues on aarch64 (#9614)
- Move the text segment below the 47-bit limit, needed for script_exception_wrapper which must be lightuserdata
- Replace CUSTOM_RIDX_SCRIPTAPI with full userdata
2020-04-08 20:14:08 +02:00
de73f989eb Overall improvements to log messages (#9598)
Hide some unnecessarily verbose ones behind --trace or disable them entirely.
Remove duplicate ones. Improve their contents in some places.
2020-04-08 20:13:23 +02:00
4da057cc49 Script API: Document ObjectRef handling in a comment 2020-02-23 22:24:12 +01:00
b57dc70769 [CSM] Expose more env functions 2019-11-11 14:06:48 +01:00