Skip to content

Armor

Armor items provide defensive stats through damage resistance and health bonuses. Armor pieces equip to specific slots on the player character and can hide certain cosmetic elements when worn.

Server Definitions: Assets/Server/Item/Items/Armor/[Material]/ Client Models: Assets/Common/Items/Armors/[Material]/

Each armor piece equips to one of four slots:

SlotPiece NameProtection WeightExample
HeadHelmet20%Armor_Iron_Head
ChestChestplate36%Armor_Iron_Chest
HandsGauntlets16%Armor_Iron_Hands
LegsLeggings28%Armor_Iron_Legs
MaterialQualityItem LevelDurabilityDescription
CopperCommon1580Early-game metal
BronzeCommon1790Copper alloy
IronUncommon20100Standard metal
SteelUncommon25110Reinforced iron
CobaltRare30120Blue metal
MithrilRare35130Lightweight metal
ThoriumEpic40140Radioactive metal
OnyxiumEpic45145Dark metal
AdamantiteLegendary50150Ultimate metal
MaterialQualityItem LevelDurabilityDescription
Leather_SoftCommon10100Basic hide
Leather_LightCommon15120Treated leather
Leather_MediumUncommon20130Reinforced leather
Leather_HeavyRare25140Hardened leather
Leather_RavenEpic30150Dark leather
MaterialQualityItem LevelDurabilityDescription
Cloth_LinenCommon10120Basic fabric
Cloth_CottonCommon15130Woven cotton
Cloth_WoolUncommon20140Warm wool
Cloth_SilkRare25150Fine silk
Cloth_CinderclothEpic30160Fire-resistant
MaterialQualityDescription
Bronze_OrnateUncommonDecorative bronze
Steel_AncientRareAncient steel set
Diving_CrudeCommonUnderwater gear
KweebecUncommonKweebec-styled
Trork_WarriorUncommonTrork tribal
TrooperRareMilitary set
PrismaEpicCrystalline armor
WoodCommonWooden armor
WoolCommonPadded wool
FieldTypeDescription
ParentstringTemplate to inherit from (often Armor_Iron_*)
TranslationPropertiesobjectLocalization configuration
ModelstringPath to .blockymodel file
TexturestringPath to texture file
IconstringPath to inventory icon
QualitystringQuality tier
ItemLevelintegerLevel requirement
Categoriesstring[]Should include "Items.Armors"
FieldTypeDescription
ArmorobjectArmor configuration block
Armor.ArmorSlotstringEquipment slot: Head, Chest, Hands, Legs
Armor.BaseDamageResistancenumberBase resistance value (usually 0)
Armor.DamageResistanceobjectDamage reduction by type (keyed by DamageCause id)
Armor.DamageEnhancementobjectOutgoing damage enhancement by DamageCause type
Armor.DamageClassEnhancementobjectDamage class buffs (Light, Charged, Signature)
Armor.StatModifiersobjectStat bonuses (Health, etc.)
Armor.CosmeticsToHideCosmetic[]Cosmetic enum values hidden by armor
Armor.KnockbackResistancesobjectKnockback reduction by DamageCause type
Armor.KnockbackEnhancementsobjectKnockback increase by DamageCause type
Armor.RegeneratingobjectStat regeneration config by EntityStatType
Armor.InteractionModifiersobjectModifier overrides for specific interactions
FieldTypeDefaultDescription
MaxDurabilitynumber100Maximum durability
DurabilityLossOnHitnumber0.5Durability lost when damaged

The Armor object contains all armor-specific stats:

Armor configuration structure
{
"Armor": {
"ArmorSlot": "Chest",
"BaseDamageResistance": 0,
"CosmeticsToHide": ["Overtop", "Cape"],
"DamageResistance": {
"Physical": [
{ "Amount": 0.09, "CalculationType": "Multiplicative" }
],
"Projectile": [
{ "Amount": 0.09, "CalculationType": "Multiplicative" }
]
},
"StatModifiers": {
"Health": [
{ "Amount": 17, "CalculationType": "Additive" }
]
}
}
}

Armor reduces incoming damage through percentage-based resistance:

