Commit Graph

1393 Commits

Author SHA1 Message Date
Wuzzy
f4d8cc0f0b
Add wallmounted support for plantlike and plantlike_rooted nodes () 2021-07-15 21:19:59 +02:00
Hugues Ross
68143ed8ec
Fix documented default colors for set_sky 2021-07-14 17:14:45 +02:00
hecktest
29522017a3 Fix typo in lua_api.txt 2021-07-10 16:37:18 -07:00
Lean Rada
42fbc757b1
Use persistence instead of persist in NoiseParams examples 2021-07-10 14:19:33 +02:00
Warr1024
52128ae11e
Add API for mods to hook liquid transformation events ()
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
Wuzzy
b5c09ada79
Document hypertext escaping () 2021-06-22 13:42:40 +01:00
NeroBurner
a7143c2a8c
Move build/android directory to root of project () 2021-06-21 20:51:42 +01:00
sfence
b10091be9b
Add min_y and max_y checks for Active Block Modifiers (ABM) ()
This check can be used by ABM to reduce CPU usage.
2021-06-20 17:21:35 +02:00
rubenwardy
e1b297a14b
Add roadmap () 2021-06-17 04:15:30 +01:00
DS
8f085e02a1
Add metatables to lua vectors ()
Add backwards-compatible metatable functions for vectors.
2021-06-04 21:22:33 +02:00
SmallJoker
c9144ae5e2
Add core.compare_block_status function ()
Makes it possible to check the status of the mapblock in a future-extensible way.
2021-05-30 20:24:12 +02:00
Lars Müller
89f3991351
Fix base64 validation and add unittests ()
Implement proper padding character checks
2021-05-30 20:23:12 +02:00
SmallJoker
5bf72468f3
UnitSAO: Prevent circular attachments 2021-05-29 11:44:48 +02:00
Wuzzy
1bb8449734
Improve liquid documentation () 2021-05-06 19:24:11 +02:00
Vincent Robinson
074e6a67de
Add minetest.colorspec_to_colorstring () 2021-04-23 21:37:24 +02:00
Wuzzy
90a7bd6a0a
Put torch/signlike node on floor if no paramtype2 () 2021-04-20 19:50:03 +02:00
benrob0329
a106bfd456
Also return the ObjectRef from minetest.spawn_falling_node() () 2021-04-13 20:02:43 +02:00
Wuzzy
4b8209d9a4
Modifying fall damage via armor group ()
Adds a new fall_damage_add_percent armor group which influences the fall damage in addition to the existing node group.
2021-04-11 17:09:37 +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
sfan5
34888a914e
Sort out cURL timeouts and increase default 2021-04-02 00:19:39 +02:00
Vincent Robinson
3560691c0a
Add math.round and fix vector.round () 2021-04-02 00:18:58 +02:00
Lars Müller
88d1fcfe23
Block & report player self-interaction () 2021-03-30 21:49:50 +02:00
SmallJoker
f4118a4fde
Consistent title bar + render information in mainmenu () 2021-03-30 21:49:15 +02:00
sfan5
f345d00a43 Add entry in features table for degrotate changes 2021-03-30 14:40:09 +02:00
Vitaliy
3b78a22371
Degrotate support for mesh nodes () 2021-03-30 00:25:11 +02:00
Hugues Ross
afe988d83d
lua_api.txt: Fix style selector examples 2021-03-21 23:23:14 +01:00
Jean-Patrick Guerrero
285ba74723
GUIScene: Clear depth buffer + replace deprecated clearZBuffer calls 2021-03-16 23:28:16 +01:00
Lars Müller
b5eda416ce
Slap u64 on everything time-y () 2021-02-24 12:05:17 +01:00
sfan5
02d64a51ee Continue with 5.5.0-dev 2021-02-23 19:50:44 +01:00
DS
4abe4b87b5
Allow overwriting media files of dependencies () 2021-02-23 19:39:15 +01:00
rubenwardy
f85e9ab925
Add nametag background setting and object property () 2021-02-17 19:51:28 +00:00
rubenwardy
a8f6befd39
Fix short_description fallback order () 2021-02-17 18:53:44 +00:00
rubenwardy
3a8c37181a
Use consistent temp folder path () 2021-02-07 15:27:24 +00:00
Wuzzy
8c19823aa7
Fix documentation of formspec sound style () 2021-02-04 21:43:12 +01:00
sfan5
40ad976753 Revise dynamic_add_media API to better accomodate future changes 2021-02-01 23:00:13 +01:00
sfan5
a01a02f7a1 Preserve immortal group for players when damage is disabled 2021-01-31 20:38:12 +01:00
rubenwardy
6e0e0324a4
Fix minetest.dig_node returning true when node isn't diggable () 2021-01-31 18:49:51 +00:00
sfan5
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
Graham Northup
e6e5910cb4
Clarify key_value_swap's edge case ()
In compiler design especially, leaving behavior as "undefined" is a _strong_ condition that basically states that all possible integrity is violated; it's the kind of thing that happens when, say, dereferencing a pointer with unknown provenance, and most typically leads to a crash, but can result in all sorts of spectacular errors--thus, "it is undefined" how your program will melt down.

