Commit Graph

178 Commits

Author SHA1 Message Date
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
Perttu Ahola 157b198e0f
Implement locked chest; add after_place_node and after_dig_node node callbacks 2022-05-21 16:07:37 +02:00
Perttu Ahola c8727f8c5a
on_metadata_inventory_{move,offer,take} 2022-05-21 16:07:36 +02:00
Perttu Ahola 1656cbdaa2
Random node metadata things 2022-05-21 16:07:36 +02:00
Perttu Ahola 1bd4c6b208
Attempt to begin to implement chests and furnace in Lua (with problems) 2022-05-21 16:07:35 +02:00
Perttu Ahola 235ac5dae5
Take out the "Privileges of foo are hidden from you." response of /privs 2022-05-21 16:07:34 +02:00
Perttu Ahola e50d7926d6
Fix executing register_chatcommand-defined commands even in the middle of a chat line 2022-05-21 16:07:33 +02:00
Perttu Ahola e7654568ed
basic_privs to allow granting/revoking interact_extra too 2022-05-21 16:07:33 +02:00
Perttu Ahola 2f0ed0382e
Support static_spawnpoint setting 2022-05-21 16:07:32 +02:00
Perttu Ahola 596cd078dd
Allow redefining minetest.item_place and the like 2022-05-21 16:07:32 +02:00
Perttu Ahola 3f3c06761a
Add basic_privs privilege 2022-05-21 16:07:32 +02:00
Perttu Ahola 3a248a56d3
Improve doc/lua_api.txt and add minetest.get_item_group(name, group) 2022-05-21 16:07:31 +02:00
Perttu Ahola 5c484429fe
Fix unable to join server first time with a password 2022-05-21 16:07:31 +02:00
Perttu Ahola ed35ccceb4
minetest.get_node_group(name, group) 2022-05-21 16:07:30 +02:00
Perttu Ahola 7d9d0bc397
Fix super-small size of regular item entities 2022-05-21 16:07:30 +02:00
Perttu Ahola 8e7ebf59d9
Fix dropped nodeitem visuals 2022-05-21 16:07:29 +02:00
Perttu Ahola 3b5d2c97d5
Implement dropped items as LuaEntities; leave the old ones as is for compatibility 2022-05-21 16:07:29 +02:00
Perttu Ahola e0acbf54dd
Remplement and improve /setting in Lua, now called /set 2022-05-21 16:07:29 +02:00
Perttu Ahola aefc412901
Don't allow /granting unknown privileges 2022-05-21 16:07:28 +02:00
Perttu Ahola 397bd5fc83
Split builtin.lua to multiple files 2022-05-21 16:07:28 +02:00
Perttu Ahola 6cd6c4c224
granting and revoking of all privileges at once 2022-05-21 16:07:27 +02:00
Perttu Ahola b54f7b1d3f
Fix authentication handler reporting failed password change while it isn't 2022-05-21 16:07:27 +02:00
Perttu Ahola bee8b5b5c9
Improve /grant and /revoke output, add /auth_reload 2022-05-21 16:07:26 +02:00
Perttu Ahola 79b596716f
Add 'fly' and 'fast' privileges and the underlying privileges-to-client system 2022-05-21 16:07:26 +02:00
Perttu Ahola b09dbe99c7
More documentation in doc/lua_api.txt 2022-05-21 16:07:26 +02:00
Perttu Ahola bcbfcfeb13
Allow group:groupname in ABM definition and implement minetest.hash_node_position() 2022-05-21 16:07:25 +02:00
Perttu Ahola f09a3a427e
Fix handling of missing auth.txt in the new handler 2022-05-21 16:07:25 +02:00
Perttu Ahola def7434226
Fix admin password handling in minetest.builtin_auth_handler.get_auth 2022-05-21 16:07:24 +02:00
Perttu Ahola 53ad7f2719
Improved teleport command 2022-05-21 16:07:24 +02:00
Perttu Ahola 79413a0d4e
Reimplement authentication handler in Lua; now we have 1) infinite privilege names, 2) minetest.register_authentication_handler() 2022-05-21 16:07:23 +02:00
Perttu Ahola 9045011c10
Add minetest.get_connected_players() 2022-05-21 16:07:23 +02:00
Perttu Ahola 54cc862b37
minetest.register_chatcommand(cmd, def) 2022-05-21 16:07:23 +02:00
Kahrl 0f0dec675b
on_joinplayer + on_leaveplayer + scriptapi_run_callbacks + bugfix
Add minetest.register_on_joinplayer and minetest.register_on_leaveplayer,
make adding new callbacks to scriptapi.cpp easier by adding
scriptapi_run_callbacks, also fix a minor bug with PlayerSAO <->
singleplayer mode interaction
2022-05-21 16:07:22 +02:00
Perttu Ahola 11a58333a1
Fix and extend minetest.after(time, func, param) 2022-05-21 16:07:22 +02:00
Perttu Ahola 71ea13a924
Add minetest.after(time, func) 2022-05-21 16:07:21 +02:00
Perttu Ahola 7db4d9d77e
Flatten share/ and user/ in the source and for the RUN_IN_PLACE build 2022-05-21 16:07:21 +02:00