ModCallback
Enumeration Members
POST_NPC_UPDATE
• POST_NPC_UPDATE = 0
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EntityType
provided.
function postNPCUpdate(npc: EntityNPC): void {}
Defined in
POST_UPDATE
• POST_UPDATE = 1
You cannot filter this callback.
function postUpdate(): void {}
Defined in
POST_RENDER
• POST_RENDER = 2
You cannot filter this callback.
function postRender(): void {}
Defined in
POST_USE_ITEM
• POST_USE_ITEM = 3
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
CollectibleType
provided.
function useItem(
collectibleType: CollectibleType,
rng: RNG,
player: EntityPlayer,
useFlags: BitFlags<UseFlag>,
activeSlot: int,
customVarData: int,
):
| boolean
| { Discharge: boolean; Remove: boolean; ShowAnim: boolean }
| undefined;
Defined in
POST_PEFFECT_UPDATE
• POST_PEFFECT_UPDATE = 4
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
PlayerType
provided.
function postPEffectUpdate(player: EntityPlayer): void {}
Deprecated
Consider using the ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED
callback from
isaacscript-common
instead, since it will fire in the correct order and prevent
bugs relating to data structures not being properly initialized.
Defined in
POST_USE_CARD
• POST_USE_CARD = 5
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
CardType
provided.
function postUseCard(
cardType: CardType,
player: EntityPlayer,
useFlags: BitFlags<UseFlag>,
): void {}
Defined in
POST_FAMILIAR_UPDATE
• POST_FAMILIAR_UPDATE = 6
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
FamiliarVariant
provided.
function postFamiliarUpdate(familiar: EntityFamiliar): void {}
Defined in
POST_FAMILIAR_INIT
• POST_FAMILIAR_INIT = 7
Unlike in Afterbirth+, in Repentance this callback properly populates the following fields:
Position
SpawnerEntity
SpawnerType
SpawnerVariant
Velocity
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
FamiliarVariant
provided.
function postFamiliarInit(familiar: EntityFamiliar): void {}
Defined in
EVALUATE_CACHE
• EVALUATE_CACHE = 8
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
CacheFlag
provided.
Note that you can only use single CacheFlag
values as a third argument. (You cannot use a
combination of two or more CacheFlag
.)
function evaluateCache(player: EntityPlayer, cacheFlag: CacheFlag): void {}
Defined in
POST_PLAYER_INIT
• POST_PLAYER_INIT = 9
This will fire at the beginning of a run, upon continuing a saved run, and when a player enters a Genesis room.
For most cases of general purpose player initialization, you should use the
POST_PLAYER_INIT_FIRST
custom callback instead (in order to exclude the case of a player
continuing a saved run).
This callback has a special property where most EntityPlayer
methods (such as e.g.
EntityPlayer.AddCollectible
) will silently fail if the player is continuing a saved run.
(This behavior was introduced in Repentance.) See the docs for more details about which
specific methods are affected.
The isChildPlayer
helper function does not work in this callback (because
EntityPlayer.Parent
is not initialized yet at this point). If you want to exclude non-real
players, use the POST_PLAYER_INIT_FIRST
or the POST_PLAYER_INIT_LATE
custom callbacks
instead.
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
PlayerVariant
provided.
function postPlayerInit(player: EntityPlayer): void {}
Defined in
POST_USE_PILL
• POST_USE_PILL = 10
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
PillEffect
provided.
function postUsePill(
pillEffect: PillEffect,
player: EntityPlayer,
useFlags: BitFlags<UseFlag>,
): void {}
Defined in
ENTITY_TAKE_DMG
• ENTITY_TAKE_DMG = 11
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EntityType
provided.
function entityTakeDmg(
entity: Entity,
amount: float,
damageFlags: BitFlags<DamageFlag>,
source: EntityRef,
countdownFrames: int,
): boolean | undefined {}
Defined in
POST_CURSE_EVAL
• POST_CURSE_EVAL = 12
You cannot filter this callback.
function postCurseEval(curses: BitFlags<LevelCurse>): BitFlags<LevelCurse> | undefined {}
Defined in
INPUT_ACTION
• INPUT_ACTION = 13
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
InputHook
provided.
function inputAction(
entity: Entity | undefined,
inputHook: InputHook,
buttonAction: ButtonAction,
): boolean | float | undefined {}
Defined in
POST_GAME_STARTED
• POST_GAME_STARTED = 15
You cannot filter this callback.
function postGameStarted(isContinued: boolean): void {}
Deprecated
Consider using the ModCallbackCustom.POST_GAME_STARTED_REORDERED
callback from
isaacscript-common
instead, since it will fire in the correct order and prevent
bugs relating to data structures not being properly initialized.
Defined in
POST_GAME_END
• POST_GAME_END = 16
You cannot filter this callback.
function postGameEnd(isGameOver: boolean): void {}
Defined in
PRE_GAME_EXIT
• PRE_GAME_EXIT = 17
You cannot filter this callback.
function preGameExit(shouldSave: boolean): void {}
Defined in
POST_NEW_LEVEL
• POST_NEW_LEVEL = 18
Unlike the POST_GAME_STARTED
callback, this callback does not fire when resuming a saved run.
You cannot filter this callback.
function postNewLevel(): void {}
Deprecated
Consider using the ModCallbackCustom.POST_NEW_LEVEL_REORDERED
callback from
isaacscript-common
instead, since it will fire in the correct order and prevent
bugs relating to data structures not being properly initialized.
Defined in
POST_NEW_ROOM
• POST_NEW_ROOM = 19
You cannot filter this callback.
function postNewRoom(): void {}
Deprecated
Consider using the ModCallbackCustom.POST_NEW_ROOM_REORDERED
callback from
isaacscript-common
instead, since it will fire in the correct order and prevent
bugs relating to data structures not being properly initialized.
Defined in
GET_CARD
• GET_CARD = 20
You cannot filter this callback.
function getCard(
rng: RNG,
cardType: CardType,
includePlayingCards: boolean,
includeRunes: boolean,
onlyRunes: boolean,
): CardType | undefined {}
Defined in
GET_SHADER_PARAMS
• GET_SHADER_PARAMS = 21
You cannot filter this callback.
function getShaderParams(shaderName: string): Record<string, unknown> {}
Defined in
EXECUTE_CMD
• EXECUTE_CMD = 22
You cannot filter this callback.
function executeCmd(
command: string,
parameters: string,
player: EntityPlayer,
): void {}
Defined in
PRE_USE_ITEM
• PRE_USE_ITEM = 23
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
CollectibleType
provided.
function preUseItem(
collectibleType: CollectibleType,
rng: RNG,
player: EntityPlayer,
useFlags: BitFlags<UseFlag>,
activeSlot: ActiveSlot,
customVarData: int,
): boolean | undefined {}
Defined in
PRE_ENTITY_SPAWN
• PRE_ENTITY_SPAWN = 24
If you want to prevent an entity from spawning, you cannot return an EntityType
of 0, since
that will cause the game to crash.
Sometimes, if you return a type other than the original type (e.g. replacing a pickup with an effect), the game will crash. Thus, you should replace a pickup with a new pickup, and so on.
You cannot filter this callback.
function preEntitySpawn(
entityType: EntityType,
variant: int,
subType: int,
position: Vector,
velocity: Vector,
spawner: Entity | undefined,
initSeed: Seed,
): [entityType: EntityType, variant: int, subType: int, initSeed: Seed] | undefined {}
Defined in
POST_FAMILIAR_RENDER
• POST_FAMILIAR_RENDER = 25
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
FamiliarVariant
provided.
function postFamiliarRender(
entityFamiliar: EntityFamiliar,
renderOffset: Vector,
): void {}
Defined in
PRE_FAMILIAR_COLLISION
• PRE_FAMILIAR_COLLISION = 26
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
FamiliarVariant
provided.
function preFamiliarCollision(
familiar: EntityFamiliar,
collider: Entity,
low: boolean,
): boolean | undefined {}
Defined in
POST_NPC_INIT
• POST_NPC_INIT = 27
Unlike in Afterbirth+, in Repentance this callback properly populates the following fields:
Position
SpawnerEntity
SpawnerType
SpawnerVariant
Velocity
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EntityType
provided.
function postNPCInit(npc: EntityNPC): void {}
Defined in
POST_NPC_RENDER
• POST_NPC_RENDER = 28
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EntityType
provided.
function postNPCRender(npc: EntityNPC, renderOffset: Vector): void {}
Defined in
POST_NPC_DEATH
• POST_NPC_DEATH = 29
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EntityType
provided.
function postNPCDeath(npc: EntityNPC): void {}
Defined in
PRE_NPC_COLLISION
• PRE_NPC_COLLISION = 30
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EntityType
provided.
function preNPCCollision(
npc: EntityNPC,
collider: Entity,
low: boolean,
): boolean | undefined {}
Defined in
POST_PLAYER_UPDATE
• POST_PLAYER_UPDATE = 31
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
PlayerVariant
provided.
function postPlayerUpdate(player: EntityPlayer): void {}
Deprecated
Consider using the ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED
callback from
isaacscript-common
instead, since it will fire in the correct order and prevent
bugs relating to data structures not being properly initialized.
Defined in
POST_PLAYER_RENDER
• POST_PLAYER_RENDER = 32
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
PlayerVariant
provided.
function postPlayerRender(player: EntityPlayer, renderOffset: Vector): void {}
Deprecated
Consider using the ModCallbackCustom.POST_PLAYER_RENDER_REORDERED
callback from
isaacscript-common
instead, since it will fire in the correct order and prevent
bugs relating to data structures not being properly initialized.
Defined in
PRE_PLAYER_COLLISION
• PRE_PLAYER_COLLISION = 33
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
PlayerVariant
provided.
function prePlayerCollision(
player: EntityPlayer,
collider: Entity,
low: boolean,
): boolean | undefined {}
Defined in
POST_PICKUP_INIT
• POST_PICKUP_INIT = 34
Unlike in Afterbirth+, in Repentance this callback properly populates the following fields:
Position
SpawnerEntity
SpawnerType
SpawnerVariant
Velocity
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
PickupVariant
provided.
function postPickupInit(pickup: EntityPickup): void {}
Defined in
POST_PICKUP_UPDATE
• POST_PICKUP_UPDATE = 35
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
PickupVariant
provided.
function postPickupUpdate(pickup: EntityPickup): void {}
Defined in
POST_PICKUP_RENDER
• POST_PICKUP_RENDER = 36
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
PickupVariant
provided.
function postPickupRender(pickup: EntityPickup, renderOffset: Vector): void {}
Defined in
POST_PICKUP_SELECTION
• POST_PICKUP_SELECTION = 37
You cannot filter this callback.
function postPickupSelection(
pickup: EntityPickup,
variant: PickupVariant,
subType: int,
): [pickupVariant: PickupVariant, subType: int] | undefined {}
Defined in
PRE_PICKUP_COLLISION
• PRE_PICKUP_COLLISION = 38
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
PickupVariant
provided.
function prePickupCollision(
pickup: EntityPickup,
collider: Entity,
low: boolean,
): boolean | undefined {}
Defined in
POST_TEAR_INIT
• POST_TEAR_INIT = 39
Unlike in Afterbirth+, in Repentance this callback properly populates the following fields:
Position
SpawnerEntity
SpawnerType
SpawnerVariant
Velocity
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
TearVariant
provided.
function postTearInit(tear: EntityTear): void {}
Defined in
POST_TEAR_UPDATE
• POST_TEAR_UPDATE = 40
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
TearVariant
provided.
function postTearUpdate(tear: EntityTear): void {}
Defined in
POST_TEAR_RENDER
• POST_TEAR_RENDER = 41
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
TearVariant
provided.
function postTearRender(tear: EntityTear, renderOffset: Vector): void {}
Defined in
PRE_TEAR_COLLISION
• PRE_TEAR_COLLISION = 42
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
TearVariant
provided.
function preTearCollision(
tear: EntityTear,
collider: Entity,
low: boolean,
): boolean | undefined {}
Defined in
POST_PROJECTILE_INIT
• POST_PROJECTILE_INIT = 43
Unlike in Afterbirth+, in Repentance this callback properly populates the following fields:
Position
SpawnerEntity
SpawnerType
SpawnerVariant
Velocity
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
ProjectileVariant
provided.
function postProjectileInit(projectile: EntityProjectile): void {}
Defined in
POST_PROJECTILE_UPDATE
• POST_PROJECTILE_UPDATE = 44
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
ProjectileVariant
provided.
function postProjectileUpdate(projectile: EntityProjectile): void {}
Defined in
POST_PROJECTILE_RENDER
• POST_PROJECTILE_RENDER = 45
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
ProjectileVariant
provided.
function postProjectileRender(
projectile: EntityProjectile,
renderOffset: Vector,
): void {}
Defined in
PRE_PROJECTILE_COLLISION
• PRE_PROJECTILE_COLLISION = 46
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
ProjectileVariant
provided.
function preProjectileCollision(
projectile: EntityProjectile,
collider: Entity,
low: boolean,
): boolean | undefined {}
Defined in
POST_LASER_INIT
• POST_LASER_INIT = 47
Unlike in Afterbirth+, in Repentance this callback properly populates the following fields:
Position
SpawnerEntity
SpawnerType
SpawnerVariant
Velocity
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
LaserVariant
provided.
function postLaserInit(laser: EntityLaser): void {}
Defined in
POST_LASER_UPDATE
• POST_LASER_UPDATE = 48
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
LaserVariant
provided.
function postLaserUpdate(laser: EntityLaser): void {}
Defined in
POST_LASER_RENDER
• POST_LASER_RENDER = 49
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
LaserVariant
provided.
function postLaserRender(laser: EntityLaser, renderOffset: Vector): void {}
Defined in
POST_KNIFE_INIT
• POST_KNIFE_INIT = 50
Unlike in Afterbirth+, in Repentance this callback properly populates the following fields:
Position
SpawnerEntity
SpawnerType
SpawnerVariant
Velocity
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the sub-type provided. (This is bugged and is NOT the
KnifeVariant
like you would expect!)
function postKnifeInit(knife: EntityKnife): void {}
Defined in
POST_KNIFE_UPDATE
• POST_KNIFE_UPDATE = 51
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the sub-type provided. (This is bugged and is NOT the
KnifeVariant
like you would expect!)
function postKnifeUpdate(knife: EntityKnife): void {}
Defined in
POST_KNIFE_RENDER
• POST_KNIFE_RENDER = 52
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the sub-type provided. (This is bugged and is NOT the
KnifeVariant
like you would expect!)
function postKnifeRender(knife: EntityKnife, renderOffset: Vector): void {}
Defined in
PRE_KNIFE_COLLISION
• PRE_KNIFE_COLLISION = 53
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the sub-type provided. (This is bugged and is NOT the
KnifeVariant
like you would expect!)
function preKnifeCollision(
knife: EntityKnife,
collider: Entity,
low: boolean,
): boolean | undefined {}
Defined in
POST_EFFECT_INIT
• POST_EFFECT_INIT = 54
Unlike in Afterbirth+, in Repentance this callback properly populates the following fields:
Position
SpawnerEntity
SpawnerType
SpawnerVariant
Velocity
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EffectVariant
provided.
function postEffectInit(effect: EntityEffect): void {}
Defined in
POST_EFFECT_UPDATE
• POST_EFFECT_UPDATE = 55
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EffectVariant
provided.
function postEffectUpdate(effect: EntityEffect): void {}
Defined in
POST_EFFECT_RENDER
• POST_EFFECT_RENDER = 56
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EffectVariant
provided.
function postEffectRender(effect: EntityEffect, renderOffset: Vector): void {}
Defined in
POST_BOMB_INIT
• POST_BOMB_INIT = 57
Unlike in Afterbirth+, in Repentance this callback properly populates the following fields:
Position
SpawnerEntity
SpawnerType
SpawnerVariant
Velocity
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
BombVariant
provided.
function postBombInit(bomb: EntityBomb): void {}
Defined in
POST_BOMB_UPDATE
• POST_BOMB_UPDATE = 58
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
BombVariant
provided.
function postBombUpdate(bomb: EntityBomb): void {}
Defined in
POST_BOMB_RENDER
• POST_BOMB_RENDER = 59
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
BombVariant
provided.
function postBombRender(bomb: EntityBomb, renderOffset: Vector): void {}
Defined in
PRE_BOMB_COLLISION
• PRE_BOMB_COLLISION = 60
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
BombVariant
provided.
function preBombCollision(
bomb: EntityBomb,
collider: Entity,
low: boolean,
): boolean | undefined {}
Defined in
POST_FIRE_TEAR
• POST_FIRE_TEAR = 61
You cannot filter this callback.
function postFireTear(tear: EntityTear): void {}
Defined in
PRE_GET_COLLECTIBLE
• PRE_GET_COLLECTIBLE = 62
You cannot filter this callback.
function preGetCollectible(
itemPoolType: ItemPoolType,
decrease: boolean,
seed: Seed,
): CollectibleType | undefined {}
Defined in
POST_GET_COLLECTIBLE
• POST_GET_COLLECTIBLE = 63
You cannot filter this callback.
function postGetCollectible(
collectibleType: CollectibleType,
itemPoolType: ItemPoolType,
decrease: boolean,
seed: Seed,
): CollectibleType | undefined {}
Defined in
GET_PILL_COLOR
• GET_PILL_COLOR = 64
You cannot filter this callback.
function getPillColor(seed: Seed): PillColor | undefined {}
Defined in
GET_PILL_EFFECT
• GET_PILL_EFFECT = 65
You cannot filter this callback.
function getPillEffect(
pillEffect: PillEffect,
pillColor: PillColor,
): PillEffect | undefined {}
Defined in
GET_TRINKET
• GET_TRINKET = 66
You cannot filter this callback.
function getTrinket(
trinketType: TrinketType,
rng: RNG,
): TrinketType | undefined {}
Defined in
POST_ENTITY_REMOVE
• POST_ENTITY_REMOVE = 67
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EntityType
provided.
function postEntityRemove(entity: Entity): void {}
Defined in
POST_ENTITY_KILL
• POST_ENTITY_KILL = 68
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EntityType
provided.
function postEntityKill(entity: Entity): void {}
Defined in
PRE_NPC_UPDATE
• PRE_NPC_UPDATE = 69
When registering this callback with the Mod.AddCallback
method:
- You can provide an optional third argument that will make the callback only fire if it
matches the
EntityType
provided.
function preNPCUpdate(entity: Entity): boolean | undefined {}
Defined in
PRE_SPAWN_CLEAR_AWARD
• PRE_SPAWN_CLEAR_AWARD = 70
In vanilla, this is PRE_SPAWN_CLEAN_AWARD
, which is a typo.
You cannot filter this callback.
function preSpawnClearAward(
rng: RNG,
spawnPosition: Vector,
): boolean | undefined {}
Defined in
PRE_ROOM_ENTITY_SPAWN
• PRE_ROOM_ENTITY_SPAWN = 71
You can use the isGridEntityXMLType
helper function to convert the
entityTypeOrGridEntityXMLType
argument to an EntityType
or GridEntityXMLType
, if needed.
You cannot filter this callback.
function preRoomEntitySpawn(
entityTypeOrGridEntityXMLType: EntityType | GridEntityXMLType,
variant: int,
subType: int,
gridIndex: int,
initSeed: Seed,
): [type: EntityType | GridEntityXMLType, variant: int, subType: int] | undefined {}
Defined in
PRE_ENTITY_DEVOLVE
• PRE_ENTITY_DEVOLVE = 72
You cannot filter this callback.
function preEntityDevolve(entity: Entity): boolean | undefined {}
Defined in
PRE_MOD_UNLOAD
• PRE_MOD_UNLOAD = 73
You cannot filter this callback.
function preModUnload(mod: Mod): void {}