summaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_object.cpp
Commit message (Collapse)AuthorAge
* ServerEnv: Clean up object lifecycle handling (#6414)sfan52018-06-03
| | | | * ServerEnv: Clean up object lifecycle handling
* Fix wrong return value in get_sky Lua call since ↵Loic Blot2017-05-23
| | | | | | ad9fcf859ec2347325830e09504ae96968b51ea8 Fix #5803
* Player attrs: permits to remove an attribute by setting value to nil (#5716)Loïc Blot2017-05-07
| | | | | | | | | | * Player attrs: permits to remove an attribute by setting value to nil When doing player:set_attribute("attr", nil) remove attribute Also remove a useless check on C++ API part (already done by checkplayer) Fix #5709
* Set sky API: Add bool for clouds in front of custom skyboxparamat2017-05-02
| | | | | | | Default true. Add 'm_clouds_enabled' bool to sky.h, set from new bool in 'set sky' API. Make 'getCloudsVisible()' depend on 'm_clouds_enabled' instead of 'm_visible' (whether normal sky is visible).
* Add clouds APIBen Deutsch2017-04-30
|
* Fix visual slide issue with set_detach, fixes #5620shivajiva1012017-04-29
|
* Rename Scripting API files for consistencyShadowNinja2017-04-25
|
* Sneak: Add option for old move codeparamat2017-04-17
| | | | | | Temporary option for the old move code for specific old sneak behaviour. Enabled by setting the added 'new move' physics override to false. By default 'new move' is true.
* Hardware coloring for itemstacksDániel Juhász2017-04-08
| | | | | | | | | | Adds the possibility to colorize item stacks based on their metadata. In the item/node definition you can specify palette (an image file) and color (fallback color if the item has no palette or metadata). Then you can add palette_index to the metadata. Dropped itemstacks with different colors do not merge.
* Replace luaL_reg with luaL_Reg as recent LuaJIT dropped the Lua 5.0 compat ↵Loïc Blot2017-04-08
| | | | | (#5541) We are bundling Lua5.1 which has same macro
* Add `get_wielded_item`red-0012017-03-13
|
* [CSM] Client side moddingLoic Blot2017-03-13
| | | | | | | | | | * rename GameScripting to ServerScripting * Make getBuiltinLuaPath static serverside * Add on_shutdown callback * Add on_receiving_chat_message & on_sending_chat_message callbacks * ScriptApiBase: use IGameDef instead of Server This permits to share common attribute between client & server * Enable mod security in client side modding without conditions
* Implement player attribute backend (#4155)Loïc Blot2017-01-27
| | | | | | | | | | | | | | | * This backend permit mods to store extra players attributes to a common interface. * Add the obj:set_attribute(attr, value) Lua call * Add the obj:get_attribute(attr) Lua call Examples: * player:set_attribute("home:home", "10,25,-78") * player:get_attribute("default:mana") Attributes are saved as a json in the player file in extended_attributes key They are saved only if a modification on the attributes occurs and loaded when emergePlayer is called (they are attached to PlayerSAO).
* Revert "Detach the player from entities on death." (#5087)Loïc Blot2017-01-21
|
* Add Entity get_texture_mod() to Lua APIsapier2017-01-21
| | | | Send texture modifier to clients connecting later too
* Detach the player from entities on death. (#5077)red-0012017-01-21
|
* Fix typo in alias for deprecated settexturemodsapier2017-01-17
|
* Rename ObjectRef methods to be consistent and predictablerubenwardy2017-01-16
|
* Make nametag removable with set_nametag_attributes (#5021)Rui2017-01-11
|
* Performance fix + SAO factorizationRogier2017-01-11
| | | | | | | | | | Original credits goes to @Rogier-5 * Merge common attributes between LuaEntitySAO & PlayerSAO to UnitSAO * Make some functions const * Improve some lists performance by returning const ref Signed-off-by: Loic Blot <loic.blot@unix-experience.fr>
* Breath cheat fix: server sideLoic Blot2017-01-01
| | | | | | | | | Breath is now handled server side. Changing this behaviour required some modifications to core: * Ignore TOSERVER_BREATH package, marking it as obsolete * Clients doesn't send the breath to server anymore * Use PlayerSAO pointer instead of peer_id in Server::SendPlayerBreath to prevent a useless lookup (little perf gain) * drop a useless static_cast in emergePlayer
* Fix crash when attached object no longer existsRogier2016-11-13
| | | | | | | | | | Active objects that are attached to other objects are not safe from deletion. As a result, the parent object may have a reference to an id of a child's that no longer exists. If at some point an attempt is made to manipulate the child, enviromment->getActiveObject(child-id) returns NULL. Using the NULL pointer causes the crash...
* Fix overloading problems mentioned by clangLoic Blot2016-10-30
|
* PlayerSAO/LocalPlayer refactor: (#4612)Ner'zhul2016-10-30
| | | | | | | | | | | | | | | | | * Create UnitSAO, a common part between PlayerSAO & LuaEntitySAO * Move breath to PlayerSAO & LocalPlayer * Migrate m_yaw from (Remote)Player & LuaEntitySAO to UnitSAO * Migrate m_yaw from Player to LocalPlayer for client * Move some functions outside of player class to PlayerSAO/RemotePlayer or LocalPlayer depending on which class needs it * Move pitch to LocalPlayer & PlayerSAO * Move m_position from Player to LocalPlayer * Move camera_barely_in_ceiling to LocalPlayer as it's used only there * use PlayerSAO::m_base_position for Server side positions * remove a unused variable * ServerActiveObject::setPos now uses const ref * use ServerEnv::loadPlayer unconditionnaly as it creates RemotePlayer only if it's not already loaded * Move hp from Player to LocalPlayer * Move m_hp from LuaEntitySAO to UnitSAO * Use m_hp from PlayerSAO/UnitSAO instead of RemotePlayer
* Adding LuaError on attempt to assign vectors with values out of rangeFoghrye42016-10-25
|
* Move RemotePlayer code to its own cpp/headerLoic Blot2016-10-08
|
* RemotePlayer/LocalPlayer Player base class proper separation (code cleanup) ↵Loic Blot2016-10-08
| | | | | | | | | | | | (patch 3 of X) * remove IGameDef from Player class, only LocalPlayer has it now * move many attributes/functions only used by LocalPlayer from Player to LocalPlayer * move many attributes/functions only used by RemotePlayer from Player to RemotePlayer * make some functions const * hudGetHotbarSelectedImage now returns const ref * RemotePlayer getHotbarSelectedImage now returns const ref * various code style fixes
* More code cleanup (UNORDERED + RemotePlayer/LocalPlayer)Loic Blot2016-10-08
| | | | | | | * ClientEnvironment now uses UNORDERED MAP for active objects * Use RemotePlayer and LocalPlayer everywhere it's possible * Minor code style fixes * Drop Client::getBreath() unused function
* Player/LocalPlayer/RemotePlayer inheritance cleanup (part 2 on X)Loic Blot2016-10-08
| | | | | | | * Server/Client Environments now have an helper to cast Player object in the right type to use it * Server: use RemotePlayer everywhere and remove previous added casts * Client: use LocalPlayer where needed * Environment: remove unused functions (getPlayers(), getRandomConnectedPlayer(), getNearestConnectedPlayer())
* Prevent attached models from disappearing during parent reload (#4128)Foghrye42016-10-08
|
* Player/LocalPlayer/RemotePlayer inheritance cleanup (part 1 on X)Loic Blot2016-10-08
| | | | | | | | | | | * LocalPlayer take ownership of maxHudId as it's the only caller * RemotePlayer take ownership of day night ratio as it's the only user * Pass getPlayerControl as const reference to prevent object copy on each call (perf improvement in ObjectRef::l_get_player_control call) * getPlayerSAO is now only RemotePlayer call * get/setHotbarItemCount is now RemotePlayer owned * Server: Use RemotePlayer instead of Player object on concerned call to properly fix the object type * PlayerSAO now uses RemotePlayer instead of Player because it's only server side * ObjectRef::getplayer also returns RemotePlayer as it's linked with PlayerSAO
* Player: New get_look, set_look APIraymoo2016-06-24
| | | | Deprecate get_look / set_look pitch / yaw
* Add option to give every object a nametagBlockMen2015-12-15
| | | | or change the nametag text of players
* SAPI: Mark all Lua API functions requiring envlockkwolekr2015-10-25
|
* Define and use limit constants for Irrlicht fixed-width typeskwolekr2015-10-04
|
* minimap: Add ability to disable from serverkwolekr2015-08-13
|
* Added get_player_velocity() method. Fixes #1176Elia Argentieri2015-07-20
|
* Fix invisible player when the attached entity is removedTeTpaAka2015-07-18
|
* Fix damage flash when damage disabledkwolekr2015-07-10
|
* Fix some issues with animations, and allow non-looped animations to be definedMirceaKitsune2015-06-22
|
* Add some missing getter functions to the lua APITeTpaAka2015-05-28
| | | | | | | | | | | | | | | | | | | | | | | ObjectRef: get_properties get_armor_groups get_animation get_attach get_bone_position Players: get_physics_override hud_get_hotbar_itemcount hud_get_hotbar_image hud_get_hotbar_selected_image get_sky get_day_night_ratio get_local_animation get_eye_offset Global: minetest.get_gen_notify minetest.get_noiseparams
* SAPI: Accept either ARGB8 table or ColorString to specify colorskwolekr2015-05-16
|
* Add push_ARGB8 to script/common/c_converterTeTpaAka2015-05-15
|
* Generalize core.get/set_nametag_color into core.get/set_nametag_attributesTeTpaAka2015-05-15
|
* Add get and set functions for the nametag colorTeTpaAka2015-05-15
|
* is_player() is no player-only functionest312015-05-12
|
* Revert "Add a Lua call to do damages / heals" ok @ShadowNinjaLoic Blot2015-03-22
| | | | This reverts commit 467fc0ddc912ae38c3bf9fcb99e0b66d7478eec0.
* Add a Lua call to do damages / healsLoic Blot2015-03-18
|
* We always know playerSAO when calling SendInventory. Using it instead of ↵Loic Blot2015-03-04
| | | | searching it via peer_id
* Send Inventory packet on event, don't check it at each AsyncRunStep.Loic Blot2015-03-04
| | | | | | * Call UpdateCrafting into SendInventory because this functions is only called before SendInventory * Use Player* instead of peer_id for UpdateCrafting because SendInventory already has the Player* pointer, then don't loop for searching Player* per peer_id * m_env_mutex don't need to be used with this modification because it's already locked before the calls