Attributification [Attribute Unification]
ModMIT

Attributification [Attribute Unification]

Unifies similar attributes from different mods with configurable conversion coefficients to prevent duplication and improve compatibility.

5
Downloads
2
Followers
2 months ago
Updated
📦
1
Versions

📖About Attributification [Attribute Unification]

Attributification

A compatibility mod that unifies similar attributes from different mods to prevent duplication and improve cross-mod compatibility.

Key Features

  • Attribute Conversion – Converts source attribute modifiers to target attributes using configurable ratios.
  • Bidirectional Sync – Changes made to one attribute are reflected in its counterparts.
  • Full Replacement Mode – Completely replaces specific attributes to prevent "double-dipping" and balance issues.
  • Fallback Support – Maps to secondary attributes if a primary target mod is missing.

Supported Mods (Out-of-the-box)

Configuration

Fully customizable via config/attributification/attribute_mappings.json. The JSON system supports:

  • Equivalence Ratios – Define exact scaling between different attribute values.
  • Operation Conversion – Switch logic between ADDITION and MULTIPLY_BASE.
  • Visual Tweaks – Toggle between visual-only changes or deep mechanical overrides.
  • Custom Mappings – Add support for any mod utilizing the standard Minecraft attribute system.
Example
{
  "sourceAttribute": "spell_power:earth", // The attribute that will be unified/replaced
  "targetAttribute": "gtbcs_geomancy_plus:geo_spell_power, irons_spellbooks:nature_spell_power", // Target attribute(s) with fallback support
  "equivalence": 3.0, // Virtual display ratio for /attribute get command (source_virtual = target_real × 3.0)
  "conversionEquivalence": 20.0, // Modifier conversion ratio (target_modifier = source_modifier / 20.0)
  "bidirectional": true, // Enable bidirectional synchronization between source and target
  "onlyVisualChange": false, // If true, only changes display name without converting values
  "fullReplacement": false, // If true, source attribute is frozen at base value, only target works
  "autoEquivalence": false, // If true, calculates equivalence from base values on mod load
  "subtractValue": 0.0, // Value subtracted from source before conversion
  "operationConversion": "ADDITION_TO_MULTIPLY_BASE" // Convert operation type: DEFAULT, ADDITION_TO_MULTIPLY_BASE, or ADDITION_TO_MULTIPLY_TOTAL
}