Skip to content

API reference / @jsprismarine/entities / Attributes

Class: Attributes ​

Defined in: entities/src/attributes.ts:49

The live attributes of one entity.

Constructors ​

Constructor ​

new Attributes(overrides?): Attributes

Defined in: entities/src/attributes.ts:58

Parameters ​

overrides? ​

ReadonlyMap<"absorption" | "attack_damage" | "flying_speed" | "follow_range" | "health" | "jump_strength" | "knockback_resistance" | "lava_movement" | "luck" | "movement" | "underwater_movement", number> = ...

Base values that replace whatever a component declares, which is how a stat Java Edition decides reaches an entity built from a Bedrock pack. An overridden attribute has no range: the base and the maximum are both the given value.

Returns ​

Attributes

Methods ​

define() ​

define(name, spec): Attribute

Defined in: entities/src/attributes.ts:66

Declares an attribute and sets it to its base value.

A second call replaces the attribute whole, which is what a re-added component group does to the stat it carries.

Parameters ​

name ​

"absorption" | "attack_damage" | "flying_speed" | "follow_range" | "health" | "jump_strength" | "knockback_resistance" | "lava_movement" | "luck" | "movement" | "underwater_movement"

spec ​

AttributeSpec

Returns ​

Attribute


get() ​

get(name): Attribute | undefined

Defined in: entities/src/attributes.ts:77

The attribute, or undefined when no component on the entity declares it.

Parameters ​

name ​

"absorption" | "attack_damage" | "flying_speed" | "follow_range" | "health" | "jump_strength" | "knockback_resistance" | "lava_movement" | "luck" | "movement" | "underwater_movement"

Returns ​

Attribute | undefined


names() ​

names(): readonly ("absorption" | "attack_damage" | "flying_speed" | "follow_range" | "health" | "jump_strength" | "knockback_resistance" | "lava_movement" | "luck" | "movement" | "underwater_movement")[]

Defined in: entities/src/attributes.ts:100

Every declared attribute, in declaration order.

Returns ​

readonly ("absorption" | "attack_damage" | "flying_speed" | "follow_range" | "health" | "jump_strength" | "knockback_resistance" | "lava_movement" | "luck" | "movement" | "underwater_movement")[]


set() ​

set(name, value): number | undefined

Defined in: entities/src/attributes.ts:91

Moves an attribute to a new value, clamped into its bounds.

Parameters ​

name ​

"absorption" | "attack_damage" | "flying_speed" | "follow_range" | "health" | "jump_strength" | "knockback_resistance" | "lava_movement" | "luck" | "movement" | "underwater_movement"

value ​

number

Returns ​

number | undefined

The stored value, or undefined when the attribute is undeclared.


value() ​

value(name, fallback?): number

Defined in: entities/src/attributes.ts:82

The current value, or the fallback when no component declares the attribute.

Parameters ​

name ​

"absorption" | "attack_damage" | "flying_speed" | "follow_range" | "health" | "jump_strength" | "knockback_resistance" | "lava_movement" | "luck" | "movement" | "underwater_movement"

fallback? ​

number = 0

Returns ​

number