<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <head> <title>3D Armor</title> <link rel="stylesheet" href="../ldoc.css" type="text/css" /> <link rel="icon" href="https://www.minetest.net/media/icon.svg" type="image/png" /> </head> <body> <div id="container"> <div id="product"> <div id="product_logo"></div> <div id="product_name"><big><b></b></big></div> <div id="product_description"></div> </div> <!-- id="product" --> <div id="main"> <!-- Menu --> <div id="navigation"> <br/> <h1>3d_armor</h1> <ul> <li><a href="../index.html">Index</a></li> </ul> <h2>Contents</h2> <ul> <li><a href="#Tables">Tables </a></li> <li><a href="#Methods">Methods </a></li> <li><a href="#Armor_Callbacks_Registration">Armor Callbacks Registration </a></li> </ul> <h2>Topics</h2> <ul class=""> <li><strong>api</strong></li> <li><a href="../topics/settings.html">settings</a></li> <li><a href="../topics/helmets.html">helmets</a></li> <li><a href="../topics/chestplates.html">chestplates</a></li> <li><a href="../topics/leggings.html">leggings</a></li> <li><a href="../topics/boots.html">boots</a></li> <li><a href="../topics/shields.html">shields</a></li> <li><a href="../topics/crafting.html">crafting</a></li> </ul> </div> <div id="content"> <h1>Topic <code>api</code></h1> <p>3D Armor API</p> <p> </p> <h2><a href="#Tables">Tables </a></h2> <table class="function_list"> <tr> <td class="name" nowrap><a href="#ArmorDef">ArmorDef</a></td> <td class="summary">Armor definition table used for registering armor.</td> </tr> <tr> <td class="name" nowrap><a href="#ArmorDef.groups">ArmorDef.groups</a></td> <td class="summary">Groups table.</td> </tr> <tr> <td class="name" nowrap><a href="#ArmorDef.armor_groups">ArmorDef.armor_groups</a></td> <td class="summary">Armor groups table.</td> </tr> <tr> <td class="name" nowrap><a href="#ArmorDef.damage_groups">ArmorDef.damage_groups</a></td> <td class="summary">Damage groups table.</td> </tr> </table> <h2><a href="#Methods">Methods </a></h2> <table class="function_list"> <tr> <td class="name" nowrap><a href="#armor:register_armor">armor:register_armor (name, def)</a></td> <td class="summary">Registers a new armor item.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:register_armor_group">armor:register_armor_group (group, base)</a></td> <td class="summary">Registers a new armor group.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:run_callbacks">armor:run_callbacks (callback, player, index, stack)</a></td> <td class="summary">Runs callbacks.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:update_player_visuals">armor:update_player_visuals (player)</a></td> <td class="summary">Updates visuals.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:set_player_armor">armor:set_player_armor (player)</a></td> <td class="summary">Sets player's armor attributes.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:punch">armor:punch (player, hitter[, time_from_last_punch[, tool_capabilities]])</a></td> <td class="summary">Action when armor is punched.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:damage">armor:damage (player, index, stack, use)</a></td> <td class="summary">Action when armor is damaged.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:get_weared_armor_elements">armor:get_weared_armor_elements (player)</a></td> <td class="summary">Get elements of equipped armor.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:equip">armor:equip (player, itemstack)</a></td> <td class="summary">Equips a piece of armor to a player.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:unequip">armor:unequip (player, armor_element)</a></td> <td class="summary">Unequips a piece of armor from a player.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:remove_all">armor:remove_all (player)</a></td> <td class="summary">Removes all armor worn by player.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:get_player_skin">armor:get_player_skin (name)</a></td> <td class="summary">Retrieves player's current skin.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:update_skin">armor:update_skin (name)</a></td> <td class="summary">Updates skin.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:add_preview">armor:add_preview (preview)</a></td> <td class="summary">Adds preview for armor inventory.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:get_preview">armor:get_preview (name)</a></td> <td class="summary">Retrieves preview for armor inventory.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:get_armor_formspec">armor:get_armor_formspec (name[, listring])</a></td> <td class="summary">Retrieves armor formspec.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:get_element">armor:get_element (item_name)</a></td> <td class="summary">Retrieves element.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:serialize_inventory_list">armor:serialize_inventory_list (list)</a></td> <td class="summary">Serializes armor inventory.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:deserialize_inventory_list">armor:deserialize_inventory_list (list_string)</a></td> <td class="summary">Deserializes armor inventory.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:load_armor_inventory">armor:load_armor_inventory (player)</a></td> <td class="summary">Loads armor inventory.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:save_armor_inventory">armor:save_armor_inventory (player)</a></td> <td class="summary">Saves armor inventory.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:update_inventory">armor:update_inventory (player)</a></td> <td class="summary">Updates inventory.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:set_inventory_stack">armor:set_inventory_stack (player, i, stack)</a></td> <td class="summary">Sets inventory stack.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:get_valid_player">armor:get_valid_player (player, msg)</a></td> <td class="summary">Checks for a player that can use armor.</td> </tr> <tr> <td class="name" nowrap><a href="#armor.drop_armor">armor.drop_armor (pos, stack)</a></td> <td class="summary">Drops armor item at given position.</td> </tr> <tr> <td class="name" nowrap><a href="#armor.set_skin_mod">armor.set_skin_mod (mod)</a></td> <td class="summary">Allows skin mod to be set manually.</td> </tr> </table> <h2><a href="#Armor_Callbacks_Registration">Armor Callbacks Registration </a></h2> <table class="function_list"> <tr> <td class="name" nowrap><a href="#armor:register_on_update">armor:register_on_update (func)</a></td> <td class="summary">Registers a callback for when player visuals are update.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:register_on_equip">armor:register_on_equip (func)</a></td> <td class="summary">Registers a callback for when armor is equipped.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:register_on_unequip">armor:register_on_unequip (func)</a></td> <td class="summary">Registers a callback for when armor is unequipped.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:register_on_damage">armor:register_on_damage (func)</a></td> <td class="summary">Registers a callback for when armor is damaged.</td> </tr> <tr> <td class="name" nowrap><a href="#armor:register_on_destroy">armor:register_on_destroy (func)</a></td> <td class="summary">Registers a callback for when armor is destroyed.</td> </tr> </table> <br/> <br/> <h2 class="section-header "><a name="Tables"></a>Tables </h2> <dl class="function"> <dt> <a name = "ArmorDef"></a> <strong>ArmorDef</strong> </dt> <dd> Armor definition table used for registering armor. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Fields:</h3> <ul> <li><span class="parameter">description</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Human-readable name/description. </li> <li><span class="parameter">inventory_image</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Image filename used for icon. </li> <li><span class="parameter">groups</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span> See: <a href="../topics/api.html#ArmorDef.groups">ArmorDef.groups</a> </li> <li><span class="parameter">armor_groups</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span> See: <a href="../topics/api.html#ArmorDef.armor_groups">ArmorDef.armor_groups</a> </li> <li><span class="parameter">damage_groups</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span> See: <a href="../topics/api.html#ArmorDef.damage_groups">ArmorDef.damage_groups</a> </li> </ul> <h3>See also:</h3> <ul> <a href="https://minetest.gitlab.io/minetest/definition-tables/#item-definition">ItemDef</a> </ul> <h3>Usage:</h3> <ul> <pre class="example"><span class="keyword">local</span> def = { description = <span class="string">"Wood Helmet"</span>, inventory_image = <span class="string">"3d_armor_inv_helmet_wood.png"</span>, groups = {armor_head=<span class="number">1</span>, armor_heal=<span class="number">0</span>, armor_use=<span class="number">2000</span>, flammable=<span class="number">1</span>}, armor_groups = {fleshy=<span class="number">5</span>}, damage_groups = {cracky=<span class="number">3</span>, snappy=<span class="number">2</span>, choppy=<span class="number">3</span>, crumbly=<span class="number">2</span>, level=<span class="number">1</span>}, }</pre> </ul> </dd> <dt> <a name = "ArmorDef.groups"></a> <strong>ArmorDef.groups</strong> </dt> <dd> Groups table. </p> <p> General groups defining item behavior.</p> <p> Some commonly used groups: <strong><em>armor_<type></em></strong>, <strong><em>armor_heal</em></strong>, <strong><em>armor_use</em></strong> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Fields:</h3> <ul> <li><span class="parameter">armor_type</span> <span class="types"><span class="type">int</span></span> The armor type. "head", "torso", "hands", "shield", etc. (<strong>Note:</strong> replace "type" with actual type). </li> <li><span class="parameter">armor_heal</span> <span class="types"><span class="type">int</span></span> Healing value of armor when equipped. </li> <li><span class="parameter">armor_use</span> <span class="types"><span class="type">int</span></span> Amount of uses/damage before armor "breaks". </li> </ul> <h3>See also:</h3> <ul> <a href="https://minetest.gitlab.io/minetest/groups/">groups</a> </ul> <h3>Usage:</h3> <ul> <pre class="example">groups = { armor_head = <span class="number">1</span>, armor_heal = <span class="number">5</span>, armor_use = <span class="number">2000</span>, flammable = <span class="number">1</span>, }</pre> </ul> </dd> <dt> <a name = "ArmorDef.armor_groups"></a> <strong>ArmorDef.armor_groups</strong> </dt> <dd> Armor groups table. </p> <p> Groups that this item is effective against when taking damage.</p> <p> Some commonly used groups: <strong><em>fleshy</em></strong> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Usage:</h3> <ul> <pre class="example">armor_groups = { fleshy = <span class="number">5</span>, }</pre> </ul> </dd> <dt> <a name = "ArmorDef.damage_groups"></a> <strong>ArmorDef.damage_groups</strong> </dt> <dd> Damage groups table. </p> <p> Groups that this item is effective on when used as a weapon/tool.</p> <p> Some commonly used groups: <strong><em>cracky</em></strong>, <strong><em>snappy</em></strong>, <strong><em>choppy</em></strong>, <strong><em>crumbly</em></strong>, <strong><em>level</em></strong> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>See also:</h3> <ul> <a href="https://minetest.gitlab.io/minetest/entity-damage-mechanism/">entity_damage_mechanism</a> </ul> <h3>Usage:</h3> <ul> <pre class="example">damage_groups = { cracky = <span class="number">3</span>, snappy = <span class="number">2</span>, choppy = <span class="number">3</span>, crumbly = <span class="number">2</span>, level = <span class="number">1</span>, }</pre> </ul> </dd> </dl> <h2 class="section-header "><a name="Methods"></a>Methods </h2> <dl class="function"> <dt> <a name = "armor:register_armor"></a> <strong>armor:register_armor (name, def)</strong> </dt> <dd> Registers a new armor item. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">name</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Armor item technical name (ex: "3d_armor:helmet_gold"). </li> <li><span class="parameter">def</span> <span class="types"><a class="type" href="../topics/api.html#ArmorDef">ArmorDef</a></span> Armor definition table. </li> </ul> <h3>Usage:</h3> <ul> <pre class="example">armor:register_armor(<span class="string">"3d_armor:helmet_wood"</span>, { description = <span class="string">"Wood Helmet"</span>, inventory_image = <span class="string">"3d_armor_inv_helmet_wood.png"</span>, groups = {armor_head=<span class="number">1</span>, armor_heal=<span class="number">0</span>, armor_use=<span class="number">2000</span>, flammable=<span class="number">1</span>}, armor_groups = {fleshy=<span class="number">5</span>}, damage_groups = {cracky=<span class="number">3</span>, snappy=<span class="number">2</span>, choppy=<span class="number">3</span>, crumbly=<span class="number">2</span>, level=<span class="number">1</span>}, })</pre> </ul> </dd> <dt> <a name = "armor:register_armor_group"></a> <strong>armor:register_armor_group (group, base)</strong> </dt> <dd> Registers a new armor group. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">group</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Group ID. </li> <li><span class="parameter">base</span> <span class="types"><span class="type">int</span></span> Base armor value. </li> </ul> </dd> <dt> <a name = "armor:run_callbacks"></a> <strong>armor:run_callbacks (callback, player, index, stack)</strong> </dt> <dd> Runs callbacks. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">callback</span> <span class="types"><span class="type">function</span></span> Function to execute. </li> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> First parameter passed to callback. </li> <li><span class="parameter">index</span> <span class="types"><span class="type">int</span></span> Second parameter passed to callback. </li> <li><span class="parameter">stack</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#itemstack">ItemStack</a></span> Callback owner. </li> </ul> </dd> <dt> <a name = "armor:update_player_visuals"></a> <strong>armor:update_player_visuals (player)</strong> </dt> <dd> Updates visuals. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> </li> </ul> </dd> <dt> <a name = "armor:set_player_armor"></a> <strong>armor:set_player_armor (player)</strong> </dt> <dd> Sets player's armor attributes. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> </li> </ul> </dd> <dt> <a name = "armor:punch"></a> <strong>armor:punch (player, hitter[, time_from_last_punch[, tool_capabilities]])</strong> </dt> <dd> Action when armor is punched. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> Player wearing the armor. </li> <li><span class="parameter">hitter</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> Entity attacking player. </li> <li><span class="parameter">time_from_last_punch</span> <span class="types"><span class="type">int</span></span> Time in seconds since last punch action. (<em>optional</em>) </li> <li><span class="parameter">tool_capabilities</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span> See <a href="https://minetest.gitlab.io/minetest/entity-damage-mechanism/">entity_damage_mechanism</a>. (<em>optional</em>) </li> </ul> </dd> <dt> <a name = "armor:damage"></a> <strong>armor:damage (player, index, stack, use)</strong> </dt> <dd> Action when armor is damaged. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> </li> <li><span class="parameter">index</span> <span class="types"><span class="type">int</span></span> Inventory index where armor is equipped. </li> <li><span class="parameter">stack</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#itemstack">ItemStack</a></span> Armor item receiving damaged. </li> <li><span class="parameter">use</span> <span class="types"><span class="type">int</span></span> Amount of wear to add to armor item. </li> </ul> </dd> <dt> <a name = "armor:get_weared_armor_elements"></a> <strong>armor:get_weared_armor_elements (player)</strong> </dt> <dd> Get elements of equipped armor. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> </li> </ul> <h3>Returns:</h3> <ol> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span> List of equipped armors. </ol> </dd> <dt> <a name = "armor:equip"></a> <strong>armor:equip (player, itemstack)</strong> </dt> <dd> Equips a piece of armor to a player. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> Player to whom item is equipped. </li> <li><span class="parameter">itemstack</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#itemstack">ItemStack</a></span> Armor item to be equipped. </li> </ul> <h3>Returns:</h3> <ol> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#itemstack">ItemStack</a></span> Leftover item stack. </ol> </dd> <dt> <a name = "armor:unequip"></a> <strong>armor:unequip (player, armor_element)</strong> </dt> <dd> Unequips a piece of armor from a player. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> Player from whom item is removed. </li> <li><span class="parameter">armor_element</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Armor type identifier associated with the item to be removed ("head", "torso", "hands", "shield", "legs", "feet", etc.). </li> </ul> </dd> <dt> <a name = "armor:remove_all"></a> <strong>armor:remove_all (player)</strong> </dt> <dd> Removes all armor worn by player. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> </li> </ul> </dd> <dt> <a name = "armor:get_player_skin"></a> <strong>armor:get_player_skin (name)</strong> </dt> <dd> Retrieves player's current skin. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">name</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Player name. </li> </ul> <h3>Returns:</h3> <ol> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Skin filename. </ol> </dd> <dt> <a name = "armor:update_skin"></a> <strong>armor:update_skin (name)</strong> </dt> <dd> Updates skin. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">name</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Player name. </li> </ul> </dd> <dt> <a name = "armor:add_preview"></a> <strong>armor:add_preview (preview)</strong> </dt> <dd> Adds preview for armor inventory. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">preview</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Preview image filename. </li> </ul> </dd> <dt> <a name = "armor:get_preview"></a> <strong>armor:get_preview (name)</strong> </dt> <dd> Retrieves preview for armor inventory. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">name</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Player name. </li> </ul> <h3>Returns:</h3> <ol> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Preview image filename. </ol> </dd> <dt> <a name = "armor:get_armor_formspec"></a> <strong>armor:get_armor_formspec (name[, listring])</strong> </dt> <dd> Retrieves armor formspec. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">name</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Player name. </li> <li><span class="parameter">listring</span> <span class="types"><span class="type">bool</span></span> Use <code>listring</code> formspec element (default: <code>false</code>). (<em>optional</em>) </li> </ul> <h3>Returns:</h3> <ol> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Formspec formatted string. </ol> </dd> <dt> <a name = "armor:get_element"></a> <strong>armor:get_element (item_name)</strong> </dt> <dd> Retrieves element. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">item_name</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> </li> </ul> <h3>Returns:</h3> <ol> Armor element. </ol> </dd> <dt> <a name = "armor:serialize_inventory_list"></a> <strong>armor:serialize_inventory_list (list)</strong> </dt> <dd> Serializes armor inventory. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">list</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span> Inventory contents. </li> </ul> <h3>Returns:</h3> <ol> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> </ol> </dd> <dt> <a name = "armor:deserialize_inventory_list"></a> <strong>armor:deserialize_inventory_list (list_string)</strong> </dt> <dd> Deserializes armor inventory. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">list_string</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Serialized inventory contents. </li> </ul> <h3>Returns:</h3> <ol> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span> </ol> </dd> <dt> <a name = "armor:load_armor_inventory"></a> <strong>armor:load_armor_inventory (player)</strong> </dt> <dd> Loads armor inventory. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> </li> </ul> <h3>Returns:</h3> <ol> <span class="types"><span class="type">bool</span></span> </ol> </dd> <dt> <a name = "armor:save_armor_inventory"></a> <strong>armor:save_armor_inventory (player)</strong> </dt> <dd> Saves armor inventory. </p> <p> Inventory is stored in <a href="https://minetest.gitlab.io/minetest/class-reference/#playermetaref">PlayerMetaRef</a> string "3d_armor_inventory". </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> </li> </ul> </dd> <dt> <a name = "armor:update_inventory"></a> <strong>armor:update_inventory (player)</strong> </dt> <dd> Updates inventory. </p> <p> DEPRECATED: Legacy inventory support. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> </li> </ul> </dd> <dt> <a name = "armor:set_inventory_stack"></a> <strong>armor:set_inventory_stack (player, i, stack)</strong> </dt> <dd> Sets inventory stack. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> </li> <li><span class="parameter">i</span> <span class="types"><span class="type">int</span></span> Armor inventory index. </li> <li><span class="parameter">stack</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#itemstack">ItemStack</a></span> Armor item. </li> </ul> </dd> <dt> <a name = "armor:get_valid_player"></a> <strong>armor:get_valid_player (player, msg)</strong> </dt> <dd> Checks for a player that can use armor. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">player</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#objectref">ObjectRef</a></span> </li> <li><span class="parameter">msg</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Additional info for log messages. </li> </ul> <h3>Returns:</h3> <ol> <span class="types"><span class="type">list</span></span> Player name & armor inventory. </ol> <h3>Usage:</h3> <ul> <pre class="example"><span class="keyword">local</span> name, inv = armor:get_valid_player(player, <span class="string">"[equip]"</span>)</pre> </ul> </dd> <dt> <a name = "armor.drop_armor"></a> <strong>armor.drop_armor (pos, stack)</strong> </dt> <dd> Drops armor item at given position. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">pos</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/representations-of-simple-things/#positionvector">vector</a></span> </li> <li><span class="parameter">stack</span> <span class="types"><a class="type" href="https://minetest.gitlab.io/minetest/class-reference/#itemstack">ItemStack</a></span> Armor item to be dropped. </li> </ul> </dd> <dt> <a name = "armor.set_skin_mod"></a> <strong>armor.set_skin_mod (mod)</strong> </dt> <dd> Allows skin mod to be set manually. </p> <p> Useful for skin mod forks that do not use the same name. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">mod</span> <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> Name of skin mod. Recognized names are "simple_skins", "u_skins", & "wardrobe". </li> </ul> </dd> </dl> <h2 class="section-header "><a name="Armor_Callbacks_Registration"></a>Armor Callbacks Registration </h2> <dl class="function"> <dt> <a name = "armor:register_on_update"></a> <strong>armor:register_on_update (func)</strong> </dt> <dd> Registers a callback for when player visuals are update. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">func</span> <span class="types"><span class="type">function</span></span> Function to be executed. </li> </ul> <h3>See also:</h3> <ul> <a href="../topics/api.html#armor:update_player_visuals">armor:update_player_visuals</a> </ul> <h3>Usage:</h3> <ul> <pre class="example">armor:register_on_update(<span class="keyword">function</span>(player, index, stack) <span class="comment">-- code to execute </span> <span class="keyword">end</span>)</pre> </ul> </dd> <dt> <a name = "armor:register_on_equip"></a> <strong>armor:register_on_equip (func)</strong> </dt> <dd> Registers a callback for when armor is equipped. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">func</span> <span class="types"><span class="type">function</span></span> Function to be executed. </li> </ul> <h3>Usage:</h3> <ul> <pre class="example">armor:register_on_equip(<span class="keyword">function</span>(player, index, stack) <span class="comment">-- code to execute </span> <span class="keyword">end</span>)</pre> </ul> </dd> <dt> <a name = "armor:register_on_unequip"></a> <strong>armor:register_on_unequip (func)</strong> </dt> <dd> Registers a callback for when armor is unequipped. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">func</span> <span class="types"><span class="type">function</span></span> Function to be executed. </li> </ul> <h3>Usage:</h3> <ul> <pre class="example">armor:register_on_unequip(<span class="keyword">function</span>(player, index, stack) <span class="comment">-- code to execute </span> <span class="keyword">end</span>)</pre> </ul> </dd> <dt> <a name = "armor:register_on_damage"></a> <strong>armor:register_on_damage (func)</strong> </dt> <dd> Registers a callback for when armor is damaged. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">func</span> <span class="types"><span class="type">function</span></span> Function to be executed. </li> </ul> <h3>See also:</h3> <ul> <a href="../topics/api.html#armor:damage">armor:damage</a> </ul> <h3>Usage:</h3> <ul> <pre class="example">armor:register_on_damage(<span class="keyword">function</span>(player, index, stack) <span class="comment">-- code to execute </span> <span class="keyword">end</span>)</pre> </ul> </dd> <dt> <a name = "armor:register_on_destroy"></a> <strong>armor:register_on_destroy (func)</strong> </dt> <dd> Registers a callback for when armor is destroyed. </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> </ul> <h3>Parameters:</h3> <ul> <li><span class="parameter">func</span> <span class="types"><span class="type">function</span></span> Function to be executed. </li> </ul> <h3>See also:</h3> <ul> <a href="../topics/api.html#armor:damage">armor:damage</a> </ul> <h3>Usage:</h3> <ul> <pre class="example">armor:register_on_destroy(<span class="keyword">function</span>(player, index, stack) <span class="comment">-- code to execute </span> <span class="keyword">end</span>)</pre> </ul> </dd> </dl> </div> <!-- id="content" --> </div> <!-- id="main" --> <div id="about"> <i>generated by <a href="http://github.com/AntumDeluge/LDoc/tree/custom">LDoc 1.4.6-antum-dev</a></i> <i style="float:right;">Last updated 2022-11-16 19:10:36 </i> </div> <!-- id="about" --> </div> <!-- id="container" --> </body> </html>