Commit Graph

567 Commits

Author SHA1 Message Date
Alex Ford
97908cc656 Add on_secondary_use when right clicking an item in the air 2015-12-02 02:18:44 +00:00
paramat
5292ba7391 Lua_api.txt: Add documentation for biome definition 2015-11-29 21:55:58 +00:00
est31
ad5ac39d8d Add LuaSecureRandom 2015-11-08 15:57:15 -05:00
kwolekr
f9e394a466 Improve LuaVoxelManip documentation 2015-11-07 11:59:24 -05:00
BlockMen
2a12579fab Add support for audio feedback if placing node failed 2015-11-07 13:23:38 +01:00
est31
5e507c9829 Add server side ncurses terminal
This adds a chat console the server owner can use for administration
or to talk with players.
It runs in its own thread, which makes the user interface immune to
the server's lag, behaving just like a client, except timeout.
As it uses the same console code as the f10 console, things like nick
completion or a scroll buffer basically come for free.
The terminal itself is written in a general way so that adding a
client version later on is just about implementing an interface.

Fatal errors are printed after the console exists and the ncurses
terminal buffer gets cleaned up with endwin(), so that the error still
remains visible.

The server owner can chose their username their entered text will
have in chat and where players can send PMs to.
Once the username is secured with a password to prevent anybody to
take over the server, the owner can execute admin tasks over the
console.

This change includes a contribution by @kahrl who has improved ncurses
library detection.
2015-11-06 08:51:14 +01:00
kwolekr
1384108f8c Schematics: Add core.place_schematic_on_vmanip API
Fix memory leak in minetest.place_schematic
Slightly refactor Schematic code
2015-11-05 01:18:32 -05:00
kwolekr
c2b5da735e Add callback parameter for core.emerge_area() 2015-11-02 18:43:09 -05:00
kwolekr
306b067091 SAPI: Move core.get_us_time() to Util module 2015-10-26 03:46:36 -04:00
BlockMen
50ba7e114d Add option to disable backface culling for models
- Disabled by default (except players)
- Fixes #2984
2015-10-25 12:06:08 +01:00
PilzAdam
6f2d9de769 Improve Lua settings menu
* Add key settings to setting table and ignore them later
  This way they are added to the auto-generated minetest.conf.example
* Add flags type
* Add input validation for int, float and flags
* Break in-game graphic settings into multiple sections
* Parse settingtpes.txt in mods and games
* Improve description for a lot of settings
* Fix typos and wording in settingtypes.txt
* Convert language setting to an enum
2015-10-24 19:39:15 +02:00
paramat
59fa117d13 Decoration API: Add flag for placement on liquid surface
Add findLiquidSurface() function to mapgen.cpp
Update lua_api.txt
2015-10-23 21:30:20 +01:00
Robert Zenz
c32847838d Add more ways to pass data to check_player_privs
The callback can now be invoked with either the player object or name as
the first parameter, and with either a table or a list of strings, like
this:

    minetest.check_player_privs(player_name, { shout = true, fly = true })
    minetest.check_player_privs(player_name, "shout", "fly")
    minetest.check_player_privs(player, { shout = true, fly = true })
    minetest.check_player_privs(player, "shout", "fly")
2015-10-22 19:55:48 +02:00
paramat
3b9f99e0d6 ABMs: Make catch-up behaviour optional
Default is true for backwards compatibility
Update lua_api.txt
2015-10-18 16:42:59 +01:00
ShadowNinja
2139d7d45f Refactor logging
- Add warning log level
- Change debug_log_level setting to enumeration string
- Map Irrlicht log events to MT log events
- Encapsulate log_* functions and global variables into a class, Logger
- Unify dstream with standard logging mechanism
- Unify core.debug() with standard core.log() script API
2015-10-14 01:03:54 -04:00
est31
8edc8a14e4 Correct SRP documentation
Previous statements were wrong.
2015-10-06 19:08:53 +02:00
est31
b0523adc5f Add new ContentParamType2 "CPT2_DEGROTATE"
This might break some mods, but it is important for all uses of the param2 to
be documented.

