Commit Graph

1242 Commits

Author SHA1 Message Date
Paul Ouellette
bb7afd306a Add Mkdocs API site ()
* Add MkDocs API site
2019-04-12 14:29:29 +02:00
Paul Ouellette
22ad820aa4 Add node field to PlayerHPChangeReason table () 2019-04-11 20:45:39 +01:00
Paramat
1e5f2e0f13
Nodedef 'drop' documentation: Improve, add tool filtering () 2019-04-09 03:20:27 +01:00
Paramat
42e1a12714
Require 'waving = 3' in a nodedef to apply the liquid waving shader ()
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' ()
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 () 2019-03-17 02:05:03 +00:00
Paramat
eadcbe474a
Lua_api.txt: Document blockpos, coordinate conversion, map terminology ()
Also fix and improve LVM 'calc_lighting()' warning.
2019-03-16 05:04:11 +00:00
DS
77961aa73d Document the float special group () 2019-03-10 11:16:35 +01:00
HybridDog
a7c5dc50e5 Add math.factorial () 2019-03-05 10:11:21 +01:00
DS
60ab2d94f0 Add sounds for falling and attached nodes ()
* 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
sfan5
51662dabb4 Continue with 5.1.0-dev 2019-03-04 23:43:18 +01:00
Loïc Blot
111f1dc9c5 Revert "Revert CSM particles commit to fix particle spawner bug for 5.0.0 ()"
This reverts commit 01cd63bd3bca0192dab2834faf414b022706a77e.
2019-02-26 08:53:53 +01:00
Paramat
01cd63bd3b
Revert CSM particles commit to fix particle spawner bug for 5.0.0 ()
Reverts 5dab7426451842793b183fbd961ad2ae83c8acbd
"[CSM] Add functions to create particles and particlespawners."
2019-02-26 04:26:25 +00:00
Paramat
6e7ba366fc
lua_api.txt, settingtypes.txt: Various improvements () 2019-02-18 02:53:33 +00:00
Wuzzy
187519407b Update many things in Lua API docs ()
- 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 () 2019-02-17 02:52:53 +00:00
Paul Ouellette
d5456da69d Use true pitch/yaw/roll rotations without loss of precision by pgimeno ()
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
3c2fe3229e Update manpage () 2019-02-04 00:11:32 +01:00
Julien Palard
23ea02c79c Protocol Docs: Python check bump to Python 3 2019-02-03 01:32:37 +00:00
rubenwardy
572ba83b30 Content store: Fix storage leak by storing screenshots in cache () 2019-01-31 16:35:55 +00:00
Paul Ouellette
11b550e024 Remove incorrect feature flag ()
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 ()
* Deprecate modpack.txt and use modpack.conf instead
2019-01-06 10:23:35 +01:00
SmallJoker
bba4563d89 Proselytize the network. Use IEEE F32 ()
* Proselytize the network. Use IEEE F32
* Remove unused V2F1000 functions
2019-01-03 17:04:26 +01:00
HybridDog
c6f784f43b Add minetest.load_area () 2018-12-31 00:32:54 +00:00
stujones11
badecfa471 Update README.android with current build info () 2018-12-28 23:31:09 +01:00
Loïc Blot
a5197eaebc
CSM: add requested CSM_RF_READ_PLAYERINFO ()
* CSM: add requested CSM_RF_READ_PLAYERINFO

This new CSM limit permit to limit PLAYERINFO read from server.

It affects get_player_names call
2018-12-24 10:51:10 +01:00
ClobberXD
a318bceb63 Lua_api.txt: Add documentation of missing field to 'on_punch' () 2018-12-22 00:32:27 +00:00
Kevin Abrams
b7eb81fed9 Add command line option to load password from file () 2018-12-18 20:15:14 +01:00
zeuner
7a4d4bc9e6 Lua_api.txt: Document inventory sending behaviour () 2018-12-18 00:38:39 +00:00
ClobberXD
08610aad7e (client_)lua_api.txt: Rename func -> function () 2018-12-12 08:50:40 +00:00
Paul Ouellette
ce32a327ff lua_api.txt: Various fixes and improvements ()
* 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
rubenwardy
f318366c20 Fix ContentDB packages timing out by using download_file instead () 2018-12-11 04:43:14 +00:00
Alex
a833bee9ed Add object visual type 'item' () 2018-12-11 02:57:04 +00:00
Paul Ouellette
afaf7b901b Fix wrong parameter order for inventory callbacks () 2018-12-10 19:18:03 +01:00
Wuzzy
5560ec8178 Add eat sound () 2018-12-10 09:25:47 +01:00
Vanessa Dannenberg
1b0fd195c6 Raise hotbar limit to 32 slots, add associated keybinding options ()
add associated keybinding options
update docs and settingtypes
2018-12-02 23:34:29 +01:00
zeuner
42166fff74 Document which formspec fields are sent () 2018-12-02 16:05:56 +01:00
CoderForTheBetter
faa358e797 Add Lua methods 'set_rotation()' and 'get_rotation()' ()
* Adds Lua methods 'set_rotation()' and 'get_rotation'. Also changed some method names to be more clear. Instead of an f32 being sent over network for yaw, now a v3f is sent for rotation on xyz axes. Perserved Lua method set_yaw/setyaw so that old mods still work, other wise to set yaw they would need to switch to set_rotation(0, yaw, 0).
2018-11-28 09:38:50 +01:00
Paramat
1c91cb8f8f
Lua_api.txt: Update glasslike_framed textures documentation () 2018-11-22 04:55:24 +00:00
Paramat
34a5960671
Framed glasslike: Fix and document top/base textures feature () 2018-10-30 06:41:15 +00:00
Paramat
622e2235ee
clear_craft: Return false if recipe not found, don't throw error () 2018-10-24 15:03:21 +01:00
Wuzzy
40ab3e011d Add disable_repair group to prevent tool repair () 2018-10-16 05:25:34 +01:00
SmallJoker
0a5e77132a
Add core.remove_detached_inventory ()
Breaks backwards compatibility for good
Bump protocol version
2018-10-10 20:48:58 +02:00
SmallJoker
d77f3b3fde Player hand list: require init by mods
Mods will now have to initialize the list/slot in order to define the default player hand.
They may use the inventory callbacks to prevent abuse of this list.
2018-10-04 20:42:38 +02:00
Vitaliy
18a8fbf465 Software inventorycube ()
Fixes missing/upside-down images on Android.
2018-09-29 19:40:17 +01:00
Paramat
766fb7b46e
Particles: Make collision with objects optional ()
Also set it to false for node dig particles, as they are often created
and high in number.

Improve particle documentation.
2018-09-08 00:38:35 +01:00
Paramat
3cc25b700a
Lua_api.txt: Update mapgen alias docs, add Singlenode use () 2018-08-19 19:04:17 +01:00
Dániel Juhász
325bf68041 Raycast: export exact pointing location ()
* Return intersection point in node coordinates.
* Clarify 'intersection_point' documentation
2018-08-16 20:10:08 +02:00
SmallJoker
798724efea lua_api.txt: Refine 'Item types' for 4e2eeee () 2018-08-15 20:35:38 +01:00
pauloue
4e2eeee3cc lua_api.txt: Various fixes and improvements ()
Improve item types descriptions.
Add replacements field to fuel definition.
Shorten two headers.
Markdown fixes.
Remove extra example.

Add blank lines after headings.

Linkify section references.
Bracketed section names can be linked when compiled to HTML.
2018-08-15 16:05:11 +01:00
Paramat
03f89e8ffc
texture_packs.txt: Add information for leaves texturing ()
Explain texture requirements due to the leaves rendering options.
2018-08-14 00:30:13 +01:00
ClobberXD
6bd4cb9f7e Lua_api.txt: Move item def section nearby node def () 2018-08-12 22:36:16 +01:00
zeuner
ea26076bcb Feature check for commit ac4884c3d677ef51bcce47f95ccd49d874022692 ()
adds `entity_independent_selectionbox` to minetest.features
2018-08-12 13:37:17 +02:00
rubenwardy
88efebdf86
Formspecs: Add tooltip element for area 2018-08-05 15:50:02 +01:00
Ben Deutsch
153fb211ac Replace auth.txt with SQLite auth database ()
* Replace auth.txt with SQLite auth database
2018-08-05 13:13:38 +02:00
pauloue
3e6da81791 lua_api.txt: Improve code block format ()
Remove ^ and --[[ ]] symbols.
Fix comment indentation level.
Separate fields with blank lines.
Remove period from single-sentence descriptions, add periods to
multi-sentence descriptions.
Separate inline comments from the code with two spaces.
2018-08-03 21:36:24 +01:00
ClobberXD
654f57333f Lua_api.txt: Improve Player HUD flags documentation () 2018-07-31 13:00:02 +01:00
Paramat
bf45644041
Lua_api.txt: Clarify entity 'initial_properties' and related deprecation () 2018-07-29 22:07:55 +01:00
pauloue
0d55879a1a Lua_api.txt: Various improvements ()
Fixes and format improvements.
Shorten definition tables headers and clarify when they are used.
Add subheadings for craft recipes.
2018-07-26 03:56:11 +01:00
lhofhansl
7454deb1bf
Allow an optional readonly base database ()
* Allow an optional readonly base database

