Topic api
3D Armor API
Tables
| ArmorDef | Armor definition table used for registering armor. | 
| ArmorDef.groups | Groups table. | 
| ArmorDef.armor_groups | Armor groups table. | 
| ArmorDef.damage_groups | Damage groups table. | 
Methods
Armor Callbacks Registration
| armor:register_on_update (func) | Registers a callback for when player visuals are update. | 
| armor:register_on_equip (func) | Registers a callback for when armor is equipped. | 
| armor:register_on_unequip (func) | Registers a callback for when armor is unequipped. | 
| armor:register_on_damage (func) | Registers a callback for when armor is damaged. | 
| armor:register_on_destroy (func) | Registers a callback for when armor is destroyed. | 
Tables
- ArmorDef
 - 
    Armor definition table used for registering armor.
    
    
    
    
    
    
    
    
    
    
Fields:
- description string Human-readable name/description.
 - inventory_image string Image filename used for icon.
 - groups table See: ArmorDef.groups
 - armor_groups table See: ArmorDef.armor_groups
 - damage_groups table See: ArmorDef.damage_groups
 
See also:
Usage:
local def = { description = "Wood Helmet", inventory_image = "3d_armor_inv_helmet_wood.png", groups = {armor_head=1, armor_heal=0, armor_use=2000, flammable=1}, armor_groups = {fleshy=5}, damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1}, }
 - ArmorDef.groups
 - 
    Groups table. 
General groups defining item behavior.
Some commonly used groups: armor_<type>, armor_heal, armor_use
Fields:
- armor_type int The armor type. "head", "torso", "hands", "shield", etc. (Note: replace "type" with actual type).
 - armor_heal int Healing value of armor when equipped.
 - armor_use int Amount of uses/damage before armor "breaks".
 
See also:
Usage:
groups = { armor_head = 1, armor_heal = 5, armor_use = 2000, flammable = 1, } - ArmorDef.armor_groups
 - 
    Armor groups table. 
Groups that this item is effective against when taking damage.
Some commonly used groups: fleshy
Usage:
armor_groups = { fleshy = 5, } - ArmorDef.damage_groups
 - 
    Damage groups table. 
Groups that this item is effective on when used as a weapon/tool.
Some commonly used groups: cracky, snappy, choppy, crumbly, level
See also:
Usage:
damage_groups = { cracky = 3, snappy = 2, choppy = 3, crumbly = 2, level = 1, } 
Methods
- armor:register_armor (name, def)
 - 
    Registers a new armor item.
    
    
    
    
    
    
    
    
    
    
Parameters:
- name string Armor item technical name (ex: "3d_armor:helmet_gold").
 - def ArmorDef Armor definition table.
 
Usage:
armor:register_armor("3d_armor:helmet_wood", { description = "Wood Helmet", inventory_image = "3d_armor_inv_helmet_wood.png", groups = {armor_head=1, armor_heal=0, armor_use=2000, flammable=1}, armor_groups = {fleshy=5}, damage_groups = {cracky=3, snappy=2, choppy=3, crumbly=2, level=1}, })
 - armor:register_armor_group (group, base)
 - 
    Registers a new armor group.
    
    
    
    
    
    
    
    
    
    
Parameters:
- group string Group ID.
 - base int Base armor value.
 
 - armor:run_callbacks (callback, player, index, stack)
 - 
    Runs callbacks.
    
    
    
    
    
    
    
    
    
    
Parameters:
 - armor:update_player_visuals (player)
 - 
    Updates visuals.
    
    
    
    
    
    
    
    
    
    
Parameters:
- player ObjectRef
 
 - armor:set_player_armor (player)
 - 
    Sets player's armor attributes.
    
    
    
    
    
    
    
    
    
    
Parameters:
- player ObjectRef
 
 - armor:punch (player, hitter[, time_from_last_punch[, tool_capabilities]])
 - 
    Action when armor is punched.
    
    
    
    
    
    
    
    
    
    
Parameters:
- player ObjectRef Player wearing the armor.
 - hitter ObjectRef Entity attacking player.
 - time_from_last_punch int Time in seconds since last punch action. (optional)
 - tool_capabilities table See entity_damage_mechanism. (optional)
 
 - armor:damage (player, index, stack, use)
 - 
    Action when armor is damaged.
    
    
    
    
    
    
    
    
    
    
Parameters:
 - armor:get_weared_armor_elements (player)
 - 
    Get elements of equipped armor.
    
    
    
    
    
    
    
    
    
    
Parameters:
- player ObjectRef
 
Returns:
- 
           table
        List of equipped armors.
    
 
 - armor:equip (player, itemstack)
 - 
    Equips a piece of armor to a player.
    
    
    
    
    
    
    
    
    
    
Parameters:
Returns:
- 
           ItemStack
        Leftover item stack.
    
 
 - armor:unequip (player, armor_element)
 - 
    Unequips a piece of armor from a player.
    
    
    
    
    
    
    
    
    
    
