This page is about the stat type format from 1.16 to 1.18.2. For the format since 1.19, see Stat Types.

Both material stats and materials traits make use of stat types as part of their definition. The following stat types exist natively in Tinkers’ Construct. Since 1.18.2, most stat types exist within a group, which can be used to simply adding traits to a specific type of tool.

Many stat types are repairable, meaning that a matching material can be used to repair the tool. During repair, the durability stat of the first matching repairable stat type determines the amount repaired.

Melee/Harvest

Melee/harvest stats refer to stats for melee weapons and harvest tools, used in the melee/harvest stat provider for tools such as pickaxes and swords. The group has a stat type ID of tconstruct:melee_harvest, which applies default traits to all types in the group.

Can datagen using HeadMaterialStats.

Head stats are repairable, and define the primary stats for all melee and harvest tools. This stat type is used for parts such as pickaxe heads and sword blades. Head stats apply all values additively, canceling the default stat value. If a tool has multiple head stats, they will be averaged based on the part weight.

Head stats have stat type ID tconstruct:head and the following format:

  • tconstruct:head (Object): The stats object.
    • durability (Integer): Durability of the tool.
    • attack (Number): Damage the tool will deal when used as a melee weapon, in half hearts. If unset, defaults to 1.
    • miningSpeed (Number): Mining speed when the tool is used to break blocks. See the Minecraft Wiki for an explanation of the values. If unset, defaults to 1.
    • harvestTier (Resource Location): Determines the list of blocks where the tool is considered “effective”. If unset, defaults to minecraft:wood. The following default options are available, which is also the default ordering of the mining tiers.
      • minecraft:wood: equivalent to mining with a wooden tool.
      • minecraft:gold: equivalent to mining with a golden tool. Note vanilla makes no distinction between this tier and wood, but mods may add blocks that require gold (notably seared blocks from Tinkers’ Construct).
      • minecraft:stone: equivalent to mining with a stone tool.
      • minecraft:iron: equivalent to mining with a iron tool.
      • minecraft:diamond: equivalent to mining with a diamond tool.
      • minecraft:netherite: equivalent to mining with a netherite tool. Note vanilla makes no distinction between this tier and diamond, but mods may add blocks that require netherite.
      • For a full list of tiers and their pack defined order, use the /mantle harvest_tiers command.

Handle

Can datagen using HandleMaterialStats.

Handle stats define multipliers for various stats on melee and harvest tools. This type is used for parts such as tool handles and tough handles. If a tool has multiple handles, they will be averaged based on the part weight.

Handle stats have stat type ID tconstruct:handle and the following format:

  • tconstruct:handle (Object): The stats object.
    • durability (Number): Percent bonus to durability. If unset, defaults to 1.
    • miningSpeed (Number): Percent bonus to the tool’s mining speed. If unset, defaults to 1.
    • attackDamage (Number): Percent bonus to the tool’s damage when used as a melee weapon. If unset, defaults to 1.
    • attackSpeed (Number): Percent bonus to the tool’s attack speed when used as a melee weapon. If unset, defaults to 1.

Binding

Can datagen using ExtraMaterialStats.

The binding stat type has no stats, simply applying their trait. Defining this type on a material is required to allow it to craft bindings. Binding stats have stat type ID tconstruct:extra, defined as an empty object.

Ranged

Since 1.18.2, ranged stats refer to stats for ranged weapons, used in the ranged stat provider for tools such as longbows and crossbows. The group has a stat type ID of tconstruct:ranged, which applies default traits to all types in the group.

Limb

Can datagen using LimbMaterialStats.

Limb stats are repariable, and define the primary stats for ranged weapons such as longbows or crossbows. Limb stats apply all values additively, with durability canceling the default stat value. If a tool has multiple limbs, they will be summed, with weights multiplying the value.

Limb stats have stat type ID tconstruct:limb and the following format:

  • tconstruct:limb (Object): The stats object.
    • durability (Integer): Durability of the tool.
    • drawSpeed (Integer): Draw speed of the tool. Higher values means the tool takes shorter to charge up or pull back.
    • velocity (Integer): Velocity of the projectile. Determines not just speed, but also acts as a multiplier on arrow damage.
    • accuracy (Integer): Accuracy bonus for projectiles fired by this weapon. Determines how the projectile drifts from the crosshair.

Grip

Can datagen using GripMaterialStats.

Grip stats define bonus for ranged weapons such as longbows or crossbows. Each stat in the grip scales differently.

Grip stats have stat type ID tconstruct:grip and the following format:

  • tconstruct:grip (Object): The stats object.
    • durability (Integer): Percent bonus to durability. If unset, defaults to 0.
    • accuracy (Integer): Accuracy bonus for projectiles fired by this weapon. Determines how the projectile drifts from the crosshair.
    • meleeDamage (Integer): Damage the tool will deal when used as a melee weapon, in half hearts. If unset, defaults to 0.

Bowstring

Can datagen using BowstringMaterialStats.

The bowstring stat type has no stats, simply applying their trait. Defining this type on a material is required to allow it to craft bowstrings. Binding stats have stat type ID tconstruct:bowstring, defined as an empty object.

Repair Kit

Can datagen using RepairKitStats.

The repair kit stat is a repairable stat type. It has no effect when used on a material for traits. Defining this stat type on a material will allow it to craft repair kits, though note that repair kits are craftable if the material has any repairable stats. , defined as an empty object.

The primary use is for specialized tools to allow repairing with materials that are not typically a repair part, such as repairing traveler’s gear with leather.

Repair kit stats have stat type ID tconstruct:repair_kit and the following format:

  • tconstruct:repair_kit (Object): The stats object.
    • durability (Integer): Durability value for repair.

Skull

Can datagen using SkullStats.

The skull stat type is a repairable stat type used to define stats and traits for slimeskull variants. Unlike other stat types, there are no skull “tool parts”, rather the recipe for slime skulls uses mob heads directly. As a result, many of the materials associated with skull stats may seem random since they are just chosen for the sake of a repair material. If a tool somehow managed to get multiple skull stat types, the values would be averaged based on the part weights.

Limb stats have stat type ID tconstruct:skull and the following format:

  • tconstruct:skull (Object): The stats object.
    • durability (Integer): Durability of the tool.
    • armor (Integer): Armor value of the skull. Generally should not exceed 2 to prevent armor values from going over 20.