The pure-Lua implementation of `key_value_swap` does not permit UB _per se_ (assuming the implementation of Lua itself is sound), but does deterministically choose the value to which a key is mapped (the last in visitation order wins--since visitation order is arbitrary, _some_ value _will_ be chosen). Most importantly, the program won't do something wildly unexpected.
2021-01-29 17:34:00 +01:00
Zughy
44a9510c81
Consistently use "health points" () 2021-01-27 18:42:02 +00:00
Vincent Robinson
009e39e73b
FormSpec: Add list spacing, slot size, and noclip ()
* Add list spacing, slot size, and noclip

* Simplify StyleSpec

* Add test cases

Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-01-23 12:46:19 -08:00
rubenwardy
67aa75d444
Use JSON for favorites, move server list code to Lua ()
Co-authored-by: sfan5 <sfan5@live.de>
2021-01-22 15:08:57 +00:00
Zughy
45ccfe26fb
Removed some obsolete code ()
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2021-01-21 18:17:09 +00:00
Zughy
ea5d6312c1
ObjectRef: fix some v3f checks () 2021-01-21 18:37:38 +01:00
M.K
e86c93f0bf
Fix double word "true" in minetest.is_nan explanation () 2021-01-18 01:45:32 +01:00
Zughy
1946835ee8
Document how to make nametags background disappear on players' head ()
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2021-01-11 18:03:46 +01:00
JDiaz
08ee9794fb
Implement on_rightclickplayer callback ()
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2021-01-11 18:03:31 +01:00
rubenwardy
edd0836011
ContentDB: Add overwrite dialog when content is already installed () 2021-01-04 15:18:31 +00:00
hecks
dd5a732fa9
Add on_deactivate callback for luaentities () 2021-01-02 15:14:29 +01:00
OgelGames
ad58fb2206
Clarify documentation of minetest.get_modpath and minetest.get_modnames () 2021-01-02 15:13:53 +01:00
Elias Fleckenstein
9250b5205a
Add minetest.get_objects_in_area () 2020-12-29 16:50:09 +01:00
rubenwardy
664f5ce960
Add open user data button to main menu () 2020-12-19 13:27:15 +00:00
DS
6f8a1c99d5
Documentation for highest formspec_version[] and changelog () 2020-12-18 19:38:07 +01:00
Thomas--S
d0a38f694d
Formspec: Allow to specify frame loop for model[] ()
Add the ability to specify an animation frame loop range for the model[] formspec element.
2020-12-15 19:06:36 +01:00
wsor4035
3ed940ff13
lua_api.txt: Add mod_orgin to node def () 2020-12-15 19:05:55 +01:00
SmallJoker
af073438fd
Various documentation fixes ()
set_sky: New feature, keep note about the old syntax
get_us_time: Document overflow
localplayer: Document "nil" behaviour before initialization
collision_box: Safe limit of "1.45"
2020-12-10 20:59:24 +01:00
Oblomov
08c9d1a669
Cross-reference the node level manipulation functions ()
This can help developers find the correct functions to access and manipulate the fluid level.
2020-12-04 20:16:53 +01:00
Pierre-Yves Rollo
78273027bf Add sound to press event of some formspecs elements () 2020-11-23 21:28:25 +01:00
DS
be3fe161fc
Do not set a default for description in itemdef table ()
* Do not set a default for description in itemdef table

* improve documentation
2020-11-10 21:03:10 +01:00
rubenwardy
7589cbe086
Fix object interaction distance not being checked () 2020-11-09 11:55:15 +01:00
SmallJoker
3356da0151
Add model[] formspec element ()
Formspec element to display models, written by @kilbith, rebased and tweaked.

Co-authored-by: Jean-Patrick Guerrero <jeanpatrick.guerrero@gmail.com>
Co-authored-by: sfan5 <sfan5@live.de>
2020-11-04 21:46:18 +01:00
Zughy
33b2c5f5b1
Clean up l_object.cpp ()
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2020-10-22 16:18:01 +01:00
sfan5
660115c1ab
Decouple entity minimap markers from nametags replacing with show_on_minimap property () 2020-10-19 20:38:15 +02:00
Lars
ed22260822 Remove all bump mapping and parallax occlusion related code. 2020-10-17 13:09:16 -07:00
Zughy
2341a4aff1
Add ObjectRef:get_children() ()
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2020-10-13 20:27:52 +01:00
DS
f3ae45b2b2
Add a short_description to be used by mods () 2020-10-09 19:11:21 +01:00
HybridDog
f0b6f7909a
Mention texture modifier colorspace () 2020-10-08 19:44:27 +02:00
HybridDog
2f4037752b
Add minetest.get_artificial_light and minetest.get_natural_light ()
Add more detailed light detection functions, a function to get the artificial light (torches) and a function to get the sunlight as seen by the player (you can specify timeofday).

Co-authored-by: rubenwardy <rw@rubenwardy.com>
2020-10-06 20:49:46 +02:00
Pierre-Yves Rollo
81c66d6efb Minimap as HUD element with API control
Features:
 * Define Minimap available modes (surface/radar, scale) from Lua, using player:set_minimap_modes()
 * New HUD elements for displaying minimap with custom size and placing
 * New minimap mode for displaying a texture instead of the map
