summaryrefslogtreecommitdiff
path: root/builtin/game/item.lua
Commit message (Collapse)AuthorAge
* Fix two nul deref if digging unknown nodes. (#5398)Auke Kok2017-03-15
| | | Introduced by d785456b3fa35faf47cb972fde9e8668382c5e22 (#5162)
* Optimize item.luatenplus12017-03-10
| | | | Replace slow ItemStack get_definitions with registered_nodes one's and cached playername as it's used multiple times. Also removed local item = itemstack:peek_item() as it is never used.
* Fixes for colorwallmounted and colorfacedir nodesDániel Juhász2017-02-18
| | | | | | Correct node placement prediction for attached colorwallmounted nodes. Correct placement direction for colorfacedir and colorwallmounted nodes. Correct detatch mechanism for attached colorwallmounted nodes.
* 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.
* 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"
* 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.
* Introduce "protection_bypass" privilege.Auke Kok2016-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This privilege allows map protection bypassing for server operators and world moderators. Initially I had thought that bypassing protection mods would have been something that could entirely be done inside mods and minetest_game, but the concept of protection is defined in core, in the code of core.is_protected(). I don't feel that it would be logical to introduce a protection concept in core, but not some way around that for server operators to maintain map parts that need fixing, de-griefing or cleanup. Others had noticed the same problems, and proposed a patch to minetest_game. That patch is fine by itself, but it fails to add protection bypass functionality for digging normal nodes and placing nodes. So, instead, we indroduce the new priv "protection_bypass" in core, and modify 'on_place_node' and 'node_dig' to allow bypassing node protections if the player holds this priv. This priv was tested with protector redo by tenplus1. A followup patch to Minetest Game will include allowing special checks for doors, trapdoors, chests in Minetest Game. Protection mods will likely want to mimic the changes in their relevant code sections.
* Initialize facedir and wallmounted tables only once.Diego Martinez2016-02-11
| | | | | | | | | | This makes the functions a bit faster since they don't have to recreate the tables every invocation, and makes the code more readable. Also, document `wallmounted_to_dir`. The function was implemented but not documented in `lua_api.txt`.
* Liquids: Flow into and destroy 'floodable' nodesparamat2016-01-07
| | | | | Add new node property 'floodable', default false Define "air" as floodable = true in C++ and lua
* Fix missing localization for objHybridDog2015-12-20
|
* Add on_secondary_use when right clicking an item in the airAlex Ford2015-12-02
|
* Add the player name to dropped itemsRobert Zenz2015-11-12
| | | | | The player name is now added in the field "dropped_by" on the created entity.
* Added minetest.wallmounted_to_dirFernando Carmona Varo2015-10-04
|
* Some map border related fixesest312015-09-29
| | | | | | | | | | | | | 1. Check for entity addition success in spawn_item implementation 2. Check for success in item_drop callback, so that the player doesn't lose the item if they are outside bounds and try to drop it. 3. When existing player joins game, check that their position is inside map bounds. If not, set their position to the return value of findSpawnPos(). 4. Make findSpawnPos() respect the border 2 fixes a lua crash if a player drops an item outside map bounds. 3 fixes an assertion crash if a player leaves when being outside map bounds, and then rejoins.
* SAPI: Track last executed mod and include in error messageskwolekr2015-08-12
|
* Fix minetest.item_eat's replace_with_item, fixes #2292rubenwardy2015-02-16
|
* New feature: drop a item instead a stack while...Lord89James2014-06-10
| | | | sneaking
* Add item eat callbackrubenwardy2014-05-26
|
* Use "core" namespace internallyShadowNinja2014-05-08
|
* Organize builtin into subdirectoriesShadowNinja2014-05-07