* Added basic documentation
2018-07-25 17:54:23 +02:00
HybridDog
78a801e42d Update mip mapping and textarea documentation ()
* Fix textarea formspec documentation
The label is shown and the background isn't
* Document the missing gamma correction when generating mip maps
* Remove duplicate text (such as size parameter descriptions)
2018-07-19 18:28:26 +02:00
Paramat
1aaee5b30d
Lua_api.txt: Various minor improvements ()
Add missing section title for 'Node paramtypes'.
Clarify documentation for schematic Y-slice table.
Document that schematic Y-slice behaviour does not invert for ceiling
schematic decorations.
2018-07-16 04:57:44 +01:00
pauloue
334d8c31ee Lua_api.txt: Formatting and grammar fixes ()
Use tree output for directory structure.
Remove 2 blank lines near document top.
Spelling and grammar fixes.
Markdown fixes.
Condense paths section.
Fix skipped heading levels.
2018-07-08 04:18:53 +01:00
Paramat
55b6bc085b
Lua_api.txt: Improve section titles, clarify sections () 2018-07-06 21:02:54 +01:00
SmallJoker
6f22d14206
Make the server status message customizable ()
Remove now redundant setting show_statusline_on_connect
Improve documentation of `minetest.get_server_status`
2018-07-01 12:31:28 +02:00
Paramat
e4e95e47af
Lua_api.txt: Re-order some sections. Alphabeticise class reference () 2018-06-26 02:34:27 +01:00
Anand S
d565783bec Lua_api.txt: Replace engine.* with core.* () 2018-06-24 21:18:25 +01:00
Paramat
de621d5d4b
Decoration API: Add lightweight ability to have complete coverage ()
When the noise value or fill_ratio >= 10.0 complete coverage is enabled.
This disables random placement to avoid redundant multiple placements
at one position. Instead, 1 decoration per surface node is placed by
looping across each division.

'10' was chosen as this is the fill_ratio that previously created
very near complete coverage. The complete coverage feature therefore
integrates smoothly when noise is used for variable decoration density.

'fill_ratio = 10' should be used by modders who want a decoration
placed on every surface node. Compared to before such a decoration
placement will be 10 times faster.
2018-06-24 17:14:18 +01:00
Anand S
2e95ebd181 Lua_api.txt: Fix incorrect vector section directive () 2018-06-20 13:05:56 +01:00
Anand S
e8b687d7ca Remove deprecated functions from menu_lua_api.txt () 2018-06-17 10:41:21 +02:00
Loïc Blot
ac6e8e2914
Version scheme change: 0.5.0 -> 5.0.0 ()
* Version scheme change: 0.5.0 -> 5.0.0
2018-06-15 09:16:48 +02:00
Paramat
9ca37d86a3
Lua_api.txt: Warn of errors possible with VoxelArea:index()/indexp() () 2018-06-08 00:46:10 +01:00
Loïc Blot
ccc3af128c
CSM/SSM: Add on_mods_loaded callback ()
* CSM/SSM: Add on_mods_loaded callback
2018-06-06 12:53:59 +02:00
Paramat
5316b8fe4a
Lua_api.txt: Various improvements ()
Node definition:
Clearly document custom selection box/collision box (collision box
documentation was missing).
Remove incorrect light attenuation statement and duplicated light
source statement.

Nodes:
Document which drawtypes require 'paramtype = "light"' to avoid
appearing black.
Remove incorrect light attenuation statement.

HUD: Remove 'HUD API is experimental' text.
Noise params: Spread of every octave must exceed 1.
Particles and spawners: Document glow values.
2018-06-03 04:41:03 +01:00
Loïc Blot
162ffd7fba
Fix isNan on setYaw Lua call ()
* Fix isNan on setYaw Lua call
2018-05-31 22:52:08 +02:00
Wuzzy
04f79623a7 Say position of locale dir more clearly in docs () 2018-05-16 19:46:28 +02:00
SmallJoker
9dd432c29f Run detach callbacks on player leave
Correct docs regarding non-nil detaching children
2018-05-12 11:50:04 +02:00
SmallJoker
ba91624d8c
Allow damage for attached objects, add attach/detach callbacks ()
* Allow right-clicking on attached LuaEntities
2018-04-30 18:43:49 +02:00
rubenwardy
0b5b32b026 MetaDataRef: Add contains() and get() () 2018-04-30 18:42:51 +02:00
Thomas--S
9577a4396a Formspecs: Allow setting alpha value for the box[] element 2018-04-23 18:50:50 +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
Paramat
746ca41f58
Biome API / dungeons: Add biome-defined dungeon nodes
Add new biome fields 'node_dungeon', 'node_dungeon_alt', 'node_dungeon_stair'.
If 'node_dungeon' is not defined dungeons fall back to classic behaviour.

Remove messy and imprecise dungeon material code from 'generateBiomes()'.
Code deciding dungeon materials is now in 'generateDungeons()' and uses the
biome at mapchunk centre for more precision.

Remove hardcoded 'MG_STONE' types as long intended.
2018-04-07 22:09:54 +01:00
rubenwardy
91615f9588 Add player:get_meta(), deprecate player attributes ()
* Add player:get_meta(), deprecate player attributes
2018-04-06 10:52:29 +02:00
Paramat
32d456bd2d
Biome API / cavegen: Add definable cave liquid for a biome ()
Add 'node_cave_liquid' as a new field in biome registration.
If field is absent cave liquids fall back to classic behaviour.
2018-04-05 17:21:41 +01:00
SmallJoker
f6eff57f7c Add player inventory callbacks 2018-04-02 17:18:48 +02:00
you
93eb0794d6 ObjectRef: Add add_velocity() ()
Allow changing the velocity of objects relatively to their current velocity
2018-03-31 14:50:17 +02:00
SmallJoker
8f827ee680
core.rotate_node: Do not trigger after_place_node () 2018-03-29 21:44:13 +02:00
stujones11
821e3f7072 Optional alpha channel support for entities 2018-03-29 14:53:12 +01:00
Andrew Ward
71b2570f09
Load dependencies and description from mod.conf 2018-03-28 22:14:16 +01:00
Andrew Ward
dfc8198349
Add reasons to on_dieplayer and on_hpchange 2018-03-28 16:05:18 +01:00
Andrew Ward
2323842dd3
Add formspec theming using prepended strings 2018-03-28 16:04:41 +01:00
Paramat
5e2096e396
Lua_api.txt: Improve noise documentation 2018-03-22 02:36:52 +00:00
paramat
68c6494af0 Lua_api.txt: Fix hardware colouring documentation
More 'draw type' -> 'paramtype2' changes, missing from a previous commit.
2018-03-20 03:41:31 +00:00
paramat
fdc02a59ba Lua_api.txt: Split long lines part 6 2018-03-17 05:26:53 +00:00
paramat
0d8cb8433a Lua_api.txt: Split long lines part 5, fix hardware colouring docs 2018-03-16 02:59:48 +00:00
paramat
06f67646d8 Lua_api.txt: Split long lines part 4 2018-03-14 04:28:03 +00:00
paramat
92ca9dda54 Rename 'subgame' to 'game' 2018-03-13 03:54:52 +00:00
paramat
d57024b7c9 Lua_api.txt: Improve and complete drawtype documentation
Move documentation of mesh and plantlike_rooted drawtypes into main section.
2018-03-13 01:12:28 +00:00
paramat
1d385caa06 Lua_api.txt: Split long lines part 3 2018-03-11 23:52:12 +00:00
paramat
7ad6cdd09b Biome API: Add 'get_biome_name(biome_id)' API
Change name of default biome to a more suitable lowercase 'default'.
2018-03-11 23:06:17 +00:00
paramat
5a1884c21d Lua_api.txt: Split long lines part 2 2018-03-10 04:35:40 +00:00
paramat
644d0ab2bb Spawn level: Add 'get_spawn_level(x, z)' API
Returns a suitable player spawn y co-ordinate for unmodified terrain.
2018-03-10 03:38:27 +00:00
paramat
b592c52f1c Lua_api.txt: Split long lines part 1 2018-03-09 04:34:41 +00:00
paramat
1137f469e2 Gennotify docs: Clarify returned positions for decorations 2018-03-09 03:16:34 +00:00
paramat
f091de9a2f Biomes: Document xyz biome limits 2018-03-09 03:16:25 +00:00
pauloue
6cfd699b9f Fix bad markdown in lua_api.txt 2018-03-05 15:14:19 +00:00
paramat
48493a979b Gennotify: Add 'minetest.get_decoration_id' API
Returns the decoration ID for the provided decoration name string.
For use with gennotify, to know the decoration IDs for use in
'minetest.set_gen_notify'.
2018-03-03 23:00:08 +00:00
paramat
c610643c4c Place schematic (on vmanip): Enable use of 'place center' flags
For 'place schematic' and 'place schematic on vmanip' APIs.
Fix 'place center' code to properly centre schematics.
Fix some comments.
2018-02-27 19:39:05 +00:00
SmallJoker
66372e75d9
is_area_protected: Rename from intersects_protection ()
* is_area_protected: Rename from intersects_protection
Return first protected position
Clarify docs: Mods may overwrite the function
2018-02-25 12:25:39 +01:00
paramat
673f7196a2 Find nodes in area (under air): Raise volume limit and document it 2018-02-21 15:54:06 +00:00
pauloue
63bcd33036 Lua API documentation: Fix spelling () 2018-02-18 10:41:22 +01:00
red-001
338d645fcf Add on_auth_fail callback ()
Called when a client fails to supply the correct password for the account it's attempting to login as.
2018-02-15 21:18:54 +01:00
you
87e08b1b3a Add minetest.is_player ()
* Add minetest.is_player