2020-10-04 15:24:34 +02:00
Jordan Snelling
3068853e8a
Add First Person Attachments ()
Fixes some other third person camera specific attachments.
Implements a single new flag for entities to be forced visible in first person mode.
Old mods do not need to be updated to use the new flag and are fully backwards compatible.
2020-10-04 15:10:34 +02:00
rubenwardy
3250b37e32
Deprecate get_player_velocity and add_player_velocity () 2020-10-04 00:33:45 +01:00
Wuzzy
41a6136f77
Document builtin entities ()
This PR adds a new text file doc/builtin_entities.txt which explains how the two builtin entities __builtin:item and __builtin:falling_node work.
2020-10-03 19:01:38 +02:00
LoneWolfHT
9624387179
Add note to docs on how to override privileges () 2020-10-03 19:00:08 +02:00
Elijah Duffy
7d3641021b
Lua API: Add register_on_chatcommand to SSM and CSM ()
Allows catching a chatcommand call just after the command and the
parameters are parsed but before its existence is checked and before the
corresponding function is run. Returning `true` from a callback function
will prevent default handling of the command leaving mods to handle the
command manually.
2020-10-03 17:38:08 +01:00
HybridDog
4b423ee9b1
Chatcommand: Show help message if func returns false without message
2020-10-03 17:33:43 +01:00
tenplus1
34e3ede8ee
Ability to remove minetest.after once set () 2020-09-23 19:11:56 +02:00
Zughy
c8303f790c
lua_api.txt: author, release and title fields when downloading from ContentDB ()
Co-authored-by: Marco <4279489-marco_a@users.noreply.gitlab.com>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2020-09-16 15:47:20 +02:00
Lars Müller
050964bed6
Fix inventory swapping not calling all callbacks ()
"Predicts" whether something will be swapped for allow callbacks, then calls callbacks a second time with swapped properties.

Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2020-09-04 20:49:07 +02:00
DS
9ed84cfa85
Mark multiply and divide with two vectors as deprecated (Schur product and quotient) () 2020-09-01 20:18:10 +02:00
LoneWolfHT
c18dbadcb8
Fix dropped craftitems/tools not using light_source values () 2020-08-30 00:02:21 +01:00
EvidenceB
5c4b560b68
Add compass HUD element ()
Co-authored-by: Jean-Patrick Guerrero <jeanpatrick.guerrero@gmail.com>
Co-authored-by: Pierre-Yves Rollo <dev@pyrollo.com>
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2020-08-29 20:13:30 +02:00
HybridDog
386d5f778a
Document normalmap textures () 2020-08-29 16:43:09 +01:00
DS
28e87ce9d5
Add vector.offset () 2020-08-29 16:41:29 +01:00
karamel59
1eaff3dfa4
Improve set_texture_mod documentation ()
Properly documents the select_x_by_camera values
2020-08-27 21:48:18 +02:00
DS
98faeac5a7
Load media from subfolders () 2020-08-20 22:25:29 +02:00
v-rob
83d0c360cc
Add gradients and borders to FormSpec boxes () 2020-08-19 18:14:47 -07:00
hecks
5bda36143f
Clean up sound_fade ()
Add proper documentation and correct gain reduction calculations.

Co-authored-by: hecktest <>
2020-08-19 19:26:37 +02:00
ANAND
291a6b70d6 Allow binding dig, place actions to keys; remove LMB/RMB hardcoding
Co-authored-by: Sam Caulfield <sam@samcaulfield.com>
2020-08-15 12:19:20 +03:00
sfan5
fff0393187
Render nodeboxes with opaque material if possible () 2020-08-12 11:52:50 +02:00
Hugues Ross
93ecc589bc
Implement override.txt support for special tiles ()
Add override targets for all special_tiles entries in node definitions, allowing texture packs to replace these textures. This makes overrides work properly with a variety of drawtypes.

The targets are named special1 through special6, covering the the current length of the special_tiles array.
2020-08-04 20:12:47 +02:00
sfan5
9bba52c400
content_cao: Support texture animation for upright_sprite () 2020-07-30 17:39:57 +02:00
Lejo
715a123a33
Add PUT and DELETE request + specific method value to HTTP API () 2020-07-29 23:16:21 +02:00
Wuzzy
ae83edd165
Play place_failed sound if occupied or cannot attach () 2020-07-27 19:40:33 +02:00
Wuzzy
808fa5ecb3
Improve default inventory+wield images of node drawtypes () 2020-07-23 19:54:58 +02:00
sfan5
4b4513a67d
Implement grouped mode for find_nodes_in_area ()
plus general improvements to find_node_* functions
2020-07-14 22:36:53 +02:00
LoneWolfHT
88ffd64124 Add object crosshair, disable entity selectionboxes by default ()
Adds new object crosshair base pack texture
2020-07-14 19:13:04 +02:00
v-rob
2bec83eec0
Add FormSpec font styling options ()
* Add FormSpec font styling options

* Change multiplication to stof