This doesn't need a serialisation version or network protocol version change,
as old clients will still work on new servers, and it is bearable to have
new clients getting non rotated plants on old servers.
2015-10-04 23:59:41 +02:00
kwolekr
9f25aba6c2 Hide mapgens from main menu not intended for end users 2015-10-04 17:11:41 -04:00
kwolekr
1f9c5a4a7b doc: Update node callback documentation 2015-10-04 15:34:56 -04:00
Duane Robertson
a5bdfb6b3c Add get_biome_id(biome_name) callback
It returns the index used in mg->biomemap for a given biome name.
The biomemap is useless without this unless you re-register all existing biomes,
which could cause problems for anyone else trying to use biomemap.
With this, you can quickly create a lookup table of ids and names.
2015-10-02 22:49:31 +02:00
Tim
776760aba7 Clarify radii and distance types in documentation
Because not all circles are round:
* circles using an euclidean metric are what we usually call "round"
* circles using a maximum metric look like euclidean rectangles with equal adjacent sides (squares)
* circles using a manhattan metric look like an euclidean right angled rhombus (squares, but 45° rotated to the former one)

[ci skip]
2015-09-26 21:28:50 +02:00
kwolekr
f062bbd7a1 Add /emergeblocks command and core.emerge_area() Lua API 2015-09-23 15:56:24 -04:00
Kahrl
d130c36e14 Fix another typo in doc/world_format.txt 2015-09-21 19:26:54 +02:00
est31
4f03f8d119 lua_api.txt: fix typo
Thanks to @kaadmy (NeD) for pointing this out.
2015-09-21 18:10:05 +02:00
est31
691eb2d06d Document current node metadata format
Document the node metadata changes of the commit (serialisation version >=23):

704782c95b8a4194a9383da55d93f37fd0f7278f "WIP node metadata, node timers"
2015-09-18 16:47:13 +02:00
kwolekr
dcbb95338a Ore: Add puff ore type 2015-09-17 03:04:50 -04:00
est31
8acccf4c58 Fix "make install" and add underscore to doc file name
Fix regression since commit:

915807f8db1f3721ad9ffc00a4863ad940010c45 "Rename doc/mapformat.txt and update doc to match SRP changes"

And add an underscore to doc file name to make it more readable.
2015-09-14 07:51:31 +02:00
est31
283bf97a1c Serialisation: documentation fixes, clarifying renames and whitespace fixes
1. Do two renames:
	* SER_FMT_CLIENT_VER_LOWEST -> SER_FMT_VER_LOWEST_WRITE
	* SER_FMT_VER_LOWEST -> SER_FMT_VER_LOWEST_READ
Now the two define values are consistently named with the _WRITE defines
SER_FMT_VER_{HIGHEST,LOWEST}_WRITE, and to better point out what the two
serialisation versions actually are for.

2. wrap some lines in doc/worldformat.txt, and point out that the node
timers are serialized at a later point, as this can cause confusion about
what now happens (if one doesn't strictly read the if block's conditions).

3. some whitespace fixes in NodeTimerList::serialize, and one new comment.
2015-09-14 07:02:15 +02:00
est31
915807f8db Rename doc/mapformat.txt and update doc to match SRP changes
The documentation file contains not just information about the
map itself, but also about further files inside the world's
directory.

Documentation didn't reflect recent SRP addition, now it does.
2015-09-14 00:32:06 +02:00
kwolekr
beba969413 Ore: Add ore sheet column height range selection
Modders are now able to select the range of ore column height,
and the midpoint at which they 'grow' starting from.
This commit adds three new parameters for the 'sheet' ore type:
column_height_min, column_height_max, and column_midpoint_factor.
clust_size is now deprecated for this ore type.
2015-09-13 00:11:50 -04:00
Robert Zenz
fe6575b8d3 Add more information about how get_node_light works. 2015-09-08 21:14:56 +02:00
Ner'zhul
196975ba5c Add two missing directories to doxygen 2015-09-02 02:13:47 +02:00
est31
d44fceac7e Bump version to 0.4.13 2015-08-20 04:02:00 +02:00
kwolekr
be9024a397 minimap: Add ability to disable from server 2015-08-13 15:05:48 -04:00
rubenwardy
a953ff4dfc Fix segfaults caused by the Environment not being initialized yet 2015-08-09 23:36:55 +02:00
est31
a890c66bc0 Actually document what minetest.is_protected should do 2015-08-02 19:09:55 +02:00
est31
c30a2d6854 Add AreaStore data structure 2015-07-27 06:42:56 +02:00
est31
3b50b2766a Optional reconnect functionality
Enable the server to request the client to reconnect.

