Commit Graph

1035 Commits

Author SHA1 Message Date
PilzAdam b611857ef5
Fix minetest.item_place_node() and minetest.item_drop() to always return an ItemStack 2022-05-21 16:10:25 +02:00
RealBadAngel eb7274214f
Fix to on_rightclick not able to change wielded_item 2022-05-21 16:10:24 +02:00
PilzAdam 049b8638c1
Dont call on_rightclick() if sneak is pressed 2022-05-21 16:10:24 +02:00
PilzAdam 279833455c
Fix spread of items in falling code 2022-05-21 16:10:24 +02:00
PilzAdam 42e67c79c1
Add on_rightclick(pos, node, clicker) callback for nodes 2022-05-21 16:10:23 +02:00
PilzAdam f264cf9833
Add ability to change the itemstack in placenode callbacks 2022-05-21 16:10:23 +02:00
jordan4ibanez 3fe947a986
Fix item entity's collision with nodeboxes 2022-05-21 16:10:22 +02:00
PilzAdam f8946b1dc0
Only fly through walls in noclip mode wich requires the noclip privilege 2022-05-21 16:10:22 +02:00
Ilya Zhuravlev f834e7cbad
Fix minetest.get_node_drops(). It should always return list of item names, not ItemStack(s). 2022-05-21 16:10:21 +02:00
PilzAdam ee0d38b5a6
Only check attachment for nodes with group attached_node 2022-05-21 16:10:21 +02:00
PilzAdam fd6ec68aab
Add the group attached_node Nodes in this group will be dropped as items if the node under them or the node in the wallmounted direction is not walkable. 2022-05-21 16:10:21 +02:00
DannyDark 0fabe42737
Log /grant and /revoke command usage 2022-05-21 16:10:20 +02:00
Matthew I f171cb855f
Add shutdown hook interface to Lua API
Scripts can call minetest.register_on_shutdown() to register a
shutdown hook.

Document that minetest.register_on_shutdown() callbacks may not be run

If the server crashes, it is unlikely that callbacks registered using
minetest.register_on_shutdown() will be called.
2022-05-21 16:10:20 +02:00
Perttu Ahola 2d07416f38
Revert "Use wielditem drawtype for all nodes in item_entity"
This reverts commit ffad18e42442fed10c312adc989fc62b74e05896.
2022-05-21 16:10:19 +02:00
PilzAdam 6417609dec
Use wielditem drawtype for all nodes in item_entity 2022-05-21 16:10:19 +02:00
Anthony a0f937099e
Fix server crash on /clearpassword
According to #253, using `/clearpassword` without an argument causes the server to crash from an assertion failure. I've resubmitted matttpt's patch as a pull request to aid in merging.
2022-05-21 16:10:19 +02:00
PilzAdam b646e953b6
Make air and ignore drop nothing 2022-05-21 16:07:53 +02:00
PilzAdam ff098bc4bb
Fix a bug in falling code where entities get stuck 2022-05-21 16:07:53 +02:00
PilzAdam 4742943383
Remove a useless comment 2022-05-21 16:07:52 +02:00
PilzAdam 0f873a3beb
Move falling to builtin 2022-05-21 16:07:52 +02:00
Perttu Ahola 7d6ff32d8c
Statically store always_collect field of __builtin:item 2022-05-21 16:07:51 +02:00
Perttu Ahola 38506bfbe6
Add overridable function for handling dropped items from nodes 2022-05-21 16:07:51 +02:00
Perttu Ahola fb96b0f99e
Fix github issue #213: Dropping unknown items crashes the game
The items will now just disappear when dropped.
2022-05-21 16:07:50 +02:00
Matthew I a70919257c
Move chat commands to Lua and remove servercommand.{cpp,h}
Commands moved:
 /me
 /status
 /time
 /shutdown
 /ban
 /clearobjects
