summaryrefslogtreecommitdiff
path: root/src/scriptapi.cpp
Commit message (Collapse)AuthorAge
* Add shutdown hook interface to Lua APIMatthew I2012-11-30
| | | | | | | | | | 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.
* RealBadAngel's patch which allows the lua api to read pressed player keys. ↵MirceaKitsune2012-11-25
| | | | | | | | | | This should make it possible to change the player's animation based on what he is doing Correct lua api version number Always update animations and attachments after the entity is added to scene client side. Fixes animations not being applied in client initialization for some reason. Attachments should be re-tested now just to be safe. Fix a segmentation fault caused by reaching materials that didn't exist in a loop for setting texture
* A bunch of fixesMirceaKitsune2012-11-25
| | | | | | | | | | | | No longer hide players who are dead. With models, a death animation should be used instead Some changes requested by celeron55 Rename a lot of things in the code, and use better lua api function names Minor code corrections Bump protocol version up, since the models / animations / attachments code creates new client<->server messages
* Update attachments at the ending of the addToScene function for parents. And ↵MirceaKitsune2012-11-25
| | | | | | | | | | | | | | | | | | | | with this... *drum roll* Client-side attachments are at last functional and stick visibly. Fix the last segmentation fault (apparently). So far attachments seem to be fully functional, although removing the parent causes children to go to origin 0,0,0 and possibly still cause such a fault (though this should already be addressed) Fix a bug in falling code where entities get stuck Also check if the parent has been removed server-side, and detach the child if so. Fixes children going to origin 0,0,0 when their parent is removed. Unset all attachment properties when permanently detaching (on both the client and server). Also store less data we don't need Create a separate function for detaching, and also update lua api documentation When a child is detached, update its position from the server to clients. This WILL cause it to get positioned slightly differently client side, as the server attachment system only copies parent origin and knows not about mesh / bone transformation. This prevents different clients seeing the object detached in different spots which is most correct Update the position of attached players to clients. An attached player will see himself move, but this is currently VERY ugly and laggy as it is done by the server (it probably must stay this way too) Use a different approach for locally attached players. This allows for smooth positio transitions to work, as well at the player turning around freely. Still buggy however
* Complete the attachment framework.MirceaKitsune2012-11-25
| | | | | | | | | | | | The child ID can now be checked against the parent ID in content_cao.cpp so the parent can be detected. Actual attachment code to come Divide attachment system between server attachments and client attachments, neither coded right now. As explained in the code comment: // Attachments need to be handled on both the server and client. // If we attach only on the server, models (which are client-side) // can't be read so we don't know the origin and orientation of bones. // If we attach only on the client, the real position of attachments is // not updated and you can't click them for example.
* Framework for the attachment system, new object property which allows ↵MirceaKitsune2012-11-25
| | | | | | | | | | | | | | changing the color and alpha of mesh materials New object property which allows changing the color and alpha of mesh materials. Due to the current lighting systems it doesn't work yet, but the full implementation is there Framework for the attachment system, with no actual functionality yet Send bone and player object to the setAttachment function in content_sao.cpp, but we need a way to translate it there and send it to the client I will also want position and rotation offsets to be possible to apply to attachments Network object ID from server to client. This will be used to identify the parent client-side and know what to attach to
* Get the new animation framework properly workingMirceaKitsune2012-11-25
| | | | | | Store start and end frames as v2f Also move bone animations to their own function instead of object properties
* Joint positioning and rotation code, and fix a problem related to their lua APIMirceaKitsune2012-11-25
| | | | Attempt to move the animation system to a more correct implementation, rather than using object properties. Incomplete and breaks functionality
* Allow the LUA API to set animations to meshes as well as the animation ↵MirceaKitsune2012-11-25
| | | | | | | | | | | | speed. Also update animations only when needed. Support for animation blending, though for some reason it doesn't work. Don't enable animation transitions by default for many reaosons Object property to store individual bone positions. LUA can specify a bone name followed by a bone position. No functionality yet. Bone rotation to be added in the following commit Same system for bone rotation, plus a few other things I missed
* Add a subfolder for models and transfer models from server to clientMirceaKitsune2012-11-25
| | | | | | | | (obj, md2 and md3 are currently allowed) Get rid of the texture string and use the existing textures array. Segmented meshes have multiple materials, and this will allow us to texture each. Do not switch to this commit yet! If a texture string is left empty in LUA, don't modify that material. Useful so a script can change specific textures without affecting others
* Properly read the mesh from LUA.MirceaKitsune2012-11-25
| | | | | | | | | | | | | | | | | Players can now be set to meshes using the following test script: function switch_player_visual() prop = { mesh="player.obj", texture="player.png", visual="mesh", } for _, obj in pairs(minetest.get_connected_players()) do obj:set_properties(prop) end minetest.after(1.0, switch_player_visual) end minetest.after(1.0, switch_player_visual)
* Merge pull request #243 from xyzz/liquid_renewablePilzAdam2012-11-03
|\ | | | | Add liquid_renewable property, allow non-renewable liquids.
| * Add liquid_renewable property.Ilya Zhuravlev2012-09-07
| |
* | Add dtime_s to entity activationPerttu Ahola2012-09-09
| |
* | Fix ObjectRef:punch()Perttu Ahola2012-09-09
|/
* Add InventoryList width property & allow custom crafting grids.Ilya Zhuravlev2012-09-01
|
* Add ban management routines to Lua APIMatthew I2012-08-12
| | | | | | | | Those functions are: * minetest.get_ban_list() * minetest.get_ban_description(ip_or_name) * minetest.ban_player(name) * minetest.unban_player_or_ip(ip_or_name)
* Extend Lua API in order to implement chat commandsMatthew I2012-08-12
| | | | | | minetest.get_server_status() minetest.request_shutdown() EnvRef:clear_objects()
* Allow digging of unknown nodesMatthew I2012-08-12
| | | | | | | | 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).
* Handle max<min in LuaPseudoRandom::l_next()Perttu Ahola2012-07-27
|
* Experimental-ish rollback functionalityPerttu Ahola2012-07-27
|
* Improve inventory callbacks a bitPerttu Ahola2012-07-25
|
* Remove special handling of creative modePerttu Ahola2012-07-25
|
* Detached inventory callbacks and reworked node metadata callbacksPerttu Ahola2012-07-25
|
* Detached inventoriesPerttu Ahola2012-07-24
|
* Implement node timersdarkrose2012-07-23
|
* minetest.register_on_player_receive_fields()Perttu Ahola2012-07-22
|
* Add minetest.get_modnames() to Lua APIMatthew I2012-07-22
|
* Fix typo in scriptapi.cpp in minetest.get_craft_recipe()Perttu Ahola2012-07-21
|
* Check for table type when reading groups from Luadarkrose2012-07-21
|
* Add minetest.get_craft_recipe()darkrose2012-07-21
|
* Allow defining player's inventory form in LuaPerttu Ahola2012-07-19
|
* Fix /builtin/misc.lua:47: attempt to call method 'is_player' (a nil value)Perttu Ahola2012-06-19
|
* Custom boxy nodes (stairs, slabs) and collision changesKahrl2012-06-17
|
* Properly and efficiently use split utility headersPerttu Ahola2012-06-17
|
* Fix "Node placement prediction failed for (places __default) - Name not known"Perttu Ahola2012-06-16
|
* Node texture animationPerttu Ahola2012-06-16
|
* Node placement client-side predictionPerttu Ahola2012-06-10
|
* Allow replacements in cooking and fuel recipesKahrl2012-06-06
|
* Add after_destruct and cache the existence of on_construct, on_destruct and ↵Perttu Ahola2012-06-05
| | | | after_destruct for quick skipping when a node does not have them
* place_node, dig_node and punch_node; an in-game tester tool; remove old codePerttu Ahola2012-06-05
|
* Switch the license to be LGPLv2/later, with small parts still remaining as ↵Perttu Ahola2012-06-05
| | | | GPLv2/later, by agreement of major contributors
* Add InvRef:is_empty(listname) and make chests/furnaces not diggable if not ↵darkrose2012-06-03
| | | | empty in minimal game
* Add ObjRef:is_player() and modify ObjRef:get_player_name() to always return ↵Perttu Ahola2012-06-03
| | | | a string to aid better inter-object compatibility of code that assumes objects to be players
* minetest.get_craft_resultPerttu Ahola2012-06-03
|
* NodeMetaRef:{to,from}_table and lua_api.txt additionsPerttu Ahola2012-06-03
|
* on_metadata_inventory_{move,offer,take}Perttu Ahola2012-06-03
|
* Implement sign using form field protocolPerttu Ahola2012-06-03
|
* Add node on_construct, on_destruct callbacks and update lua_api.txtPerttu Ahola2012-06-03
|
* Strip unneeded variables from NodeMetadatadarkrose2012-06-03
|