* First use for is_player
2018-02-05 15:17:10 +01:00
paramat
b7ff40eea2 Lua_api.txt: Document 'wielditem' visual in object properties 2018-02-05 05:07:36 +00:00
Loïc Blot
584d00a01c
Add minetest.bulk_set_node call + optimize Environment::set_node call ()
* Add minetest.bulk_set_node call + experimental mod unittest

* Optimize set_node function to prevent triple lookup on contentfeatures

Do only one lookup for old, and try to merge old and new lookup if node is same than previous node

* Add benchmark function + optimize vector population to have real results
2018-01-30 00:30:02 +01:00
Paramat
01bc817fe0 Intersects_protection(): Move from Minetest Game to builtin ()
A useful function that applies 'core.is_protected()' to a 3D lattice of
points evenly spaced throughout a defined volume, with a parameter for
the maximum spacing of points.
2018-01-23 19:04:58 +01:00
red-001
0425c6b8c8 CSM: Remove screenshot API
Reverted from commit 19960e26c672c6337f8c6ffbe27f2c6bca49750c
(* [CSM] add screenshot api lua)
2018-01-23 05:27:38 +00:00
red-001
49ff1d2ea8 [CSM] Remove on_connect callback ()
Fixes 
2018-01-21 18:27:27 +01:00
red-001
5dab742645 [CSM] Add functions to create particles and particlespawners. () 2018-01-20 23:31:53 +01:00
red-001
9649e47214 [CSM] Add basic HUD manipulation. ()
* [CSM] Add basic HUD manipulation.

Workaround for on_connect not working right now.
2018-01-20 14:09:58 +01:00
paramat
d45e5da8ca Biomes: Add 'get heat', 'get humidity', 'get biome data' APIs
'get biome data' returns biome id, heat and humidity.
Clean up nearby lines in lua_api.txt.
2018-01-16 08:47:07 +00:00
red-001
4c0d4e4105 Load a texturepack from the 'textures' subfolder of a game 2018-01-16 08:45:17 +00:00
paramat
70a90bc83a Lua_api.txt: Various improvements
Improve documentation for formspec 'position' and 'anchor' elements.
Add missing documentation of 'animation' and 'glow' for particle spawners.
2018-01-15 04:42:14 +00:00
ezhh
5435b07d4e Lua_api.txt: Improve bullet point indentation consistency 2018-01-13 19:37:17 +00:00
ezhh
8349a3db10 Lua_api.txt: Add chat command params info 2018-01-13 14:59:18 +00:00
paramat
62872dabac Lua_api.txt: Fix, improve and add to Object Properties documentation
Correct 'automatic rotate' to be a number instead of a bool.
2018-01-12 05:51:40 +00:00
paramat
05e9e128b9 Lua_api.txt: Improve and complete ABM documentation
Document 'active object count (wider)'.
2018-01-12 05:45:39 +00:00
Sokomine
2992b774fe Lua API docs: Add warning that schematic placing is cached 2018-01-07 11:47:52 +01:00
rubenwardy
0a83c42dfd
Fix naming conventions of noise userdata 2018-01-07 01:06:18 +00:00
Paramat
549cfd9db8 Biomes: Add vertical biome blend ()
Add 'vertical blend' parameter to biome registration that defines how
many nodes above the biome's 'y max' limit the blend will extend.
2018-01-05 00:10:55 +01:00
Thomas--S
f3b9d87076 Connected Nodeboxes: Add disconnected boxes
The `disconnected_*` boxes are the opposites of the `connect_*` ones,
i.e. when a node has no suitable neighbours on the respective side, the
according disconnected box is drawn.

* disconnected_top
* disconnected_bottom
* disconnected_front
* disconnected_left
* disconnected_back
* disconnected_right
* disconnected (when there is *no* neighbour)
* disconnected_sides (when there are *no* neighbours to the sides)
2018-01-03 04:05:21 +00:00
Dániel Juhász
2153965cf9 Line_of_sight: Improve using VoxelLineIterator
This commit rewrites line_of_sight with VoxelLineIterator.
Stepsize is no longer needed, the results will be always accurate.
2017-12-26 21:51:32 +00:00
Paramat
d04c41ad80 Vector functions: Fix vector.direction() function, improve documentation ()
vector.direction() now returns a normalised vector with direction p1 to p2.
2017-12-21 20:57:42 +01:00
Jordan Irwin
18b921015a Allow 'default' parameter in 'settings:get_bool' function
Default value is used when the setting key is not found in the config
file. If default value is not set, 'nil' is returned.

2017-12-17 15:27:37 +00:00
Ezhh
649eef9e4f Give subgames the ability to disallow specific mapgens () 2017-12-16 17:02:08 +01:00
ashtrayoz
abd8a30c05 Add callback to preserve node metadata as item metadata 2017-12-14 20:54:04 +00:00
ashtrayoz
02cc257fe0 Lua_api.txt: Fix a spelling error 2017-12-10 14:30:37 +00:00
sfan5
4edf087090 Auth handler: Player deletion & Iterator ()
* Add player deletion method to auth handler (fixes )
* Support iterating over the auth database

There was no way to do this previously and a recent commit
broke doing this the "hacky" way by accessing `core.auth_table`.
2017-12-06 17:32:49 +01:00
paramat
f470cb7270 Zoom: Set zoom FOV per-player using a player object property
Remove player object property 'can zoom'.
Add player object property 'zoom fov'.
Remove clientside setting for 'zoom fov'.
Object property default is 15 degrees in creative mode, zoom disabled
in survival mode.

Needed due to zoom now loading and/or generating distant world
according to zoom FOV.

Update object properties serialisation version to 3.
2017-12-04 02:25:10 +00:00
sfan5
ab947bd582 Update documentation regarding authentication handler and related functions
Properly document it instead of referencing the builtin handler as
authoritative "example" code.
Also adds definition of get_auth_handler() which was missing previously.
2017-12-01 09:30:03 +01:00
ezhh
6efb453cdb Lua_api.txt: Remove MT version, fix spelling and clean up
Removes references to MT version in intro section.
Update bump_version.sh to no longer manage version information.
2017-12-01 05:43:30 +00:00
Bluebird
8b1a844e69 Fix spelling mistakes in client_lua_api.txt 2017-11-29 02:24:40 +00:00
paramat
18b914ac74 Client lua api documentation: .md -> .txt
For consistency, and for much improved access on Github.

On Github:
.md disables being able to link to a line, needed daily when
quickly referring people to particular lines.
Search returns results in .md files, but you cannot then click
the line number to go to that line in the document, making searching
difficult.
Line numbers are not displayed for .md documents.
2017-11-28 23:45:57 +00:00
ezhh
b312ab4455 Fix lua_api.txt indentation issues 2017-11-28 23:45:51 +00:00
Ezhh
c0dd4ea46a Fix documentation formatting for on_death callback 2017-11-28 00:38:35 +00:00
Ezhh
76eb3f2b7a Improve documentation for player:set_attribute() 2017-11-25 23:18:50 +00:00
gituser2194
637ea86069 Fix misspellings
"diffferent" to "different"
"occuring" to "occurring"
"determin" to "determine"
"ommited" to "omitted"
"authetification" to "authentication"
"conponent" to "component"
"ommitted" to "omitted"
"celcius" to "Celsius"
"succesful" to "successful"

