Back to mods
Attributer project artwork

Vintage Story Mod DB · Vintage Story mod

Attributer

A multi-class patch that makes lets you set attributes per item dynamically. Basically wherever the code says "get parent object attribute" it instead "get object attribute if exists first". Also adds a few new attributes that can be applied to items to modi

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which Attributer release should I use?

Updated 3 years ago
Latest stable file 1.0.5
Game version 1.18.0-pre.0, 1.18.0-rc.1, 1.18.0-rc.2
Loader Built-in Vintage Story mod system

Attributer 1.0.5 targets 1.18.0-pre.0, 1.18.0-rc.1, 1.18.0-rc.2. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.

Where it goes

Is Attributer required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Built-in Vintage Story mod system
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

No client/server declaration is available from this source.

What else does Attributer 1.0.5 need?

1.0.5. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional mods.

Before you install it

Add Attributer without breaking your instance.

Built for Attributer 1.0.5. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 1.0.5. It targets 1.18.0-pre.0, 1.18.0-rc.1, 1.18.0-rc.2; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 1.0.5. It opens that exact file at the source.

About this project

What does Attributer add?


A multi-class patch that makes lets you set attributes per item dynamically.

Basically wherever the code says "get parent object attribute" it instead "get object attribute if exists first".

Also adds a few new attributes that can be applied to items to modify their functionality.


Requirements:

  • None.

Incompatibilities:

  • Other mods which significantly overwrite base item types.

Mods requiring this:

New Attributes:

  • maxdurability.

Supported Attributes:

  • defaultProtLoss
  • protectionModifiers
    • protectionTier
    • highDamageTierResistant
    • flatDamageReduction
    • relativeProtection
  • statModifiers
    • healingeffectiveness
    • hungerrate
    • rangedWeaponsAcc
    • rangedWeaponsSpeed
    • walkSpeed
  • damage
  • attackpower
  • attackrange
  • miningspeed
  • miningtier
  • health
  • clothescategory
  • breakChanceOnImpact
  • requiresAnvilTier
  • workableTemperature

- Please note, some attributes are enabled by the api by default and do not need this mod.
- Search the official API and official survival mod github repositorys to check.

Attribute Exceptions:

  • perTierFlatDamageReductionLoss
  • perTierRelativeProtectionLoss

These aren't mirrored as other attributes are, as arrays aren't supported by the API.
Instead, they should be TreeAttributes, with the float values of "0" and "1" placed into them.
This is a workaround until the API updates.

How to use (For developers):

  1. Set an attribute on an item.
    1. Example (Set an items attack power):

      1. itemstack.Attributes.SetFloat("attackpower", 12f);

    2. Example (Set an items flat damage reduction):

      1. itemstack.Attributes.GetTreeAttribute("protectionModifiers").SetFloat("flatDamageReduction", 8f);

  2. That's it. It should work if the attribute is supported.

How to use (Standalone):

  1. Use an command that supports or sets attributes.
    1. Example (Set the weapon in your hand's attack power.):

      1. /debug heldstattr attackpower float 1000000

  2. That should do it.

Please note you must mirror attributes exactly, including trees, to how the parent item is.

Project description from Vintage Story Mod DB.

Pick your setup

Attributer releases for each Vintage Story version.

Choose the version and loader you play, then open the matching release.

29 available setups

Showing the newest 12 of 29 game versions. Older files are in the list below.

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

Attributer versions and loaders

6 of 6 releases match

Looking for an older file? The official Vintage Story Mod DB project page is in Resources.