* Remove extraneous check
2020-07-12 09:48:50 +02:00
v-rob
e0499731a8
Allow FormSpec elements to be focused with set_focus ()
This allows you to specify a FormSpec element to set the focus of with "set_focus[<name>;<always set>]".
2020-07-12 09:47:05 +02:00
v-rob
b1ff04e06d
Formspec: Make dropdowns optionally return event based on index, not value () 2020-07-10 12:11:26 +02:00
sfan5
2384c10e10 Continue with 5.4.0-dev 2020-07-09 22:04:22 +02:00
v-rob
f7c78993f6
Document deprecation of *_hovered and *_pressed styles () 2020-06-23 17:59:02 +01:00
oilboi
a1b444bb61
Fix typo () 2020-06-17 18:59:02 +01:00
Danila Shutov
3a6dfda358
Make shading of CAOs optional () 2020-06-16 20:48:31 +01:00
Lars Müller
e7e065f553
Exposing the zoom key to Lua API ()
Co-authored-by: Raul Ferriz <raul.ferriz@gmail.com>
2020-06-13 22:46:20 +02:00
sfan5
2424dfe007
Server pushing media at runtime () 2020-06-13 19:03:26 +02:00
luk3yx
982a030f33
Add LevelDB player database () 2020-06-12 18:54:20 +02: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
Vitaliy
e746607d0f
Restore visual_scale support for nodeboxes (and allfaces) () 2020-06-06 22:25:18 +02:00
rubenwardy
60bab8b2d7
Add HTTP API to main menu () 2020-06-06 17:17:08 +01:00
MoNTE48
34862a6442 Add disable_jump check for the player's feet 2020-05-29 22:53:58 +02:00
Wuzzy
65a6a316d0 Add minetest.is_creative_enabled 2020-05-29 22:45:40 +02:00
Wuzzy
083b285f43
Rename “Minimal development test” to “Development Test” () 2020-05-26 00:17:52 +02:00
ANAND
8ee2ece3c9
lua_api.txt: Fix minor typo () 2020-05-24 11:48:19 +02:00
sfan5
9d6e7e48d6 Implement spawning particles with node texture appearance 2020-05-23 22:52:21 +02:00
sorcerykid
15ba75e4cf Add on_authplayer callback and 'last_login' to on_joinplayer ()
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
Lejo1
e79bc40c0a Check for valid base64 before decoding () 2020-05-22 14:26:22 +02:00
Paramat
42fcfb75e8
Allow more than 255 biomes, document new maximum ()
Change biomemap data type from u8 to u16.
New technical (not practical) maximum is 65535 biomes.
2020-05-20 22:16:14 +01:00
Wuzzy
c94d37827d
Rework functionality of leveled nodes ()
Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: SmallJoker <SmallJoker@users.noreply.github.com>
2020-05-19 21:08:37 +02:00
LoneWolfHT
7d3972a504
Add ability to scale HUD text ()
Add 'size' property to HUD text elements that is used for relative font size calculations.
2020-05-19 19:10:39 +02:00
rubenwardy
a9c3a42323
Add core.open_url() to main menu API () 2020-05-17 19:09:10 +01:00
ANAND
c1ce4be756
Make automatic_rotate relative, allow setting rotation ()
automatic_rotate does not make sense if it is absolute. Make it relative.

To avoid bouncing, set_rotation did not update the client when automatic_rotate was set. That's no longer necessary because the new spinning method applies the rotation on top of the current one, and the updates are necessary for set_rotation to actually transform the object.

Co-authored-by: ANAND <ClobberXD@gmail.com>

Co-authored-by: Pedro Gimeno <pgimeno@users.noreply.notabug.org>
2020-05-16 21:42:31 +02:00
sfan5
36d35f2fe3
CSM: Bugfixes to camera:get_pos() and camera:get_fov()
closes 
2020-05-14 21:16:45 +02:00
Wuzzy
7ec76e530d
Add mapgen settings to world creation dialog () 2020-05-12 02:52:52 +01:00
Lars Müller
9ba24f89f5
Damage texture modifier ()
Adds a new object property "damage_texture_modifier"
2020-05-11 21:41:36 +02:00
Wuzzy
6e1372bd89
Add support for statbar “off state” icons ()
This adds support for optional “off state” icons for statbars. “off state icons” can be used to denote the lack of something, like missing hearts or bubbles.

Add "off state" textures to the builtin statbars.

Co-authored-by: SmallJoker <mk939@ymail.com>
2020-05-11 21:40:45 +02:00
v-rob
664800b2ad
FormSpec: Add universal style selector * () 2020-05-06 19:36:02 +02:00
sfan5
b6b80f55c8 Expose collided objects in moveresult
closes 
2020-05-06 14:03:52 +02:00
SmallJoker
1b6f40c356 Rename moveresult speed to velocity 2020-05-05 08:37:04 +02:00
oilboi
3ed5619d9a
Fix small typo () 2020-05-05 08:35:55 +02:00
Hugues Ross
cb9a44ef89
Add 'content_offset' and 'padding' style properties for buttons ()
* Add padding and content_offset style properties to buttons
2020-05-02 13:32:02 +02:00
Wuzzy
5c96f57782
Add a convention about z_index () 2020-05-02 13:12:02 +02:00
ANAND
e0ea87f1f3
set_fov: Add support for time-based transitions () 2020-05-02 12:52:11 +02:00
sfan5
ac368af4fe
Allow connection info to be missing from minetest.get_player_information() ()
fixes 
This reverts commit 23c907befea02005e2c0c87fca0131b60aace18a.
2020-05-01 21:44:28 +02:00
Lejo
74d9b6010f
Give the online lua mainmenu also the client_list and mods () 2020-05-01 16:47:17 +02:00
sfan5
3475759d1a Expose collision information to LuaEntity on_step 2020-04-27 20:45:46 +02:00
EvidenceB Kidscode
cee3c5e73d
Add server side translations capability ()
* Add server side translations capability
2020-04-25 07:20:00 +02:00
Paramat
4e2473ec49
Document which noise APIs add world seed to noiseparams seed () 2020-04-17 10:24:51 +02:00
Maksim
62ae7adab2
Android: add Android Studio support, completely redone java part () 2020-04-15 16:27:40 +02:00
DS
62c62f3829
Add all src folders to doxygen () 2020-04-14 21:22:49 +02:00
Hugues Ross
5cf6318117
Refactor texture overrides and add new features ()
* Refactor texture overrides, and add new features:

