Commit Graph

140 Commits

Author SHA1 Message Date
sfan5
4fdd2dec59 Move core.run_callbacks and related to common folder 2023-06-23 09:05:26 +02:00
AFCMS
68f81ace97
Add vector.in_area() utility function () 2023-04-12 10:46:26 +01:00
Jude Melton-Houghton
ab1fe80150
Error when string.split is given empty separator () 2023-01-10 09:25:48 -05:00
Jude Melton-Houghton
d69cb4fb5d
Always set globals in __newindex () 2023-01-09 15:00:49 -05:00
Jude Melton-Houghton
da4a4086cf
Fix /help privs checks () 2022-11-29 18:25:47 -05:00
Jude Melton-Houghton
8817af07fb
Deprecate special handling of ${key} syntax in metadata values () 2022-11-24 17:56:43 -05:00
Abdou-31
d1b80b462e
Fix typos and en_US/en_GB inconsistency in various files () 2022-11-09 11:57:19 -05:00
Jude Melton-Houghton
b38ffdec27
Implement vector and node conversion in Lua ()
Co-authored-by: sfan5 <sfan5@live.de>
2022-10-18 18:01:44 -04:00
Jude Melton-Houghton
310b12b5ed
Content ID caching in Lua ()
* Cache content IDs in Lua

Co-authored-by: sfan5 <sfan5@live.de>
2022-09-18 17:46:48 +02:00
SmallJoker
bc3dccca5c
Mainmenu: Properly sort mods and games ()
This also removes trivial and unused pkgmgr functions
Fixes a bug caused by sorting in 2133fc8
2022-09-12 19:24:54 +02:00
Lars Mueller
7486f184c3 Serialize: Restore forward compatibility 2022-09-11 19:27:18 +02:00
Lars Mueller
6c24dc4e23 Serialize: Use numbers for refs to work around LuaJIT limits 2022-09-11 19:27:02 +02:00
Jude Melton-Houghton
d631f21024
Let core.get_mod_storage be called multiple times () 2022-07-23 22:27:07 +02:00
Lars Müller
ac4eb746fe
Deserialization: Restore backwards compat () 2022-07-14 20:50:21 +02:00
Lars Müller
5a562a597c
Serialization spec: Fix number fuzzing () 2022-07-02 20:58:23 +01:00
Lars Müller
3e308584a3
Optimize strict.lua ()
Co-authored-by: sfan5 <sfan5@live.de>
2022-07-02 19:58:15 +01:00
Lars Müller
3eafcab64e
Builtin: Redo serialize.lua ()
Features:

* Support for arbitrary references, including self-referencing
* Short output, references "long" strings as a bonus
* Around the same speed, potentially slower if long, short keys are present
* Properly works with NaN and inf
2022-06-11 20:00:26 +02:00
Lars Müller
edc7df5480
core.formspec_escape: Restore backwards compat
Support numbers as arguments by using `string.gsub(text, ...)` instead of `text:gsub(...)` which will coerce `text` to a string
2022-06-06 18:32:28 +02:00
Lars Müller
e8b2954586
Builtin: Optimize misc helpers ()
Also add formspec_escape unit test
2022-05-27 21:40:38 +02:00
Wuzzy
ac5e8176b9
Add relative numbers for commands by prepending ~ ()
* Add relative numbers for commands by prepending ~

* Some builtin code cleanup

* Disallow nan and inf in minetest.string_to_area

* Remove unused local variable teleportee (makes Luacheck happy)

* Clean up core.string_to_pos

* Make area parsing less permissive

* Rewrite tests as busted tests

* /time: Fix negative minutes not working

Co-authored-by: Lars Mueller <appgurulars@gmx.de>
2022-05-22 10:28:24 -04:00
Zughy
6f0c966877
Remove unused variable WARN_INIT 2022-05-08 19:11:15 +02:00
Lars Müller
ae7664597e
Add vector.combine () 2022-05-04 07:44:14 -04:00
Jude Melton-Houghton
06d197cdd0
Store vector metatable in registry 2022-03-29 18:07:00 +02:00
sfan5
4f6f09590c Free arguments of cancelled minetest.after() jobs 2022-01-19 23:30:18 +01:00
Desour
1965628705 Fix vector.from_string returning a table without vector metatable 2022-01-02 22:15:41 -05:00
Wuzzy
80c3c7e642
Improve error message if using "/help --" () 2021-12-01 20:22:46 +01:00
sfan5
2b5075f0e2 Move archive extraction in content store to async job 2021-10-07 00:20:01 +02:00
Pedro Gimeno
d7e7ade0f6 Add an option -t to force text output in /help
This also improves detection of whether formspecs are available.
2021-10-01 16:22:05 +02:00
DS
2cefe51d3b
Split vector.new into 3 constructors 2021-09-10 23:16:16 +02:00
Lean Rada
d36dca3aba
Optimize vector length calculations () 2021-08-27 20:22:35 +02:00
DS
8f085e02a1
Add metatables to lua vectors ()
Add backwards-compatible metatable functions for vectors.
2021-06-04 21:22:33 +02:00
DS
2332527765
Add vector.to_string and vector.from_string ()
Writing vectors as strings is very common and should belong to `vector.*`. `minetest.pos_to_string` is also too long to write, implies that one should only use it for positions and leaves no spaces after the commas.
2021-04-05 15:55:56 +02:00
Vincent Robinson
3560691c0a
Add math.round and fix vector.round () 2021-04-02 00:18:58 +02:00
Wuzzy
cafad6ac03 Translate builtin ()
This PR is the second attempt to translate builtin.
Server-sent translation files can be added to `builtin/locale/`, whereas client-side translations depend on gettext.
2021-03-05 16:29:48 +01:00
rubenwardy
4db7fb4a3b Replace 'minetest.' with 'core.' in builtin 2021-02-11 10:18:22 +00:00
Lars Mueller
8f72d4b294 Fix minetest.is_nan 2020-12-24 22:07:04 +01:00
tenplus1
34e3ede8ee
Ability to remove minetest.after once set () 2020-09-23 19:11:56 +02:00
DS
28e87ce9d5
Add vector.offset () 2020-08-29 16:41:29 +01:00
NetherEran
7148834440
Some vector functions useful for working with rotations ()
* added vector.rotate