Misspellings found using GNU Spell version 1.0
2017-11-24 05:41:31 +00:00
paramat
4b553ece09 Stratum ore: Add option for a constant thickness stratum
Add a 'stratum thickness' integer parameter, as an alternative
to providing a 2nd noise parameter for thickness variation.
2017-11-19 00:25:39 +00:00
paramat
24c1c2fd0f Ore API documentation: Update and improve 2017-11-17 19:27:14 +00:00
paramat
4d83eb796b Lua_api.txt: Add documentation of required mapgen aliases 2017-11-13 03:40:11 +00:00
sfan5
b692454f70 Add minetest.safe_write_file() to script API 2017-11-08 16:14:05 +01:00
paramat
d693f95fc3 Lua_api.txt: Add documentation for 'eye_height' player object property 2017-11-06 13:54:42 +00:00
Rob Blanckaert
65c5539035 Add sha1 to lua utils. () 2017-10-30 08:18:18 +01:00
lisacvuk
c252ed506e CSM: Add a way to get current locale from CSM 2017-10-29 12:05:16 +00:00
paramat
241fe649f7 Biome API: Add decoration flags for underground decorations
Add "all_floors" and "all_ceilings" flags for simple and schematic
decorations. Decorations are placed on all floor and/or ceiling surfaces.
Decorations are placed before dungeon generation so placement in dungeons
is not possible.

Add 'getSurfaces()' function to mapgen.cpp that returns 2 arrays of y
coordinates for all floor and ceiling surfaces in a specified node column.

Move 'getHeight()' checks into DecoSimple and DecoSchematic. Delete
'getHeight()' functions.
2017-10-29 12:02:55 +00:00
raymoo
a637107a4e Allow overriding tool capabilities through itemstack metadata
This makes it possible to modify the tool capabilities of individual
itemstacks by calling a method on itemstack metadata references.
2017-10-29 11:57:38 +00:00
raymoo
a5d5728f24 Fix default item callbacks to work with nil users ()
* Fix default item callbacks to work with nil users

* item.lua: Handle node drops for invalid players

The if-condition for the dropping loop is the same as `inv`, which means that the 2nd possible definition of `give_item` is never used.
Remove redundant `local _, dropped_item`
2017-10-28 10:30:50 +02:00
Muhammad Rifqi Priyo Susanto
63c26413b6 Lua_api.txt: Revert changes to NoiseParams format example 2017-10-23 05:30:45 +01:00
Muhammad Rifqi Priyo Susanto
a1e1a19ac3 Improvements/fixes for noise parameter input in advanced settings
Formspec input for each individual noise parameter and flag.
Allow noise flags to be set in advanced settings, previously only settable
in minetest.conf.

Standardise 'group format' for noise parameters set in minetest.conf, as
only these support noise flags. However the older 'single line' format is
still accepted to support existing minetest.conf files.
Therefore auto-generate minetest.conf.example with noise parameters in
'group format'.

Setting 'type' in settingtypes.txt is now either 'noise_params_2D' or
'noise_params_3D', the dimension number is displayed in the advanced
settings edit page.
2017-10-23 01:28:13 +01:00
Auke Kok
c60abb2aec Correct prot_vers in lua_api.txt.
We should avoid providing incorrect struct members in documentation
since people will be coding based on them.
2017-10-19 21:39:45 -07:00
Vitaliy
75320e7e88 Real global textures ()
* Real global textures

* Add world-aligned textures
* Update minimal to support world-aligned tiles
* Update minimal
2017-10-15 09:34:14 +02:00
paramat
9a41a3d0f1 Simple decorations: Make 'place_offset_y' usable with simple decorations
Necessary for placing the base cube of 'plantlike_rooted' drawtype in the
seabed instead of on it.
Useful for placing decorations sunk into, or buried in, the ground.
2017-10-10 19:57:28 +01:00
paramat
0c9ca27ffc Simple decorations: Add 'param2_max' parameter for random param2
If 'param2_max' is not used, parameter 'param2' works as before for
compatibility.
If 'param2_max' is used, 'param2' and 'param2_max' become the lower
and upper bounds of a per-decoration random param2.
2017-10-09 18:27:17 +01:00
adrido
e6e5fa3bf8
Formspec: textarea with scrollbar improvements
Increase scrollrate depending on fontsize

Scroll on mousewheel

Allow scrolling and marking text on non writable textareas

Update lua api about readonly mode

Show scrollbar if text overflows
2017-10-09 08:11:03 +02:00
adelcoding1
9b8fa99fe3
FormSpec : Add an auto vertical scrollbar to the textarea 2017-10-09 08:11:00 +02:00
James Alexander Stevenson
4337b48962 Move register_on_modchannel_signal() ()
Moved from lua_api.txt to client_lua_api.md.
2017-10-05 16:14:10 +02:00
Vincent Glize
4e19791cde [CSM] Add callback on open inventory () 2017-10-02 22:09:49 +02:00
paramat
e2afcf85ce Stratum ore: Allow use with no noise for simple horizontal strata
If either of the 2 noise parameters are omitted the ore will occur from y_min
to y_max in a simple horizontal stratum. As this does not compute noise
performance improves, and is ideal for placing many layers.

Clean up some nearby ore documentation.
2017-10-01 22:31:44 +01:00
Hybrid Dog
7e488b926b Lua_api.txt: Clarify arguments of functions, plus some cleanup 2017-09-28 20:32:16 +01:00
raymoo
5258f3b857 Document orientation parameter of set_attach () 2017-09-28 18:40:47 +02:00
orwell96
08846cd05c Add static_save property to luaentites to not save them statically. ()
* Add no_static_save property to luaentites to not save them statically.
This allows for temporary objects that would get deleted anyway as soon as they are loaded again without the static saving overhead.

* Use positive meaning for static_save object property

* Invert meaning also for the LUA parameter
Note: getboolfield() does not change &result when field does not exist, so it defaults to the default value in the header file, which is 'true'.

* Extend push_object_properties()
2017-09-28 17:11:51 +02:00
Loïc Blot
6f1c907204 Implement mod communication channels ()
Implement network communication for channels

* Implement ModChannel manager server side to route incoming messages from clients to other clients
* Add signal handler switch on client & ModChannelMgr on client to handle channels
* Add Lua API bindings + client packet sending + unittests
* Implement server message sending
* Add callback from received message handler to Lua API using registration method
2017-09-26 00:11:20 +02:00
paramat
6df312a608 Can_zoom player object property: Add missing documentation 2017-09-25 19:33:31 +01:00
paramat
a016b64838 Rooted plantlike drawtype: Add remaining documentation
Plus a small clarification of 'glasslike framed' documentation.
2017-09-19 09:35:28 +01:00
paramat
d8f20d029a Leveled nodebox: Change levels from 1/63rds to 1/64ths
Add missing documentation of leveled nodebox to lua_api.txt, plus
a little cleaning up nearby.
2017-09-18 11:05:39 +01:00
paramat
27144b4716 Biome API: Revert biomes, decos, ores being relative to water level
Feature is unnecessary and would greatly complicate future development,
it would also make 'get biome at pos' extremely complex.
Mgv7: Revert option to repeat surface biomes in floatlands, which
depended on the above.
2017-09-17 05:31:48 +01:00
paramat
a1389c3865 Generate biomes: Recalculate biome at biome lower limit
Prevents biome nodes passing below the defined y_min of that biome.
2017-09-16 05:14:04 +01:00
SmallJoker
edbc533414 Customizeable max breath for players ()
* Customizeable maximal breath for players
2017-09-15 12:18:47 +02:00
Rob Blanckaert
a9d43a0471 Object properties: Add 'glow', disables light's effect if negative
The 'glow' value is added to the ambient light value.
Negative 'glow' disables light's effect on object colour, for faking
self-lighting, UI-style entities, or programmatic colouring in mods.
2017-09-14 04:06:05 +01: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
Auke Kok
5b3fbf9cf7 Implement client node dig prediction
Dig prediction allows clients to remove dug nodes without
waiting for server acknowledgement.
This patch allows mods to override dig prediction,
it can either be turned off or a different "prediction node"
can be selected.
2017-09-11 20:54:20 +02:00
red-001
d10cccee31 Allow the join/leave message to be overridden by mods. 2017-09-11 20:54:07 +02:00
paramat
51002b1629 Schematic decorations: Add 'place_offset_y' placement parameter
For precise control of schematic vertical position relative to the
'place_on' node.
Avoids workarounds that add empty nodes to a schematic and therefore
reduce performance.

Also remove long-unused decoration cutoff code.
2017-09-10 01:31:30 +01:00
Loïc Blot
40dd03e328 Implement minetest.register_can_bypass_userlimit ()
* Implement minetest.register_on_userlimit_check

This new callback permits to bypass the max_users parameter with new mods condition, based on player name or IP
Only one mod needs to permit it.

