summaryrefslogtreecommitdiff
path: root/builtin/game
Commit message (Collapse)AuthorAge
* Make facedir_to_dir and wallmounted_to_dir work with coloured nodes as well. ↵Nathanaël Courant2017-01-31
| | | | (#5153)
* core: Add dir_to_yaw and yaw_to_dir helpersAuke Kok2017-01-23
| | | | | These are needed to go from things like entity yaw to a vector and vice versa.
* Add chatcommand unregister and override API (#5076)Elijah Duffy2017-01-20
| | | | | Introduces two functions to unregister and override chatcommands. minetest.unregister_chatcommand("<name>") and minetest.override_chatcommand("<name>", {<redifinition>})
* Add minetest.player_exists() (#5064)rubenwardy2017-01-18
|
* Improve priv descriptions (#5047)Ezhh2017-01-17
|
* Remove client-side chat prediction. (#5055)red-0012017-01-17
| | | Network lag isn't really a big issue with chat and chat prediction makes writing mods harder.
* Add staticdata parameter to add_entity (#5009)Rui2017-01-09
| | | | | * Add staticdata parameter to add_entity * Add add_entity_with_staticdata to core.features
* builtin/.../falling.lua: Avoid crash when hitting unknown nodessfan52017-01-09
|
* Expose and document chatcommands as minetest.registered_chatcommandsrubenwardy2017-01-04
|
* Fix /grant & /revoke not working with custom auth handler (#4974)Dorian Wouters2016-12-31
| | | core.auth_table is not supposed to be accessed directly.
* Builtin/../falling.lua: Avoid crash when object pos over limitparamat2016-12-21
| | | | | If the object pos is over limit, 'add entity' will not add an entity, causing 'obj' to be nil.
* Don't send a join message in singleplayer mode.red-0012016-12-03
|
* Allow restricting detached inventories to one playersfan52016-11-28
| | | | | | | This combats the problem of sending the hundreds of "creative" / "armor" or whatever detached invs that exist on popular servers to each and every player on join or on change of said invs.
* Make supplying empty formspec strings close the formspec (#4737)orwell962016-11-23
| | | This will only happen if the formname matches or if formname is "".
* Tool break: Reduce gain of break soundsparamat2016-11-20
|
* Builtin/../item: Enable tool breaking soundsAuke Kok2016-11-18
| | | | | | | | | | If a tool wears out and is destroyed, it's itemstack count goes to 0, and we can optionally play a breaking sound. This patch implements playing a breaking sound when this occurs. Sounds need to be added to the tool itemdef registration as the sound name string in the .sound.breaks member.
* Introduce builtin_shared and use it to fix #4778est312016-11-16
| | | | | | | | | | | Fixes #4778 which was about the error: ServerError: Lua: Runtime error from mod '' in callback item_OnPlace(): /usr/local/share/minetest/builtin/game/item.lua:278: attempt to call global 'check_attached_node' (a nil value) The issue was a regression of commit 649448a2a91fbf3e944b2f2e739f4e2292af1df0 "Rename nodeupdate and nodeupdate_single and make them part of the official API"
* Rename nodeupdate and nodeupdate_single and make them part of the official APIest312016-11-14
| | | | | | | | | | | | | | | 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.
* Builtin/../falling: Fix bugs caused by 'ignore' nodesparamat2016-11-07
| | | | | | | | Original commit by t4im, rebased and developed by paramat. Fix CONTENT_IGNORE being replaced by falling nodes or causing large areas of sand to collapse into itself. Format some conditional code for clarity. Add and clarify some comments.
* Privileges: Only give singleplayer 4 basic privsWuzzy2016-11-07
| | | | | | | - interact - shout - privs - basic_privs
* Add debug priv, and allow player to display the scene as wire-frame. (#4709)lhofhansl2016-11-04
|
* Chat commands: Trim whitespaces from input of `/privs` commandred-0012016-10-20
|
* Builtin/../chatcommands: Add /grantme commandred-0012016-10-16
|
* Builtin/../falling.lua: Code optimisationtenplus12016-10-14
|
* VoxelArea: faster iter function (#4490)HybridDog2016-10-08
|
* Builtin/falling: Add fallback vector in case of nil 'wallmounted to dir'paramat2016-10-03
| | | | | | | The fallback vector is in case 'wallmounted to dir' is nil due to voxelmanip placing a wallmounted node without resetting a pre-existing param2 value that is out-of-range for wallmounted. The fallback vector corresponds to param2 = 0.
* Forceloading: Transient forceloadsraymoo2016-10-03
| | | | | Adds a flag to forceload_block which lets you turn off persistence for that forceload.
* Fix typo in core.after (#4560)Rui2016-10-01
|
* Builtin: Change error to warning for light_source > 14paramat2016-09-21
|
* Register.lua: Throw error if node 'light_source' > core.LIGHT_MAXparamat2016-09-17
| | | | | | | | 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.
* Add minetest.unregister_item and minetest.register_alias_forcepaly22016-09-08
|
* Builtin: Disallow registering users with the same nameSmallJoker2016-08-29
| | | | | Prevents duplicate names: 'NickName', 'nickname', 'NICKNAME'. Skips already registered users, so they can connect as usual.
* Move on join and on leave messages to lua (#4460)Xunto2016-08-22
|
* Zooming the camera requires the 'zoom' privilegeBen Deutsch2016-08-10
|
* Builtin: Add core.MAP_BLOCKSIZE constantTim2016-07-26
|
* Builtin: Fix check for a player object in core.check_player_privsTim2016-07-26
| | | | | | | core.check_player_privs accepts as first argument a name or player object, but just tested for a string. This caused crashes inside builtin, when being passed any unexpected types. This provides a better (duck-typing like) test, better error reporting.
* Builtin/profiler: Replace game profiler (#4245)Tim2016-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Builtin/game/item: Add `place_param2` nodedef fieldAuke Kok2016-06-17
| | | | | | | | | | | | | | | 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.
* Add colored text (not only colored chat).Ekdohibs2016-05-31
| | | | | Add documentation, move files to a proper place and avoid memory leaks. Make it work with most kind of texts, and allow backgrounds too.
* Colored chat working as expected for both freetype and non-freetype builds. ↵TriBlade92016-05-31
| | | | @nerzhul improvements * Add unit tests * Fix coding style * move guiChatConsole.hpp to client/
* protection_bypass priv can now be revoked in singleplayer (#4169)Sokomine2016-05-30
|
* Item entities: Don't show description as infotextparamat2016-05-22
| | | | | Partially reverts #3547 Infotext remains optional for objects, empty by default
* Add on_punchnode callbackWayward One2016-05-17
|
* Avoid teleporting player if /teleport coords are out-of-rangetenplus12016-04-29
|
* Builtin: Add basic_privs settingrubenwardy2016-04-28
|
* Fix timer initialization.Auke Kok2016-04-21
| | | | | | | This fixes the problem that the first timer tick is an overrun and causes all timers to expire immediately. replaces #4003
* falling: walk 4 additional diagonally down directions.Auke Kok2016-04-20
| | | | | | | This seems very little cost and matches the old behavior more closely. This will cause some more falling nodes to get added to falling clusters. With the efficiency of the algorithm, this really doesn't do much damage.
* Convert nodeupdate to non-recursiveAuke Kok2016-04-11
| | | | | | | | | | | | | | This took me a while to figure out. We no longer visit all 9 block around and with the touched node, but instead visit adjacent plus self. We then walk -non- recursively through all neigbors and if they cause a nodeupdate, we just keep walking until it ends. On the way back we prune the tail. I've tested this with 8000+ sand nodes. Video result is here: https://youtu.be/liKKgLefhFQ Took ~ 10 seconds to process and return to normal.
* stop falling.lua errortenplus12016-03-29
| | | | | | | 2016-03-27 15:47:01: ERROR[Main]: ServerError: Lua: Runtime error from mod '*builtin*' in callback luaentity_Step(): Node name is not set or is not a string! 2016-03-27 15:47:01: ERROR[Main]: stack traceback: 2016-03-27 15:47:01: ERROR[Main]: [C]: in function 'add_node' 2016-03-27 15:47:01: ERROR[Main]: /usr/share/minetest/builtin/game/falling.lua:96: in function </usr/share/minetest/builtin/game/falling.lua:43>
* Falling: Set acceleration on step againRui2016-03-25
| | | | | | | | | | | Commit 65c09a96f41705bb8e75fc5ff4276342be91ed11 "Set acceleration only once in falling node" has made the acceleration being set only once. But this has introduced a regression. Fix #3884.