Parameters:
 - armor:remove_all (player)
 - 
    Removes all armor worn by player.
    
    
    
    
    
    
    
    
    
    
Parameters:
- player ObjectRef
 
 - armor:get_player_skin (name)
 - 
    Retrieves player's current skin.
    
    
    
    
    
    
    
    
    
    
Parameters:
- name string Player name.
 
Returns:
- 
           string
        Skin filename.
    
 
 - armor:update_skin (name)
 - 
    Updates skin.
    
    
    
    
    
    
    
    
    
    
Parameters:
- name string Player name.
 
 - armor:add_preview (preview)
 - 
    Adds preview for armor inventory.
    
    
    
    
    
    
    
    
    
    
Parameters:
- preview string Preview image filename.
 
 - armor:get_preview (name)
 - 
    Retrieves preview for armor inventory.
    
    
    
    
    
    
    
    
    
    
Parameters:
- name string Player name.
 
Returns:
- 
           string
        Preview image filename.
    
 
 - armor:get_armor_formspec (name[, listring])
 - 
    Retrieves armor formspec.
    
    
    
    
    
    
    
    
    
    
Parameters:
- name string Player name.
 - listring
            bool
         Use 
listringformspec element (default:false). (optional) 
Returns:
- 
           string
        Formspec formatted string.
    
 
 - armor:get_element (item_name)
 - 
    Retrieves element.
    
    
    
    
    
    
    
    
    
    
Parameters:
- item_name string
 
Returns:
- 
        Armor element.
    
 
 - armor:serialize_inventory_list (list)
 - 
    Serializes armor inventory.
    
    
    
    
    
    
    
    
    
    
Parameters:
- list table Inventory contents.
 
Returns:
 - armor:deserialize_inventory_list (list_string)
 - 
    Deserializes armor inventory.
    
    
    
    
    
    
    
    
    
    
Parameters:
- list_string string Serialized inventory contents.
 
Returns:
 - armor:load_armor_inventory (player)
 - 
    Loads armor inventory.
    
    
    
    
    
    
    
    
    
    
Parameters:
- player ObjectRef
 
Returns:
- 
           bool
    
 
 - armor:save_armor_inventory (player)
 - 
    Saves armor inventory. 
Inventory is stored in PlayerMetaRef string "3d_armor_inventory".
Parameters:
- player ObjectRef
 
 - armor:update_inventory (player)
 - 
    Updates inventory. 
DEPRECATED: Legacy inventory support.
Parameters:
- player
 
 - armor:set_inventory_stack (player, i, stack)
 - 
    Sets inventory stack.
    
    
    
    
    
    
    
    
    
    
Parameters:
 - armor:get_valid_player (player, msg)
 - 
    Checks for a player that can use armor.
    
    
    
    
    
    
    
    
    
    
Parameters:
Returns:
- 
           list
        Player name & armor inventory.
    
 
Usage:
local name, inv = armor:get_valid_player(player, "[equip]")
 - armor.drop_armor (pos, stack)
 - 
    Drops armor item at given position.
    
    
    
    
    
    
    
    
    
    
Parameters:
 - armor.set_skin_mod (mod)
 - 
    Allows skin mod to be set manually. 
Useful for skin mod forks that do not use the same name.
Parameters:
- mod string Name of skin mod. Recognized names are "simple_skins", "u_skins", & "wardrobe".
 
 
Armor Callbacks Registration
- armor:register_on_update (func)
 - 
    Registers a callback for when player visuals are update.
    
    
    
    
    
    
    
    
    
    
Parameters:
- func function Function to be executed.
 
See also:
Usage:
armor:register_on_update(function(player, index, stack) -- code to execute end)
 - armor:register_on_equip (func)
 - 
    Registers a callback for when armor is equipped.
    
    
    
    
    
    
    
    
    
    
Parameters:
- func function Function to be executed.
 
Usage:
armor:register_on_equip(function(player, index, stack) -- code to execute end)
 - armor:register_on_unequip (func)
 - 
    Registers a callback for when armor is unequipped.
    
    
    
    
    
    
    
    
    
    
Parameters:
- func function Function to be executed.
 
Usage:
armor:register_on_unequip(function(player, index, stack) -- code to execute end)
 - armor:register_on_damage (func)
 - 
    Registers a callback for when armor is damaged.
    
    
    
    
    
    
    
    
    
    
Parameters:
- func function Function to be executed.
 
See also:
Usage:
armor:register_on_damage(function(player, index, stack) -- code to execute end)
 - armor:register_on_destroy (func)
 - 
    Registers a callback for when armor is destroyed.
    
    
    
    
    
    
    
    
    
    
Parameters:
- func function Function to be executed.
 
See also:
Usage:
armor:register_on_destroy(function(player, index, stack) -- code to execute end)