615 Commits

Author SHA1 Message Date
Foghrye4
04ea490226 Adding particle blend, glow and animation (#4705) 2016-11-15 00:09:59 +10:00
est31
e651d7a987 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
5e64c02aa1 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
7e703858b8 Add minetest.get_server_uptime() function to Lua API (#4702)
Add minetest.get_server_uptime() function to Lua API
2016-11-02 09:36:58 -07:00
ShadowNinja
c9100740e4 Add version API 2016-10-31 21:53:00 -07:00
paramat
9037505da6 Lua voxelmanip: Add optional buffer param for 'get param2 data'
Update lua_api.txt.
2016-10-31 10:59:38 +00:00
raymoo
48aead7d1e Document item use callbacks (#4668) 2016-10-27 13:24:34 +10:00
paramat
00a733ac21 Lua_api.txt: Clarify 'override_meta' bool in 'set mapgen setting' 2016-10-21 05:49:06 +01:00
rubenwardy
bb94e62525 Builtin: Add vector.floor helper function 2016-10-17 22:03:49 +02:00
sfan5
8b98a7dee9 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
6e0388ece4 Attached particle spawners 2016-10-13 17:33:16 +02:00
rubenwardy
8c1271f645 Fix backwards compatibility issue introduced by close_on_enter 2016-10-08 18:58:28 +02:00
paramat
013e882c66 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
1c5eff9aac 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
ade3a24e75 Formspec: Add container[] and container_end[] elements 2016-10-03 01:53:13 +01:00
paramat
5dd99dfd62 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
ffa2fe8424 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
Thomas--S
d2c8230ea1 Add an [invert:<mode> texture modifier
Inverts the given channels of the base image.
Mode may contain the characters "r", "g", "b", "a".
Only the channels that are mentioned in the mode string will be inverted.
2016-09-15 05:25:38 +01:00
paramat
f932e5d286 Decorations: Generalise 'spawn by' to be used by all decoration types
In lua_api.txt, make clear that 'place on' and 'spawn by' can be lists.
2016-09-14 09:19:54 +01:00
sfan5
4fa9d44956 Allow escaping of texture names when passed as an argument to a modifier 2016-09-14 09:19:36 +01:00
raymoo
c5491db85d fix missing parameters in some mentions of entity callbacks 2016-09-12 03:35:28 -04:00
James Stevenson
f109dd756a Return nil on empty get_area() (#4508) 2016-09-10 01:47:13 +10:00
paly2
30c1905f89 Add minetest.unregister_item and minetest.register_alias_force 2016-09-08 03:26:52 -04:00
rubenwardy
71f9f4ce26 Allow fields to choose whether they close on enter press 2016-08-27 13:05:01 +01:00
Auke Kok
95ff590bcc Make plantlike drawtype more fun
Adds several new ways that the plantlike drawtype mesh can be changed.

This requires paramtype2 = "meshoptions" to be set in the node
definition. The drawtype for these nodes should be "plantlike".

These modifications are all done using param2. This field is now
a complex bitfield that allows some or more of the combinations to
be chosen, and the mesh draw code will choose the options based as
neeeded for each plantlike node.

bit layout:
bits 0, 1 and 2 (values 0x1 through 0x7) are for choosing the plant
mesh shape:
  0 - ordinary plantlike plant ("x" shaped)
  1 - ordinary plant, but rotated 45 degrees ("+" shaped)
  2 - a plant with 3 faces ("*" shaped)
  3 - a plant with 4 faces ("#" shaped)
  4 - a plant with 4 faces ("#" shaped, leaning outwards)
  5 through 7 are unused and reserved for future mesh shapes.

bit 3 (0x8) causes the plant to be randomly offset in the x,z
plane. The plant should fall within the 1x1x1 nodebox if regularly
sized.

bit 4 (0x10) causes the plant mesh to grow by sqrt(2), and will cause
the plant mesh to fill out 1x1x1, and appear slightly larger. Texture
makers will want to make their plant texture 23x16 pixels to have the
best visual fit in 1x1x1 size.

bit 5 (0x20) causes each face of the plant to have a slight negative
Y offset in position, descending up to 0.125 downwards into the node
below. Because this is per face, this causes the plant model to be
less symmetric.

bit 6 (0x40) through bit 7 (0x80) are unused and reserved for
future use.

!(https://youtu.be/qWuI664krsI)
2016-08-26 05:26:08 +01:00
DonBatman
dd8278c1a2 Lua_api.txt: Change 'maxwear' to 'uses' in 'tool_capabilities'
'maxwear' has been deprecated for over 3 years
Add spaces around '=' nearby
2016-08-14 16:41:06 +01:00
Thomas--S
a75fb2191a Add an [opacity:<r> texture modifier. Makes the base image transparent according to the given ratio. r must be between 0 and 255. 0 means totally transparent. 255 means totally opaque. Useful for texture overlaying. 2016-08-12 15:20:30 +02:00
rubenwardy
c1f99baf8d Documentation: Create texture_packs.txt
Combine texture_overrides.txt and sections of lua_api.txt
2016-07-30 03:08:56 +01:00
mtango688
d053efa5c6 lua_api.txt: Document how to properly clear node metadata 2016-07-30 03:08:21 +01:00
Wuzzy
d309b48ebc Main menu, lua_api.txt: Fix mod/texture pack screenshot size issues
Recommend mod screenshot size in lua_api.txt
Adjust displayed screenshot size of texture packs
Document texture pack files in lua_api.txt
2016-07-27 22:20:31 +01:00
James Stevenson
983cfc6822 lua_api.txt: Remove tooltip checkbox[] element 2016-07-21 05:00:40 +01:00
est31
2f6c8a1c19 HTTP lua API docs: correct some function references 2016-07-12 22:47:14 +02:00
Tim
8ceaf9cc13 Builtin/profiler: Replace game profiler (#4245)
Use the setting "profiler.load" to enable profiling.
Other settings can be found in settingtypes.txt.

* /profiler print [filter] - report statistics to in-game console
* /profiler dump [filter] - report statistics to STDOUT and debug.txt
* /profiler save [format [filter]] - saves statistics to a file in your worldpath
	* txt (default) - same treetable format as used by the dump and print commands
	* csv - ready for spreadsheet import
	* json - useful for adhoc D3 visualizations
	* json_pretty - line wrapped and intended json for humans
	* lua - serialized lua table of the profile-data, for adhoc scripts
* /profiler reset - reset all gathered profile data.
	This can be helpful to discard of any startup measurements that often spike during loading or to get more useful min-values.

[filter] allows limiting the output of the data via substring/pattern matching against the modname.

Note: Serialized data structures might be subject to change with changed or added measurements.
	csv might be the most stable, due to flat structure.

Changes to the previous version include:

* Updated and extended API monitoring
* Correct calculation of average (mean) values (undistorted by idleness)
* Reduce instrumentation overhead.
* Fix crashes related to missing parameters for the future and occasional DIV/0's.
* Prevent issues caused by timetravel (overflow, timejump, NTP corrections)
* Prevent modname clashes with internal names.
* Measure each instrumentation individually and label based on registration order.
* Labeling of ABM's and LBM's for easier classification.
  Giving several ABM's or LBM's the same label will treat them as one.
  Missing labels will be autogenerated based on name or registration order.
* Configurable instrumentation and reporting. Skip e.g. builtin if you don't need it.
* Profile the profiler to measure instrumentation overhead.
2016-07-12 21:51:10 +02:00
Duane
82fadf2fe4 Lua_api.txt: Fix description of node drop behaviour 2016-07-12 20:23:46 +01:00
Foghrye4
242d1d9076 Adding minetest.clear_craft
Modifications by est31: grammar fixes in doc + error messages and
a little style fix, no functional change.
2016-07-05 21:40:13 +02:00
kwolekr
7af0dede5f Add MapSettingsManager and new mapgen setting script API functions
This commit refactors the majority of the Mapgen settings system.
- MapgenParams is now owned by MapSettingsManager, itself a part of ServerMap,
  instead of the EmergeManager.
- New Script API functions added:
    core.get_mapgen_setting
    core.get_mapgen_setting_noiseparams,
    core.set_mapgen_setting, and
    core.set_mapgen_setting_noiseparams.
- minetest.get/set_mapgen_params are deprecated by the above new functions.
- It is now possible to view and modify any arbitrary mapgen setting from a mod,
  rather than the base MapgenParams structure.
- MapgenSpecificParams has been removed.
2016-07-03 15:38:36 -04:00
raymoo
be9acaf9df Player: New get_look, set_look API
Deprecate get_look / set_look pitch / yaw
2016-06-24 02:13:09 +01:00
Auke Kok
5ed0d77c58 Builtin/game/item: Add place_param2 nodedef field
This allows a nodedef to specify a fixed value for param2 to be
used for all normal placements.

There are several uses for this:

- nodes that require param2 to be set to a non-zero value for
  internal mod use. E.g. leafdecay could use this to detect that
  leaves are played by players.
- force wallmounted or facedir value at placement at placement

This overrides any player look direction or other on-the-fly
param2 setting during placement.
2016-06-17 04:41:20 +01:00
Diego Martinez
34b9126292 Server: Add reason for leave to on_leaveplayer callbacks 2016-06-11 04:17:04 +01:00
paramat
6c9d1c187e Lua_api.txt: Split long lines. Capitalise 'Biome API'. Minor edits 2016-06-07 04:45:41 +01:00
paramat
3616e70c58 Biome API: Add per-biome riverbed material and depth
Mgvalleys: Remove riverbed sand placement from base terrain generation
Riverbed material placement moved to MapgenBasic::generateBiomes()
Document fields and add note that the biome API is still unstable
2016-06-05 16:37:02 +01:00
kwolekr
60173ed48e PcgRandom: Fix/improve documentation 2016-06-04 02:16:06 -04:00
Ekdohibs
e7b84d7db6 Add colored text (not only colored chat).
Add documentation, move files to a proper place and avoid memory leaks.
Make it work with most kind of texts, and allow backgrounds too.
2016-05-31 17:34:29 +02:00
est31
9f3636a238 Add minetest.check_password_entry callback
Gives a convenient way to check a player's password.

This entirely bypasses the SRP protocol, so should be used
with great care.

This function is not intended to be used
in-game, but solely by external protocols, where no
authentication of the minetest engine is provided, and
also only for protocols, in which the user already gives the
server the plaintext password.

Examples for good use are the classical http form, or irc,
an example for a bad use is a password change dialog inside
formspec.

Users should be aware that they lose the advantages of the SRP
protocol if they enter their passwords for servers outside the
normal entry box, like in in-game formspec menus,
or through irc /msg s,

This patch also fixes an auth.h mistake which has mixed up the
order of params inside the decode_srp_verifier_and_salt function.

Zeno-: Added errorstream message for invalid format when I committed
2016-05-30 23:28:08 +10:00
Auke Kok
9cb1159917 Particles: Add option to remove particles on collision
Adds the particle option `collision_removal = bool`

Some particles are hard to use right now since they either go through
solid blocks (without collision detection), and with collision
detection enabled they (e.g. raindrops) would just stop dead on the
floor and sit there until they expire, or worse, scrape along a wall
or ceiling.

We can solve the problem by adding a boolean flag that tells the
particle to be removed if it ever collides with something. This will
make it easier to add rain that doesn't fall through your roof or stick
on the top of it. Or clouds and smoke that don't go through trees.

Particles that collide with this flag are marked expired
unconditionally, causing them to be treated like normal expired
particles and cleaned up normally.

Documentation is adjusted accordingly.

An added bonus of this patch is that particles can potentially collide
many times with nodes, and this reduces the amount of collisions to 1
(max), which may end up reducing particle load on the client.
2016-05-28 00:08:23 -04:00
red-001
1e4b9eb2d9 Add base64 encoding and decoding to the lua api. (#3919) 2016-05-27 23:37:28 -04:00
Maksim Gamarnik
b771d4a9f8 Update to Minetest 0.4.14 2016-05-15 16:30:09 +03:00
sfan5
234652ad61 Bump version to 0.4.14 2016-05-15 14:49:15 +02:00
paramat
a241a668dd Lua_api.txt: Fix documentation for facedir rotation 2016-05-10 02:21:53 +01:00
SmallJoker
4daf22d7fe Add [resize texture modifier Resizes the texture to the given dimensions. 2016-05-09 20:48:42 +02:00