Commit Graph

871 Commits

Author SHA1 Message Date
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
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. (#6563) 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 (#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
Vincent Glize
4e19791cde [CSM] Add callback on open inventory (#5793) 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 (#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
Loïc Blot
79f19b8369 [CSM] Add flavour limits controlled by server (#5930)
* [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: #5747.
This reverts commit 39f4a2f607d44738d60db84eba4b30e3d7450204.
2017-07-15 01:35:18 +01:00
Elijah Duffy
dc3ca09e0e Remove remaining modstore code (#6120) 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 (#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