forked from mtcontrib/3d_armor
*Total -- 507.49kb -> 121.83kb (75.99%) /3d_armor/textures/3d_armor_helmet_cactus_preview.png -- 2.87kb -> 0.35kb (87.82%) /3d_armor/textures/3d_armor_leggings_wood_preview.png -- 2.88kb -> 0.35kb (87.79%) /3d_armor/textures/3d_armor_boots_wood_preview.png -- 2.90kb -> 0.36kb (87.67%) /3d_armor/textures/3d_armor_helmet_wood_preview.png -- 2.89kb -> 0.36kb (87.58%) /3d_armor/textures/3d_armor_boots_bronze_preview.png -- 2.90kb -> 0.36kb (87.58%) /3d_armor/textures/3d_armor_boots_gold_preview.png -- 2.89kb -> 0.36kb (87.54%) /3d_armor/textures/3d_armor_boots_steel_preview.png -- 2.87kb -> 0.36kb (87.46%) /3d_armor/textures/3d_armor_boots_wood.png -- 2.92kb -> 0.37kb (87.4%) /3d_armor/textures/3d_armor_boots_cactus_preview.png -- 2.90kb -> 0.37kb (87.32%) /3d_armor/textures/3d_armor_helmet_bronze_preview.png -- 2.94kb -> 0.37kb (87.32%) /3d_armor/textures/3d_armor_helmet_diamond_preview.png -- 2.96kb -> 0.38kb (87.25%) /3d_armor/textures/3d_armor_helmet_mithril_preview.png -- 2.92kb -> 0.37kb (87.24%) /3d_armor/textures/3d_armor_boots_diamond_preview.png -- 2.93kb -> 0.37kb (87.23%) /3d_armor/textures/3d_armor_boots_admin_preview.png -- 2.93kb -> 0.37kb (87.22%) /3d_armor/textures/3d_armor_helmet_gold_preview.png -- 2.92kb -> 0.37kb (87.22%) /3d_armor/textures/3d_armor_helmet_admin_preview.png -- 2.95kb -> 0.38kb (87.21%) /3d_armor/textures/3d_armor_inv_helmet_wood.png -- 2.85kb -> 0.36kb (87.21%) /3d_armor/textures/3d_armor_boots_crystal_preview.png -- 2.92kb -> 0.37kb (87.2%) /3d_armor/textures/3d_armor_boots_mithril_preview.png -- 2.91kb -> 0.37kb (87.19%) /3d_armor/textures/3d_armor_helmet_crystal_preview.png -- 2.94kb -> 0.38kb (87.16%) /3d_armor/textures/3d_armor_leggings_cactus_preview.png -- 2.93kb -> 0.38kb (87.16%) /3d_armor/textures/3d_armor_helmet_steel_preview.png -- 2.92kb -> 0.38kb (87.09%) /3d_armor/textures/3d_armor_leggings_bronze_preview.png -- 2.91kb -> 0.38kb (87.09%) /3d_armor/textures/3d_armor_inv_helmet_cactus.png -- 2.91kb -> 0.38kb (87.04%) /3d_armor/textures/3d_armor_boots_steel.png -- 2.96kb -> 0.38kb (87.02%) /3d_armor/textures/3d_armor_leggings_gold_preview.png -- 2.89kb -> 0.38kb (86.99%) /3d_armor/textures/3d_armor_leggings_wood.png -- 2.97kb -> 0.39kb (86.96%) /3d_armor/textures/3d_armor_inv_helmet_bronze.png -- 2.91kb -> 0.38kb (86.95%) /3d_armor/textures/3d_armor_leggings_crystal_preview.png -- 2.91kb -> 0.38kb (86.95%) /3d_armor/textures/3d_armor_leggings_diamond_preview.png -- 2.94kb -> 0.38kb (86.93%) /3d_armor/textures/3d_armor_boots_bronze.png -- 2.98kb -> 0.39kb (86.91%) /3d_armor/textures/3d_armor_leggings_mithril_preview.png -- 2.93kb -> 0.38kb (86.88%) /3d_armor/textures/3d_armor_leggings_admin_preview.png -- 2.93kb -> 0.38kb (86.88%) /3d_armor/textures/3d_armor_leggings_steel_preview.png -- 2.91kb -> 0.38kb (86.86%) /3d_armor/textures/3d_armor_inv_helmet_mithril.png -- 2.89kb -> 0.38kb (86.86%) /3d_armor/textures/3d_armor_inv_helmet_diamond.png -- 2.91kb -> 0.38kb (86.85%) /3d_armor/textures/3d_armor_inv_helmet_gold.png -- 2.88kb -> 0.38kb (86.82%) /shields/textures/shields_inv_shield_cactus.png -- 2.93kb -> 0.39kb (86.82%) /3d_armor/textures/3d_armor_inv_helmet_crystal.png -- 2.90kb -> 0.38kb (86.81%) /3d_armor/textures/3d_armor_boots_gold.png -- 2.96kb -> 0.39kb (86.81%) /3d_armor/textures/3d_armor_inv_helmet_admin.png -- 2.90kb -> 0.38kb (86.8%) /3d_armor/textures/3d_armor_leggings_bronze.png -- 3.04kb -> 0.40kb (86.79%) /shields/textures/shields_shield_cactus.png -- 2.99kb -> 0.40kb (86.75%) /3d_armor/textures/3d_armor_boots_cactus.png -- 2.98kb -> 0.39kb (86.75%) /shields/textures/shields_shield_cactus_preview.png -- 2.99kb -> 0.40kb (86.75%) /3d_armor/textures/3d_armor_leggings_cactus.png -- 2.99kb -> 0.40kb (86.75%) /3d_armor/textures/3d_armor_boots_mithril.png -- 3.00kb -> 0.40kb (86.73%) /3d_armor/textures/3d_armor_inv_boots_cactus.png -- 2.92kb -> 0.39kb (86.67%) /3d_armor/textures/3d_armor_inv_boots_bronze.png -- 2.97kb -> 0.40kb (86.67%) /3d_armor/textures/3d_armor_boots_diamond.png -- 2.99kb -> 0.40kb (86.65%) /3d_armor/textures/3d_armor_leggings_gold.png -- 3.01kb -> 0.40kb (86.65%) /3d_armor/textures/3d_armor_boots_admin.png -- 2.98kb -> 0.40kb (86.63%) /3d_armor/textures/3d_armor_inv_boots_admin.png -- 2.98kb -> 0.40kb (86.62%) /3d_armor/textures/3d_armor_inv_boots_wood.png -- 2.99kb -> 0.40kb (86.61%) /3d_armor/textures/3d_armor_inv_boots_diamond.png -- 2.98kb -> 0.40kb (86.61%) /3d_armor/textures/3d_armor_inv_helmet_steel.png -- 2.91kb -> 0.39kb (86.59%) /3d_armor/textures/3d_armor_boots_crystal.png -- 2.97kb -> 0.40kb (86.57%) /3d_armor/textures/3d_armor_inv_boots_crystal.png -- 2.96kb -> 0.40kb (86.56%) /3d_armor/textures/3d_armor_inv_leggings_admin.png -- 2.97kb -> 0.40kb (86.53%) /3d_armor/textures/3d_armor_inv_leggings_cactus.png -- 2.95kb -> 0.40kb (86.51%) /3d_armor/textures/3d_armor_inv_boots_gold.png -- 2.94kb -> 0.40kb (86.51%) /shields/textures/shields_inv_shield_enhanced_cactus.png -- 2.95kb -> 0.40kb (86.49%) /3d_armor/textures/3d_armor_inv_leggings_diamond.png -- 2.95kb -> 0.40kb (86.44%) /3d_armor/textures/3d_armor_inv_leggings_crystal.png -- 2.95kb -> 0.40kb (86.43%) /3d_armor/textures/3d_armor_inv_boots_steel.png -- 2.94kb -> 0.40kb (86.43%) /3d_armor/textures/3d_armor_leggings_diamond.png -- 3.05kb -> 0.42kb (86.41%) /shields/textures/shields_shield_enhanced_cactus.png -- 3.01kb -> 0.41kb (86.39%) /shields/textures/shields_shield_enhanced_cactus_preview.png -- 3.01kb -> 0.41kb (86.39%) /3d_armor/textures/3d_armor_leggings_admin.png -- 3.05kb -> 0.42kb (86.39%) /3d_armor/textures/3d_armor_leggings_crystal.png -- 3.05kb -> 0.42kb (86.38%) /3d_armor/textures/3d_armor_inv_chestplate_wood.png -- 3.05kb -> 0.42kb (86.38%) /3d_armor/textures/3d_armor_leggings_mithril.png -- 3.03kb -> 0.41kb (86.38%) /3d_armor/textures/3d_armor_inv_leggings_wood.png -- 2.97kb -> 0.41kb (86.36%) /shields/textures/shields_inv_shield_wood.png -- 2.97kb -> 0.41kb (86.29%) /3d_armor/textures/3d_armor_inv_boots_mithril.png -- 2.96kb -> 0.41kb (86.29%) /shields/textures/shields_shield_wood_preview.png -- 3.03kb -> 0.42kb (86.28%) /3d_armor/textures/3d_armor_inv_leggings_gold.png -- 2.97kb -> 0.41kb (86.19%) /shields/textures/shields_inv_shield_bronze.png -- 3.12kb -> 0.43kb (86.16%) /3d_armor/textures/3d_armor_inv_leggings_bronze.png -- 2.96kb -> 0.41kb (86.14%) /shields/textures/shields_shield_wood.png -- 3.02kb -> 0.42kb (86.14%) /shields/textures/shields_inv_shield_steel.png -- 3.10kb -> 0.43kb (86.11%) /3d_armor/textures/3d_armor_inv_leggings_mithril.png -- 2.97kb -> 0.41kb (86.1%) /3d_armor/textures/3d_armor_leggings_steel.png -- 3.03kb -> 0.42kb (86.08%) /3d_armor/textures/3d_armor_inv_leggings_steel.png -- 2.94kb -> 0.41kb (86.07%) /shields/textures/shields_inv_shield_mithril.png -- 3.09kb -> 0.43kb (86.03%) /shields/textures/shields_shield_enhanced_wood_preview.png -- 3.12kb -> 0.44kb (85.96%) /shields/textures/shields_inv_shield_diamond.png -- 3.11kb -> 0.44kb (85.94%) /shields/textures/shields_inv_shield_enhanced_wood.png -- 3.07kb -> 0.43kb (85.92%) /shields/textures/shields_inv_shield_gold.png -- 3.06kb -> 0.43kb (85.9%) /3d_armor/textures/3d_armor_inv_chestplate_cactus.png -- 3.00kb -> 0.42kb (85.9%) /3d_armor/textures/3d_armor_inv_chestplate_bronze.png -- 3.03kb -> 0.43kb (85.89%) /3d_armor/textures/3d_armor_inv_chestplate_mithril.png -- 2.99kb -> 0.42kb (85.87%) /3d_armor/textures/3d_armor_chestplate_bronze_preview.png -- 3.05kb -> 0.43kb (85.86%) /3d_armor/textures/3d_armor_inv_chestplate_steel.png -- 3.02kb -> 0.43kb (85.83%) /3d_armor/textures/3d_armor_inv_chestplate_diamond.png -- 3.03kb -> 0.43kb (85.82%) /shields/textures/shields_shield_bronze_preview.png -- 3.19kb -> 0.45kb (85.81%) /3d_armor/textures/3d_armor_chestplate_steel_preview.png -- 3.03kb -> 0.43kb (85.8%) /3d_armor/textures/3d_armor_chestplate_wood_preview.png -- 3.00kb -> 0.43kb (85.79%) /shields/textures/shields_inv_shield_crystal.png -- 3.07kb -> 0.44kb (85.79%) /3d_armor/textures/3d_armor_chestplate_cactus_preview.png -- 3.05kb -> 0.43kb (85.78%) /3d_armor/textures/3d_armor_inv_chestplate_admin.png -- 3.02kb -> 0.43kb (85.77%) /shields/textures/shields_shield_bronze.png -- 3.18kb -> 0.45kb (85.77%) /3d_armor/textures/3d_armor_inv_chestplate_gold.png -- 3.00kb -> 0.43kb (85.74%) /3d_armor/textures/3d_armor_inv_chestplate_crystal.png -- 3.01kb -> 0.43kb (85.73%) /shields/textures/shields_inv_shield_admin.png -- 3.06kb -> 0.44kb (85.72%) /3d_armor/textures/3d_armor_chestplate_mithril_preview.png -- 3.05kb -> 0.44kb (85.71%) /shields/textures/shields_shield_enhanced_wood.png -- 3.09kb -> 0.44kb (85.7%) /3d_armor/textures/3d_armor_chestplate_diamond_preview.png -- 3.05kb -> 0.44kb (85.7%) /shields/textures/shields_shield_steel_preview.png -- 3.15kb -> 0.45kb (85.7%) /3d_armor/textures/3d_armor_chestplate_admin_preview.png -- 3.04kb -> 0.44kb (85.7%) /3d_armor/textures/3d_armor_chestplate_crystal_preview.png -- 3.04kb -> 0.44kb (85.7%) /shields/textures/shields_shield_diamond_preview.png -- 3.18kb -> 0.46kb (85.67%) /3d_armor/textures/3d_armor_chestplate_wood.png -- 3.08kb -> 0.44kb (85.64%) /3d_armor/textures/3d_armor_helmet_bronze.png -- 3.18kb -> 0.46kb (85.61%) /3d_armor/textures/3d_armor_chestplate_gold_preview.png -- 3.01kb -> 0.43kb (85.61%) /3d_armor/textures/3d_armor_helmet_wood.png -- 3.13kb -> 0.45kb (85.59%) /shields/textures/shields_shield_diamond.png -- 3.18kb -> 0.46kb (85.58%) /shields/textures/shields_shield_crystal_preview.png -- 3.14kb -> 0.46kb (85.47%) /shields/textures/shields_shield_admin.png -- 3.16kb -> 0.46kb (85.47%) /shields/textures/shields_shield_steel.png -- 3.18kb -> 0.46kb (85.46%) /shields/textures/shields_shield_admin_preview.png -- 3.13kb -> 0.46kb (85.45%) /shields/textures/shields_shield_mithril_preview.png -- 3.16kb -> 0.46kb (85.45%) /3d_armor/textures/3d_armor_helmet_diamond.png -- 3.19kb -> 0.46kb (85.45%) /3d_armor/textures/3d_armor_helmet_cactus.png -- 3.11kb -> 0.45kb (85.44%) /shields/textures/shields_shield_mithril.png -- 3.17kb -> 0.46kb (85.42%) /shields/textures/shields_shield_crystal.png -- 3.14kb -> 0.46kb (85.38%) /shields/textures/shields_shield_gold_preview.png -- 3.14kb -> 0.46kb (85.33%) /3d_armor/textures/3d_armor_helmet_admin.png -- 3.17kb -> 0.46kb (85.31%) /shields/textures/shields_shield_gold.png -- 3.14kb -> 0.46kb (85.28%) /3d_armor/textures/3d_armor_helmet_crystal.png -- 3.15kb -> 0.46kb (85.25%) /3d_armor/textures/3d_armor_helmet_mithril.png -- 3.12kb -> 0.46kb (85.16%) /3d_armor/textures/3d_armor_chestplate_bronze.png -- 3.26kb -> 0.49kb (85.03%) /3d_armor/textures/3d_armor_chestplate_steel.png -- 3.23kb -> 0.49kb (84.92%) /3d_armor/textures/3d_armor_helmet_steel.png -- 3.15kb -> 0.48kb (84.67%) /3d_armor/textures/3d_armor_chestplate_cactus.png -- 3.21kb -> 0.49kb (84.64%) /3d_armor/textures/3d_armor_helmet_gold.png -- 3.12kb -> 0.48kb (84.64%) /3d_armor/textures/3d_armor_chestplate_mithril.png -- 3.26kb -> 0.50kb (84.6%) /3d_armor/textures/3d_armor_chestplate_gold.png -- 3.19kb -> 0.50kb (84.46%) /3d_armor/textures/3d_armor_chestplate_diamond.png -- 3.26kb -> 0.51kb (84.33%) /3d_armor/textures/3d_armor_chestplate_admin.png -- 3.21kb -> 0.50kb (84.31%) /3d_armor/textures/3d_armor_chestplate_crystal.png -- 3.19kb -> 0.50kb (84.23%) /3d_armor/textures/inventory_plus_armor.png -- 3.59kb -> 0.65kb (81.97%) /3d_armor_stand/models/3d_armor_stand.png -- 1.59kb -> 0.97kb (38.88%) /3d_armor_stand/models/3d_armor_stand_locked.png -- 1.95kb -> 1.21kb (37.6%) /screenshot.png -- 65.39kb -> 51.81kb (20.77%) /3d_armor/textures/3d_armor_ui_form.png -- 8.90kb -> 8.26kb (7.2%) /3d_armor/textures/character_preview.png -- 0.34kb -> 0.32kb (5.73%) Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
[mod] Visible Player Armor [3d_armor]
=====================================
Depends: default
Recommends: sfinv, unified_inventory or smart_inventory (use only one to avoid conflicts)
Supports: player_monoids and armor_monoid
Adds craftable armor that is visible to other players. Each armor item worn contributes to
a player's armor group level making them less vulnerable to weapons.
Armor takes damage when a player is hurt but also offers a percentage chance of healing.
Overall level is boosted by 10% when wearing a full matching set.
Fire protection added by TenPlus1 when using crystal armor if Ethereal mod active, level 1
protects against torches, level 2 for crystal spike, level 3 for fire, level 5 for lava.
Armor Configuration
-------------------
Override the following default settings by adding them to your minetest.conf file.
-- Set false to disable individual armor materials.
armor_material_wood = true
armor_material_cactus = true
armor_material_steel = true
armor_material_bronze = true
armor_material_diamond = true
armor_material_gold = true
armor_material_mithril = true
armor_material_crystal = true
-- Increase this if you get initialization glitches when a player first joins.
armor_init_delay = 2
-- Number of initialization attempts.
-- Use in conjunction with armor_init_delay if initialization problems persist.
armor_init_times = 10
-- Increase this if armor is not getting into bones due to server lag.
armor_bones_delay = 1
-- How often player armor items are updated.
armor_update_time = 1
-- Drop armor when a player dies.
-- Uses bones mod if present, otherwise items are dropped around the player.
armor_drop = true
-- Pulverise armor when a player dies, overrides armor_drop.
armor_destroy = false
-- You can use this to increase or decrease overall armor effectiveness,
-- eg: level_multiplier = 0.5 will reduce armor level by half.
armor_level_multiplier = 1
-- You can use this to increase or decrease overall armor healing,
-- eg: armor_heal_multiplier = 0 will disable healing altogether.
armor_heal_multiplier = 1
-- Enable water protection (periodically restores breath when activated)
armor_water_protect = true
-- Enable fire protection (defaults true if using ethereal mod)
armor_fire_protect = false
-- Enable punch damage effects.
armor_punch_damage = true
-- Enable migration of old armor inventories
armor_migrate_old_inventory = true
API
---
Armor Registration:
armor:register_armor(name, def)
Wrapper function for `minetest.register_tool`, while registering armor as
a tool item is still supported, this may be deprecated in future so new code
should use this method.
Additional fields supported by 3d_armor:
texture = <filename>
preview = <filename>
armor_groups = <table>
damage_groups = <table>
reciprocate_damage = <bool>
on_equip = <function>
on_unequip = <function>
on_destroy = <function>
on_damage = <function>
on_punched = <function>
armor:register_armor_group(group, base)
Example:
armor:register_armor_group("radiation", 100)
armor:register_armor("mod_name:speed_boots", {
description = "Speed Boots",
inventory_image = "mod_name_speed_boots_inv.png",
texture = "mod_name_speed_boots.png",
preview = "mod_name_speed_boots_preview.png",
groups = {armor_feet=1, armor_use=500, physics_speed=1.2, flammable=1},
armor_groups = {fleshy=10, radiation=10},
damage_groups = {cracky=3, snappy=3, choppy=3, crumbly=3, level=1},
reciprocate_damage = true,
on_destroy = function(player, index, stack)
local pos = player:get_pos()
if pos then
minetest.sound_play({
name = "mod_name_break_sound",
pos = pos,
gain = 0.5,
})
end
end,
})
See armor.lua, technic_armor and shields mods for more examples.
Default groups:
Elements: armor_head, armor_torso, armor_legs, armor_feet
Attributes: armor_heal, armor_fire, armor_water
Physics: physics_jump, physics_speed, physics_gravity
Durability: armor_use, flammable
Notes:
Elements may be modified by dependent mods, eg shields adds armor_shield.
Attributes and physics values are 'stackable', durability is determined
by the level of armor_use, total uses == approx (65535/armor_use), non-fleshy
damage groups need to be defined in the tool/weapon used against the player.
Reciprocal tool damage will be done only by the first armor inventory item
with `reciprocate_damage = true`
Armor Functions:
armor:set_player_armor(player)
Primarily an internal function but can be called externally to apply any
changes that might not otherwise get handled.
armor:punch(player, hitter, time_from_last_punch, tool_capabilities)
Used to apply damage to all equipped armor based on the damage groups of
each individual item.`hitter`, `time_from_last_punch` and `tool_capabilities`
are optional but should be valid if included.
armor:damage(player, index, stack, use)
Adds wear to a single armor itemstack, triggers `on_damage` callbacks and
updates the necessary inventories. Also handles item destruction callbacks
and so should NOT be called from `on_unequip` to avoid an infinite loop.
Item Callbacks:
on_equip = func(player, index, stack)
on_unequip = func(player, index, stack)
on_destroy = func(player, index, stack)
on_damage = func(player, index, stack)
on_punched = func(player, hitter, time_from_last_punch, tool_capabilities)
Notes:
`on_punched` is called every time a player is punched or takes damage, `hitter`,
`time_from_last_punch` and `tool_capabilities` can be `nil` and will be in the
case of fall damage, etc. When fire protection is enabled, hitter == "fire"
in the event of fire damage. Return `false` to override armor damage effects.
When armor is destroyed `stack` will contain a copy of the previous stack.
Global Callbacks:
armor:register_on_update(func(player))
armor:register_on_equip(func(player, index, stack))
armor:register_on_unequip(func(player, index, stack))
armor:register_on_destroy(func(player, index, stack))
Global Callback Example:
armor:register_on_update(function(player)
print(player:get_player_name().." armor updated!")
end)