2022-05-21 16:07:50 +02:00
Matthew I 3b4219b79f
Allow digging of unknown nodes
This allows the removal of nodes with unknown types.
get_item_callback() (C++) would fail if a node has an unknown type.  Now it
will try using the callback from minetest.nodedef_default in this case.
Also, minetest.node_dig() (Lua) was altered to always allow digging when
the node definition is empty (i.e. unknown node).
2022-05-21 16:07:50 +02:00
Perttu Ahola 02416dc628
Make the rollback system VERY FUCKING GOD DAMN POWERFUL 2022-05-21 16:07:49 +02:00
Perttu Ahola ebe1842d0b
Don't track liquids for rollback because of too much log 2022-05-21 16:07:49 +02:00
Perttu Ahola 5fbf87d54d
Experimental-ish rollback functionality 2022-05-21 16:07:48 +02:00
Perttu Ahola 2df90c2bf0
Deprecate minetest.add_to_creative_inventory and use group not_in_creative_inventory instead 2022-05-21 16:07:48 +02:00
Perttu Ahola e6ec4258db
Remove special handling of creative mode 2022-05-21 16:07:47 +02:00
Perttu Ahola a87451a0fe
Detached inventory callbacks and reworked node metadata callbacks 2022-05-21 16:07:47 +02:00
Perttu Ahola 47a9ab6fb0
builtin/item.lua: callbacks with copies of positions and nodes rather than recycle the same ones, which callbacks can modify 2022-05-21 16:07:46 +02:00
Perttu Ahola eb9b1ffc15
Add oldnode parameter to minetest.register_on_placenode callback 2022-05-21 16:07:46 +02:00
Perttu Ahola ea97707ef2
Fix building on top of (pointable && buildable_to) nodes 2022-05-21 16:07:45 +02:00
Perttu Ahola 66a549d9ea
Move /give, /giveme, /spawnentity and /pulverize to builtin/chatcommands.lua 2022-05-21 16:07:44 +02:00
Perttu Ahola dbaef1b2c6
minetest.register_on_player_receive_fields() 2022-05-21 16:07:43 +02:00
Matthew I 9a002ec0b7
Add "/mods" command to list mods to client 2022-05-21 16:07:43 +02:00
Perttu Ahola db3d37aaa8
Actually fix facedir-rotated nodes placed using minetest.env:place_node() 2022-05-21 16:07:42 +02:00
Perttu Ahola 05b928da0a
Check whether node is known before reading definition in __builtin:item:on_step() 2022-05-21 16:07:42 +02:00
Calinou 64a2c71b95
Message cleanups (consistency) and prevent /me when not allowed to shout 2022-05-21 16:07:41 +02:00
darkrose af6f80ba63
Handle nil placer as it might occur when using minetest.env:place_node. (Uberi) 2022-05-21 16:07:41 +02:00
Perttu Ahola 299ce58169
Fix /setpassword and /clearpassword 2022-05-21 16:07:41 +02:00
Perttu Ahola a8b475d195
Remove tiles and special_tiles from node definition prototype because otherwise the old names can't be used 2022-05-21 16:07:40 +02:00
Perttu Ahola 7f37a08eba
Update field names to non-deprecated ones in node definition prototype 2022-05-21 16:07:40 +02:00
Perttu Ahola 15213d8768
Node placement client-side prediction 2022-05-21 16:07:39 +02:00
Perttu Ahola 70b13374d6
Don't deprecate minetest.register_on_placenode and minetest.register_on_dignode 2022-05-21 16:07:39 +02:00
Perttu Ahola 361a4d575c
Add minetest.serialize() and minetest.deserialize() 2022-05-21 16:07:38 +02:00
Perttu Ahola 3519373773
place_node, dig_node and punch_node; an in-game tester tool; remove old code 2022-05-21 16:07:38 +02:00
darkrose 28d4194f24
Add can_dig callback 2022-05-21 16:07:38 +02:00
Perttu Ahola 7b4cdba449
Add ObjRef:is_player() and modify ObjRef:get_player_name() to always return a string to aid better inter-object compatibility of code that assumes objects to be players 2022-05-21 16:07:37 +02:00