Move core part for builtin privileges checks to builtin
2017-09-04 22:08:59 +02:00
Paramat
9f6d90aa81 Ores: Add stratum ore ()
Creates a single undulating ore stratum that is continuous across mapchunk
borders and horizontally spans the world.
Due to being continuous is ideal for creating bands of alternative stone
type running through cliffs and mountains, or underground layers.

Add missing documentation of 'ore_param2' parameter.
2017-09-03 22:32:21 +02:00
Rui
c0dac4d928 Remove nodeupdate completely () 2017-09-01 13:40:09 +02:00
sapier
bf403b923a Fix animation frame_speed and blend loosing precision due to incorrec… ()
* Fix animation frame_speed and blend loosing precision due to incorrect data type
Add lua function set_animation_frame_speed to update the frame speed without resetting the animation to start
2017-09-01 11:15:12 +02:00
Ben Deutsch
43f9e948a1 Documentation for 'slippery' node group () 2017-08-29 21:48:43 +02:00
rubenwardy
72c09f524b Fix mistake when calling on_priv_grant/revoke, and document them () 2017-08-29 07:57:56 +02:00
zeuner
1f207a3ddb Lua API: Add function to deregister single biomes () 2017-08-27 18:39:47 +02:00
you
e09c7fceaa core.get_objects_inside_radius: Omit removed objects ()
Fixes 
2017-08-27 18:38:50 +02:00
Nathanaël Courant
5a6618cc57 Add '@n' escape sequences and some documentation on translated strings. 2017-08-26 09:43:08 +02:00
rubenwardy
096ea031de Add on_grant and on_revoke callbacks ()
* Add register_on_priv_grant/revoke, and on_grant/revoke to privs. Call from /grant and /revoke

* Call on_grant and on_revoke callbacks from set_privs
2017-08-26 08:17:05 +02:00
Dániel Juhász
f6a33a1a7a Overlays for wield and inventory images ()
* Overlays for wield and inventory images
2017-08-25 13:20:53 +02:00
Ekdohibs
b24e6433df Add clientside translations. 2017-08-24 17:54:10 +02:00
stujones11
ac4884c3d6 Make entity selection and collision boxes independently settable ()
* Make entity selection and collision boxes independently settable
2017-08-24 10:01:16 +02:00
SmallJoker
f7d50a8078 Respect object property hp_max field for players ()
* Respect object property hp_max field for players
This allows modders to configure the maximal HP per player

* Statbars: Downscale bar to full 20 HP when exceeding this value
Add default max HP for players and breath constants to builtin
Document the constants

* Rename PLAYER_MAX_HP -> PLAYER_MAX_HP_DEFAULT
2017-08-23 22:32:10 +02:00
paramat
7657fe7a50 Minimap: Add new HUD flag for minimap radar mode
Flag default is true to not change default behaviour.
The existing minimap HUD flag remains the master control for minimap.
2017-08-20 23:58:15 +01:00
Loïc Blot
c99dcbaca9 New version scheme ()
* Version changes: current dev version is now 0.5.0

* This change permit to have multi branches with various versions
* Dev version is 0.5.0-dev and next release will be 0.5.0
2017-08-20 17:20:11 +02:00
Dániel Juhász
71b02d626f Make dropped items colorable 2017-08-14 12:52:13 +01:00
Wuzzy
2ea26e655d Add slippery group for nodes (players/items slide) 2017-08-13 21:39:08 +01:00
SmallJoker
4381fe0a0a Trigger on_rightclick regardless on the formspec meta field
Document behaviour for older clients.
2017-08-13 21:37:30 +01:00
Loïc Blot
550c0404a8 Add LuaEntity on_death callback ()
Add LuaEntity on_death callback

This fixes 
2017-07-27 11:32:35 +02:00
paramat
0c99da4255 Create_schematic documentation: Update for per-node force-place
The probability list has to also encode per-node force-place.
2017-07-26 02:41:41 +01:00
Ben Deutsch
c50a57c070 Clouds API: change speed from 'y' to 'z', ColorSpecs in Lua docs () 2017-07-24 18:04:00 +02:00
Loïc Blot
79f19b8369 [CSM] Add flavour limits controlled by server ()
* [CSM] Add flavour limits controlled by server

Server send flavour limits to client permitting to disable or limit some Lua calls

* Add limits for reading nodedefs and itemdefs

* flavour: Add lookup node limits

* Merge get_node_or_nil into get_node.

Sending fake node doesn't make sense in CSM, just return nil if node is not available for any reason

* Add node range customization when noderange flavour is enabled (default 8 nodes)

* Limit nodes range & disable chat message sending by default

* Bump protocol version
2017-07-18 21:39:55 +02:00
cx384
d60434c7b1 Add information about the button height 2017-07-16 13:10:34 +02:00
Loic Blot
84aa845911
Revert "CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand""
This reverts commit bdac12761cd92960c3df83c932aa610f2322215f.
2017-07-15 09:28:10 +02:00
rubenwardy
bdac12761c CSM: Revert "[CSM] Add send_chat_message and run_server_chatcommand"
Original PR: .
This reverts commit 39f4a2f607d44738d60db84eba4b30e3d7450204.
2017-07-15 01:35:18 +01:00
Elijah Duffy
dc3ca09e0e Remove remaining modstore code () 2017-07-14 20:37:58 +02:00
paramat
8299e4b67e Biomes/decorations/ores: Make relative to 'water_level' setting
Add 'biome_zero_level' argument to 'generateBiomes()', 'deco_zero_level'
argument to 'placeAllDecos()' and 'ore_zero_level' to 'placeAllOres()'
to allow mapgens to vertically shift the registered biomes, decorations
and ores per-mapchunk.
Will also allow many realm possibilities in future mapgens.
2017-07-11 01:14:24 +01:00
number Zero
ef285b2815 Add 'plantlike_rooted' drawtype
Useful for underwater plants.
Node consists of a base cube plus a plantlike extension that can pass through
liquid nodes above without creating air bubbles or interfering with liquid flow.
Uses paramtype2 'leveled', param2 defines height of plantlike extension.
2017-07-11 01:02:22 +01:00
Dániel Juhász
3caad3f3c9 Expose getPointedThing to Lua
This commit introduces Raycast, a Lua user object, which can be
used to perform a raycast on the map. The ray is continuable, so one can
also get hidden nodes (for example to see trough glass).
2017-07-07 22:28:23 +01:00
paramat
936d67dad4 Ores: Make 'absheight' flag non-functional
The 'absheight' flag was added years ago for the floatlands of 'indev'
mapgen (now deleted). The feature mirrored all ore placement around y = 0
to place ores in floatlands.

In MTG we now use dedicated ore registrations for floatlands.

The feature is crude, inflexible, problematic and very rarely used, it
also makes ore vertical range code more complex.
Minetest 0.5 is a good chance to remove the feature.

The flag itself remains to not break flag values.
2017-06-26 04:38:36 +01:00
Loic Blot
1237206d4b
Revert "Ores: Make 'absheight' flag non-functional"
This reverts commit 90ed6fc732ca667ca970b7c38d39c809e5c3553e.
2017-06-25 23:08:31 +02:00
paramat
90ed6fc732 Ores: Make 'absheight' flag non-functional
The 'absheight' flag was added years ago for the floatlands of 'indev'
mapgen (now deleted). The feature mirrored all ore placement around y = 0
to place ores in floatlands.

In MTG we now use dedicated ore registrations for floatlands.

The feature is crude, inflexible, problematic and very rarely used, it
also makes ore vertical range code more complex.
Minetest 0.5 is a good chance to remove the feature.

The flag itself remains to not break flag values.
2017-06-25 05:01:42 +01:00
Dániel Juhász
5a41a98ff6 Helper methods for hardware colorization () 2017-06-24 20:15:09 +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
Dániel Juhász
0fcaf9fb1b Automatic item and node colorization ()
* Automatic item and node colorization

Now nodes with a palette yield colored item stacks, and colored items
place colored nodes by default. The client predicts the colorization.

* Backwards compatibility

* Use nil

* Style fixes

* Fix code style

* Document changes
2017-06-20 11:19:56 +02:00
SmallJoker
6eb03c135f find_nodes_in_area: Extend maximal count to U32_MAX ()
Extend documentation, limit area volume
Remove u16 count limitation

* Prevent integer overflow, replace minp/maxp with pos1/pos2
2017-06-19 16:30:26 +02:00
Rui
ff73c7a5da Sound: Add pitch option ()
* Sound: Add pitch option
2017-06-11 13:58:26 +02:00
DS
07be63b287 fix an example in lua_api () 2017-06-10 13:49:28 +02:00
DS
44495ea719 CSM: Fix documentation error for register_on_*_chat_messages () 2017-06-09 15:48:04 +02:00
red-001
c91a8c7061 [CSM] Add function to get player privileges ()
* [CSM] Add function to get player privileges + move related help functions to common