This can be done with the now extended minetest.request_shutdown([reason], [reconnect]) setting.
2015-07-23 07:38:13 +02:00
Robert Zenz
4eacce5e2f Add note that chat messages can be marked as handled. 2015-07-22 05:43:30 +02:00
est31
403e6e6c9c Document game main menu image system 2015-07-21 17:17:46 +02:00
Elia Argentieri
5ebb4237e2 Added get_player_velocity() method. Fixes #1176 2015-07-20 05:40:44 +02:00
RealBadAngel
655fc6010f Fix relief mapping issues 2015-07-16 15:36:48 +02:00
paramat
b51738177e Biome API decorations: 'spawnby' searches a 3D neighbourhood
The neighbours checked are the 8 nodes horizontally surrounding the decoration base
and the 8 nodes horizontally surrounding the ground node below the decoration
2015-07-08 22:44:10 +01:00
TeTpaAka
17ba584fe2 Fix bug when craft input isn't replaced 2015-06-22 19:30:35 +02:00
MirceaKitsune
660fa516bf Fix some issues with animations, and allow non-looped animations to be defined 2015-06-22 01:53:38 +02:00
est31
c977fbd928 Add list-rings
Adds list-rings, a method to implement item sending between inventories via shift-click.
Nice insider feature: a ring consisting of a single inventory list serves as nice clean-up method.
Also adds them to minimal game, and the standard inventory.
Craft output slots are not supported.
2015-06-16 14:51:26 +02:00
TeTpaAka
aa13baa30a Add minetest.register_on_player_hpchange 2015-06-13 19:40:31 +02:00
TeTpaAka
e50aa4ed06 Add return list of individual counts to find_node_in_area 2015-06-13 19:39:18 +02:00
TeTpaAka
c0335f7d13 Add some missing getter functions to the lua API
ObjectRef:
get_properties
get_armor_groups
get_animation
get_attach
get_bone_position

Players:
get_physics_override
hud_get_hotbar_itemcount
hud_get_hotbar_image
hud_get_hotbar_selected_image
get_sky
get_day_night_ratio
get_local_animation
get_eye_offset

Global:
minetest.get_gen_notify
minetest.get_noiseparams
2015-05-28 16:46:35 +02:00
est31
2853b40de1 Fix documentation for texture override face selector behaviour 2015-05-20 19:58:27 +02:00
rubenwardy
603297cc35 Add texture overriding 2015-05-19 21:27:07 +02:00
kwolekr
4c9a8a91c4 SAPI/Noise: Add PerlinNoiseMap:getMapSlice() function
This adds the ability to grab 'slices' of noise calculated by PerlinNoiseMap.
Retrieving smaller slices of noise from the computation result as needed
optimizes memory usage while maintaining a reasonable amount of CPU overhead.
2015-05-17 04:04:17 -04:00
kwolekr
3ffb5f5761 Add optional buffer param for bulk data array writes in Lua 2015-05-17 00:07:45 -04:00
kwolekr
fb36c471d7 SAPI: Accept either ARGB8 table or ColorString to specify colors 2015-05-16 20:15:03 -04:00
ShadowNinja
8f9af57314 Add core.get_dir_list 2015-05-16 18:33:22 -04:00
ShadowNinja
6c06330daf Add core.request_insecure_environment() 2015-05-16 18:33:19 -04:00
ShadowNinja
05ab9973f9 Add core.mkdir 2015-05-16 18:32:37 -04:00
ShadowNinja
3a8c788880 Add mod security
Due to compatibility concerns, this is temporarily disabled.
2015-05-16 18:32:31 -04:00
TeTpaAka
18c2f16c13 Generalize core.get/set_nametag_color into core.get/set_nametag_attributes 2015-05-15 16:21:01 -04:00
Brandon
c5b4e54174 Add minetest.register_on_punchplayer 2015-05-15 11:09:55 +02:00
TeTpaAka
86a963caca Add get and set functions for the nametag color 2015-05-15 11:03:27 +02:00
Novatux
75622c30be Add code to support raillike group names 2015-05-12 20:48:55 +02:00
est31
b4c3ff6eab is_player() is no player-only function 2015-05-12 05:52:49 +02:00
kwolekr
2b99d904f6 Schematics: Add per-node force placement option 2015-05-09 18:44:00 -04:00
kwolekr
b246812455 Schematics: Add indent-with-space option for schematic Lua table serialization 2015-05-07 02:54:35 -04:00
kwolekr
656575b59d NodeResolver: Remove NodeResolveMethod
This simplifies NodeResolver logic and makes some interfaces cleaner.
2015-05-07 02:36:01 -04:00
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 467fc0ddc912ae38c3bf9fcb99e0b66d7478eec0.
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