Final Damage = Base Damage × (1 - Resistance)
SlotPhysical ResistanceHealth Bonus
Head5%+9
Chest9%+17
Hands4%+7
Legs7%+13
Full Set25%+46
Material TierChest ResistanceFull Set Resistance
Cloth/Leather (Tier 1)6%15-18%
Copper/Bronze (Tier 2)7%18-20%
Iron (Tier 3)9%25%
Steel (Tier 4)10%28%
Cobalt (Tier 5)11%31%
Mithril (Tier 6)12%34%
Adamantite (Tier 7)14.4%40%+
Armor_Iron_Chest.json
{
"TranslationProperties": {
"Name": "server.items.Armor_Iron_Chest.name"
},
"Quality": "Uncommon",
"ItemLevel": 20,
"PlayerAnimationsId": "Block",
"ItemSoundSetId": "ISS_Armor_Heavy",
"Categories": ["Items.Armors"],
"Icon": "Icons/ItemsGenerated/Armor_Iron_Chest.png",
"IconProperties": {
"Rotation": [22.5, 45, 22.5],
"Scale": 0.45,
"Translation": [0, -13.2]
},
"Model": "Items/Armors/Iron/Chest.blockymodel",
"Texture": "Items/Armors/Iron/Chest_Texture.png",
"Recipe": {
"Input": [
{ "ItemId": "Ingredient_Bar_Iron", "Quantity": 16 },
{ "ItemId": "Ingredient_Leather_Light", "Quantity": 7 },
{ "ItemId": "Ingredient_Fabric_Scrap_Linen", "Quantity": 6 }
],
"BenchRequirement": [{
"Id": "Armor_Bench",
"Type": "Crafting",
"Categories": ["Armor_Chest"]
}],
"KnowledgeRequired": false,
"TimeSeconds": 3
},
"Interactions": {
"Primary": {
"Interactions": [{ "Type": "EquipItem" }]
},
"Secondary": {
"Interactions": [{ "Type": "EquipItem" }]
}
},
"Armor": {
"ArmorSlot": "Chest",
"BaseDamageResistance": 0,
"CosmeticsToHide": ["Overtop", "Cape"],
"DamageResistance": {
"Physical": [
{ "Amount": 0.09, "CalculationType": "Multiplicative" }
],
"Projectile": [
{ "Amount": 0.09, "CalculationType": "Multiplicative" }
]
},
"StatModifiers": {
"Health": [
{ "Amount": 17, "CalculationType": "Additive" }
]
}
},
"MaxDurability": 100,
"DurabilityLossOnHit": 0.5,
"Tags": {
"Type": ["Armor"],
"Family": ["Iron"]
}
}
Armor_Iron_Head.json
{
"TranslationProperties": {
"Name": "server.items.Armor_Iron_Head.name"
},
"Quality": "Uncommon",
"ItemLevel": 20,
"PlayerAnimationsId": "Block",
"ItemSoundSetId": "ISS_Armor_Heavy",
"Categories": ["Items.Armors"],
"Icon": "Icons/ItemsGenerated/Armor_Iron_Head.png",
"Model": "Items/Armors/Iron/Head.blockymodel",
"Texture": "Items/Armors/Iron/Head_Texture.png",
"Recipe": {
"Input": [
{ "ItemId": "Ingredient_Bar_Iron", "Quantity": 9 },
{ "ItemId": "Ingredient_Leather_Light", "Quantity": 4 },
{ "ItemId": "Ingredient_Fabric_Scrap_Linen", "Quantity": 3 }
],
"BenchRequirement": [{
"Id": "Armor_Bench",
"Type": "Crafting",
"Categories": ["Armor_Head"]
}],
"KnowledgeRequired": false,
"TimeSeconds": 3
},
"Interactions": {
"Primary": { "Interactions": [{ "Type": "EquipItem" }] },
"Secondary": { "Interactions": [{ "Type": "EquipItem" }] }
},
"Armor": {
"ArmorSlot": "Head",
"BaseDamageResistance": 0,
"CosmeticsToHide": ["EarAccessory", "Ear", "Haircut", "HeadAccessory"],
"DamageResistance": {
"Physical": [{ "Amount": 0.05, "CalculationType": "Multiplicative" }],
"Projectile": [{ "Amount": 0.05, "CalculationType": "Multiplicative" }]
},
"StatModifiers": {
"Health": [{ "Amount": 9, "CalculationType": "Additive" }]
}
},
"MaxDurability": 100,
"DurabilityLossOnHit": 0.5,
"Tags": { "Type": ["Armor"], "Family": ["Iron"] }
}
Armor_Adamantite_Chest.json
{
"TranslationProperties": {
"Name": "server.items.Armor_Adamantite_Chest.name"
},
"Parent": "Armor_Iron_Chest",
"Quality": "Rare",
"ItemLevel": 40,
"Icon": "Icons/ItemsGenerated/Armor_Adamantite_Chest.png",
"IconProperties": {
"Rotation": [22.5, 45, 22.5],
"Scale": 0.335,
"Translation": [0.3, 0.3]
},
"Model": "Items/Armors/Adamantite/Chest.blockymodel",
"Texture": "Items/Armors/Adamantite/Chest_Texture.png",
"Recipe": {
"Input": [
{ "ItemId": "Ingredient_Bar_Adamantite", "Quantity": 28 },
{ "ItemId": "Ingredient_Leather_Heavy", "Quantity": 8 },
{ "ItemId": "Ingredient_Fabric_Scrap_Cindercloth", "Quantity": 7 }
],
"BenchRequirement": [{
"Id": "Armor_Bench",
"Type": "Crafting",
"Categories": ["Armor_Chest"],
"RequiredTierLevel": 3
}],
"KnowledgeRequired": false,
"TimeSeconds": 3
},
"Armor": {
"ArmorSlot": "Chest",
"BaseDamageResistance": 0,
"CosmeticsToHide": ["Overtop"],
"StatModifiers": {
"Health": [{ "Amount": 24, "CalculationType": "Additive" }]
},
"DamageResistance": {
"Physical": [{ "Amount": 0.144, "CalculationType": "Multiplicative" }],
"Projectile": [{ "Amount": 0.144, "CalculationType": "Multiplicative" }]
},
"DamageClassEnhancement": {
"Light": [{ "Amount": 0.06, "CalculationType": "Multiplicative" }]
}
},
"MaxDurability": 150,
"Tags": { "Type": ["Armor"], "Family": ["Adamantite"] },
"ItemSoundSetId": "ISS_Armor_Heavy",
"DurabilityLossOnHit": 0.5
}
Armor_Leather_Light_Chest.json
{
"TranslationProperties": {
"Name": "server.items.Armor_Leather_Light_Chest.name"
},
"Parent": "Armor_Iron_Chest",
"Quality": "Common",
"ItemLevel": 15,
"Icon": "Icons/ItemsGenerated/Armor_Leather_Light_Chest.png",
"Model": "Items/Armors/Leather_Light/Chest.blockymodel",
"Texture": "Items/Armors/Leather_Light/Chest_Texture.png",
"Recipe": {
"TimeSeconds": 2,
"Input": [
{ "ItemId": "Ingredient_Leather_Light", "Quantity": 6 },
{ "ResourceTypeId": "Wood_Trunk", "Quantity": 2 },
{ "ItemId": "Ingredient_Bolt_Wool", "Quantity": 2 }
],
"BenchRequirement": [{
"Id": "Armor_Bench",
"Type": "Crafting",
"Categories": ["Armor_Chest"]
}],
"KnowledgeRequired": false
},
"Armor": {
"ArmorSlot": "Chest",
"BaseDamageResistance": 0,
"CosmeticsToHide": ["Overtop"],
"StatModifiers": {
"Health": [{ "Amount": 17, "CalculationType": "Additive" }]
},
"DamageResistance": {
"Physical": [{ "Amount": 0.09, "CalculationType": "Multiplicative" }],
"Projectile": [{ "Amount": 0.09, "CalculationType": "Multiplicative" }]
}
},
"Tags": { "Type": ["Armor"], "Family": ["Leather"] },
"MaxDurability": 120,
"ItemSoundSetId": "ISS_Armor_Leather"
}