* Added @Zeno- const
2017-06-07 09:09:06 +02:00
Loic Blot
47f5e7fd0f
Fix bump_version.sh & client_lua_api.md
This modification was forgotten at release
2017-06-06 19:56:15 +02:00
red-001
33b513f76c Fix typos/mistakes in the documentation for colour related functions. () 2017-06-06 17:02:44 +02:00
Elijah Duffy
fee5171298 Main Menu: Add get_clientmodpath API ()
Add `core.get_clientmodpath` to main menu API (also possible in async calls).
2017-06-06 14:34:31 +02:00
ShadowNinja
80dc961d24 Bump version to 0.4.16 2017-06-03 14:42:10 -04:00
ShadowNinja
e4d3639d40 Update remove_player documentation
This function only removes player meta data,
not player authentication data.
2017-06-03 14:39:49 -04:00
Wuzzy
e91ffa0c91 Mention data type for get/set_attribute in docs () 2017-06-03 08:20:22 +02:00
Wuzzy
1b83b0acfd Lua_api.txt: Various edits and Markdown syntax improvements
Add minor bits of missing Lua API documentation.
Remove L-system lighting bug warning.
Clarify 2 lines in node timer documentation.
Fix many Markdown syntax errors in lua_api.txt.
2017-06-02 18:01:12 +01:00
Dániel Juhász
30c51a1115 Document hardware coloring and soft node overlays () 2017-06-02 15:57:59 +02:00
Pierre-Adrien Langrognet
39f4a2f607 [CSM] Add send_chat_message and run_server_chatcommand API functions ()
* [CSM] Add send_chat_message and run_server_chatcommand API functions

* Add client-side chat message rate limiting

* Limit out chat queue size

* [CSM] Add minetest.clear_out_chat_queue API function and .clear_chat_queue chatcommand

* Last fixes/cleanups before merge
2017-05-21 23:06:51 +02:00
bigfoot547
dfa0c15ce0 [CSM] Add function to get the definition of items ()
Add node def and item def documentation.

Please be ready for merge!
2017-05-21 14:40:55 +02:00
red-001
772944daf6 Fix CSM crash ()
Caused by dc5bc6c and them made worse by 5ebf8f9
2017-05-20 16:45:49 +02:00
Loïc Blot
e25a38e3fb When minimap is disabled in configuration, really disable it ()
* When minimap is disabled in configuration, really disable it
2017-05-19 07:25:27 +02:00
SmallJoker
0120fe16a7 CSM: Document forgotten functions 2017-05-16 21:57:26 +01:00
rubenwardy
f286c54908 Replace inconsistent mentions of core.* with minetest.* () 2017-05-12 11:27:58 +02:00
sfan5
071e114ffa Private nodemeta ()
* Private node metadata that isn't sent to the client
2017-05-10 15:29:21 +02:00
paramat
da88a18676 Revert custom player collision box and step height commits
These caused inability to pass through 2 node high spaces or step up onto slabs
or steps when a new client connected to an older server.
2017-05-09 03:52:28 +01:00
Loïc Blot
c1b3ed4180 Player attrs: permits to remove an attribute by setting value to nil ()
* Player attrs: permits to remove an attribute by setting value to nil

When doing player:set_attribute("attr", nil) remove attribute

Also remove a useless check on C++ API part (already done by checkplayer)

Fix 
2017-05-07 12:13:15 +02:00
paramat
2d5bd7f414 Player properties: Set correct default collisionbox
Recent commit b6f4a9c7e1a4f0bac66fd6f6ff844425ac775975 removed a hardcoded
player collisionbox which resulted on falling back to an incorrect default.
This stopped players walking through 2-node high spaces and made the player
slightly wider.

Improve docs for custom player collisionbox feature and reformat nearby lines.
2017-05-07 06:10:13 +01:00
TeTpaAka
b6f4a9c7e1 Make the player collisionbox settable 2017-05-06 15:41:05 -04: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
red-001
5ebf8f9450 [CSM] add on_item_use () 2017-05-06 21:12:44 +02:00
bigfoot547
de028fc056 [CSM] Add camera API ()
* [CSM] Add camera API
roper rebase & squash

* Address nerzhul's review
2017-05-05 22:07:36 +02:00
red-001
d6cf5450a8 Add option to also check the center to find_node_near ()
* Add option to also check the center to `find_node_near`
2017-05-04 22:52:58 +02:00
red-001
ae0d8f74d7 Add function to get server info. 2017-05-04 04:25:45 +01:00
paramat
ad9fcf859e Set sky API: Add bool for clouds in front of custom skybox
Default true.
Add 'm_clouds_enabled' bool to sky.h, set from new bool in 'set sky' API.
Make 'getCloudsVisible()' depend on 'm_clouds_enabled' instead of
'm_visible' (whether normal sky is visible).
2017-05-02 20:42:35 -07:00
SmallJoker
f9fdb48dc8 Sneak: Improve and fix various things
Remove useless `got_teleported`.
Fix jitter when walking against the sneak limits.
Fix damage evading on sneak ladders.
2017-05-03 03:16:20 +01:00
Brandon
bd921a7916 Sound API: Add fading sounds 2017-05-03 03:12:45 +01:00
Ben Deutsch
f1d7a26b7c Add clouds API 2017-04-30 00:06:13 +01:00
Vincent Glize
dc5bc6cac7 [CSM] Add event on_place_node API lua ()
* [CSM] Add event on_place_node API lua
2017-04-29 12:08:16 +02:00
Vincent Glize
19960e26c6 [CSM] add screenshot api lua ()
* [CSM] add screenshot api lua
2017-04-29 09:16:06 +02:00
you
7f4cdbcbe9 Fix click-digging torches ()
Torches are dug instantly again.
When the digging time is 0, a delay of 0.15 seconds is added between digging nodes. If the left mouse button is released, the delay is set to 0, thus click-digging.
2017-04-28 20:12:28 +02:00
Auke Kok
e21a1ab3bd Allow mesh and nodeboxes to wave like plants or leaves. ()
We introduce a new value for "waving" - 2:

0 - waving disabled
1 - wave like a plant
2 - wave like a leave

Plantlike nodes will only allow waving = 1, but for leaves we will
permit both 1 and 2 since current minetest_game sets it to 1 for
all leaves. This makes it somewhat backwards compatible.

For mesh and nodebox, values 1 and 2 are both valid, and the node
can wave in both fashions as desired.

I've tested this with the crops:corn plants, which are mesh nodes,
and the results are really good. The code change is trivial as
well, so I've opted to document the waving parameter in lua_api.txt
because it was missing from there.

Nodeboxes likely will not wave properly unless waving = 2. However
it's possible that waving=1 may be desired by some mod developers
for geometries I have not tried, so the code will not prohibit
either value for mesh and nodebox drawtypes.

Add lua_api.txt documentation for this feature and document both
the existing functionality and the expansion to mesh and nodebox
drawtypes.
2017-04-28 20:11:43 +02:00
red-001
1ef9eee311 Allow scripts to get the client protocol version in non-debug builds. () 2017-04-27 11:49:44 +02:00
Bluebird
d130e1fdc0 Fix incorrect formspec-tooltip doc, add detail in 'floodable' & 'on_flood' docs ()
* Fix incorrect formspec tooltip documentation

* Improve `floodable` and `on_flood` documentation.

The original documentation did not specify that liquids should not themselves be floodable. This is probably something that should be mentioned.
2017-04-27 11:49:07 +02:00
Bluebird
70ceeb80a1 Tiny documentation fix. ()
There are plenty of lines longer than 80 characters, and spliting the function declaration across two lines can be momentarily confusing.
2017-04-26 07:24:15 +02:00
Loïc Blot
29ab20c272 Player data to Database ()
* Player data to Database

Add player data into databases (SQLite3 & PG only)

PostgreSQL & SQLite: better POO Design for databases

Add --migrate-players argument to server + deprecation warning

* Remove players directory if empty
2017-04-23 14:35:08 +02:00
paramat
58c083f305 Sneak glitch: Set default to false
The 'sneak glitch' physics override now controls whether a player can
use the new move code replications of the old sneak side-effects:
sneak ladders and 2 node sneak jump. This completes our intention to
replicate the old sneak side-effects in new code and provide them as
an option that is disabled by default.
2017-04-22 01:23:57 +01:00
Auke Kok
cca58fe0fd Add on_flood() callback.
This callback is called if a liquid definitely floods a non-air
node on the map. The callback arguments are (pos, oldnode, newnode)
and can return a `bool` value indicating whether flooding the
node should be cancelled (`return true` will prevent the node
from flooding).

Documentation is added, the callback function was tested with a
modified minetest_game.

Note that `return true` will likely cause the node's `on_flood()`
callback to be called every second until the node gets removed,
so care must be taken to prevent many callbacks from using this
return value. The current default liquid update interval is 1.0
seconds, which isn't unmanageable.