* added vector.forward_from_rotation and vector.up_from_rotation

* added vector.forward_up_to_rotatiton

* fixed some bugs and formatting with vector functions

* shortened name of some new vector functions and added documentation

* made vector.rotate not require a unit vector as axis

* fixed crash with vector.forward_up_to_rot

* renamed new vector functions, made vector.rotate apply a rotation matrix, old vector.rotate is now called vector.rotate_around_axis

* documented vector function changes

* removed some whitespace to appease luacheck

* implemented and fixed optimization of vector.rotate_around_axis by SmallJoker

* added some unit tests for rotation vector functions

* clarified that rotation vectors are in radians and according to the left hand rule

* hopefully appeased luacheck

* renamed rotation_to_horizontal to forward_at_rotation, rotation_to_vertical to up_at_rotation

* handled cases where sin or cos are 0 in rotation vector functions

* added more comments

* clarified documentation of rotation vector functions

* added more unit tests

* changed way in which vector.rotate_around_axis is adjusted for left handed coordinate systems

* made vector.rotate_around_axis actually left handed

* unrolled matrix multiplication

* removed vector.forward_at_rotation and vector.up_at_rotation

* prettified vector.rotate_around_axis, made previous commits not break anything

* removed references to removed vector.forward_at_rotation and vector.up_at_rotation

* removed documentation of removed vector functions

* clarified documentation and fixed styling of rotation vector functions

* restyled comments minorly

* spelling fixes and some hopefully better comments

* allowed 'up' to be missing from vector.directions_to_rotation and removed requirement for unit vectors as arguments

* made vector.rotate_around_axis() right handed again for consistency

* documented previous changes

* made matrix multiplication actually multiply

* renamed vector.directions_to_rotation() to vector.dir_to_rotation()

* optimized a distance comparison

* Fixed potential false positive in unit tests.

Co-authored-by: NetherEran <nethereran@hotmail.com>
2020-06-09 19:38:39 +02:00
Paul Ouellette
b16f841756
LuaItemStack: Add __tostring metamethod ()
* LuaItemStack: Add __tostring metamethod

* Clean up LuaItemStack::checkobject
2020-06-09 19:37:25 +02:00
Wuzzy
65a6a316d0 Add minetest.is_creative_enabled 2020-05-29 22:45:40 +02:00
sfan5
11723cffe0 builtin: Move common/async_event.lua to mainmenu/async_event.lua
It only works in the context of the mainmenu.
2020-05-17 21:37:01 +02:00
Yaman Qalieh
6c607e2082
Allow placing auto-rotating nodes on other nodes in on_rightclick () 2020-05-13 13:57:05 +02:00
HybridDog
5355cb1d87
minetest.serialize: Reversible number serialization ()
* minetest.serialize: Reversible number to string conversion

The %a format is not supported in Lua 5.1.
This commit also adds two tests for number serialization.
2020-04-22 16:43:48 +02:00
Wuzzy
1441281809
Fix some chatcommands not returning a value () 2020-03-14 15:01:22 +01:00
Wuzzy
ce8cdc0333
Cleanup global namespace pollution in builtin () 2020-03-06 20:19:14 +00:00
sfan5
8d6a0b917c
Fix potential security issue(s), documentation on minetest.deserialize() ()
Also adds an unittest
2020-03-05 22:03:04 +01:00
HybridDog
ea5e231959
Add table.shuffle () 2020-02-01 16:09:45 +01:00
rubenwardy
1173ff0c13
Add Lua unit tests to builtin using busted () 2020-01-18 02:09:18 +00:00
HybridDog
f9c7e46a34 Add table.key_value_swap () 2020-01-04 15:44:48 +01:00