Attribute Modifier Operation (Data Type)

A String used to specify the operation in an Attribute Modifier.

A String used to specify the operation in an Attribute Modifier.

The listed values are ordered by application priority — add_base_early (and its addition alias) runs first, set_total runs last.

Quick map: vanilla ↔ Apoli

The three “short” operation names from vanilla Minecraft and the long-named Apoli equivalents are interchangeable. Use whichever reads better in your pack.

Short (vanilla / Apace alias)Canonical (Apoli rewrite)
additionadd_base_early
multiply_basemultiply_base_additive
multiply_totalmultiply_total_multiplicative

Values

ValueDescription
add_base_early (alias: addition)NewBase = Base + Modifier (early in the base phase).
multiply_base_additive (alias: multiply_base)NewBase = Base + (Base * Modifier).
multiply_base_multiplicativeNewBase = Base * (1 + Modifier).
standard_multiply_baseNewBase = Base * Modifier.
standard_divide_baseNewBase = Base / Modifier.
add_base_lateNewBase = Base + Modifier (late in the base phase).
min_baseNewBase = max(Base, Modifier) (raise the floor).
max_baseNewBase = min(Base, Modifier) (cap the ceiling).
set_baseNewBase = Modifier.
multiply_total_additiveNewTotal = Total * (Total * Modifier).
multiply_total_multiplicative (alias: multiply_total)NewTotal = Total * (1 + Modifier).
standard_multiply_totalNewTotal = Total * Modifier.
standard_divide_totalNewTotal = Total / Modifier.
min_totalNewTotal = max(Total, Modifier).
max_totalNewTotal = min(Total, Modifier).
set_totalNewTotal = Modifier (last, overrides everything).

Phases and ordering

Modifiers run in two phases: base first, then total. Within a phase, ordering follows the table above (top is earliest). When two modifiers share a phase and order, evaluation order is undefined — don’t rely on it.

For resource operations (apoli:modify_resource, apoli:change_resource alias), the resource value plays the role of both Base and Total — i.e. the operations effectively reduce to a single-number transform.