The larger aim of this patch is to remove the lava cooling ABM,
which is a significant cost to idle servers that have lava on their
map. This callback will be much more efficient.
2017-04-22 01:23:51 +01:00
Dániel Juhász
1ffb180868 Soft node overlay ()
This commit adds node overlays, which are tiles that are drawn on top of
other tiles.
2017-04-21 23:34:59 +10:00
Dániel Juhász
57e5aa6628 Light update for map blocks
This is not really different from the light update of a voxel
manipulator. This update does not assume that the lighting was correct
before, therefore it is useful for correction.

Also expose this function to the Lua API for light correction, and
allow voxel manipulators not to update the light.
2017-04-20 05:39:14 +02:00
Hybrid Dog
858c722974 Tools: Fix tool digging speed limit 2017-04-19 02:01:15 +01:00
paramat
f6da7b3fda Sneak: Add option for old move code
Temporary option for the old move code for specific old sneak behaviour.
Enabled by setting the added 'new move' physics override to false.
By default 'new move' is true.
2017-04-17 10:13:05 +01:00
Loïc Blot
34d32ce55a Implement delayed server shutdown with cancelation () 2017-04-15 23:19:18 +02:00
bigfoot547
e80a83d1cb [CSM] Add function to set minimap shape ()
* [CSM] Add function to set minimap shape

Also deprecates `toggle_shape`.

* Oh fish, I messed that one up!

* Fix Style

* Sorry, I missed something

I still had the `luamethod` call in there!

* Add getters

* Remove extra line

* Remove useless variable

Please review again @nerzhul . Thanks!

* Satisfy nerzhul
2017-04-14 09:04:41 +02:00
Dániel Juhász
021e667511 Add documentation for map block format 27 () 2017-04-13 10:19:46 +02:00
Vincent Glize
8bdf9a44c6 [CSM] Fix localplayer documentation () 2017-04-12 23:05:01 +02:00
Vincent Glize
8ad3dad137 LocalPlayer api lua 2017-04-08 22:04:30 -07:00
Dániel Juhász
58d83a7bb2 Hardware coloring for itemstacks
Adds the possibility to colorize item stacks based on their metadata.

In the item/node definition you can specify palette (an image file)
and color (fallback color if the item has no palette or metadata).
Then you can add palette_index to the metadata.

Dropped itemstacks with different colors do not merge.
2017-04-08 18:39:15 -07:00
raymoo
fb4c730708 Document that write_json will error on unserializable types. ()
Previously it was erroneously documented that it would save them as null.
2017-04-08 10:42:59 +02:00
Vincent Glize
f73534640a [CSM] Add event on_connect player API lua ()
* Add event on_connect player API lua
2017-04-08 08:20:30 +02:00
red-001
88b9b9652a [CSM] Add function to get the server protocol version. () 2017-04-06 22:50:45 +02:00
red-001
4ee6be856d [CSM] Add support for positional audio. ()
Fixes parts of .
2017-04-06 08:14:31 +02:00
red-001
000ec26001 [CSM] Add local node meta reference. () 2017-04-04 07:41:37 +02:00
MarkuBu
26f4a5c2d1 First commit for fine pointed () 2017-04-01 16:50:53 +02:00
red-001
63ac62ec8a [CSM] Add function and chat command to disconnect from server. () 2017-04-01 13:40:56 +02:00
paramat
ea549bbae3 Paramtype2: Add missing type CPT2_GLASSLIKE_LIQUID_LEVEL
Add the missing paramtype2 for param2 controlling the liquid level
inside the glasslike_framed drawtype.
Add missing documentation of the feature to lua_api.txt.
Update and improve comments for drawtype enumerations in nodedef.h.
2017-03-30 04:52:54 +01:00
Diego Martínez
81c3dc32a8 Add functions to strip color information. () 2017-03-28 21:55:39 +02:00
red-001
7c85405d96 [CSM] Fix errors in and improve the CSM documentation. () 2017-03-28 08:26:54 +02:00
bigfoot547
9efc5da0fb [CSM] Add function to get player names in range ()
* [CSM] Add function to get currently connected player names
2017-03-22 21:13:03 +01:00
Paramat
c4b98deb61 Firelike drawtype: Add missing docs for visual_scale in lua_api.txt () 2017-03-20 22:22:16 +01:00
red-001
d31750cb93 Give CSM access to use core.colorize() () 2017-03-17 19:20:13 +01:00
Loïc Blot
40ce538aad [CSM] Add minimap API modifiers ()
* Rename Mapper (too generic) to Minimap
* Add lua functions to get/set position, angle, mode for minimap
* Client: rename m_mapper to m_minimap
* Add minimap to core.ui namespace (core.ui.minimap)
* Add various functions to manage minimap (show, hide, toggle_shape)
* Cleanup trivial declaration in client
2017-03-16 10:34:54 +01:00
SmallJoker
c05dfac9a3 lua_api: Document minetest.features () 2017-03-15 22:07:19 +01:00
rubenwardy
84f4565e13 Add disclaimer to client_lua_api.txt () 2017-03-14 07:51:07 +01:00
red-001
88df9fb5b6 Add get_wielded_item 2017-03-13 23:56:05 +01:00
red-001
0727bb3ddd [CSM] Add on_punchnode callback 2017-03-13 23:56:05 +01:00
red-001
37df9cb7d7 [CSM] Add get_node and get_node_or_nil 2017-03-13 23:56:05 +01:00
red-001
073f5cf03d [CSM] Add on_dignode callback () 2017-03-13 23:56:05 +01:00
red-001
c42c53fccf [CSM] Add local formspecs. () 2017-03-13 23:56:05 +01:00
Loïc Blot
2c19d51409 [CSM] sound_play & sound_stop support + client_lua_api doc ()
* 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
kilbith
c9492b4d37 GUI: Allow texture packs to customize the progress bar () 2017-03-13 08:07:14 +01:00
Dániel Juhász
ab371cc934 Light calculation: New bulk node lighting code
This commit introduces a new bulk node lighting algorithm to minimize
lighting bugs during l-system tree generation, schematic placement and
non-mapgen-object lua voxelmanip light calculation.

If the block above the changed area is not loaded, it gets loaded to avoid
lighting bugs.
Light is updated as soon as write_to_map is called on a voxel manipulator,
therefore update_map does nothing.
2017-03-11 02:06:18 +00:00
zaoqi
c9ac722ea9 Add minetest.spawn_falling_node(pos) ()
* Add minetest.spawn_falling_node(pos)

* lua_api.txt: Add minetest.spawn_falling_node(pos)

* Update minetest.spawn_falling_node(pos)
2017-03-04 18:36:37 +01:00
adelcoding1
6de83a2756 FormSpec: Add position and anchor elements () 2017-03-04 10:46:55 +01:00
red-001
01b2d2c66c Fix the documentation for minetest.is_yes () 2017-02-20 02:11:53 +10:00
rubenwardy
74b670a793 Correct lua_api.txt docs related to meta () 2017-02-10 07:59:38 +01:00
Loïc Blot
ef6feca501 Add ModMetadata API ()
* mod can create a ModMetadata object where store its values and retrieve it.
* Modmetadata object can only be fetched at mod loading
* Save when modified using same time as map interval or at server stop
* add helper function to get mod storage path
* ModMetadata has exactly same calls than all every other Metadata
2017-02-08 00:15:55 +01:00
rubenwardy
f2f9a92351 Add per-stack descriptions using ItemStack Metadata 2017-02-04 22:07:55 +00:00
rubenwardy
f2aa2c6a98 Add ItemStack key-value meta storage 2017-02-04 22:07:55 +00:00
sapier
e761b9f486 Add multiply texture modifier
Allows colorizing of textures using a color multiplication method.
2017-01-30 16:37:17 +00:00
SmallJoker
79d752ba4f from_table: Fix crash for missing inventory or field 2017-01-28 16:38:46 +01:00
sapier
814ee971f7 Make entity on_punch have same signature and behaviour as player on_punch 2017-01-28 15:57:54 +01:00
Loïc Blot
b7a98e9850 Implement player attribute backend ()
* This backend permit mods to store extra players attributes to a common interface.
* Add the obj:set_attribute(attr, value) Lua call
* Add the obj:get_attribute(attr) Lua call

Examples:
* player:set_attribute("home:home", "10,25,-78")
* player:get_attribute("default:mana")

Attributes are saved as a json in the player file in extended_attributes
key