- Texture overrides can support multiple targets in one line
- Texture override files can have comment lines
- Item images/wield images can be overridden

* Formatting changes

* Address soime feedback

- Pass vectors by const reference
- Log syntax errors as warnings
- Remove 'C' prefix from TextureOverrideSource

* Simplify override target checks with an inline helper function

* make linter happy

* Apply feedback suggestions

Co-Authored-By: rubenwardy <rw@rubenwardy.com>

* Remove remaining != 0 checks

* Update copyright notice

Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: rubenwardy <rw@rubenwardy.com>
2020-04-14 20:41:29 +02:00
SmallJoker
27d611fe55
Add default stack size setting ()
New setting "default_stack_max" to alter the default stack sizes of all items when desired.

Co-authored-by: Pascal Abresch <nep@packageloss.eu>
2020-04-13 10:53:10 +02:00
DS
0ac999ded7
Add scroll_container formspec element (redo) ()
New formspec elements:

 - `scroll_container[<X>,<Y>;<W>,<H>;<scrollbar name>;<orientation>;<scroll factor>]`
 - `scroll_container_end[]`

Other elements can be embedded in this element. Scrollbar must be placed manually.
2020-04-13 10:50:07 +02:00
Wuzzy
a24d3b3600
Play 'player_jump' when player jumps () 2020-04-12 00:50:40 +01:00
Lars Müller
af2e6a6a10
Improve waypoints and add image variant () 2020-04-11 22:09:46 +01:00
Hugues Ross
f780bae05c
Formspecs: Add state-selection to style elements () 2020-04-11 21:39:30 +01:00
Paul Ouellette
840b17ce63
Update API site build () 2020-04-11 20:38:39 +02:00
sfan5
1292bdbbce Various features and fixes 2020-04-11 13:12:51 +02:00
sfan5
5f3a17eb65 Implement minetest.sound_fade() 2020-04-11 13:12:51 +02:00
rubenwardy
143a37e947
Clarify use of minetest.request_insecure_environment() () 2020-04-06 16:54:27 +02:00
Wren Turkal
f91124a0c0
Add allowed_mapgens option in game.conf. ()
The game.conf has a disallowed_mapgens option. However, some games
require a certain mapgen to be used, like the CTF plugin. This change
adds an option to specify allowed mapgens so that the setting can be
specified in a way that needn't be updated as map generators are added
to Minetest.
2020-04-06 16:06:16 +02:00
Wuzzy
faedde08f9
Some minor Lua API documentation clarifications ()
See 
2020-04-06 16:05:27 +02:00
sfan5
528b162d9f Continue with 5.3.0-dev 2020-04-05 18:31:52 +02:00
Paramat
45a2ca0af2
Add warning to set_sky() docs about unstable dawn and night sky colours ()
Also clean up confusing double meaning usage of the word 'skybox'.
2020-04-03 02:57:15 +01:00
v-rob
9953145a4e
Formspec: Mark hypertext and markup language as unstable 2020-03-28 21:54:19 +01:00
sfan5
3c0d309643 Improve documentation of minetest.get_node_drops()
Also remove the comment saying it could be removed or modified.
2020-03-26 20:35:05 +01:00
Dave Chu
f7c7353a9a
Fix small typos in lua_api.txt () 2020-03-25 11:44:20 +01:00
v-rob
13ad8e2a09
Formspecs: Add starting frame to animated_image () 2020-03-16 22:56:48 +01:00
Jordan Snelling
b9a0626d88
Fix star visilibity and documentation (since 946c03c6)
Fix memory leak (unused allocation)
Fix star rendering
Rename sky color struct
Fix stars on android
Remove extraneous .data() from android star draw
2020-03-08 16:13:36 +01:00
sfan5
e774d8ca2f Fixes around ServerActiveObject on_punch handling 2020-03-05 22:04:23 +01:00
sfan5
8d6a0b917c
Fix potential security issue(s), documentation on minetest.deserialize() ()
Also adds an unittest
2020-03-05 22:03:04 +01:00
Jordach
946c03c69b set_sky improvements, set_sun, set_moon and set_stars 2020-03-05 20:12:19 +01:00
Wuzzy
580e7e8eb9 Fix pathfinder bugs: returning nil frequently, broken A*, jump through solid nodes ()
* Fix pathfinder fail when startpos is over air
* Note down pathfinder restrictions
* Implement real A* search
* Pathfinder: Implement buildPath non-recursively
* Update find_path documentation
* Pathfinder: Check if jump path is unobstructed
* Pathfinder: Fix drop check first checking upwards
* Pathfinder: Return nil if source or dest are solid
* Pathfinder: Use priority queue for open list
2020-03-05 12:09:44 +01:00
v-rob
7dffd08c1a
Add multiple element selection to style and style_type () 2020-03-01 14:39:57 +00:00
Gao Tiesuan
8ddb6718e3
Fix incorrect spelling in lua_api.txt () 2020-02-26 02:27:54 +00:00
sfan5
6be7150cd5 Documementation: Add advice on lifetime of ObjectRefs 2020-02-23 22:24:12 +01:00
sfan5
217f3a42f4 Documentation: More precise description of ObjectRef:remove() 2020-02-23 22:24:12 +01:00
Paramat
2df226bb41
Lua_api.txt: Add documentation of VoxelArea 'ystride', 'zstride' () 2020-02-22 01:11:33 +00:00
Hugues Ross
7ce21788f8
Add animated_image[] formspec element () 2020-02-15 15:33:18 +00:00
Wuzzy
ff769e7df5
Add missing paramtype2 documentation () 2020-02-13 23:27:20 +01:00
Paramat
b14aa1c847
Warn of biome ID re-allocation when unregistering or clearing biomes () 2020-02-03 00:31:00 +00:00
sfan5
ace3c76112 Improve core.sound_play with ephemeral sounds and player exclusion 2020-02-01 20:31:41 +01:00
HybridDog
ea5e231959
Add table.shuffle () 2020-02-01 16:09:45 +01:00
DS
1116918dbb
Formspec: Create a new class for inventorylists () 2020-02-01 13:55:13 +01:00
Hugues Ross
60544ac56f Add 9-slice background support to button formspec elements () 2020-01-26 19:35:26 +00:00
SmallJoker
cde2a7f6f2
Settings: Add get_flags API for mapgen flags (mg_flags, mgv6_spflags, ...) ()
Unified flags handling in C++ and Lua Settings API
     -> Reading only, for now. Writing can be implemented later, if needed.
