Commit Graph

879 Commits

Author SHA1 Message Date
Paul Ouellette afaf7b901b Fix wrong parameter order for inventory callbacks (#7952) 2018-12-10 19:18:03 +01:00
Wuzzy 5560ec8178 Add eat sound (#7956) 2018-12-10 09:25:47 +01:00
Vanessa Dannenberg 1b0fd195c6 Raise hotbar limit to 32 slots, add associated keybinding options (#7916)
add associated keybinding options
update docs and settingtypes
2018-12-02 23:34:29 +01:00
zeuner 42166fff74 Document which formspec fields are sent (#7717) 2018-12-02 16:05:56 +01:00
CoderForTheBetter faa358e797 Add Lua methods 'set_rotation()' and 'get_rotation()' (#7395)
* 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 (#7884) 2018-11-22 04:55:24 +00:00
Paramat 34a5960671
Framed glasslike: Fix and document top/base textures feature (#7824) 2018-10-30 06:41:15 +00:00
Paramat 622e2235ee
clear_craft: Return false if recipe not found, don't throw error (#7804) 2018-10-24 15:03:21 +01:00
Wuzzy 40ab3e011d Add disable_repair group to prevent tool repair (#7381) 2018-10-16 05:25:34 +01:00
SmallJoker 0a5e77132a
Add core.remove_detached_inventory (#7684)
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
Paramat 766fb7b46e
Particles: Make collision with objects optional (#7682)
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 (#7659) 2018-08-19 19:04:17 +01:00
Dániel Juhász 325bf68041 Raycast: export exact pointing location (#6304)
* 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 (#7648) 2018-08-15 20:35:38 +01:00
pauloue 4e2eeee3cc lua_api.txt: Various fixes and improvements (#7638)
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
ClobberXD 6bd4cb9f7e Lua_api.txt: Move item def section nearby node def (#7636) 2018-08-12 22:36:16 +01:00
zeuner ea26076bcb Feature check for commit ac4884c3d6 (#7618)
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
pauloue 3e6da81791 lua_api.txt: Improve code block format (#7599)
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 (#7588) 2018-07-31 13:00:02 +01:00
Paramat bf45644041
Lua_api.txt: Clarify entity 'initial_properties' and related deprecation (#7596) 2018-07-29 22:07:55 +01:00
pauloue 0d55879a1a Lua_api.txt: Various improvements (#7582)
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
HybridDog 78a801e42d Update mip mapping and textarea documentation (#7315)
* 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 (#7560)
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 (#7534)
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 (#7533) 2018-07-06 21:02:54 +01:00
SmallJoker 6f22d14206
Make the server status message customizable (#7357)
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 (#7487) 2018-06-26 02:34:27 +01:00
Anand S d565783bec Lua_api.txt: Replace `engine.*` with `core.*` (#7474) 2018-06-24 21:18:25 +01:00
Paramat de621d5d4b
Decoration API: Add lightweight ability to have complete coverage (#7456)
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 (#7466) 2018-06-20 13:05:56 +01:00
Paramat 9ca37d86a3
Lua_api.txt: Warn of errors possible with VoxelArea:index()/indexp() (#7422) 2018-06-08 00:46:10 +01:00
Loïc Blot ccc3af128c
CSM/SSM: Add on_mods_loaded callback (#7411)
* CSM/SSM: Add on_mods_loaded callback
2018-06-06 12:53:59 +02:00
Paramat 5316b8fe4a
Lua_api.txt: Various improvements (#7402)
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 (#7380)
* 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 (#7338) 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 (#6786)
* Allow right-clicking on attached LuaEntities
2018-04-30 18:43:49 +02:00
rubenwardy 0b5b32b026 MetaDataRef: Add contains() and get() (#7214) 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 (#7202)
* 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 (#7192)
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() (#3208)
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 (#6900) 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 (#7073)
* 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 (#7046) 2018-02-18 10:41:22 +01:00
red-001 338d645fcf Add `on_auth_fail` callback (#7039)
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 (#7013)
* 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 (#6958)
* 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 (#6952)
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
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 (#6853)
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 (#6801)
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.

#6188
2017-12-17 15:27:37 +00:00
Ezhh 649eef9e4f Give subgames the ability to disallow specific mapgens (#6792) 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 (#6741)
* Add player deletion method to auth handler (fixes #6653)
* 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
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. (#6563) 2017-10-30 08:18:18 +01: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 (#5819)
* 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 (#6105)
* 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() (#6497)
Moved from lua_api.txt to client_lua_api.md.
2017-10-05 16:14:10 +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 (#6473) 2017-09-28 18:40:47 +02:00
orwell96 08846cd05c Add static_save property to luaentites to not save them statically. (#5112)
* 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 (#6351)
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 (#6411)
* 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 (#6369)
* 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 (#6352)
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 (#6358) 2017-09-01 13:40:09 +02:00
sapier bf403b923a Fix animation frame_speed and blend loosing precision due to incorrec… (#6357)
* 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 (#6345) 2017-08-29 21:48:43 +02:00
rubenwardy 72c09f524b Fix mistake when calling on_priv_grant/revoke, and document them (#6341) 2017-08-29 07:57:56 +02:00
zeuner 1f207a3ddb Lua API: Add function to deregister single biomes (#5445) 2017-08-27 18:39:47 +02:00
you e09c7fceaa core.get_objects_inside_radius: Omit removed objects (#6318)
Fixes #6294
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 (#4713)
* 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 (#6107)
* 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 (#6218)
* 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 (#6287)
* 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 (#6292)
* 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 (#6177)
Add LuaEntity on_death callback

This fixes #5474
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 (#6164) 2017-07-24 18:04:00 +02:00
cx384 d60434c7b1 Add information about the button height 2017-07-16 13:10:34 +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 90ed6fc732.
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 (#5870) 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 (#5640)
* 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 (#5277)
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 (#5960)
* Sound: Add pitch option
2017-06-11 13:58:26 +02:00
DS 07be63b287 fix an example in lua_api (#5604) 2017-06-10 13:49:28 +02:00
red-001 33b513f76c Fix typos/mistakes in the documentation for colour related functions. (#5936) 2017-06-06 17:02:44 +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 (#5884) 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 (#5876) 2017-06-02 15:57:59 +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.* (#5749) 2017-05-12 11:27:58 +02:00
sfan5 071e114ffa Private nodemeta (#5702)
* 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 (#5716)
* 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 #5709
2017-05-07 12:13:15 +02:00
paramat 2d5bd7f414 Player properties: Set correct default collisionbox
Recent commit b6f4a9c7e1 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 d6cf5450a8 Add option to also check the center to `find_node_near` (#5255)
* Add option to also check the center to `find_node_near`
2017-05-04 22:52:58 +02: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
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
you 7f4cdbcbe9 Fix click-digging torches (#5652)
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. (#3497)
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. (#5649) 2017-04-27 11:49:44 +02:00
Bluebird d130e1fdc0 Fix incorrect formspec-tooltip doc, add detail in 'floodable' & 'on_flood' docs (#5660)
* 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. (#5659)
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 (#5475)
* 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 (#5186)
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