They are saved only if a modification on the attributes occurs and loaded
when emergePlayer is called (they are attached to PlayerSAO).
2017-01-27 08:59:30 +01:00
Auke Kok
7fc6719968 core: Add dir_to_yaw and yaw_to_dir helpers
These are needed to go from things like entity yaw to a vector
and vice versa.
2017-01-23 07:38:39 +00: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
Dániel Juhász
d04d8aba70 Add hardware node coloring. Includes:
- Increase ContentFeatures serialization version
- Color property and palettes for nodes
- paramtype2 = "color", "colored facedir" or "colored wallmounted"
2017-01-23 07:27:12 +01:00
sapier
c57b4ff9b5 Add Entity get_texture_mod() to Lua API
Send texture modifier to clients connecting later too
2017-01-21 17:01:02 +01:00
Elijah Duffy
efa54f9c46 Add chatcommand unregister and override API ()
Introduces two functions to unregister and override chatcommands.
minetest.unregister_chatcommand("<name>") and
minetest.override_chatcommand("<name>", {<redifinition>})
2017-01-20 19:49:20 +01:00
sfan5
7279f0b373 Add particle animation, glow
This is implemented by reusing and extending the
TileAnimation code for the methods used by particles.
2017-01-18 23:21:01 +01:00
rubenwardy
c5967f75f0 Add minetest.player_exists() () 2017-01-18 11:19:57 +01:00
rubenwardy
63c892eedf Rename ObjectRef methods to be consistent and predictable 2017-01-16 15:34:44 +00:00
Rui
ec30d49e02 Add staticdata parameter to add_entity ()
* Add staticdata parameter to add_entity
* Add add_entity_with_staticdata to core.features
2017-01-09 20:39:45 +01:00
LNJ
545c37f613 lua_api.txt: Add registered_chatcommands to global tables 2017-01-05 21:38:43 +00:00
rubenwardy
e8b7179ccd Expose and document chatcommands as minetest.registered_chatcommands 2017-01-04 20:56:07 +00:00
sfan5
a07b032245 Add 2D sheet animation for nodes 2017-01-02 15:28:06 +01:00
Luke Puchner-Hardman
7057c196c4 Added "[sheet" to the texture special commands.
"[sheet:WxH:X,Y" assumes the base image is a tilesheet with W*H tiles
on it and crops to the tile at position X,Y.  Basically it works
like "[verticalframe" but in 2D.

For testing, I combined the four default_chest images into one.
2017-01-02 15:28:06 +01:00
sfan5
b16252dcae Various anticheat improvements
* Calculate maximum interact distance from wielded tool
* New "interacted_while_dead" cheat_type for the Lua API
* Disallow dropping items while dead
* Move player to spawn before resurrecting them
2016-12-26 22:34:29 +01:00
sfan5
231ac33d34 Bump version to 0.4.15 2016-12-22 23:14:17 +01:00
Auke Kok
2e69711613 Simple deco: Allow setting param2 value on placement
Schematics can already be placed with a param2 value, but not
simple 1-node plant decorations of the simple type.

This adds a `param2` field to the simple deco type that is
checked to be between 0 and 255, and put to the placed node
at mapgen.

This can be used to put a degrotate value in, or e.g. a fill
value for leveltype nodes, or a place_param2 value at mapgen
placement, or vary the shape of meshoptions plantlike drawtype.
2016-12-07 04:17:17 +00:00
Amaz
8b63fbefba Fix incorrect docs about minetest.hud_replace_builtin ()
Fixes https://github.com/minetest/minetest/issues/4832
2016-12-02 11:41:08 +01:00
Bluebird
144da5f522 Very small documentation fix. () 2016-12-02 20:20:55 +10:00
paramat
105676b952 Lua_api.txt: Clarify use of looping sounds 2016-12-01 05:09:01 +00:00
sfan5
c38985825f Allow restricting detached inventories to one player
This combats the problem of sending the hundreds of
"creative" / "armor" or whatever detached invs that
exist on popular servers to each and every player
on join or on change of said invs.
2016-11-28 13:41:19 +01:00
TeTpaAka
785a9a6c1a Wieldhand: Allow overriding the hand 2016-11-26 03:49:30 +00:00
orwell96
0d1c9598a0 Make supplying empty formspec strings close the formspec ()
This will only happen if the formname matches or if formname is "".
2016-11-23 02:15:22 +10:00
orwell96
681d127ff1 Particles: Make attached particle spawners respect the parent's yaw
Position, velocity and acceleration vectors of particles are rotated
by the yaw of the parent object so that they are truly relative to it.
Clarify new attached particle spawner behavior in lua_api.txt.
2016-11-18 06:18:54 +00:00
Auke Kok
4a0a6723af Builtin/../item: Enable tool breaking sounds
If a tool wears out and is destroyed, it's itemstack count
goes to 0, and we can optionally play a breaking sound.

This patch implements playing a breaking sound when this
occurs. Sounds need to be added to the tool itemdef
registration as the sound name string in the .sound.breaks
member.
2016-11-18 06:15:08 +00:00
Wuzzy
8e61c1dfd9 Lua_api.txt: Naming convention for custom item/entity fields
Custom (non-engine) field names of items and entities are allowed.
This is now documented in lua_api.txt. Field names beginning with
an underscore are now reserved for mod use, the engine must not
introduce any fields beginning with an underscore.
2016-11-15 23:08:34 +00:00
sfan5
5fd1ef9b58 Revert "Adding particle blend, glow and animation ()"
This reverts commit 93e3555eae2deaeca69ee252cfa9cc9c3e0e49ef.
2016-11-14 15:28:06 +01:00
Foghrye4
93e3555eae Adding particle blend, glow and animation () 2016-11-15 00:09:59 +10:00
est31
649448a2a9 Rename nodeupdate and nodeupdate_single and make them part of the official API
Now, the renamed forms of nodeupdate and nodeupdate_single are part of the official API.

As nodeupdate has been used by Minetest Game and in mods despite of not
being part of the official API, we ease the transition by still supporting
it for the 0.4.15 release. After the release, the two functions can be removed.

The removal will not violate the stability promise, as that promise only
includes the official and documented API.

Also, make some formerly global functions local. They most likely haven't
been used by mods, therefore they won't get stubs with deprecation warnings,
hard erroring directly.
2016-11-14 13:08:22 +01:00
paramat
67ec2fa92d Nodeupdate: Remove documentation in lua_api.txt
In preparation for nodeupdate being renamed and made official API
in future.
2016-11-12 06:45:09 +00:00
Brandon
bf315c05f1 Add minetest.get_server_uptime() function to Lua API ()
Add minetest.get_server_uptime() function to Lua API
2016-11-02 09:36:58 -07:00
ShadowNinja
7607b0ac20 Add version API 2016-10-31 21:53:00 -07:00
paramat
70e2df4f86 Lua voxelmanip: Add optional buffer param for 'get param2 data'
Update lua_api.txt.
2016-10-31 10:59:38 +00:00
raymoo
1fd9a07497 Document item use callbacks () 2016-10-27 13:24:34 +10:00
paramat
74eb7f50c9 Lua_api.txt: Clarify 'override_meta' bool in 'set mapgen setting' 2016-10-21 05:49:06 +01:00
rubenwardy
0d740c5d82 Builtin: Add vector.floor helper function 2016-10-17 22:03:49 +02:00
sfan5
9a3129da5e Make documentation about ItemStack:set_{name,count,wear} clearer
These methods do not actually fail but instead clear the item stack
	and return false if a value like e.g. "" is passed.
2016-10-15 12:42:59 +02:00
raymoo
c9e7a27eeb Attached particle spawners 2016-10-13 17:33:16 +02:00
rubenwardy
067766eec2 Fix backwards compatibility issue introduced by close_on_enter 2016-10-08 18:58:28 +02:00
paramat
0264e38bff Lua_api.txt: Add biome and nodeupdate documentation
Add missing documentation for 'register_biome' and
'clear_registered_biomes'.
Add documentation for 'nodeupdate_single'. 'nodeupdate'
is not yet documented due to a bug it causes.
2016-10-08 00:09:01 +01:00
raymoo
2516c516bc Forceloading: Transient forceloads
Adds a flag to forceload_block which lets you turn off persistence for
that forceload.
2016-10-03 01:54:36 +01:00
rubenwardy
077b6cfa21 Formspec: Add container[] and container_end[] elements 2016-10-03 01:53:13 +01:00
paramat
3aefa5d3ce Register.lua: Throw error if node 'light_source' > core.LIGHT_MAX
Add 'core.LIGHT_MAX = 14' to builtin/game/constants.lua with the intention
to replace misplaced 'default.LIGHT_MAX = 14' in Minetest Game.
Add comment in light.h requiring the constant be changed in both places.
Add lighting bug warning to note in lua_api.txt.
There are hundreds of mod uses of 15 which causes a lighting bug.
2016-09-17 09:33:25 +01:00
paramat
297546af3d Lua_api.txt: Add note of maximum value for node 'light_source'
Maximum is 14.
A value of 15 (reserved for direct sunlight) causes a lighting bug.
2016-09-15 05:25:38 +01:00