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
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?
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
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