Skip to content

API reference / @jsprismarine/entity-brains / AngerManagement

Class: AngerManagement ​

Defined in: mobs/warden.ts:116

Java's AngerManagement: per-suspect anger that decays by one a tick.

The sort is the interesting part and is reproduced exactly: a suspect the warden is already angry at outranks one it is not, a player outranks a non-player at the same band, and only then does the raw anger decide. That is why a warden chases the player who poked it rather than the skeleton that shot it, even when the skeleton has more anger.

Constructors ​

Constructor ​

new AngerManagement(canTarget): AngerManagement

Defined in: mobs/warden.ts:121

Parameters ​

canTarget ​

(entity) => boolean

Returns ​

AngerManagement

Accessors ​

angerLevel ​

Get Signature ​

get angerLevel(): "calm" | "agitated" | "angry"

Defined in: mobs/warden.ts:172

Returns ​

"calm" | "agitated" | "angry"

Methods ​

clearAnger() ​

clearAnger(entity): void

Defined in: mobs/warden.ts:150

Forgets a suspect outright, which is what the warden does to a target it can no longer reach.

Parameters ​

entity ​

BrainEntity

Returns ​

void


getActiveAnger() ​

getActiveAnger(currentTarget?): number

Defined in: mobs/warden.ts:163

Java's getActiveAnger: the anger at the current target, or the highest anger overall when there is no target.

Parameters ​

currentTarget? ​

BrainEntity

Returns ​

number


getActiveEntity() ​

getActiveEntity(): BrainEntity | undefined

Defined in: mobs/warden.ts:168

The top suspect the warden can still target.

Returns ​

BrainEntity | undefined


increaseAnger() ​

increaseAnger(entity, increment): number

Defined in: mobs/warden.ts:138

Adds anger, clamped to 150, and returns the suspect's new total.

Parameters ​

entity ​

BrainEntity

increment ​

number

Returns ​

number


tick() ​

tick(): void

Defined in: mobs/warden.ts:124

Ages every entry by one and drops the suspects that are gone or no longer targetable.

Returns ​

void