Commit Graph

879 Commits

Author SHA1 Message Date
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() (#9369)
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 (#9339)
* 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` (#9380) 2020-03-01 14:39:57 +00:00
Gao Tiesuan 8ddb6718e3
Fix incorrect spelling in lua_api.txt (#9431) 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' (#9415) 2020-02-22 01:11:33 +00:00
Hugues Ross 7ce21788f8
Add animated_image[] formspec element (#9258) 2020-02-15 15:33:18 +00:00
Wuzzy ff769e7df5
Add missing paramtype2 documentation (#9397) 2020-02-13 23:27:20 +01:00
Paramat b14aa1c847
Warn of biome ID re-allocation when unregistering or clearing biomes (#9359) 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 (#8299) 2020-02-01 16:09:45 +01:00
DS 1116918dbb
Formspec: Create a new class for inventorylists (#9287) 2020-02-01 13:55:13 +01:00
Hugues Ross 60544ac56f Add 9-slice background support to button formspec elements (#9290) 2020-01-26 19:35:26 +00:00
SmallJoker cde2a7f6f2
Settings: Add get_flags API for mapgen flags (mg_flags, mgv6_spflags, ...) (#9284)
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 (#9320) 2020-01-22 10:19:27 +01:00
Wuzzy 0877587cce Resized torchlike sprite now attaches to surface (#9303) 2020-01-20 19:17:54 +00:00
ANAND 468eb4bf57 lua_api.txt: Improve privs_to_string and string_to_privs documentation (#9228) 2020-01-19 11:16:54 +01:00
Hugues Ross 680aaa1bd5 Make clipping of formspec elements more consistent (#9262) 2020-01-16 18:41:07 +00:00
Wuzzy 3189e4466b Add missing entity documentation (#9297) 2020-01-09 19:48:16 +01:00
Wuzzy f4f7c7a11b Improve Lua API documentation on sounds (#9265) 2020-01-08 21:27:54 +00:00
HybridDog f9c7e46a34 Add table.key_value_swap (#9248) 2020-01-04 15:44:48 +01:00
Wuzzy 7199dc7559 Document permissible group ratings (#9236) 2019-12-24 19:12:31 +01:00
Bluebird 80af58c8c5 Make core.item_place_node return position of placed node. (#7713) 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 fc61c8809b.
2019-12-16 21:24:34 +01:00
SmallJoker 41ff0f6679
Lua API: Document HP, breath and damage limits (#9080) 2019-12-15 18:55:01 +01:00
Hugues Ross 9284313d17 Refactor to centralize GUIButton styling/rendering code (#9090) 2019-12-09 20:06:51 +00:00
DS 8f73ec6c6c Formspec: make bgcolor element less confusing and allow setting fullscreen color (#8996) 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 (#8530) 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 4d668f32a6 Call on_secondary_use when object is right-clicked 2019-11-10 13:12:31 +01:00
DS 5506e97ed8 Formspec: draw order and clipping for all elements (#8740) 2019-11-07 20:11:01 +01:00
sfan5 15a030ec9f
Improve documentation around banning (#9088)
* 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
Hugues Ross 69a2099c04 Add more visual feedback for button states (#8916)
- 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
SmallJoker dee22104b7
Revert "Fix the bgcolor formspec element (#8716)" (#9018)
This reverts commit 1db3d252cf.
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 (#9009) 2019-09-30 21:34:43 +01:00
rubenwardy 07bdd6049b Fix error message caused by adding new parameter to background (#8922)
Adds background9[] element to keep backwards compatibility in formspec prepends.
2019-09-29 13:40:59 +02:00
sfan5 70f9e1aafa
Punchwear (improved) (#8959) 2019-09-22 22:12:21 +02:00
SmallJoker fec30e37ac
Fix AreaStore's IDs persistence (#8888)
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 (#8961)
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 (#8716) 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 (#8914)
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 (#8912) 2019-09-08 12:34:44 +02:00
DS 0013f064ad Various fixes to lua_api.txt (#8878) 2019-09-01 20:12:22 +02:00
Beha 99ca72e9df Clarify docs regarding pointed_thing and get_pointed_thing_position (#8766) 2019-08-30 19:40:08 +02:00
Paul Ouellette 008b80fe1c Add ItemStack:get_description() to get tooltip (#8847) 2019-08-24 18:38:02 +02:00
ANAND 75d44ef1e8 lua_api.txt: Add link to Minetest Modding Book (#8826) 2019-08-20 21:15:12 +02:00
upsilon b2065756cf Add function `minetest.read_schematic` 2019-08-14 13:15:41 +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 (#8529) 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. (#8713) 2019-07-29 14:09:29 +02:00
Alex a8446d29e8 Document 'wield_item' entity property (#8694) 2019-07-26 19:43:54 +02:00
Paramat 9e00584730
Improve documentation of mapgen aliases (#8693) 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' (#8675) 2019-07-14 13:23:38 +02:00
ANAND 3a8ac9b031 Document ObjectRef:remove under Lua entity (#8659)
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 (#8650) 2019-07-01 22:21:17 +01:00
Paramat bb14b7e956
Dungeongen: Remove most hardcoded dungeon nodes (#8594)
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. (#8524) 2019-06-27 13:40:49 +01:00
rubenwardy 429a989648 Add support for 9-sliced backgrounds (#8600)
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
SmallJoker cb00632e23
HTTP API: Allow binary downloads and headers (#8573)
Add minetest.features.httpfetch_binary_data
2019-06-06 19:13:29 +02:00
Paramat b1b40fef16
Allow multiple cave liquids in a biome definition (#8481)
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 (#8140)
* 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
paramat 38b94f248a Attend to review, re-arrange blank lines, update lua_api.txt 2019-04-14 22:21:51 +01:00
Paul Ouellette bb7afd306a Add Mkdocs API site (#8133)
* Add MkDocs API site
2019-04-12 14:29:29 +02:00
Paul Ouellette 22ad820aa4 Add node field to PlayerHPChangeReason table (#8368) 2019-04-11 20:45:39 +01:00
Paramat 1e5f2e0f13
Nodedef 'drop' documentation: Improve, add tool filtering (#8458) 2019-04-09 03:20:27 +01:00
Paramat 42e1a12714
Require 'waving = 3' in a nodedef to apply the liquid waving shader (#8418)
Makes the liquid waving shader per-nodedef like waving leaves/plants,
instead of being applied to all liquids.
Like the waving leaves/plants shaders, the liquid waving shader can
also be applied to meshes and nodeboxes.

Derived from a PR by t0ny2.
2019-03-27 00:18:43 +00:00
Paramat 5e7662ca16
Dungeons: Do not remove nodes that have 'is_ground_content = false' (#8423)
Like randomwalk caves, preserve nodes that have 'is_ground_content = false',
to avoid dungeons that generate out beyond the edge of a mapchunk destroying
nodes added by mods in 'register_on_generated()'.

Issue discovered by, and original PR by, argyle77.
2019-03-26 03:56:57 +00:00
ANAND 7f1c2b8a00 Builtin: Add vector.angle(). Returns the angle between 2 vectors (#7738) 2019-03-17 02:05:03 +00:00
Paramat eadcbe474a
Lua_api.txt: Document blockpos, coordinate conversion, map terminology (#8376)
Also fix and improve LVM 'calc_lighting()' warning.
2019-03-16 05:04:11 +00:00
DS 77961aa73d Document the `float` special group (#8306) 2019-03-10 11:16:35 +01:00
HybridDog a7c5dc50e5 Add math.factorial (#8298) 2019-03-05 10:11:21 +01:00
DS 60ab2d94f0 Add sounds for falling and attached nodes (#7719)
* Add sounds for falling and attached nodes

The sound specified in `node_definition.sounds.fall` is used.
When a falling node is spawned at a position or an attached node drops, the sound is played at this position.

* allow all sorts of soundspecs
2019-03-05 08:17:48 +01:00
Paramat 6e7ba366fc
lua_api.txt, settingtypes.txt: Various improvements (#8252) 2019-02-18 02:53:33 +00:00
Wuzzy 187519407b Update many things in Lua API docs (#8236)
- minetest.get_hit_params
- minetest.get_dig_params
- table.indexof
- Scope of minetest.register_alias
- Vector function parameters
- More explanation of when `minetest.on_player_receive_fields` is called
- Syntax/semantics of the fields in `minetest.on_player_receive_fields`
2019-02-17 20:49:51 +00:00
Paramat 00a22ec76d
lua_api.txt: Various additions and improvements (#8245) 2019-02-17 02:52:53 +00:00
Paul Ouellette d5456da69d Use true pitch/yaw/roll rotations without loss of precision by pgimeno (#8019)
Store the rotation in the node as a 4x4 transformation matrix internally (through IDummyTransformationSceneNode), which allows more manipulations without losing precision or having gimbal lock issues.

Network rotation is still transmitted as Eulers, though, not as matrix. But it will stay this way in 5.0.
2019-02-07 21:26:06 +00:00
Paul Ouellette 11b550e024 Remove incorrect feature flag (#8086)
And document the versions that introduced the features.
2019-01-19 15:17:05 +01:00
rubenwardy 70bf3439ab Deprecate modpack.txt and use modpack.conf instead (#7892)
* Deprecate modpack.txt and use modpack.conf instead
2019-01-06 10:23:35 +01:00
SmallJoker bba4563d89 Proselytize the network. Use IEEE F32 (#8030)
* Proselytize the network. Use IEEE F32
* Remove unused V2F1000 functions
2019-01-03 17:04:26 +01:00
HybridDog c6f784f43b Add minetest.load_area (#8023) 2018-12-31 00:32:54 +00:00
ClobberXD a318bceb63 Lua_api.txt: Add documentation of missing field to 'on_punch' (#8008) 2018-12-22 00:32:27 +00:00
zeuner 7a4d4bc9e6 Lua_api.txt: Document inventory sending behaviour (#7720) 2018-12-18 00:38:39 +00:00
ClobberXD 08610aad7e (client_)lua_api.txt: Rename func -> function (#7960) 2018-12-12 08:50:40 +00:00
Paul Ouellette ce32a327ff lua_api.txt: Various fixes and improvements (#7945)
* Add missing tables of registered things

* Eliminate some duplication

Registration functions in 'Registered definitions' section merged into
'Registration functions' section.

* Misc. fixes

* Add privilege definition table

* Remove not-special soil group from special groups

* Merge two registration functions sections

* Move 'added to' information to tables section

Also fix some capitalization and missing periods

* Minor fixes

* Split Registration functions into two subsections

And update Registered definition tables to match order

* Fixes
2018-12-11 17:37:06 +01:00
Alex a833bee9ed Add object visual type 'item' (#7870) 2018-12-11 02:57:04 +00:00