API function to read the currently active flags
     -> was impossible from Lua

Co-authored-by: Wuzzy <wuzzy2@mail.ru>
2020-01-25 16:56:54 +01:00
Wuzzy
e05b7dbb3c Remove unused weight property from objects () 2020-01-22 10:19:27 +01:00
Wuzzy
0877587cce Resized torchlike sprite now attaches to surface () 2020-01-20 19:17:54 +00:00
ANAND
468eb4bf57 lua_api.txt: Improve privs_to_string and string_to_privs documentation () 2020-01-19 11:16:54 +01:00
Hugues Ross
680aaa1bd5 Make clipping of formspec elements more consistent () 2020-01-16 18:41:07 +00:00
Wuzzy
3189e4466b Add missing entity documentation () 2020-01-09 19:48:16 +01:00
Wuzzy
f4f7c7a11b Improve Lua API documentation on sounds () 2020-01-08 21:27:54 +00:00
HybridDog
f9c7e46a34 Add table.key_value_swap () 2020-01-04 15:44:48 +01:00
Wuzzy
3ad92baa9c Tweak default textures () 2020-01-04 15:44:31 +01:00
Wuzzy
7199dc7559 Document permissible group ratings () 2019-12-24 19:12:31 +01:00
Bluebird
80af58c8c5 Make core.item_place_node return position of placed node. () 2019-12-18 19:21:24 +01:00
sfan5
db7e59f472 Correct documentation around minetest.item_place
The code that calls minetest.item_place_object was removed
in 2013 in commit fc61c8809b9a1d47d9f117446764107a56cec956.
2019-12-16 21:24:34 +01:00
SmallJoker
41ff0f6679
Lua API: Document HP, breath and damage limits () 2019-12-15 18:55:01 +01:00
Hugues Ross
9284313d17 Refactor to centralize GUIButton styling/rendering code () 2019-12-09 20:06:51 +00:00
DS
8f73ec6c6c Formspec: make bgcolor element less confusing and allow setting fullscreen color () 2019-12-08 18:59:30 +01:00
Paul Ouellette
27ce6d0ecc Clean up craft replacements docs 2019-12-07 23:46:24 +01:00
v-rob
4f45bfd08b Add scrollbaroptions FormSpec element () 2019-12-06 20:51:10 +00:00
Pierre-Yves Rollo
cf7fda0083 Add z-index management to HUD 2019-12-06 20:31:26 +00:00
sfan5
c44318a253 [CSM] Fix and improve minetest.get_language()
Previously this method would accidentally reset the locale
and break everything.
2019-11-11 14:06:48 +01:00
sfan5
2c4cf508a9 [CSM] Implement minetest.get_csm_restrictions()
fixes 
2019-11-11 14:06:48 +01:00
sfan5
b57dc70769 [CSM] Expose more env functions 2019-11-11 14:06:48 +01:00
sfan5
4d668f32a6 Call on_secondary_use when object is right-clicked 2019-11-10 13:12:31 +01:00
sfan5
485b669840 [CSM] Remove non-functional minetest.get_day_count() 2019-11-09 16:08:38 +01:00
sfan5
7e649f985c Corrections to client_lua_api.txt 2019-11-09 16:08:38 +01:00
sfan5
b1f2a69382 Introduce get_modpath() for CSM 2019-11-09 16:08:38 +01:00
DS
5506e97ed8 Formspec: draw order and clipping for all elements () 2019-11-07 20:11:01 +01:00
sfan5
15a030ec9f
Improve documentation around banning ()
* Fix ban chatcommand description
* Correct ban API documentation
2019-11-05 19:24:51 +01:00
Pierre-Yves Rollo
72416a6a1f Formspec: add hypertext element 2019-11-03 11:45:33 +01:00
random-geek
f2e62298a5 Change some usages of "deprecated" to "obsolete" ()
"Deprecated" means that something is still in use, but is unsupported and needs to be removed.
"Obsolete" means it is already out of use.
2019-10-29 19:23:12 +01:00
random-geek
cd35949cd0 Remove legacy file format documentation 2019-10-23 20:53:24 +02:00
random-geek
2f3c96b38d Remove legacy flat-file map code 2019-10-23 20:53:24 +02:00
Hugues Ross
69a2099c04 Add more visual feedback for button states ()
- Add style properties for overriding the the hovered/pressed state
  - By default, hovered buttons are a lighter version of the base color
  - By default, pressed buttons are a darker version of the base color
