aboutsummaryrefslogtreecommitdiff
path: root/builtin/game/item.lua
AgeCommit message (Collapse)Author
2022-05-09Fix Minetest blaming the wrong mod for errors (#12241)Lars Müller
Covers the case where mods insert their callbacks manually into "minetest.registered_<callbacks>" (often to achieve a particular order of execution).
2022-05-02Reorganize some builtin functions in preparation for async envsfan5
2021-12-15Fix eat sound not playing if eating last of stacksfan5
2021-10-31Fix number of tool uses being off by 1..32767 (#11110)Wuzzy
2021-10-25Fix item duplication if player dies during interact callback (alternative) ↵sfan5
(#11662)
2021-08-27Add group-based tool filtering for node drops (#10141)Treer
Supports both AND and OR requirements, e.g. * "a tool that's in any of these groups" * "a tool that's in all of these groups"
2021-06-04Add metatables to lua vectors (#11039)DS
Add backwards-compatible metatable functions for vectors.
2021-03-30Degrotate support for mesh nodes (#7840)Vitaliy
2021-02-11Replace 'minetest.' with 'core.' in builtinrubenwardy
2021-01-31Fix minetest.dig_node returning true when node isn't diggable (#10890)rubenwardy
2021-01-29Drop never documented 'alpha' property from nodedefsfan5
Includes minimal support code for practical reasons. We'll need it for a slightly different purpose next commit.
2021-01-21Removed some obsolete code (#10562)Zughy
Co-authored-by: Zughy <4279489-marco_a@users.noreply.gitlab.com>
2020-11-12Copy position for can_digsfan5
fixes #10514
2020-05-29Add minetest.is_creative_enabledWuzzy
2020-04-13Add default stack size setting (#8873)SmallJoker
New setting "default_stack_max" to alter the default stack sizes of all items when desired. Co-authored-by: Pascal Abresch <nep@packageloss.eu>
2020-02-16Builtin: Fix error by digging unknown nodesSmallJoker
2020-02-01Convert sound_play uses in builtin to ephemeralsfan5
2020-02-01Let node 'place' and 'dug' sounds be heard by other playerssfan5
2019-12-24Fix item eat sound not played if last item (#9239)Wuzzy
2019-12-18Make core.item_place_node return position of placed node. (#7713)Bluebird
2019-12-16Correct documentation around minetest.item_placesfan5
The code that calls minetest.item_place_object was removed in 2013 in commit fc61c8809b9a1d47d9f117446764107a56cec956.
2019-08-06Add luacheck to check builtin (#7895)rubenwardy
2019-07-14Docs: Clarify where to check for 'protection_bypass' (#8675)SmallJoker
2018-12-10Add eat sound (#7956)Wuzzy
2018-08-30get_node_drops: Make empty drop return empty table (#7592)tenplus1
This stops get_node_drops from returning an empty string when using drop = "" and instead returns the supposed empty table instead {}
2018-07-17Builtin: Replace deprecated function calls (#7561)SmallJoker
2018-03-29core.rotate_node: Do not trigger after_place_node (#6900)SmallJoker
2017-12-14Add callback to preserve node metadata as item metadataashtrayoz
2017-12-12Builtin: Fix handle_node_drops crash with nil diggerSmallJoker
2017-10-28Fix default item callbacks to work with nil users (#5819)raymoo
* Fix default item callbacks to work with nil users * item.lua: Handle node drops for invalid players The if-condition for the dropping loop is the same as `inv`, which means that the 2nd possible definition of `give_item` is never used. Remove redundant `local _, dropped_item`
2017-09-13Item drop: Tune to land exactly 2 nodes away with level view (#6410)Paramat
2017-08-26Check item_drop amount clientside (#6242)rubenwardy
2017-08-14Make dropped items colorableDániel Juhász
2017-06-24Helper methods for hardware colorization (#5870)Dániel Juhász
2017-06-20Automatic item and node colorization (#5640)Dániel Juhász
* Automatic item and node colorization Now nodes with a palette yield colored item stacks, and colored items place colored nodes by default. The client predicts the colorization. * Backwards compatibility * Use nil * Style fixes * Fix code style * Document changes
2017-05-06Use a settings object for the main settingsShadowNinja
This unifies the settings APIs. This also unifies the sync and async registration APIs, since the async registration API did not support adding non-functions to the API table.
2017-03-15Fix two nul deref if digging unknown nodes. (#5398)Auke Kok
Introduced by d785456b3fa35faf47cb972fde9e8668382c5e22 (#5162)
2017-03-10Optimize item.luatenplus1
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.
2017-02-18Fixes for colorwallmounted and colorfacedir nodesDániel Juhász
Correct node placement prediction for attached colorwallmounted nodes. Correct placement direction for colorfacedir and colorwallmounted nodes. Correct detatch mechanism for attached colorwallmounted nodes.
2017-01-31Make facedir_to_dir and wallmounted_to_dir work with coloured nodes as well. ↵Nathanaël Courant
(#5153)
2017-01-23core: Add dir_to_yaw and yaw_to_dir helpersAuke Kok
These are needed to go from things like entity yaw to a vector and vice versa.
2016-11-20Tool break: Reduce gain of break soundsparamat
2016-11-18Builtin/../item: Enable tool breaking soundsAuke Kok
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.
2016-11-16Introduce builtin_shared and use it to fix #4778est31
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"
2016-06-17Builtin/game/item: Add `place_param2` nodedef fieldAuke Kok
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-03-11Introduce "protection_bypass" privilege.Auke Kok
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.
2016-02-11Initialize facedir and wallmounted tables only once.Diego Martinez
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`.
2016-01-07Liquids: Flow into and destroy 'floodable' nodesparamat
Add new node property 'floodable', default false Define "air" as floodable = true in C++ and lua
2015-12-20Fix missing localization for objHybridDog
2015-12-02Add on_secondary_use when right clicking an item in the airAlex Ford