Wuzzy
ce8cdc0333
Cleanup global namespace pollution in builtin ( #9451 )
2020-03-06 20:19:14 +00:00
sfan5
8d6a0b917c
Fix potential security issue(s), documentation on minetest.deserialize() ( #9369 )
...
Also adds an unittest
2020-03-05 22:03:04 +01:00
HybridDog
ea5e231959
Add table.shuffle ( #8299 )
2020-02-01 16:09:45 +01:00
rubenwardy
1173ff0c13
Add Lua unit tests to builtin using busted ( #9184 )
2020-01-18 02:09:18 +00:00
HybridDog
f9c7e46a34
Add table.key_value_swap ( #9248 )
2020-01-04 15:44:48 +01:00
Aaron Suen
0df646e068
Fix rotate_node to return the correct itemstack.
...
All on_* hooks that return an itemstack are NOT guaranteed to
modify and return the original stack. We cannot count on the
behavior of the existing builtin definitions not to be overridden
by game/mod logic.
2019-10-13 17:11:00 +02:00
Tim Myers
c413eeb026
Also print help commands to chat for server terminal ( #8869 )
2019-09-19 00:37:56 +02:00
rubenwardy
8e757859d6
Add luacheck to check builtin ( #7895 )
2019-08-06 19:30:18 +01:00
SmallJoker
3ad9a8f3a9
Builtin: Forward old return values
...
Was forgotten in 69bf964.
2019-08-02 10:20:41 +02:00
SmallJoker
69bf964241
Add /help formspec for commands and privileges ( #8385 )
...
* Trigger for 'all' as well
* Add description textarea, double-click to copy
2019-07-20 18:22:32 +02:00
HybridDog
41229696be
Use vector.dot and vector.cross in vector.angle
2019-07-16 21:44:42 +02:00
HybridDog
71db715ba5
Add vector.dot and vector.cross
...
Mostly copied from MarkuBu's code
2019-07-16 21:44:42 +02:00
DS
ad75dba87b
Optimize core.after in a simple way ( #8351 )
2019-03-27 21:05:50 +01:00
ANAND
d50feb89de
core.after: Improve assertion message ( #8388 )
2019-03-17 10:25:47 +01:00
ANAND
7f1c2b8a00
Builtin: Add vector.angle(). Returns the angle between 2 vectors ( #7738 )
2019-03-17 02:05:03 +00:00
HybridDog
a7c5dc50e5
Add math.factorial ( #8298 )
2019-03-05 10:11:21 +01:00
Pierre-Yves Rollo
0e306c0842
Fix string.split returning an empty table if string starts with sepearator ( #7827 )
...
Calling string.split(":A:B:C:D", ":") returns an empty array.
This is due to first empty string not making repeat loop decreasing max_split which has a 0 value when reaching until.
Changing max_splits default value from -1 to -2 fixes that issue.
2018-11-01 21:07:01 +01:00
Paramat
4a2a11262b
Builtin//misc_helpers: Various fixes ( #7737 )
...
Remove unused variable 'seplen'.
Fix 'cparam2'->'param2'.
Do not initialise variable 'p' twice.
2018-09-23 21:06:51 +01:00
Paramat
45e48295d2
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.
2018-05-16 20:49:46 +01:00
rubenwardy
87ad4d8e7f
Add online content repository
...
Replaces mods and texture pack tabs with a single content tab
2018-04-19 20:14:53 +01:00
SmallJoker
8f827ee680
core.rotate_node: Do not trigger after_place_node ( #6900 )
2018-03-29 21:44:13 +02:00
you
a6bb2c4ea8
Allow dumping userdata ( #7012 )
2018-02-08 19:17:06 +01:00
Paramat
d04c41ad80
Vector functions: Fix vector.direction() function, improve documentation ( #6801 )
...
vector.direction() now returns a normalised vector with direction p1 to p2.
2017-12-21 20:57:42 +01:00
Ezhh
649eef9e4f
Give subgames the ability to disallow specific mapgens ( #6792 )
2017-12-16 17:02:08 +01:00
Paramat
da298a26ff
Pointed thing to face pos: Use 'eye height' object property ( #6754 )
2017-12-09 14:30:26 +01:00
SmallJoker
f7733f41ea
core.rotate_node: Run callbacks like with any regular placed node ( #6648 )
2017-11-21 20:21:52 +01:00
DTA7
5a3b8e34b3
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.
2017-09-21 21:52:52 +02:00
tenplus1
5b6d4482ee
Fix Rotate Node Placement ( #6424 )
...
This properly checks for creative mode or privilege when using fixed rotate_node() function.
2017-09-16 22:39:38 +02:00
sfan5
6fa2f6b4aa
Fix core.wrap_text and make its behaviour consistent with the docs
...
Code based on initial implementation by @dsohler.
2017-09-12 19:33:00 +02:00
Nathanaël Courant
5a6618cc57
Add '@n' escape sequences and some documentation on translated strings.
2017-08-26 09:43:08 +02:00
Ekdohibs
b24e6433df
Add clientside translations.
2017-08-24 17:54:10 +02:00
Gael-de-Sailly
bc53c82bcf
Add minetest.rgba function that returns ColorString from RGBA or RGB values
2017-06-22 03:11:50 +01:00
Ezhh
2ab09bb486
Improve chatcommand params consistency ( #5985 )
...
* Fix and improve params consistency
* Move parenthesis requirement to descriptions
2017-06-15 22:38:41 +02:00
red-001
740b4bec07
Fix sending color codes to clients that don't support them. ( #5950 )
...
Also remove `disable_escape_sequences` since it's not needed anymore.
2017-06-09 21:39:25 +02:00
red-001
c91a8c7061
[CSM] Add function to get player privileges ( #5933 )
...
* [CSM] Add function to get player privileges + move related help functions to common
* Added @Zeno- const
2017-06-07 09:09:06 +02:00
SmallJoker
9b5effffbb
Builtin: Fix subgame mod selection ( #5367 )
2017-05-17 19:31:57 +02:00
SmallJoker
0120fe16a7
CSM: Document forgotten functions
2017-05-16 21:57:26 +01:00
SmallJoker
6945f807ab
minetest.deserialize: Throw error when argument not string ( #5738 )
2017-05-09 23:11:20 +02:00
ShadowNinja
43d1f375d1
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.
2017-05-06 15:33:19 -04:00
MarkuBu
efd509f796
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.
2017-04-19 02:01:42 +01:00
red-001
eb587996e4
[CSM] Use more gettext ( #5553 )
2017-04-10 21:14:00 +02:00
Auke Kok
75fb3e4730
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.
2017-04-02 10:51:16 +02:00
MarkuBu
26f4a5c2d1
First commit for fine pointed ( #5485 )
2017-04-01 16:50:53 +02:00
Diego Martínez
81c3dc32a8
Add functions to strip color information. ( #5472 )
2017-03-28 21:55:39 +02:00
Loïc Blot
1b299b4039
Fix a type bug in colorize function
...
This bug was introduced by dd2f1d7551bfd70357ad4f3fb180704194272147 and reported by @kilbith
2017-03-28 14:50:17 +02:00
red-001
e70e15134c
Change command prefix to "." and add "help" command.
2017-03-26 05:51:14 +01:00
Loïc Blot
329d654e37
Typo fix
2017-03-24 08:59:52 +01:00
red-001
dd2f1d7551
Add multiline support to colorize. ( #5444 )
2017-03-24 08:36:29 +01:00
red-001
2e3778ec0c
Block access to the io
library
2017-03-19 12:34:33 +01:00
red-001
d31750cb93
Give CSM access to use core.colorize()
( #5113 )
2017-03-17 19:20:13 +01:00
red-001
a50d07d39a
[CSM] Improve security for client-sided mods ( #5100 )
2017-03-13 23:56:05 +01:00
red-001
c42c53fccf
[CSM] Add local formspecs. ( #5094 )
2017-03-13 23:56:05 +01:00
Loïc Blot
2c19d51409
[CSM] 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
2017-03-13 23:56:05 +01:00
red-001
d7bc346981
[CSM] Add client-sided chat commands ( #5092 )
2017-03-13 23:56:05 +01:00
Auke Kok
2d7a6f2cc0
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.
2017-01-23 07:38:39 +00:00
sfan5
5fd1ef9b58
Revert "Adding particle blend, glow and animation ( #4705 )"
...
This reverts commit 93e3555eae2deaeca69ee252cfa9cc9c3e0e49ef.
2016-11-14 15:28:06 +01:00
Foghrye4
93e3555eae
Adding particle blend, glow and animation ( #4705 )
2016-11-15 00:09:59 +10:00
Auke Kok
380a4b6d60
Core.rotate_and_place: Remove unused call to get_look_pitch()
2016-10-31 10:55:36 +00:00
rubenwardy
0d740c5d82
Builtin: Add vector.floor helper function
2016-10-17 22:03:49 +02:00
HybridDog
80cebdc23c
Only allow strings to be passed to minetest.global_exists ( #4253 )
...
Sometimes you accidentally forget the quotes when using global_exists, this makes minetest abort if you did so.
M builtin/common/strict.lua
2016-06-28 06:34:22 +02:00
Rui914
24e8b0ac1e
Faster insertion into table
2016-03-06 23:42:04 +00:00
ShadowNinja
2139d7d45f
Refactor logging
...
- Add warning log level
- Change debug_log_level setting to enumeration string
- Map Irrlicht log events to MT log events
- Encapsulate log_* functions and global variables into a class, Logger
- Unify dstream with standard logging mechanism
- Unify core.debug() with standard core.log() script API
2015-10-14 01:03:54 -04:00
kwolekr
f062bbd7a1
Add /emergeblocks command and core.emerge_area() Lua API
2015-09-23 15:56:24 -04:00
sfan5
8994913259
Allow random menu images for subgames
2015-07-21 16:58:22 +02:00
est31
e479337c1a
Fix wrong replace from previous commit
2015-06-02 00:20:12 +02:00
est31
6df6b2a0e0
Localize inside whole misc_helpers.lua
2015-06-01 18:18:18 +02:00
ShadowNinja
436cb468e9
Add minetest.global_exists()
2015-04-21 22:58:37 +02:00
ShadowNinja
cd4324e5a8
Fix serialization of floating point numbers
2015-02-21 13:16:18 -05:00
est31
5a0ed780f5
Server: announce MIN/MAX protocol version supported to serverlist. Client: check serverlist
...
Client now informs about incompatible servers from the list, this permits to prevent the protocol movements.
Server announces its supported protocol versions to master server
2015-02-18 16:09:59 +01:00
est31
7c5accf605
Fix crash on passing false as value in table to table.copy(t)
...
Fixes #2293 .
2015-02-14 15:18:11 +10:00
rubenwardy
b56f1175a2
Change assignment to global in a function to warning
2015-02-04 14:57:06 -05:00
ShadowNinja
47aca6f6d1
Fix imprecise serialization of large numbers
2015-01-25 20:19:35 -05:00
kwolekr
5aeeb219e3
Simplify deleteblocks chat command argument parsing
...
Add optional core.pos_to_string decimal place rounding
Move core.string_to_pos to builtin/common/misc_helpers.lua for consistency
2015-01-15 18:05:13 -05:00
Diego Martínez
c9669e90bb
Fix typo in serialize.lua
.
2015-01-15 16:16:41 -05:00
Diego Martínez
00bca11f59
Fix off-by-one error in string:split
implementation.
2015-01-04 23:33:55 -05:00
Diego Martinez
ab55da589c
Faster string.split implementation.
2014-12-28 23:27:07 -05:00
Craig Robbins
c151099b79
Revert "Adjust the values of dirs1 and dirs2 so that rotate_and_place orients textures correctly"
...
This reverts commit 9878e8de4fdf232ebb77b396766c339786c01218.
See: https://github.com/minetest/minetest/issues/1939 and IRC log for discussion
2014-12-12 16:21:29 +10:00
paramat
f114fc74d6
Fix undeclared globals in functions and shorten lines in misc_helpers.lua.
2014-12-11 21:37:46 -05:00
SmallJoker
2fd14e1bd5
Add Lua helper functions vector.apply(v) math.sign(x, tolerance)
2014-12-06 10:07:25 +01:00
SmallJoker
6a43b3af09
Add minetest.copy_table(table) To get rid off the "table references"
...
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-27 18:19:01 +10:00
dvere
9878e8de4f
Adjust the values of dirs1 and dirs2 so that rotate_and_place orients textures correctly
...
According to doc/lua_api.txt if paramtype2 == "facedir" the two least significant bits of parm2 orient the texture around the axis. For dirs1 (looking at a wall) these would be 0, 1, 2, 3 and for dirs2 (looking at the ceiling) 2, 1, 0, 3
2014-11-25 12:44:47 +10:00
ShadowNinja
a1db83e93f
Make duplicate warning checks file and line specific
2014-11-23 16:34:49 -05:00
sapier
0dcc4b251f
Fix console spaming by debug function on mod checking for global variable to exist.
2014-11-23 15:24:37 +01:00
ShadowNinja
a6ba042cf7
Add strict module
...
Also fix leaking globals found by it.
2014-11-19 12:40:54 -05:00
ShadowNinja
6afdb22ba7
Tweak core.serialize
...
This adds proper support for nested tables and improves performance a bit.
2014-11-19 12:40:54 -05:00
ShadowNinja
05e7f71b33
Fix dump() indentation with non-tab indents
2014-11-08 12:49:50 -05:00
Ryan Newell
90b6de173e
Add last_login field to auth.txt
...
Also shortens some related code and adds more parameters to string.split.
2014-11-08 12:49:50 -05:00
ShadowNinja
3e7e65885a
Make dump's output prettier
...
Changes:
* Indentation with tabs by default.
* Array keys dumped without "[i] = " prefix.
* String keys that are valid identifiers aren't enclosed in '[""]'.
* Basic support for multiple references (as specified in the comment).
2014-09-21 15:24:00 -04:00
ShadowNinja
33ca115ae4
Remove vector assertions
...
These were initially added to get tracebacks for invalid vector errors, but it
didn't work and tracebacks have since been properly fixed in the core.
2014-07-19 23:50:50 -04:00
sapier
65b8b524c0
Add srollbar formspec element
2014-07-16 15:02:56 +02:00
ShadowNinja
882e12f8ab
Rework dumping functions
...
Changes:
* Add comments to explain the dumping code
* Add support for dumping values of any type (as '<' <type> '>')
* Add support for tables as keys in dump2()
* Make dump2() return it's result (like dump()) rather than printing it
* Simplify and optimize function serialization via serialize()
2014-05-24 17:32:42 -04:00
sapier
f969a91c0a
Fix a bunch of small bugs due to mainmenu cleanup
...
Fix doubleclick not working in singleplayer
Fix of by one issue on accessing raw list
Fix this->self
Fix copy&paste error for scroll button
2014-05-24 11:16:05 +02:00
sapier
c3984569c0
Add formspec toolkit and refactor mainmenu to use it
...
Fix crash on using cursor keys in client menu without selected server
Add support for non fixed size tabviews
2014-05-16 22:57:14 +02:00
ShadowNinja
c4359ff65c
Use "core" namespace internally
2014-05-08 13:02:04 -04:00
ShadowNinja
1cd512913e
Organize builtin into subdirectories
2014-05-07 17:14:23 -04:00