- Add hovered bg image support for image buttons (style property)
2019-10-12 18:44:23 +02:00
sfan5
894008ce6f Continue with 5.2.0-dev 2019-10-12 15:49:06 +02:00
SmallJoker
dee22104b7
Revert "Fix the bgcolor formspec element ()" ()
This reverts commit 1db3d252cff9e8d61fecf1052d7497813851da51.
Temporary solution until a compatible solution is found to define both - formspec and fullscreen backgrounds.
2019-10-06 14:50:45 +02:00
Paramat
653d7b8112
Document node drop tool filtering by string matching as deprecated () 2019-09-30 21:34:43 +01:00
rubenwardy
07bdd6049b Fix error message caused by adding new parameter to background ()
Adds background9[] element to keep backwards compatibility in formspec prepends.
2019-09-29 13:40:59 +02:00
sfan5
70f9e1aafa
Punchwear (improved) () 2019-09-22 22:12:21 +02:00
SmallJoker
fec30e37ac
Fix AreaStore's IDs persistence ()
Improve documentation
Read old formats
Fix free ID function. Return first gap in map
2019-09-21 17:54:52 +02:00
SmallJoker
5fa614d97e
Wieldhand: Specify which ItemStack to use ()
Makes 'get_wield_item' to return the "main" ItemStack
2019-09-21 11:44:24 +02:00
Anand S
47da640d77 Add support for per-player FOV overrides and multipliers 2019-09-19 20:14:16 +02:00
DS
1db3d252cf Fix the bgcolor formspec element () 2019-09-15 17:14:31 +01:00
SmallJoker
9acd36bf99 Formspecs: Introduce formspec_version to mods 2019-09-14 19:43:08 +02:00
SmallJoker
e97cbcf34d
Lua API documentation: Various fixes ()
Remove unusable 'minetest.setting_*' from client_lua_api.txt
lua_api.txt:
- Define the 'mod.conf' format
- More precise 'settingtypes.txt' format reference
- Document special sound files 'player_*damage'
- Group, sort and add 'not_in_creative_inventory' special group
- Define the 'Settings' format
- Warning about incorrect byte saving in 'StorageRef'
- Note about non-persistent player definitions fields
- Better 'leveldiff' and 'level' group description
2019-09-08 18:43:49 +02:00
ANAND
52e3b4bc72 lua_api.txt: Improve privilege definition () 2019-09-08 12:34:44 +02:00
Paul m. p. P
5c97eeabac doc/client_lua_api: Clarify how client side api and mods start () 2019-09-05 13:06:22 +02:00
DS
0013f064ad Various fixes to lua_api.txt () 2019-09-01 20:12:22 +02:00
DS
049256573b Document world format version 28 (private nodemeta) () 2019-08-31 14:47:12 +02:00
DS
f3fd85aafb Document luaentity pitch and roll in world format () 2019-08-30 19:40:32 +02:00
Beha
99ca72e9df Clarify docs regarding pointed_thing and get_pointed_thing_position () 2019-08-30 19:40:08 +02:00
Paul Ouellette
008b80fe1c Add ItemStack:get_description() to get tooltip () 2019-08-24 18:38:02 +02:00
ANAND
75d44ef1e8 lua_api.txt: Add link to Minetest Modding Book () 2019-08-20 21:15:12 +02:00
upsilon
b2065756cf Add function minetest.read_schematic 2019-08-14 13:15:41 +02:00
rubenwardy
91114b562f Add support for set_formspec_prepend in main menu () 2019-08-12 19:16:35 +02:00
sfan5
291e7730cf Add player knockback on punch to builtin 2019-08-10 19:44:27 +02:00
sfan5
cf64054390 Implement adding velocity to player from Lua
The intended usecase is knockback, but there's potential for more.
2019-08-10 19:44:27 +02:00
ANAND
d1c27c7e80 Allow customizing chat message format () 2019-08-08 17:04:46 +01:00
rubenwardy
4f7fa8d417 Add formspec testing to test mod in minimal 2019-08-03 19:36:30 +01:00
rubenwardy
9541165752 Add styles to most elements 2019-08-03 19:36:30 +01:00
rubenwardy
ec3795a55c Add style[] tag with button support 2019-08-03 19:36:30 +01:00
Wuzzy
ec3142af99 Group "immortal" also protects players from damage
Document new meaning of immortal=1 for players

