creating attributes - magemonkeystudio/fabled GitHub Wiki

🧬 Creating Attributes

Attributes define player stats like Strength, Dexterity, Vitality, etc. These values can influence player health, mana, regeneration, skill effects, movement speed, damage, and more.

Attributes are created and managed using the Fabled Web Editor, which allows you to visually configure scaling, stat modifiers, and skill integration β€” no YAML editing required.


βž• Creating an Attribute

  1. Click the Attributes tab at the top of the web editor.
  2. Click βž• Add Attribute in the sidebar.
  3. Enter a name (internal key) and a display name.
  4. Choose an icon material and optionally set model data and lore.

πŸ“¦ Attribute Fields

Field Description
Name Internal key used in logic and placeholders
Display Name What players see in menus
Max Maximum number of points the player can invest
Base Cost Skill point cost for level 1
Cost Modifier How much the cost increases per level
Icon Material and optional lore/model used for display

πŸ“ Stat Modifiers

You must select one or more Stat Modifiers in the editor to apply attribute effects globally or passively.

Available Stat Modifiers:

  • health, mana, mana-regen, cooldown, exp
  • move-speed, attack-speed
  • armor, armor-toughness
  • melee-damage, melee-defense
  • physical-damage, physical-defense
  • projectile-damage, projectile-defense
  • skill-damage, skill-defense
  • skill-damage-<type>, skill-defense-<type>
  • defense-<damagecause> (e.g., defense-block_explosion)
  • rpgdamage-<type> and rpgdefense-<type> (Divinity integration)
  • hunger, hunger-heal, knockback-resist, luck

1.21+ Attributes

  • attack-damage, attack-knockback
  • absorption
  • scale
  • step-height
  • jump-strength
  • gravity
  • safe-fall-distance, fall-damage-multiplier
  • burning-time
  • explosion-knockback-resistance, water-movement-efficiency
  • movement-efficiency
  • oxygen-bonus

Player Only (1.21+)

  • block-interaction-range, entity-interaction-range
  • block-break-speed, mining-efficiency, submerged-mining-speed
  • sneaking-speed
  • sweeping-damage-ratio

Each stat is scaled using a formula you define per attribute.


🎯 Skill Component Modifiers

Attributes can scale parts of a skill by modifying specific Mechanic, Target, or Condition components.

Format:

<Component>-<Key>: 'formula'

Examples:

  • Damage-value: 'a * 0.02 + 1 * v'
    β†’ Damage increases 2% per attribute point.

  • Particle Projectile-amount: 'a * 0.5 + v'
    β†’ Fires more particles based on attribute.

Conditional Targeting:

Apply formulas only when certain metadata is present:

Damage-value: 'a*0.05+1*v:icon-key=fireball|a*0.02+1*v'
  • 5% increase for icon-key=fireball
  • 2% increase for all other cases

✍️ Formula Variables

These variables can be used in any scaling formula:

  • a β€” Attribute value
  • v β€” Skill level
  • c β€” Player class level
  • t β€” Target’s class level

πŸ’¬ Placeholders in Icon Lore

Use the following placeholders in the attribute’s icon lore to show dynamic info:

Placeholder Description
{amount} Stage value for invested points only
{total} Stage value for invested + class bonuses
{max} Max value that can be invested
{cost} Cost to upgrade to next level
{invested} Total attribute points spent
{ap} Current unspent attribute points

πŸ’Ύ Saving & Exporting

When you’re finished configuring the attribute:

  1. Click πŸ’Ύ Save to export the current attribute.
  2. Or use the Backup All button to download all attributes, classes, and skills to your device.
  3. Place the attributes.yml file in:
    /plugins/Fabled/
    
  4. Reload with:
    /fabled reload
    

πŸ”— Related Pages

⚠️ **GitHub.com Fallback** ⚠️