Commit Graph

501 Commits

Author SHA1 Message Date
kwolekr b785577f03 Add core.find_nodes_with_meta() script API 2015-05-05 16:21:59 -04:00
ShadowNinja 436cb468e9 Add minetest.global_exists() 2015-04-21 22:58:37 +02:00
kwolekr 46a2c1f167 Ore: Add biomes parameter 2015-04-20 20:25:33 -04:00
kwolekr 479f38973e Schematics: Refactor NodeResolver and add NodeResolveMethod
NodeResolver name lists now belong to the NodeResolver object instead of
the associated NodeDefManager.  In addition to minimizing unnecessary
abstraction and overhead, this move permits NodeResolvers to look up nodes
that they had previously set pending for resolution.  So far, this
functionality has been used in the case of schematics for
serialization/deserialization.
2015-04-16 16:27:05 -04:00
kwolekr b2a89c04b2 Schematics: Reorganize (de)serialization and add Lua serialization API 2015-04-13 03:10:52 -04:00
est31 0a413265cb Document for api functions that rely on current_modname, that it doesn't work when not loading mods 2015-04-08 23:05:26 +02:00
kwolekr 0df736173e Schematics: Prepend mod path to relative schematic filepaths 2015-04-08 00:28:56 -04:00
kwolekr 337e79c656 ObjDefManager, Mapgen SAPI: Huge refactoring
- General code cleanup
 - Unified object creation and loading
 - Specifying objects in APIs is now orthogonal (i.e. anything can take an ID,
   name string, or the raw table definition (and automatically registers if present
2015-03-31 23:27:58 -04:00
kwolekr ed10005d38 GenElementManager: Pass opaque handles to Lua and rename to ObjDefManager
Add core.clear_registered_schematics() and refactor schematics somewhat
2015-03-31 01:11:51 -04:00
ShadowNinja e680d49774 Document nil player as being allowed for can_dig 2015-03-27 15:11:28 -04:00
ShadowNinja 93fcab952b Clean up and tweak build system
* Combine client and server man pages.
  * Update unit test options and available databases in man page.
  * Add `--worldname` to man page.
  * Fix a bunch of places where `"Minetest"` was used directly instead of `PROJECT_NAME`.
  * Disable server build by default on all operating systems.
  * Make `ENABLE_FREETYPE` not fail if FreeType isn't found.
  * Enable LevelDB, Redis, and FreeType detection by default.
  * Remove the `VERSION_PATCH_ORIG` hack.
  * Add option to search for and use system JSONCPP.
  * Remove broken LuaJIT version detection.
  * Rename `DISABLE_LUAJIT` to `ENABLE_LUAJIT`.
  * Rename `minetest_*` variables in `version.{h,cpp}` to `g_*`.
  * Clean up style of CMake files.
2015-03-27 15:00:48 -04:00
paramat d1681872bf lua_api/l_mapgen: generate_ores/decorations: make p1, p2 optional 2015-03-24 18:07:29 +00:00
Loic Blot 008d7e0467 Revert "Add a Lua call to do damages / heals" ok @ShadowNinja
This reverts commit 467fc0ddc9.
2015-03-22 18:01:56 +01:00
kwolekr 3993093f51 Add support for the PCG32 PRNG algo (and associated script APIs) 2015-03-22 00:48:08 -04:00
Loic Blot 467fc0ddc9 Add a Lua call to do damages / heals 2015-03-18 14:52:35 +01:00
paramat b2b6bbf3e8 lua_api/l_mapgen: Fix overlapping areas of minetest.generate_ores/decorations 2015-03-11 03:36:39 +00:00
paramat c7454d4732 Biome API: Enable decorations placed on water
Add schematic decoration force placement flag
2015-03-06 03:32:15 +00:00
BlockMen b65c7ab4a4 Improve group-based connection between raillike nodes 2015-03-05 23:24:32 +01:00
Craig Robbins fdb9140825 Change find_surface_nodes_in_area to find_nodes_in_area_under_air 2015-02-27 21:42:00 +10:00
Loic Blot 0f556d0c7f Add find_surface_nodes_in_area LUA call which permit to only get the nodes which touch air. This permit to massively improve performance for mods like plantlife 2015-02-27 21:34:33 +10:00
rubenwardy 2b189d4507 Wrap lines longer than 80 characters in lua_api.txt ...and minor formating changes 2015-02-27 13:41:17 +10:00
Kahrl 38cf080a9c Disallow object:remove() if the object is a player
Rebased by Zeno- (conflict in lua_api.txt)
2015-02-23 16:49:48 +10:00
Perttu Ahola e6ad2ace10 Bump version to 0.4.12 2015-02-18 23:50:01 +01:00
est31 5a0ed780f5 Server: announce MIN/MAX protocol version supported to serverlist. Client: check serverlist
Client now informs about incompatible servers from the list, this permits to prevent the protocol movements.
Server announces its supported protocol versions to master server
2015-02-18 16:09:59 +01:00
rubenwardy efa977518a Fix minetest.item_eat's replace_with_item, fixes #2292 2015-02-16 10:24:19 +01:00
TriBlade9 db481e7232 Added ratio argument to colorize, removed the weird alpha-based ratio. 2015-01-20 22:56:20 +10:00
Markus Koschany 60d745126f Fix hyphen used as minus sign 2015-01-20 22:47:45 +10:00
kwolekr 976d0b2caa Reorganize supported video driver query mechanisms 2015-01-18 13:24:25 -05:00
kwolekr 9736548720 Add ability to delete MapBlocks from map
Also add a Lua API and chatcommand for this
2015-01-15 16:48:56 -05:00
kwolekr a4a6cc8eb1 builtin: Unify register wrapper functions and wrap clear_registered_* functions too 2015-01-13 12:36:05 -05:00
paramat c28a90dafb Lua-api.txt: Document that paramtype='light' results in light propagation with attenuation and is essential for a light source to spread it's light 2015-01-11 22:30:28 -05:00
ShadowNinja ef0a4e3614 Add registered_ores and registered_decorations 2015-01-05 18:24:15 -05:00
kwolekr bdcf03ae36 Add minetest.generate_ores() and minetest.generate_decorations() 2015-01-04 22:38:48 -05:00
Craig Robbins 64cdbae6df Remove freezemelt documentation from lua_api.txt 2015-01-04 21:53:25 +10:00
kwolekr 8eb9cebdd0 Add warning about using deprecated fields in Mapgen API and update docs 2015-01-04 03:24:40 -05:00
Wuzzy 800d912b6f Rewrite lua_api.txt into Markdown format
Just Markdown, no variant of it. File name intentionally
not changed to “lua_api.md” because of fear to break references
to that file. The file can still be renamed later.
2015-01-03 00:48:38 -05:00
Diego Martínez cfec470b51 Fix documentation for string functions 2014-12-30 00:42:50 -05:00
kwolekr ca89e63b27 Add core.get_mapgen_names() to Main Menu API (and use it)
Also rewrite mapgen registration for static initialization
2014-12-29 21:23:51 -05:00
kwolekr 5e2753c712 Expose mapgen parameters on scripting init
Add minetest.get_mapgen_params()
Deprecate minetest.register_on_mapgen_init()
2014-12-29 12:59:59 -05:00
kwolekr cc3ab5efa5 LuaVoxelManip: Remove blank allocator 2014-12-29 01:31:37 -05:00
kwolekr 3c637b4baf LuaItemStack: Fix and document behavior of set_name, set_count, set_wear, set_metadata 2014-12-28 23:59:24 -05:00
kwolekr 863379a4c6 Decoration: Add height_min and height_max parameters
Also set default height_min/height_max to -31000 and 31000,
respectively, for ore and biomes
2014-12-28 22:37:27 -05:00
kwolekr 61dfa912f5 Ore: Add Vein ore type 2014-12-28 21:17:12 -05:00
kwolekr 900fa26965 Ore: Add Blob ore type 2014-12-28 03:11:00 -05:00
kwolekr 8334100fe1 LuaVoxelManip: Add option to allocate blank data 2014-12-27 23:09:36 -05:00
kwolekr 3f83ca29d3 Bump version to 0.4.11 2014-12-24 22:28:06 -05:00
paramat 2b10520999 lua_api.txt: improve noise documentation. Remove previous eased 3D noise format example 2014-12-20 14:50:57 -05:00
Craig Robbins 06207ac550 Fix typo in lua_api.txt 2014-12-15 01:09:17 +10:00
Jürgen Doser 83830e8682 Add basic support for generating API documentation using Doxygen
If CMake is run and Doxygen is found, add a make target called "doc",
which builds API documention in doc/html. This target is not included
in the default "all" target, you have to explicitly run "make doc" to
generate the documentation.

If graphviz is installed, in particular, if the "dot" binary is found,
doxygen is configured to generate various kinds of diagrams. Note that
due to this, the first run of doxygen can take a while.
2014-12-12 14:59:57 -05:00
kwolekr 2b8180a417 Add support for NoiseParams in minetest.get_perlin() and add docs on NoiseParams to lua_api.txt 2014-12-12 02:02:44 -05:00
kwolekr d50878d608 Rename and repurpose minetest.set_noiseparam_defaults to set_noiseparams 2014-12-09 23:44:04 -05:00
kwolekr 5062b99cb0 Rewrite generate notification mechanism
Add support for notify-on-decoration
Clean up mapgen constructors
Clean up mapgen.cpp code style somewhat
Remove trailing whitespace from some files
2014-12-06 13:53:35 -05:00
SmallJoker 2fd14e1bd5 Add Lua helper functions vector.apply(v) math.sign(x, tolerance) 2014-12-06 10:07:25 +01:00
Ciaran Gultnieks c30346ea30 Improve Lua API documentation
Changes:
  * Add extra documentation for remove_item.

    This isn't as silly as it sounds: iterate a list containing items with
    unique metadata each, and remove_item the first one you find, placing
    into a different - fine, except the remove will invariably remove the
    wrong one, leading to items being duplicated and others destroyed.

    Arguably it's a bug, and Inventory::removeItem should actually remove
    the item you tell it to. (i.e. if the passed ItemStack has metadata,
    match it). But it seems reasonable to just document the behaviour
    more clearly.

 * Improve string_to_pos documentation.
 * Clarify dig_node documentation (return value).
 * Better on_step documentation.
 * get_nodemeta -> get_meta.
 * Other minor fixes.
2014-11-28 18:35:45 -05:00
SmallJoker 6a43b3af09 Add minetest.copy_table(table) To get rid off the "table references"
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-27 18:19:01 +10:00
SmallJoker 874109c520 Add option 'eased' to NoiseParams
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-13 23:06:38 +10:00
Craig Robbins 813c088c1c Added names colours and refactored parseColorString() 2014-10-29 03:10:59 -04:00
David Thompson fd5eaae2ba Search for subgames using $MINETEST_SUBGAME_PATH. 2014-10-22 21:05:14 +02:00
RealBadAngel e5652cb75c Custom collision boxes node property. 2014-10-19 20:48:21 +02:00
RealBadAngel 0066bd77d2 Add meshnode drawtype. 2014-10-18 16:42:23 +02:00
BlockMen 28438bba27 Add [colorize modifier 2014-10-05 16:49:52 +02:00
Diego Martínez 5baf379f40 Add better documentation for alternate drop definition to lua_api.txt. 2014-10-02 16:49:33 -04:00
BlockMen f48f686930 Add optional framed glasslike drawtype 2014-10-02 11:35:15 +02:00
TriBlade9 9a685a4f2e Add firelike drawtype 2014-09-21 15:50:27 -04:00
ShadowNinja 406ed5efac Add compression API 2014-09-20 14:02:54 -04:00
ShadowNinja 2f170a63c6 Simplify and optimize schematic replacements 2014-09-11 22:25:06 -04:00
kwolekr f3eefeb794 Add LuaVoxelManip methods: get_node_at() and set_node_at() 2014-09-01 17:33:21 -04:00
kwolekr 9e4e7072da Update Mapgen VoxelManipulator on buffer invalidation 2014-09-01 15:12:22 -04:00
sapier 8ab2971e0b Remove invalid doc about minetest.get_time_us() 2014-08-25 21:52:52 +02:00
sapier d7364d65ac Add missing doc for minetest.get_us_time() 2014-08-25 21:16:32 +02:00
Craig Robbins f33d31693e Fix seg fault if popping from empty stack (L-system trees)
See: https://github.com/minetest/minetest/issues/1525

Background
Wuzzy2: If you attempt to spawn a L-system tree with minetest.spawn_tree, you can make Minetest crash if it is attempted to pop an empty stack.

ShadowNinja: This shouldn't cause a segmentation fault, but it should throw a Lua error

Commit Description
This commit throws a Lua error instead of causing a segmentation fault. The server will still "crash" but will include a Lua backtrace.

L-Systems fix randomness
Unless a random seed is provided (via Lua treedef) seed the PRNG with a different seed for each tree
Resolves: https://github.com/minetest/minetest/issues/1469

Fix l-system crash when treedef random_level not set by Lua
2014-08-23 06:40:27 +02:00
sapier 996ea60642 Add video driver selection to settings menu (based uppon idea from webdesigner97) 2014-08-23 01:55:54 +02:00
sfan5 b19dd922ec Add ^[mask texture modifier 2014-08-22 22:42:04 +02:00
rubenwardy 944ffe9e53 Correct spelling mistakes in documentation 2014-08-22 20:55:01 +02:00
sapier c24e0753fc Mod profiling support
Config settings:
profiling = true/false (gather statistics)
detailed_profiling = true/false (break mod times to callbacks)

Chat commands:
save_mod_profile saves current statistics in debug.txt and shows on console (on default loglevel)
2014-08-19 22:22:57 +02:00
sfan5 5884236046 Rework texture generating code, add texture grouping via ( ... ) 2014-07-29 20:02:56 +02:00
sapier 65b8b524c0 Add srollbar formspec element 2014-07-16 15:02:56 +02:00
sapier 96f285f71e Update version numbers for 0.4.10 2014-07-06 22:39:47 +02:00
sfan5 5f9962e1cc Fix typos in doc/lua-api.txt 2014-07-05 12:19:55 +02:00
Kahrl 95be18a3c1 Fix typo in doc/lua_api.txt 2014-07-05 01:09:53 +02:00
sapier 1cc40c0a7c Add support for Android 2.3+
There have been plenty of ppl involved in creating this version.
I don't wanna mention names as I'm sure I'd forget someone so I
just tell where help has been done:
- The partial android versions done by various ppl
- Testing on different android devices
- reviewing code (especially the in core changes)
- testing controls
- reviewing texts

A big thank you to everyone helping this to be completed!
2014-06-29 18:17:56 +02:00
RealBadAngel 27538ecef5 Tooltips rework.
Separate element for tooltips. Delayed showing,
use global color or given ones.
2014-06-24 22:11:47 +02:00
RealBadAngel 04fbf47744 Add tooltips for button, imagebutton and checkbox. 2014-06-19 00:22:03 +02:00
sapier 7b3602bab3 Fix regression dirt texture not beeing default in non cloud menu 2014-06-14 20:51:57 +02:00
ShadowNinja e7706593c6 Add success and output return values to chat commands 2014-05-28 18:36:46 -04:00
rubenwardy 832d7973c8 Add item eat callback 2014-05-26 18:41:58 -04:00
sapier c3984569c0 Add formspec toolkit and refactor mainmenu to use it
Fix crash on using cursor keys in client menu without selected server
Add support for non fixed size tabviews
2014-05-16 22:57:14 +02:00
ShadowNinja c4359ff65c Use "core" namespace internally 2014-05-08 13:02:04 -04:00
sapier d3ee617f37 Fix heart + bubble bar size on different texture packs
Add DPI support for statbar
Move heart+bubble bar to Lua HUD
Add statbar size (based upon an idea by blue42u)
Add support for customizing breath and statbar
2014-05-07 21:46:27 +02:00
sapier 1838a3fd69 Add support for dpi based HUD scaling
Add support for (configurable) multiline hotbar
Improved screensize handling
Add userdefined gui scale by BlockMen
2014-04-27 21:53:13 +02:00
BlockMen 3a6d6e4751 Move the old stuff to doc 2014-04-25 19:33:31 +02:00
ShadowNinja f2a1900345 Update documentation on is_ground_content 2014-04-24 18:27:25 -04:00
proller 0279f32db7 Remove liquid_finite and weather 2014-04-18 21:56:48 +04:00
BlockMen c0ab09af74 Add player:set_eye_offset() by @MirceaKitsune and clean up 2014-04-12 17:44:20 +02:00
BlockMen a1db9242ec Add third person view 2014-04-12 17:44:15 +02:00
sapier 142e2d3b74 Cleanup client init states by bumping protocol version
Don't use TOSERVER_RECEIVED_MEDIA but TOSERVER_CLIENT_READY as indicatio for client ready
Handle clients with protocol version < 23 (almost) same way as before
Make client tell server about it's version
Add client state to not send bogus player position updates prior init complete
Add access to statistics information (peer connction time,rtt,version)
Fix clients standing stalled in world while preloading item visuals (new clients only)
Add get_player_information to read client specific information from lua
2014-04-08 21:12:20 +02:00
sapier a4e2198e41 Replace pause and message menu by formspec ones 2014-03-05 18:44:14 +01:00
ShadowNinja 9a3b7715e2 Remove "Server -!- " prefix from player messages 2014-02-27 00:00:22 -05:00
kwolekr c163859057 Schematic: Add force_placement parameter to minetest.place_structure API 2014-02-15 19:46:57 -05:00
kwolekr 3570f3e396 Add minetest.set_noiseparam_defaults() Lua API 2014-02-15 19:13:14 -05:00