UNPKG

isaac-typescript-definitions

Version:

TypeScript definitions for The Binding of Isaac: Repentance.

548 lines (472 loc) 13.7 kB
/* eslint-disable deprecation/deprecation */ import type { ActiveSlot } from "../../enums/ActiveSlot"; import type { ButtonAction } from "../../enums/ButtonAction"; import type { CardType, CollectibleType, PillColor, PlayerType, TrinketType, } from "../../enums/collections/subTypes"; import type { BombVariant, EffectVariant, FamiliarVariant, LaserVariant, PickupVariant, PlayerVariant, ProjectileVariant, TearVariant, } from "../../enums/collections/variants"; import type { EntityType } from "../../enums/EntityType"; import type { CacheFlag } from "../../enums/flags/CacheFlag"; import type { DamageFlag } from "../../enums/flags/DamageFlag"; import type { LevelCurse } from "../../enums/flags/LevelCurse"; import type { UseFlag } from "../../enums/flags/UseFlag"; import type { GridEntityXMLType } from "../../enums/GridEntityXMLType"; import type { InputHook } from "../../enums/InputHook"; import type { ItemPoolType } from "../../enums/ItemPoolType"; import type { ModCallback } from "../../enums/ModCallback"; import type { PillEffect } from "../../enums/PillEffect"; declare global { interface AddCallbackParameters { // 0 [ModCallback.POST_NPC_UPDATE]: [ callback: (npc: EntityNPC) => void, entityType?: EntityType, ]; // 1 [ModCallback.POST_UPDATE]: [callback: () => void]; // 2 [ModCallback.POST_RENDER]: [callback: () => void]; // 3 [ModCallback.POST_USE_ITEM]: [ callback: ( collectibleType: CollectibleType, rng: RNG, player: EntityPlayer, useFlags: BitFlags<UseFlag>, activeSlot: ActiveSlot, customVarData: int, ) => | boolean | { Discharge: boolean; Remove: boolean; ShowAnim: boolean } | undefined, collectibleType?: CollectibleType, ]; // 4 [ModCallback.POST_PEFFECT_UPDATE]: [ callback: (player: EntityPlayer) => void, playerType?: PlayerType, ]; // 5 [ModCallback.POST_USE_CARD]: [ callback: ( cardType: CardType, player: EntityPlayer, useFlags: BitFlags<UseFlag>, ) => void, cardType?: CardType, ]; // 6 [ModCallback.POST_FAMILIAR_UPDATE]: [ callback: (familiar: EntityFamiliar) => void, familiarVariant?: FamiliarVariant, ]; // 7 [ModCallback.POST_FAMILIAR_INIT]: [ callback: (familiar: EntityFamiliar) => void, familiarVariant?: FamiliarVariant, ]; // 8 [ModCallback.EVALUATE_CACHE]: [ callback: (player: EntityPlayer, cacheFlag: CacheFlag) => void, cacheFlag?: CacheFlag, ]; // 9 [ModCallback.POST_PLAYER_INIT]: [ callback: (player: EntityPlayer) => void, playerVariant?: PlayerVariant, ]; // 10 [ModCallback.POST_USE_PILL]: [ callback: ( pillEffect: PillEffect, player: EntityPlayer, useFlags: BitFlags<UseFlag>, ) => void, pillEffect?: PillEffect, ]; // 11 [ModCallback.ENTITY_TAKE_DMG]: [ callback: ( entity: Entity, amount: float, damageFlags: BitFlags<DamageFlag>, source: EntityRef, countdownFrames: int, ) => boolean | undefined, entityType?: EntityType, ]; // 12 [ModCallback.POST_CURSE_EVAL]: [ callback: ( curses: BitFlags<LevelCurse>, ) => BitFlags<LevelCurse> | LevelCurse | undefined, ]; // 13 [ModCallback.INPUT_ACTION]: [ callback: ( entity: Entity | undefined, inputHook: InputHook, buttonAction: ButtonAction, ) => boolean | float | undefined, inputHook?: InputHook, ]; // 14 is LEVEL_GENERATOR (not implemented). // 15 [ModCallback.POST_GAME_STARTED]: [callback: (isContinued: boolean) => void]; // 16 [ModCallback.POST_GAME_END]: [callback: (isGameOver: boolean) => void]; // 17 [ModCallback.PRE_GAME_EXIT]: [callback: (shouldSave: boolean) => void]; // 18 [ModCallback.POST_NEW_LEVEL]: [callback: () => void]; // 19 [ModCallback.POST_NEW_ROOM]: [callback: () => void]; // 20 [ModCallback.GET_CARD]: [ callback: ( rng: RNG, cardType: CardType, includePlayingCards: boolean, includeRunes: boolean, onlyRunes: boolean, ) => CardType | undefined, ]; // 21 [ModCallback.GET_SHADER_PARAMS]: [ callback: (shaderName: string) => Record<string, unknown> | undefined, ]; // 22 [ModCallback.EXECUTE_CMD]: [ callback: ( command: string, parameters: string, player: EntityPlayer, ) => void, ]; // 23 [ModCallback.PRE_USE_ITEM]: [ callback: ( collectibleType: CollectibleType, rng: RNG, player: EntityPlayer, useFlags: BitFlags<UseFlag>, activeSlot: ActiveSlot, customVarData: int, ) => boolean | undefined, collectibleType?: CollectibleType, ]; // 24 [ModCallback.PRE_ENTITY_SPAWN]: [ callback: ( entityType: EntityType, variant: int, subType: int, position: Vector, velocity: Vector, spawner: Entity | undefined, initSeed: Seed, ) => | [entityType: EntityType, variant: int, subType: int, initSeed: Seed] | undefined, ]; // 25 [ModCallback.POST_FAMILIAR_RENDER]: [ callback: (entityFamiliar: EntityFamiliar, renderOffset: Vector) => void, familiarVariant?: FamiliarVariant, ]; // 26 [ModCallback.PRE_FAMILIAR_COLLISION]: [ callback: ( familiar: EntityFamiliar, collider: Entity, low: boolean, ) => boolean | undefined, familiarVariant?: FamiliarVariant, ]; // 27 [ModCallback.POST_NPC_INIT]: [ callback: (npc: EntityNPC) => void, entityType?: EntityType, ]; // 28 [ModCallback.POST_NPC_RENDER]: [ callback: (npc: EntityNPC, renderOffset: Vector) => void, entityType?: EntityType, ]; // 29 [ModCallback.POST_NPC_DEATH]: [ callback: (npc: EntityNPC) => void, entityType?: EntityType, ]; // 30 [ModCallback.PRE_NPC_COLLISION]: [ callback: ( npc: EntityNPC, collider: Entity, low: boolean, ) => boolean | undefined, entityType?: EntityType, ]; // 31 [ModCallback.POST_PLAYER_UPDATE]: [ callback: (player: EntityPlayer) => void, playerVariant?: PlayerVariant, ]; // 32 [ModCallback.POST_PLAYER_RENDER]: [ callback: (player: EntityPlayer, renderOffset: Vector) => void, playerVariant?: PlayerVariant, ]; // 33 [ModCallback.PRE_PLAYER_COLLISION]: [ callback: ( player: EntityPlayer, collider: Entity, low: boolean, ) => boolean | undefined, playerVariant?: PlayerVariant, ]; // 34 [ModCallback.POST_PICKUP_INIT]: [ callback: (pickup: EntityPickup) => void, pickupVariant?: PickupVariant, ]; // 35 [ModCallback.POST_PICKUP_UPDATE]: [ callback: (pickup: EntityPickup) => void, pickupVariant?: PickupVariant, ]; // 36 [ModCallback.POST_PICKUP_RENDER]: [ callback: (pickup: EntityPickup, renderOffset: Vector) => void, pickupVariant?: PickupVariant, ]; // 37 [ModCallback.POST_PICKUP_SELECTION]: [ callback: ( pickup: EntityPickup, variant: PickupVariant, subType: int, ) => [pickupVariant: PickupVariant, subType: int] | undefined, ]; // 38 [ModCallback.PRE_PICKUP_COLLISION]: [ callback: ( pickup: EntityPickup, collider: Entity, low: boolean, ) => boolean | undefined, pickupVariant?: PickupVariant, ]; // 39 [ModCallback.POST_TEAR_INIT]: [ callback: (tear: EntityTear) => void, tearVariant?: TearVariant, ]; // 40 [ModCallback.POST_TEAR_UPDATE]: [ callback: (tear: EntityTear) => void, tearVariant?: TearVariant, ]; // 41 [ModCallback.POST_TEAR_RENDER]: [ callback: (tear: EntityTear, renderOffset: Vector) => void, tearVariant?: TearVariant, ]; // 42 [ModCallback.PRE_TEAR_COLLISION]: [ callback: ( tear: EntityTear, collider: Entity, low: boolean, ) => boolean | undefined, tearVariant?: TearVariant, ]; // 43 [ModCallback.POST_PROJECTILE_INIT]: [ callback: (projectile: EntityProjectile) => void, projectileVariant?: ProjectileVariant, ]; // 44 [ModCallback.POST_PROJECTILE_UPDATE]: [ callback: (projectile: EntityProjectile) => void, projectileVariant?: ProjectileVariant, ]; // 45 [ModCallback.POST_PROJECTILE_RENDER]: [ callback: (projectile: EntityProjectile, renderOffset: Vector) => void, projectileVariant?: ProjectileVariant, ]; // 46 [ModCallback.PRE_PROJECTILE_COLLISION]: [ callback: ( projectile: EntityProjectile, collider: Entity, low: boolean, ) => boolean | undefined, projectileVariant?: ProjectileVariant, ]; // 47 [ModCallback.POST_LASER_INIT]: [ callback: (laser: EntityLaser) => void, laserVariant?: LaserVariant, ]; // 48 [ModCallback.POST_LASER_UPDATE]: [ callback: (laser: EntityLaser) => void, laserVariant?: LaserVariant, ]; // 49 [ModCallback.POST_LASER_RENDER]: [ callback: (laser: EntityLaser, renderOffset: Vector) => void, laserVariant?: LaserVariant, ]; // 50 [ModCallback.POST_KNIFE_INIT]: [ callback: (knife: EntityKnife) => void, subType?: int, // The vanilla callback is bugged and uses sub-type instead of `KnifeVariant`. ]; // 51 [ModCallback.POST_KNIFE_UPDATE]: [ callback: (knife: EntityKnife) => void, subType?: int, // The vanilla callback is bugged and uses sub-type instead of `KnifeVariant`. ]; // 52 [ModCallback.POST_KNIFE_RENDER]: [ callback: (knife: EntityKnife, renderOffset: Vector) => void, subType?: int, // The vanilla callback is bugged and uses sub-type instead of `KnifeVariant`. ]; // 53 [ModCallback.PRE_KNIFE_COLLISION]: [ callback: ( knife: EntityKnife, collider: Entity, low: boolean, ) => boolean | undefined, subType?: int, // The vanilla callback is bugged and uses sub-type instead of `KnifeVariant`. ]; // 54 [ModCallback.POST_EFFECT_INIT]: [ callback: (effect: EntityEffect) => void, effectVariant?: EffectVariant, ]; // 55 [ModCallback.POST_EFFECT_UPDATE]: [ callback: (effect: EntityEffect) => void, effectVariant?: EffectVariant, ]; // 56 [ModCallback.POST_EFFECT_RENDER]: [ callback: (effect: EntityEffect, renderOffset: Vector) => void, effectVariant?: EffectVariant, ]; // 57 [ModCallback.POST_BOMB_INIT]: [ callback: (bomb: EntityBomb) => void, bombVariant?: BombVariant, ]; // 58 [ModCallback.POST_BOMB_UPDATE]: [ callback: (bomb: EntityBomb) => void, bombVariant?: BombVariant, ]; // 59 [ModCallback.POST_BOMB_RENDER]: [ callback: (bomb: EntityBomb, renderOffset: Vector) => void, bombVariant?: BombVariant, ]; // 60 [ModCallback.PRE_BOMB_COLLISION]: [ callback: ( bomb: EntityBomb, collider: Entity, low: boolean, ) => boolean | undefined, bombVariant?: BombVariant, ]; // 61 [ModCallback.POST_FIRE_TEAR]: [callback: (tear: EntityTear) => void]; // 62 [ModCallback.PRE_GET_COLLECTIBLE]: [ callback: ( itemPoolType: ItemPoolType, decrease: boolean, seed: Seed, ) => CollectibleType | undefined, ]; // 63 [ModCallback.POST_GET_COLLECTIBLE]: [ callback: ( collectibleType: CollectibleType, itemPoolType: ItemPoolType, decrease: boolean, seed: Seed, ) => CollectibleType | undefined, ]; // 64 [ModCallback.GET_PILL_COLOR]: [ callback: (seed: Seed) => PillColor | undefined, ]; // 65 [ModCallback.GET_PILL_EFFECT]: [ callback: ( pillEffect: PillEffect, pillColor: PillColor, ) => PillEffect | undefined, ]; // 66 [ModCallback.GET_TRINKET]: [ callback: (trinketType: TrinketType, rng: RNG) => TrinketType | undefined, ]; // 67 [ModCallback.POST_ENTITY_REMOVE]: [ callback: (entity: Entity) => void, entityType?: EntityType, ]; // 68 [ModCallback.POST_ENTITY_KILL]: [ callback: (entity: Entity) => void, entityType?: EntityType, ]; // 69 [ModCallback.PRE_NPC_UPDATE]: [ callback: (npc: EntityNPC) => boolean | undefined, entityType?: EntityType, ]; // 70 [ModCallback.PRE_SPAWN_CLEAR_AWARD]: [ callback: (rng: RNG, spawnPosition: Vector) => boolean | undefined, ]; // 71 [ModCallback.PRE_ROOM_ENTITY_SPAWN]: [ callback: ( entityTypeOrGridEntityXMLType: EntityType | GridEntityXMLType, variant: int, subType: int, gridIndex: int, initSeed: Seed, ) => | [type: EntityType | GridEntityXMLType, variant: int, subType: int] | undefined, ]; // 72 [ModCallback.PRE_ENTITY_DEVOLVE]: [ callback: (entity: Entity) => boolean | undefined, ]; // 73 [ModCallback.PRE_MOD_UNLOAD]: [callback: (mod: Mod) => void]; } }