Disable breathing if player is immortal

Hide builtin statbars if player immortal (delayed)

Co-authored-by: ClobberXD <ClobberXD@gmail.com>
2019-08-01 14:45:23 +02:00
Beha
50052fced5 lua_api.txt clarifications regarding mapgen object index IDs and handles. () 2019-07-29 14:09:29 +02:00
Alex
a8446d29e8 Document 'wield_item' entity property () 2019-07-26 19:43:54 +02:00
Paramat
9e00584730
Improve documentation of mapgen aliases () 2019-07-20 02:54:42 +01:00
HybridDog
71db715ba5 Add vector.dot and vector.cross
Mostly copied from MarkuBu's code
2019-07-16 21:44:42 +02:00
SmallJoker
47492386ec
Docs: Clarify where to check for 'protection_bypass' () 2019-07-14 13:23:38 +02:00
ANAND
3a8ac9b031 Document ObjectRef:remove under Lua entity ()
This was previously documented under the general ObjectRef section with a note that this won't work on players. So I think this would fit better with Lua entity-only methods.

This PR also changes the title of the Lua entity-only section from `LuaEntitySAO-only` to `Lua entity only`.
2019-07-08 03:27:56 +01:00
Paramat
95371c16e9
Update biome definition dungeon node documentation () 2019-07-01 22:21:17 +01:00
Paramat
bb14b7e956
Dungeongen: Remove most hardcoded dungeon nodes ()
Biome-defined dungeon nodes was added as a feature to MT 5.0.0.
So now remove most of the hardcoded dungeon node code that assumes a
game has stone, sandstone, desert stone, and no other stone types.
If biome-defined dungeon nodes are not found, dungeon nodes fall back
to the 'cobble' mapgen alias if present, if not present they fall back
to biome-defined 'stone'.
Remove now-unnecessary mapgen aliases from MapgenBasic. Non-mgv6 games
now only need to define 3 to 5 mapgen aliases.

Document dungeon parameters.

Make c_lava_source fallback to c_water_source as both are used as cave
liquids.
2019-06-30 22:55:20 +01:00
v-rob
5e7004e7af Add compatible, consistent coordinate system to FormSpecs. () 2019-06-27 13:40:49 +01:00
rubenwardy
429a989648 Add support for 9-sliced backgrounds ()
9-slice textures are commonly used in GUIs to allow scaling them to match any resolution without distortion.

https://en.wikipedia.org/wiki/9-slice_scaling
2019-06-22 16:03:54 +02:00
DS
2ba6785f09 Remove modstore leftovers. Fix core.show_path_select_dialog documentation ()
This was forgotten in .
2019-06-07 22:12:20 +02:00
SmallJoker
cb00632e23
HTTP API: Allow binary downloads and headers ()
Add minetest.features.httpfetch_binary_data
2019-06-06 19:13:29 +02:00
Paul Ouellette
920bd3b16f Fix API site build () 2019-05-21 19:37:10 +02:00
Paramat
b1b40fef16
Allow multiple cave liquids in a biome definition ()
This allows games to specify biome cave liquids and avoid the old
hardcoded behaviour, but preserves the ability to have multiple
cave liquids in one biome, such as lava and water.

When multiple cave liquids are defined by the biome definition,
make each entire cave use a randomly chosen liquid, instead of
every small cave segment using a randomly chosen liquid.

Plus an optimisation:
Don't place nodes if cave liquid is defined as 'air'
2019-05-18 21:13:14 +01:00
ANAND
e32a630937 Better document behavior of on_punchplayer
Esp. the fact that it's invoked even if the punched player is dead
2019-04-29 14:08:34 +02:00
sofar
b839a6dd54 Force send a mapblock to a player ()
* Force send a mapblock to a player.

Send a single mapblock to a specific remote player.

This is badly needed for mods and games where players are teleported
into terrain which may be not generated, loaded, or modified
significantly since the last player visit.

In all these cases, the player currently ends up in void, air, or
inside blocks which not only looks bad, but has the effect that the
player might end up falling and then the server needs to correct for
the player position again later, which is a hack.

The best solution is to send at least the single mapblock that the
player will be teleported to. I've tested this with ITB which does this
all the time, and I can see it functioning as expected (it even shows
a half loaded entry hallway, as the further blocks aren't loaded yet).

The parameter is a blockpos (table of x, y, z), not a regular pos.

The function may return false if the call failed. This is most likely
due to the target position not being generated or emerged yet, or
another internal failure, such as the player not being initialized.

* Always send mapblock on teleport or respawn.

This avoids the need for mods to send a mapblock on teleport or
respawn, since any call to `player:set_pos()` will pass this code.
2019-04-28 00:42:13 +01:00