Armor hides certain cosmetic slots when equipped:

Armor SlotHidden Cosmetics
HeadEarAccessory, Ear, Haircut, HeadAccessory
ChestOvertop, Cape
Hands(None)
LegsPants, Shoes

Higher-tier armor can enhance specific damage types:

Light damage enhancement
{
"DamageClassEnhancement": {
"Light": [
{ "Amount": 0.06, "CalculationType": "Multiplicative" }
]
}
}

This provides a 6% bonus to Light-type damage dealt while wearing the armor.

Armor uses weight-specific sound sets:

Sound SetArmor Types
ISS_Armor_HeavyMetal armors (Iron, Steel, Adamantite)
ISS_Armor_LeatherLeather armors
ISS_Armor_ClothCloth armors

Armor is crafted at the Armor_Bench station:

CategoryProduces
Armor_HeadHelmets
Armor_ChestChestplates
Armor_HandsGauntlets
Armor_LegsLeggings

Higher-tier materials require higher bench tiers:

Material TierRequired Bench Tier
Copper-IronTier 1
Steel-MithrilTier 2
Adamantite+Tier 3
ArmorExample.java
import com.hypixel.hytale.server.core.asset.type.item.config.Item;
import com.hypixel.hytale.server.core.asset.type.item.config.ItemArmor;
import com.hypixel.hytale.protocol.ItemArmorSlot;
import com.hypixel.hytale.protocol.Cosmetic;
import com.hypixel.hytale.server.core.modules.entity.damage.DamageCause;
import com.hypixel.hytale.server.core.modules.entitystats.modifier.StaticModifier;
import com.hypixel.hytale.server.core.modules.interaction.interaction.config.server.combat.DamageClass;
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import java.util.Map;
public class ArmorExample {
public void accessArmor() {
Item chestplate = Item.getAssetMap().get("Armor_Iron_Chest");
if (chestplate != null) {
ItemArmor armorConfig = chestplate.getArmor();
if (armorConfig != null) {
ItemArmorSlot slot = armorConfig.getArmorSlot();
double baseResistance = armorConfig.getBaseDamageResistance();
Map<DamageCause, StaticModifier[]> resistance = armorConfig.getDamageResistanceValues();
Int2ObjectMap<StaticModifier[]> stats = armorConfig.getStatModifiers();
Map<DamageCause, StaticModifier[]> dmgEnhancement = armorConfig.getDamageEnhancementValues();
Map<DamageClass, StaticModifier[]> classEnhancement = armorConfig.getDamageClassEnhancement();
Map<DamageCause, Float> kbResistances = armorConfig.getKnockbackResistances();
Map<DamageCause, Float> kbEnhancements = armorConfig.getKnockbackEnhancements();
}
double maxDurability = chestplate.getMaxDurability();
}
}
}
MyPlugin_Armor_Custom_Chest.json
{
"Parent": "Armor_Iron_Chest",
"TranslationProperties": {
"Name": "server.items.MyPlugin_Armor_Custom_Chest.name"
},
"Quality": "Epic",
"ItemLevel": 45,
"Icon": "Icons/ItemsGenerated/MyPlugin_Armor_Custom_Chest.png",
"Model": "MyPlugin/Armors/Custom/Chest.blockymodel",
"Texture": "MyPlugin/Armors/Custom/Chest_Texture.png",
"Recipe": {
"Input": [
{ "ItemId": "MyPlugin_Custom_Ingot", "Quantity": 20 },
{ "ItemId": "Ingredient_Leather_Heavy", "Quantity": 8 }
],
"BenchRequirement": [{
"Id": "Armor_Bench",
"Type": "Crafting",
"Categories": ["Armor_Chest"],
"RequiredTierLevel": 2
}],
"TimeSeconds": 4
},
"Armor": {
"ArmorSlot": "Chest",
"BaseDamageResistance": 0,
"CosmeticsToHide": ["Overtop", "Cape"],
"DamageResistance": {
"Physical": [{ "Amount": 0.12, "CalculationType": "Multiplicative" }],
"Projectile": [{ "Amount": 0.12, "CalculationType": "Multiplicative" }]
},
"StatModifiers": {
"Health": [{ "Amount": 22, "CalculationType": "Additive" }],
"Stamina": [{ "Amount": 10, "CalculationType": "Additive" }]
}
},
"MaxDurability": 140,
"DurabilityLossOnHit": 0.4,
"Tags": { "Type": ["Armor"], "Family": ["MyPlugin_Custom"] },
"ItemSoundSetId": "ISS_Armor_Heavy"
}

For a complete armor set, create four pieces with consistent naming:

MyPlugin_Armor_[Material]_Head.json
MyPlugin_Armor_[Material]_Chest.json
MyPlugin_Armor_[Material]_Hands.json
MyPlugin_Armor_[Material]_Legs.json

Each piece should use the same Family tag to group them as a set.

  1. Use parent inheritance: Base custom armor on Armor_Iron_* pieces
  2. Balance resistance values: Follow the slot protection weights (Head 20%, Chest 36%, etc.)
  3. Scale stats with tier: Higher tiers should provide better resistance and health
  4. Include all slots: Create complete 4-piece sets for consistency
  5. Match sound sets: Use appropriate ISS_Armor_* sounds for armor weight
  6. Set cosmetic hiding: Specify which cosmetics are hidden appropriately
  7. Prefix IDs: Use plugin name prefix for all custom armor
  8. Test durability: Balance MaxDurability and DurabilityLossOnHit for gameplay feel