isaacscript-common 18.1.0 → 18.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/dist/index.d.ts +163 -99
  2. package/dist/isaacscript-common.lua +146 -102
  3. package/dist/src/callbackClasses.d.ts +1 -0
  4. package/dist/src/callbackClasses.d.ts.map +1 -1
  5. package/dist/src/callbackClasses.lua +5 -0
  6. package/dist/src/callbacks.d.ts +100 -99
  7. package/dist/src/callbacks.d.ts.map +1 -1
  8. package/dist/src/callbacks.lua +1 -0
  9. package/dist/src/classes/callbacks/EntityTakeDmgFilter.d.ts.map +1 -1
  10. package/dist/src/classes/callbacks/EntityTakeDmgPlayer.d.ts +9 -0
  11. package/dist/src/classes/callbacks/EntityTakeDmgPlayer.d.ts.map +1 -0
  12. package/dist/src/classes/callbacks/EntityTakeDmgPlayer.lua +34 -0
  13. package/dist/src/classes/callbacks/PostAmbushFinished.d.ts.map +1 -1
  14. package/dist/src/classes/callbacks/PostAmbushStarted.d.ts.map +1 -1
  15. package/dist/src/classes/callbacks/PostBombExploded.d.ts.map +1 -1
  16. package/dist/src/classes/callbacks/PostBombInitLate.d.ts.map +1 -1
  17. package/dist/src/classes/callbacks/PostBoneSwing.d.ts.map +1 -1
  18. package/dist/src/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
  19. package/dist/src/classes/callbacks/PostCollectibleInitFirst.d.ts.map +1 -1
  20. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts.map +1 -1
  21. package/dist/src/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
  22. package/dist/src/classes/callbacks/PostDoorRender.d.ts.map +1 -1
  23. package/dist/src/classes/callbacks/PostDoorUpdate.d.ts.map +1 -1
  24. package/dist/src/classes/callbacks/PostEffectInitLate.d.ts.map +1 -1
  25. package/dist/src/classes/callbacks/PostEffectStateChanged.d.ts.map +1 -1
  26. package/dist/src/classes/callbacks/PostFamiliarInitLate.d.ts.map +1 -1
  27. package/dist/src/classes/callbacks/PostFamiliarStateChanged.d.ts.map +1 -1
  28. package/dist/src/classes/callbacks/PostGreedModeWave.d.ts.map +1 -1
  29. package/dist/src/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
  30. package/dist/src/classes/callbacks/PostKnifeInitLate.d.ts.map +1 -1
  31. package/dist/src/classes/callbacks/PostLaserInitLate.d.ts.map +1 -1
  32. package/dist/src/classes/callbacks/PostNPCDeathFilter.d.ts +1 -1
  33. package/dist/src/classes/callbacks/PostNPCDeathFilter.d.ts.map +1 -1
  34. package/dist/src/classes/callbacks/PostNPCDeathFilter.lua +2 -2
  35. package/dist/src/classes/callbacks/PostNPCInitFilter.d.ts.map +1 -1
  36. package/dist/src/classes/callbacks/PostNPCInitLate.d.ts.map +1 -1
  37. package/dist/src/classes/callbacks/PostNPCRenderFilter.d.ts.map +1 -1
  38. package/dist/src/classes/callbacks/PostNPCStateChanged.d.ts.map +1 -1
  39. package/dist/src/classes/callbacks/PostNPCUpdateFilter.d.ts.map +1 -1
  40. package/dist/src/classes/callbacks/PostNewRoomEarly.d.ts.map +1 -1
  41. package/dist/src/classes/callbacks/PostPickupCollect.d.ts.map +1 -1
  42. package/dist/src/classes/callbacks/PostPickupInitFirst.d.ts.map +1 -1
  43. package/dist/src/classes/callbacks/PostPickupInitLate.d.ts.map +1 -1
  44. package/dist/src/classes/callbacks/PostPickupStateChanged.d.ts.map +1 -1
  45. package/dist/src/classes/callbacks/PostPitRender.d.ts.map +1 -1
  46. package/dist/src/classes/callbacks/PostPitUpdate.d.ts.map +1 -1
  47. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -1
  48. package/dist/src/classes/callbacks/PostPoopRender.d.ts.map +1 -1
  49. package/dist/src/classes/callbacks/PostPoopUpdate.d.ts.map +1 -1
  50. package/dist/src/classes/callbacks/PostPressurePlateRender.d.ts.map +1 -1
  51. package/dist/src/classes/callbacks/PostPressurePlateUpdate.d.ts.map +1 -1
  52. package/dist/src/classes/callbacks/PostProjectileInitLate.d.ts.map +1 -1
  53. package/dist/src/classes/callbacks/PostRockRender.d.ts.map +1 -1
  54. package/dist/src/classes/callbacks/PostRockUpdate.d.ts.map +1 -1
  55. package/dist/src/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -1
  56. package/dist/src/classes/callbacks/PostSacrifice.d.ts.map +1 -1
  57. package/dist/src/classes/callbacks/PostSlotCollision.d.ts.map +1 -1
  58. package/dist/src/classes/callbacks/PostSlotDestroyed.d.ts.map +1 -1
  59. package/dist/src/classes/callbacks/PostSpikesRender.d.ts.map +1 -1
  60. package/dist/src/classes/callbacks/PostSpikesUpdate.d.ts.map +1 -1
  61. package/dist/src/classes/callbacks/PostTNTRender.d.ts.map +1 -1
  62. package/dist/src/classes/callbacks/PostTNTUpdate.d.ts.map +1 -1
  63. package/dist/src/classes/callbacks/PostTearInitLate.d.ts.map +1 -1
  64. package/dist/src/classes/callbacks/PostTearInitVeryLate.d.ts.map +1 -1
  65. package/dist/src/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
  66. package/dist/src/classes/callbacks/PreGetPedestal.d.ts.map +1 -1
  67. package/dist/src/classes/callbacks/PreNPCCollisionFilter.d.ts.map +1 -1
  68. package/dist/src/classes/callbacks/PreNPCUpdateFilter.d.ts.map +1 -1
  69. package/dist/src/classes/callbacks/PreNewLevel.d.ts.map +1 -1
  70. package/dist/src/enums/ModCallbackCustom.d.ts +158 -99
  71. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  72. package/dist/src/enums/ModCallbackCustom.lua +101 -99
  73. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts +5 -0
  74. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  75. package/package.json +1 -1
  76. package/src/callbackClasses.ts +1 -0
  77. package/src/callbacks.ts +1 -0
  78. package/src/classes/callbacks/EntityTakeDmgFilter.ts +2 -1
  79. package/src/classes/callbacks/EntityTakeDmgPlayer.ts +40 -0
  80. package/src/classes/callbacks/PostAmbushFinished.ts +2 -1
  81. package/src/classes/callbacks/PostAmbushStarted.ts +2 -1
  82. package/src/classes/callbacks/PostBombExploded.ts +2 -1
  83. package/src/classes/callbacks/PostBombInitLate.ts +2 -1
  84. package/src/classes/callbacks/PostBoneSwing.ts +2 -1
  85. package/src/classes/callbacks/PostCollectibleEmpty.ts +2 -1
  86. package/src/classes/callbacks/PostCollectibleInitFirst.ts +2 -1
  87. package/src/classes/callbacks/PostCursedTeleport.ts +5 -2
  88. package/src/classes/callbacks/PostDiceRoomActivated.ts +2 -1
  89. package/src/classes/callbacks/PostDoorRender.ts +4 -1
  90. package/src/classes/callbacks/PostDoorUpdate.ts +4 -1
  91. package/src/classes/callbacks/PostEffectInitLate.ts +2 -1
  92. package/src/classes/callbacks/PostEffectStateChanged.ts +2 -1
  93. package/src/classes/callbacks/PostFamiliarInitLate.ts +2 -1
  94. package/src/classes/callbacks/PostFamiliarStateChanged.ts +2 -1
  95. package/src/classes/callbacks/PostGreedModeWave.ts +2 -1
  96. package/src/classes/callbacks/PostItemDischarge.ts +2 -1
  97. package/src/classes/callbacks/PostKnifeInitLate.ts +2 -1
  98. package/src/classes/callbacks/PostLaserInitLate.ts +2 -1
  99. package/src/classes/callbacks/PostNPCDeathFilter.ts +3 -2
  100. package/src/classes/callbacks/PostNPCInitFilter.ts +2 -1
  101. package/src/classes/callbacks/PostNPCInitLate.ts +2 -1
  102. package/src/classes/callbacks/PostNPCRenderFilter.ts +2 -1
  103. package/src/classes/callbacks/PostNPCStateChanged.ts +2 -1
  104. package/src/classes/callbacks/PostNPCUpdateFilter.ts +2 -1
  105. package/src/classes/callbacks/PostNewRoomEarly.ts +5 -2
  106. package/src/classes/callbacks/PostPickupCollect.ts +2 -1
  107. package/src/classes/callbacks/PostPickupInitFirst.ts +2 -1
  108. package/src/classes/callbacks/PostPickupInitLate.ts +2 -1
  109. package/src/classes/callbacks/PostPickupStateChanged.ts +2 -1
  110. package/src/classes/callbacks/PostPitRender.ts +2 -1
  111. package/src/classes/callbacks/PostPitUpdate.ts +2 -1
  112. package/src/classes/callbacks/PostPlayerFatalDamage.ts +5 -2
  113. package/src/classes/callbacks/PostPoopRender.ts +2 -1
  114. package/src/classes/callbacks/PostPoopUpdate.ts +2 -1
  115. package/src/classes/callbacks/PostPressurePlateRender.ts +2 -1
  116. package/src/classes/callbacks/PostPressurePlateUpdate.ts +2 -1
  117. package/src/classes/callbacks/PostProjectileInitLate.ts +2 -1
  118. package/src/classes/callbacks/PostRockRender.ts +2 -1
  119. package/src/classes/callbacks/PostRockUpdate.ts +2 -1
  120. package/src/classes/callbacks/PostRoomClearChanged.ts +2 -1
  121. package/src/classes/callbacks/PostSacrifice.ts +2 -1
  122. package/src/classes/callbacks/PostSlotCollision.ts +2 -1
  123. package/src/classes/callbacks/PostSlotDestroyed.ts +1 -0
  124. package/src/classes/callbacks/PostSpikesRender.ts +2 -1
  125. package/src/classes/callbacks/PostSpikesUpdate.ts +2 -1
  126. package/src/classes/callbacks/PostTNTRender.ts +2 -1
  127. package/src/classes/callbacks/PostTNTUpdate.ts +2 -1
  128. package/src/classes/callbacks/PostTearInitLate.ts +2 -1
  129. package/src/classes/callbacks/PostTearInitVeryLate.ts +2 -1
  130. package/src/classes/callbacks/PostTrinketBreak.ts +2 -1
  131. package/src/classes/callbacks/PreGetPedestal.ts +2 -1
  132. package/src/classes/callbacks/PreNPCCollisionFilter.ts +2 -1
  133. package/src/classes/callbacks/PreNPCUpdateFilter.ts +2 -1
  134. package/src/classes/callbacks/PreNewLevel.ts +2 -1
  135. package/src/enums/ModCallbackCustom.ts +60 -0
  136. package/src/interfaces/private/AddCallbackParametersCustom.ts +12 -0
package/dist/index.d.ts CHANGED
@@ -91,6 +91,11 @@ declare interface AddCallbackParametersCustom {
91
91
  variant?: number,
92
92
  subType?: number
93
93
  ];
94
+ [ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER]: [
95
+ callback: (player: EntityPlayer, amount: float, damageFlags: BitFlags<DamageFlag>, source: EntityRef, countdownFrames: int) => boolean | undefined,
96
+ playerVariant?: PlayerVariant,
97
+ character?: PlayerType
98
+ ];
94
99
  [ModCallbackCustom.POST_AMBUSH_FINISHED]: [
95
100
  callback: (ambushType: AmbushType) => void,
96
101
  ambushType?: AmbushType
@@ -8621,8 +8626,39 @@ export declare enum ModCallbackCustom {
8621
8626
  * matches the variant provided.
8622
8627
  * - You can provide an optional fifth argument that will make the callback only fire if it
8623
8628
  * matches the sub-type provided.
8629
+ *
8630
+ * ```ts
8631
+ * function entityTakeDmgFilter(
8632
+ * entity: Entity,
8633
+ * amount: float,
8634
+ * damageFlags: BitFlags<DamageFlag>,
8635
+ * source: EntityRef,
8636
+ * countdownFrames: int,
8637
+ * ): boolean | undefined {}
8638
+ * ```
8624
8639
  */
8625
8640
  ENTITY_TAKE_DMG_FILTER = 0,
8641
+ /**
8642
+ * The exact same thing as the vanilla `ENTITY_TAKE_DMG` callback, except this callback
8643
+ * automatically filters for `EntityType.ENTITY_PLAYER` and casts the `Entity` object to a
8644
+ * `EntityPlayer`.
8645
+ *
8646
+ * - You can provide an optional third argument that will make the callback only fire if it
8647
+ * matches the `PlayerVariant` provided.
8648
+ * - You can provide an optional fourth argument that will make the callback only fire if it
8649
+ * matches the `PlayerType` provided.
8650
+ *
8651
+ * ```ts
8652
+ * function entityTakeDmgPlayer(
8653
+ * player: EntityPlayer,
8654
+ * amount: float,
8655
+ * damageFlags: BitFlags<DamageFlag>,
8656
+ * source: EntityRef,
8657
+ * countdownFrames: int,
8658
+ * ): boolean | undefined {}
8659
+ * ```
8660
+ */
8661
+ ENTITY_TAKE_DMG_PLAYER = 1,
8626
8662
  /**
8627
8663
  * Fires from the `POST_UPDATE` callback when a Challenge Room or Boss Rush is started.
8628
8664
  * Specifically, this happens on the first frame that `Room.IsAmbushDone` is true.
@@ -8635,7 +8671,7 @@ export declare enum ModCallbackCustom {
8635
8671
  * function postAmbushFinished(ambushType: AmbushType): void {}
8636
8672
  * ```
8637
8673
  */
8638
- POST_AMBUSH_FINISHED = 1,
8674
+ POST_AMBUSH_FINISHED = 2,
8639
8675
  /**
8640
8676
  * Fires from the `POST_UPDATE` callback when a Challenge Room or Boss Rush is completed.
8641
8677
  * Specifically, this happens on the first frame that `Room.IsAmbushActive` is true.
@@ -8648,7 +8684,7 @@ export declare enum ModCallbackCustom {
8648
8684
  * function postAmbushStarted(ambushType: AmbushType): void {}
8649
8685
  * ```
8650
8686
  */
8651
- POST_AMBUSH_STARTED = 2,
8687
+ POST_AMBUSH_STARTED = 3,
8652
8688
  /**
8653
8689
  * Fires on the `POST_BOMB_UPDATE` callback that it explodes.
8654
8690
  *
@@ -8662,7 +8698,7 @@ export declare enum ModCallbackCustom {
8662
8698
  * function postBombDetonated(bomb: EntityBomb): void {}
8663
8699
  * ```
8664
8700
  */
8665
- POST_BOMB_EXPLODED = 3,
8701
+ POST_BOMB_EXPLODED = 4,
8666
8702
  /**
8667
8703
  * Fires on the first `POST_BOMB_UPDATE` frame for each bomb.
8668
8704
  *
@@ -8679,7 +8715,7 @@ export declare enum ModCallbackCustom {
8679
8715
  * function postBombInitLate(bomb: EntityBomb): void {}
8680
8716
  * ```
8681
8717
  */
8682
- POST_BOMB_INIT_LATE = 4,
8718
+ POST_BOMB_INIT_LATE = 5,
8683
8719
  /**
8684
8720
  * Fires from the `POST_RENDER` callback when one of Forgotten's bone clubs is swung or thrown.
8685
8721
  *
@@ -8687,7 +8723,7 @@ export declare enum ModCallbackCustom {
8687
8723
  * function postBoneSwing(boneClub: EntityKnife): void {}
8688
8724
  * ```
8689
8725
  */
8690
- POST_BONE_SWING = 5,
8726
+ POST_BONE_SWING = 6,
8691
8727
  /**
8692
8728
  * Fires from the `POST_PICKUP_UPDATE` callback when a collectible goes from a non-zero sub-type
8693
8729
  * to `CollectibleType.NULL` (i.e. an "empty" pedestal).
@@ -8703,7 +8739,7 @@ export declare enum ModCallbackCustom {
8703
8739
  * ): void {}
8704
8740
  * ```
8705
8741
  */
8706
- POST_COLLECTIBLE_EMPTY = 6,
8742
+ POST_COLLECTIBLE_EMPTY = 7,
8707
8743
  /**
8708
8744
  * Fires from the `POST_PICKUP_INIT` callback on the first time that a player has seen the
8709
8745
  * respective collectible on the run. For more details on how this is calculated, see the
@@ -8721,7 +8757,7 @@ export declare enum ModCallbackCustom {
8721
8757
  * function postCollectibleInitLate(collectible: EntityPickupCollectible): void {}
8722
8758
  * ```
8723
8759
  */
8724
- POST_COLLECTIBLE_INIT_FIRST = 7,
8760
+ POST_COLLECTIBLE_INIT_FIRST = 8,
8725
8761
  /**
8726
8762
  * Fires from the `POST_PLAYER_RENDER` callback on the first frame that the "TeleportUp" animation
8727
8763
  * begins playing after a player triggers a Cursed Eye teleport or a Cursed Skull teleport. (Both
@@ -8737,7 +8773,7 @@ export declare enum ModCallbackCustom {
8737
8773
  * function postCursedTeleport(player: EntityPlayer): void {}
8738
8774
  * ```
8739
8775
  */
8740
- POST_CURSED_TELEPORT = 8,
8776
+ POST_CURSED_TELEPORT = 9,
8741
8777
  /**
8742
8778
  * Fires from the `POST_PLAYER_UPDATE` callback after the player has finished the death animation,
8743
8779
  * has teleported to the previous room, and is ready to play the animation for the modded revival
@@ -8755,7 +8791,7 @@ export declare enum ModCallbackCustom {
8755
8791
  * function postCustomRevive(player: EntityPlayer, revivalType: int): void {}
8756
8792
  * ```
8757
8793
  */
8758
- POST_CUSTOM_REVIVE = 9,
8794
+ POST_CUSTOM_REVIVE = 10,
8759
8795
  /**
8760
8796
  * Fires from the `EFFECT_POST_UPDATE` callback after a player has entered the range of a Dice
8761
8797
  * Room floor.
@@ -8771,7 +8807,7 @@ export declare enum ModCallbackCustom {
8771
8807
  * ): void {}
8772
8808
  * ```
8773
8809
  */
8774
- POST_DICE_ROOM_ACTIVATED = 10,
8810
+ POST_DICE_ROOM_ACTIVATED = 11,
8775
8811
  /**
8776
8812
  * Fires from the `POST_RENDER` callback on every frame that a door exists.
8777
8813
  *
@@ -8783,7 +8819,7 @@ export declare enum ModCallbackCustom {
8783
8819
  * function postDoorRender(door: GridEntityDoor): void {}
8784
8820
  * ```
8785
8821
  */
8786
- POST_DOOR_RENDER = 11,
8822
+ POST_DOOR_RENDER = 12,
8787
8823
  /**
8788
8824
  * Fires from the `POST_UPDATE` callback on every frame that a door exists.
8789
8825
  *
@@ -8795,7 +8831,7 @@ export declare enum ModCallbackCustom {
8795
8831
  * function postDoorUpdate(door: GridEntityDoor): void {}
8796
8832
  * ```
8797
8833
  */
8798
- POST_DOOR_UPDATE = 12,
8834
+ POST_DOOR_UPDATE = 13,
8799
8835
  /**
8800
8836
  * Fires on the first `POST_EFFECT_UPDATE` frame for each effect.
8801
8837
  *
@@ -8812,7 +8848,7 @@ export declare enum ModCallbackCustom {
8812
8848
  * function postEffectInitLate(effect: EntityEffect): void {}
8813
8849
  * ```
8814
8850
  */
8815
- POST_EFFECT_INIT_LATE = 13,
8851
+ POST_EFFECT_INIT_LATE = 14,
8816
8852
  /**
8817
8853
  * Fires from the `POST_EFFECT_UPDATE` callback when an effect's state has changed from what it
8818
8854
  * was on the previous frame. (In this context, "state" refers to the `EntityEffect.State` field.)
@@ -8831,7 +8867,7 @@ export declare enum ModCallbackCustom {
8831
8867
  * ): void {}
8832
8868
  * ```
8833
8869
  */
8834
- POST_EFFECT_STATE_CHANGED = 14,
8870
+ POST_EFFECT_STATE_CHANGED = 15,
8835
8871
  /**
8836
8872
  * Fires one `POST_UPDATE` frame after the player has used the Esau Jr. item. (The player is not
8837
8873
  * updated to the new character until a game frame has passed.)
@@ -8840,7 +8876,7 @@ export declare enum ModCallbackCustom {
8840
8876
  * function postEsauJr(player: EntityPlayer): void {}
8841
8877
  * ```
8842
8878
  */
8843
- POST_ESAU_JR = 15,
8879
+ POST_ESAU_JR = 16,
8844
8880
  /**
8845
8881
  * Fires on the first `FAMILIAR_UPDATE` frame for each familiar.
8846
8882
  *
@@ -8857,7 +8893,7 @@ export declare enum ModCallbackCustom {
8857
8893
  * function postFamiliarInitLate(familiar: EntityFamiliar): void {}
8858
8894
  * ```
8859
8895
  */
8860
- POST_FAMILIAR_INIT_LATE = 16,
8896
+ POST_FAMILIAR_INIT_LATE = 17,
8861
8897
  /**
8862
8898
  * Fires from the `POST_FAMILIAR_UPDATE` callback when a familiar's state has changed from what it
8863
8899
  * was on the previous frame. (In this context, "state" refers to the `EntityFamiliar.State`
@@ -8877,7 +8913,7 @@ export declare enum ModCallbackCustom {
8877
8913
  * ): void {}
8878
8914
  * ```
8879
8915
  */
8880
- POST_FAMILIAR_STATE_CHANGED = 17,
8916
+ POST_FAMILIAR_STATE_CHANGED = 18,
8881
8917
  /**
8882
8918
  * Fires one `POST_UPDATE` frame after the player has first used the Esau Jr. item. (The player is
8883
8919
  * not updated to the new character until a game frame has passed.)
@@ -8889,7 +8925,7 @@ export declare enum ModCallbackCustom {
8889
8925
  * function postFirstEsauJr(player: EntityPlayer): void {}
8890
8926
  * ```
8891
8927
  */
8892
- POST_FIRST_ESAU_JR = 18,
8928
+ POST_FIRST_ESAU_JR = 19,
8893
8929
  /**
8894
8930
  * Fires after the player has used the Flip item for the first time. Unlike the vanilla `USE_ITEM`
8895
8931
  * callback, this callback will return the player object for the new Lazarus (not the one who used
@@ -8902,7 +8938,7 @@ export declare enum ModCallbackCustom {
8902
8938
  * function postFirstFlip(newLazarus: EntityPlayer, oldLazarus: EntityPlayer): void {}
8903
8939
  * ```
8904
8940
  */
8905
- POST_FIRST_FLIP = 19,
8941
+ POST_FIRST_FLIP = 20,
8906
8942
  /**
8907
8943
  * Fires after the player has used the Flip item. Unlike the vanilla `USE_ITEM` callback, this
8908
8944
  * callback will return the player object for the new Lazarus (not the one who used the Flip
@@ -8915,7 +8951,7 @@ export declare enum ModCallbackCustom {
8915
8951
  * function postFlip(newLazarus: EntityPlayer, oldLazarus: EntityPlayer): void {}
8916
8952
  * ```
8917
8953
  */
8918
- POST_FLIP = 20,
8954
+ POST_FLIP = 21,
8919
8955
  /**
8920
8956
  * Similar to the vanilla callback of the same name, but fires in the correct order with respect
8921
8957
  * to the `POST_NEW_LEVEL` and the `POST_NEW_ROOM` callbacks:
@@ -8926,7 +8962,7 @@ export declare enum ModCallbackCustom {
8926
8962
  * function postGameStartedReordered(isContinued: boolean): void {}
8927
8963
  * ```
8928
8964
  */
8929
- POST_GAME_STARTED_REORDERED = 21,
8965
+ POST_GAME_STARTED_REORDERED = 22,
8930
8966
  /**
8931
8967
  * Similar to the `POST_GAME_STARTED_REORDERED` callback, but fires after all of the subscribed
8932
8968
  * callbacks have finished firing. Thus, you can use this callback to do perform things after a
@@ -8937,7 +8973,7 @@ export declare enum ModCallbackCustom {
8937
8973
  * function postGameStartedReorderedLast(isContinued: boolean): void {}
8938
8974
  * ```
8939
8975
  */
8940
- POST_GAME_STARTED_REORDERED_LAST = 22,
8976
+ POST_GAME_STARTED_REORDERED_LAST = 23,
8941
8977
  /**
8942
8978
  * Fires from the `POST_UPDATE` callback when the Greed Mode wave increases.
8943
8979
  *
@@ -8945,7 +8981,7 @@ export declare enum ModCallbackCustom {
8945
8981
  * function postGreedModeWave(oldWave: int, newWave: int): void {}
8946
8982
  * ```
8947
8983
  */
8948
- POST_GREED_MODE_WAVE = 23,
8984
+ POST_GREED_MODE_WAVE = 24,
8949
8985
  /**
8950
8986
  * Fires from the `POST_UPDATE` callback when a grid entity changes to a state that corresponds to
8951
8987
  * the broken state for the respective grid entity type. (For example, this will fire for a
@@ -8964,7 +9000,7 @@ export declare enum ModCallbackCustom {
8964
9000
  * function postGridEntityBroken(gridEntity: GridEntity): void {}
8965
9001
  * ```
8966
9002
  */
8967
- POST_GRID_ENTITY_BROKEN = 24,
9003
+ POST_GRID_ENTITY_BROKEN = 25,
8968
9004
  /**
8969
9005
  * Fires from the `POST_UPDATE` callback when a new entity collides with a grid entity. (After
8970
9006
  * this, the callback will not continue to fire. It will only fire again once the entity moves out
@@ -8992,7 +9028,7 @@ export declare enum ModCallbackCustom {
8992
9028
  * ): void {}
8993
9029
  * ```
8994
9030
  */
8995
- POST_GRID_ENTITY_COLLISION = 25,
9031
+ POST_GRID_ENTITY_COLLISION = 26,
8996
9032
  /**
8997
9033
  * The same as the `POST_GRID_ENTITY_BROKEN` callback, but only fires for grid entities created
8998
9034
  * with the `spawnCustomGridEntity` helper function.
@@ -9009,7 +9045,7 @@ export declare enum ModCallbackCustom {
9009
9045
  * ): void {}
9010
9046
  * ```
9011
9047
  */
9012
- POST_GRID_ENTITY_CUSTOM_BROKEN = 26,
9048
+ POST_GRID_ENTITY_CUSTOM_BROKEN = 27,
9013
9049
  /**
9014
9050
  * The same as the `POST_GRID_ENTITY_COLLISION` callback, but only fires for grid entities created
9015
9051
  * with the `spawnCustomGridEntity` helper function.
@@ -9033,7 +9069,7 @@ export declare enum ModCallbackCustom {
9033
9069
  * ): void {}
9034
9070
  * ```
9035
9071
  */
9036
- POST_GRID_ENTITY_CUSTOM_COLLISION = 27,
9072
+ POST_GRID_ENTITY_CUSTOM_COLLISION = 28,
9037
9073
  /**
9038
9074
  * The same as the `POST_GRID_ENTITY_INIT` callback, but only fires for grid entities created with
9039
9075
  * the `spawnCustomGridEntity` helper function.
@@ -9050,7 +9086,7 @@ export declare enum ModCallbackCustom {
9050
9086
  * ): void {}
9051
9087
  * ```
9052
9088
  */
9053
- POST_GRID_ENTITY_CUSTOM_INIT = 28,
9089
+ POST_GRID_ENTITY_CUSTOM_INIT = 29,
9054
9090
  /**
9055
9091
  * The same as the `POST_GRID_ENTITY_REMOVE` callback, but only fires for grid entities created
9056
9092
  * with the `spawnCustomGridEntity` helper function.
@@ -9067,7 +9103,7 @@ export declare enum ModCallbackCustom {
9067
9103
  * ): void {}
9068
9104
  * ```
9069
9105
  */
9070
- POST_GRID_ENTITY_CUSTOM_REMOVE = 29,
9106
+ POST_GRID_ENTITY_CUSTOM_REMOVE = 30,
9071
9107
  /**
9072
9108
  * The same as the `POST_GRID_ENTITY_RENDER` callback, but only fires for grid entities created
9073
9109
  * with the `spawnCustomGridEntity` helper function.
@@ -9084,7 +9120,7 @@ export declare enum ModCallbackCustom {
9084
9120
  * ): void {}
9085
9121
  * ```
9086
9122
  */
9087
- POST_GRID_ENTITY_CUSTOM_RENDER = 30,
9123
+ POST_GRID_ENTITY_CUSTOM_RENDER = 31,
9088
9124
  /**
9089
9125
  * The same as the `POST_GRID_ENTITY_STATE_CHANGED` callback, but only fires for grid entities
9090
9126
  * created with the `spawnCustomGridEntity` helper function.
@@ -9103,7 +9139,7 @@ export declare enum ModCallbackCustom {
9103
9139
  * ): void {}
9104
9140
  * ```
9105
9141
  */
9106
- POST_GRID_ENTITY_CUSTOM_STATE_CHANGED = 31,
9142
+ POST_GRID_ENTITY_CUSTOM_STATE_CHANGED = 32,
9107
9143
  /**
9108
9144
  * The same as the `POST_GRID_ENTITY_UPDATE` callback, but only fires for grid entities created
9109
9145
  * with the `spawnCustomGridEntity` helper function.
@@ -9120,7 +9156,7 @@ export declare enum ModCallbackCustom {
9120
9156
  * ): void {}
9121
9157
  * ```
9122
9158
  */
9123
- POST_GRID_ENTITY_CUSTOM_UPDATE = 32,
9159
+ POST_GRID_ENTITY_CUSTOM_UPDATE = 33,
9124
9160
  /**
9125
9161
  * Fires when a new grid entity is initialized. Specifically, this is either:
9126
9162
  *
@@ -9142,7 +9178,7 @@ export declare enum ModCallbackCustom {
9142
9178
  * function postGridEntityInit(gridEntity: GridEntity): void {}
9143
9179
  * ```
9144
9180
  */
9145
- POST_GRID_ENTITY_INIT = 33,
9181
+ POST_GRID_ENTITY_INIT = 34,
9146
9182
  /**
9147
9183
  * Fires from the `POST_UPDATE` callback when a new grid entity is removed. Specifically, this on
9148
9184
  * the frame after it no longer exists (where it did exist a frame ago).
@@ -9167,7 +9203,7 @@ export declare enum ModCallbackCustom {
9167
9203
  * ): void {}
9168
9204
  * ```
9169
9205
  */
9170
- POST_GRID_ENTITY_REMOVE = 34,
9206
+ POST_GRID_ENTITY_REMOVE = 35,
9171
9207
  /**
9172
9208
  * Fires from the `POST_RENDER` callback on every frame that a grid entity exists.
9173
9209
  *
@@ -9184,7 +9220,7 @@ export declare enum ModCallbackCustom {
9184
9220
  * function postGridEntityRender(gridEntity: GridEntity): void {}
9185
9221
  * ```
9186
9222
  */
9187
- POST_GRID_ENTITY_RENDER = 35,
9223
+ POST_GRID_ENTITY_RENDER = 36,
9188
9224
  /**
9189
9225
  * Fires from the `POST_UPDATE` callback when a grid entity changes its state. (In this context,
9190
9226
  * "state" refers to the `GridEntity.State` field.)
@@ -9206,7 +9242,7 @@ export declare enum ModCallbackCustom {
9206
9242
  * ): void {}
9207
9243
  * ```
9208
9244
  */
9209
- POST_GRID_ENTITY_STATE_CHANGED = 36,
9245
+ POST_GRID_ENTITY_STATE_CHANGED = 37,
9210
9246
  /**
9211
9247
  * Fires from the `POST_UPDATE` callback on every frame that a grid entity exists.
9212
9248
  *
@@ -9223,7 +9259,7 @@ export declare enum ModCallbackCustom {
9223
9259
  * function postGridEntityUpdate(gridEntity: GridEntity): void {}
9224
9260
  * ```
9225
9261
  */
9226
- POST_GRID_ENTITY_UPDATE = 37,
9262
+ POST_GRID_ENTITY_UPDATE = 38,
9227
9263
  /**
9228
9264
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when the player loses a Holy Mantle
9229
9265
  * temporary collectible effect.
@@ -9246,7 +9282,7 @@ export declare enum ModCallbackCustom {
9246
9282
  * ): void {}
9247
9283
  * ```
9248
9284
  */
9249
- POST_HOLY_MANTLE_REMOVED = 38,
9285
+ POST_HOLY_MANTLE_REMOVED = 39,
9250
9286
  /**
9251
9287
  * Fires from `POST_PEFFECT_UPDATE_REORDERED` callback when the player loses charge on their
9252
9288
  * active collectible item, implying that the item was just used.
@@ -9269,7 +9305,7 @@ export declare enum ModCallbackCustom {
9269
9305
  * ): void {}
9270
9306
  * ```
9271
9307
  */
9272
- POST_ITEM_DISCHARGE = 39,
9308
+ POST_ITEM_DISCHARGE = 40,
9273
9309
  /**
9274
9310
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when an item is no longer queued (i.e.
9275
9311
  * when the animation of the player holding the item above their head is finished and the item is
@@ -9290,7 +9326,7 @@ export declare enum ModCallbackCustom {
9290
9326
  * ): void {}
9291
9327
  * ```
9292
9328
  */
9293
- POST_ITEM_PICKUP = 40,
9329
+ POST_ITEM_PICKUP = 41,
9294
9330
  /**
9295
9331
  * Fires on the first `POST_KNIFE_UPDATE` frame for each knife.
9296
9332
  *
@@ -9307,7 +9343,7 @@ export declare enum ModCallbackCustom {
9307
9343
  * function postKnifeInitLate(knife: EntityKnife): void {}
9308
9344
  * ```
9309
9345
  */
9310
- POST_KNIFE_INIT_LATE = 41,
9346
+ POST_KNIFE_INIT_LATE = 42,
9311
9347
  /**
9312
9348
  * Fires on the first `POST_LASER_UPDATE` frame for each laser.
9313
9349
  *
@@ -9324,7 +9360,7 @@ export declare enum ModCallbackCustom {
9324
9360
  * function postLaserInitLate(laser: EntityLaser): void {}
9325
9361
  * ```
9326
9362
  */
9327
- POST_LASER_INIT_LATE = 42,
9363
+ POST_LASER_INIT_LATE = 43,
9328
9364
  /**
9329
9365
  * The same as the vanilla callback of the same name, but fires in the correct order with respect
9330
9366
  * to the `POST_GAME_STARTED` and the `POST_NEW_ROOM` callbacks:
@@ -9341,7 +9377,7 @@ export declare enum ModCallbackCustom {
9341
9377
  * function postNewLevelReordered(): void {}
9342
9378
  * ```
9343
9379
  */
9344
- POST_NEW_LEVEL_REORDERED = 43,
9380
+ POST_NEW_LEVEL_REORDERED = 44,
9345
9381
  /**
9346
9382
  * Fires on the first `POST_NEW_ROOM` or `PRE_ENTITY_SPAWN` callback where being in a new room is
9347
9383
  * detected. This is useful because the vanilla `POST_NEW_ROOM` callback fires only after entities
@@ -9352,7 +9388,7 @@ export declare enum ModCallbackCustom {
9352
9388
  * function postNewRoomEarly(): void {}
9353
9389
  * ```
9354
9390
  */
9355
- POST_NEW_ROOM_EARLY = 44,
9391
+ POST_NEW_ROOM_EARLY = 45,
9356
9392
  /**
9357
9393
  * The same as the vanilla callback of the same name, but fires in the correct order with respect
9358
9394
  * to the `POST_GAME_STARTED` and the `POST_NEW_LEVEL` callbacks:
@@ -9369,7 +9405,7 @@ export declare enum ModCallbackCustom {
9369
9405
  * function postNewRoomReordered(): void {}
9370
9406
  * ```
9371
9407
  */
9372
- POST_NEW_ROOM_REORDERED = 45,
9408
+ POST_NEW_ROOM_REORDERED = 46,
9373
9409
  /**
9374
9410
  * The exact same thing as the vanilla `POST_NPC_DEATH` callback, except this callback allows you
9375
9411
  * to specify extra arguments for additional filtration.
@@ -9381,8 +9417,12 @@ export declare enum ModCallbackCustom {
9381
9417
  * matches the variant provided.
9382
9418
  * - You can provide an optional fifth argument that will make the callback only fire if it
9383
9419
  * matches the sub-type provided.
9420
+ *
9421
+ * ```ts
9422
+ * function postNPCDeathFilter(npc: EntityNPC): void {}
9423
+ * ```
9384
9424
  */
9385
- POST_NPC_DEATH_FILTER = 46,
9425
+ POST_NPC_DEATH_FILTER = 47,
9386
9426
  /**
9387
9427
  * The exact same thing as the vanilla `POST_NPC_INIT` callback, except this callback allows you
9388
9428
  * to specify extra arguments for additional filtration.
@@ -9394,8 +9434,12 @@ export declare enum ModCallbackCustom {
9394
9434
  * matches the variant provided.
9395
9435
  * - You can provide an optional fifth argument that will make the callback only fire if it
9396
9436
  * matches the sub-type provided.
9437
+ *
9438
+ * ```ts
9439
+ * function postNPCInitFilter(npc: EntityNPC): void {}
9440
+ * ```
9397
9441
  */
9398
- POST_NPC_INIT_FILTER = 47,
9442
+ POST_NPC_INIT_FILTER = 48,
9399
9443
  /**
9400
9444
  * Fires on the first `NPC_UPDATE` frame for each NPC.
9401
9445
  *
@@ -9414,7 +9458,7 @@ export declare enum ModCallbackCustom {
9414
9458
  * function postNPCInitLate(npc: EntityNPC): void {}
9415
9459
  * ```
9416
9460
  */
9417
- POST_NPC_INIT_LATE = 48,
9461
+ POST_NPC_INIT_LATE = 49,
9418
9462
  /**
9419
9463
  * The exact same thing as the vanilla `POST_NPC_RENDER` callback, except this callback allows you
9420
9464
  * to specify extra arguments for additional filtration.
@@ -9426,8 +9470,12 @@ export declare enum ModCallbackCustom {
9426
9470
  * matches the variant provided.
9427
9471
  * - You can provide an optional fifth argument that will make the callback only fire if it
9428
9472
  * matches the sub-type provided.
9473
+ *
9474
+ * ```ts
9475
+ * function postNPCRenderFilter(npc: EntityNPC, renderOffset: Vector): void {}
9476
+ * ```
9429
9477
  */
9430
- POST_NPC_RENDER_FILTER = 49,
9478
+ POST_NPC_RENDER_FILTER = 50,
9431
9479
  /**
9432
9480
  * Fires from the `POST_NPC_UPDATE` callback when an NPC's state has changed from what it was on
9433
9481
  * the previous frame. (In this context, "state" refers to the `EntityNPC.State` field.)
@@ -9448,7 +9496,7 @@ export declare enum ModCallbackCustom {
9448
9496
  * ): void {}
9449
9497
  * ```
9450
9498
  */
9451
- POST_NPC_STATE_CHANGED = 50,
9499
+ POST_NPC_STATE_CHANGED = 51,
9452
9500
  /**
9453
9501
  * The exact same thing as the vanilla `POST_NPC_UPDATE` callback, except this callback allows you
9454
9502
  * to specify extra arguments for additional filtration.
@@ -9460,8 +9508,12 @@ export declare enum ModCallbackCustom {
9460
9508
  * matches the variant provided.
9461
9509
  * - You can provide an optional fifth argument that will make the callback only fire if it
9462
9510
  * matches the sub-type provided.
9511
+ *
9512
+ * ```ts
9513
+ * function postNPCUpdateFilter(npc: EntityNPC): void {}
9514
+ * ```
9463
9515
  */
9464
- POST_NPC_UPDATE_FILTER = 51,
9516
+ POST_NPC_UPDATE_FILTER = 52,
9465
9517
  /**
9466
9518
  * Similar to the vanilla callback of the same name, but fires after the
9467
9519
  * `POST_GAME_STARTED_REORDERED` callback fires (if the player is being updated on the 0th game
@@ -9486,7 +9538,7 @@ export declare enum ModCallbackCustom {
9486
9538
  * function postPEffectUpdateReordered(player: EntityPlayer): void {}
9487
9539
  * ```
9488
9540
  */
9489
- POST_PEFFECT_UPDATE_REORDERED = 52,
9541
+ POST_PEFFECT_UPDATE_REORDERED = 53,
9490
9542
  /**
9491
9543
  * Fires on the first `POST_RENDER` frame that a pickup plays the "Collect" animation.
9492
9544
  *
@@ -9505,7 +9557,7 @@ export declare enum ModCallbackCustom {
9505
9557
  * function postPickupCollect(pickup: EntityPickup, player: EntityPlayer): void {}
9506
9558
  * ```
9507
9559
  */
9508
- POST_PICKUP_COLLECT = 53,
9560
+ POST_PICKUP_COLLECT = 54,
9509
9561
  /**
9510
9562
  * Fires from the `POST_PICKUP_INIT` callback on the first time that a player has seen the
9511
9563
  * respective pickup on the run.
@@ -9523,7 +9575,7 @@ export declare enum ModCallbackCustom {
9523
9575
  * function postPickupInitFirst(pickup: EntityPickup): void {}
9524
9576
  * ```
9525
9577
  */
9526
- POST_PICKUP_INIT_FIRST = 54,
9578
+ POST_PICKUP_INIT_FIRST = 55,
9527
9579
  /**
9528
9580
  * Fires on the first `POST_PICKUP_UPDATE` frame for each pickup.
9529
9581
  *
@@ -9540,7 +9592,7 @@ export declare enum ModCallbackCustom {
9540
9592
  * function postPickupInitLate(pickup: EntityPickup): void {}
9541
9593
  * ```
9542
9594
  */
9543
- POST_PICKUP_INIT_LATE = 55,
9595
+ POST_PICKUP_INIT_LATE = 56,
9544
9596
  /**
9545
9597
  * Fires from the `POST_PICKUP_UPDATE` callback when a pickup's state has changed from what it was
9546
9598
  * on the previous frame. (In this context, "state" refers to the `EntityPickup.State` field.)
@@ -9559,7 +9611,7 @@ export declare enum ModCallbackCustom {
9559
9611
  * ): void {}
9560
9612
  * ```
9561
9613
  */
9562
- POST_PICKUP_STATE_CHANGED = 56,
9614
+ POST_PICKUP_STATE_CHANGED = 57,
9563
9615
  /**
9564
9616
  * Fires from the `POST_RENDER` callback on every frame that a pit exists.
9565
9617
  *
@@ -9571,7 +9623,7 @@ export declare enum ModCallbackCustom {
9571
9623
  * function postPitRender(pit: GridEntityPit): void {}
9572
9624
  * ```
9573
9625
  */
9574
- POST_PIT_RENDER = 57,
9626
+ POST_PIT_RENDER = 58,
9575
9627
  /**
9576
9628
  * Fires from the `POST_UPDATE` callback on every frame that a pit exists.
9577
9629
  *
@@ -9583,7 +9635,7 @@ export declare enum ModCallbackCustom {
9583
9635
  * function postPitUpdate(pit: GridEntityPit): void {}
9584
9636
  * ```
9585
9637
  */
9586
- POST_PIT_UPDATE = 58,
9638
+ POST_PIT_UPDATE = 59,
9587
9639
  /**
9588
9640
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player's health (i.e. hearts) is
9589
9641
  * different than what it was on the previous frame. For more information, see the `PlayerHealth`
@@ -9605,7 +9657,7 @@ export declare enum ModCallbackCustom {
9605
9657
  * ): void {}
9606
9658
  * ```
9607
9659
  */
9608
- POST_PLAYER_CHANGE_HEALTH = 59,
9660
+ POST_PLAYER_CHANGE_HEALTH = 60,
9609
9661
  /**
9610
9662
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when one of the player's stats change
9611
9663
  * from what they were on the previous frame.
@@ -9635,7 +9687,7 @@ export declare enum ModCallbackCustom {
9635
9687
  * ) => void {}
9636
9688
  * ```
9637
9689
  */
9638
- POST_PLAYER_CHANGE_STAT = 60,
9690
+ POST_PLAYER_CHANGE_STAT = 61,
9639
9691
  /**
9640
9692
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player entity changes its player
9641
9693
  * type
@@ -9658,7 +9710,7 @@ export declare enum ModCallbackCustom {
9658
9710
  * ): void {}
9659
9711
  * ```
9660
9712
  */
9661
- POST_PLAYER_CHANGE_TYPE = 61,
9713
+ POST_PLAYER_CHANGE_TYPE = 62,
9662
9714
  /**
9663
9715
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player's collectible count is
9664
9716
  * higher than what it was on the previous frame, or when the active items change, or when the
@@ -9675,7 +9727,7 @@ export declare enum ModCallbackCustom {
9675
9727
  * ): void {}
9676
9728
  * ```
9677
9729
  */
9678
- POST_PLAYER_COLLECTIBLE_ADDED = 62,
9730
+ POST_PLAYER_COLLECTIBLE_ADDED = 63,
9679
9731
  /**
9680
9732
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player's collectible count is
9681
9733
  * lower than what it was on the previous frame, or when the active items change, or when the
@@ -9692,7 +9744,7 @@ export declare enum ModCallbackCustom {
9692
9744
  * ): void {}
9693
9745
  * ```
9694
9746
  */
9695
- POST_PLAYER_COLLECTIBLE_REMOVED = 63,
9747
+ POST_PLAYER_COLLECTIBLE_REMOVED = 64,
9696
9748
  /**
9697
9749
  * Fires from the `ENTITY_TAKE_DMG` callback when a player takes fatal damage. Return false to
9698
9750
  * prevent the fatal damage.
@@ -9710,7 +9762,7 @@ export declare enum ModCallbackCustom {
9710
9762
  * function postPlayerFatalDamage(player: EntityPlayer): boolean | undefined {}
9711
9763
  * ```
9712
9764
  */
9713
- POST_PLAYER_FATAL_DAMAGE = 64,
9765
+ POST_PLAYER_FATAL_DAMAGE = 65,
9714
9766
  /**
9715
9767
  * Fires on the first `POST_PEFFECT_UPDATE_REORDERED` frame for each player, similar to the
9716
9768
  * `POST_PLAYER_INIT_LATE` callback, with two changes:
@@ -9732,7 +9784,7 @@ export declare enum ModCallbackCustom {
9732
9784
  * function postPlayerInitFirst(player: EntityPlayer): void {}
9733
9785
  * ```
9734
9786
  */
9735
- POST_PLAYER_INIT_FIRST = 65,
9787
+ POST_PLAYER_INIT_FIRST = 66,
9736
9788
  /**
9737
9789
  * Fires on the first `POST_PEFFECT_UPDATE_REORDERED` frame for each player.
9738
9790
  *
@@ -9752,7 +9804,7 @@ export declare enum ModCallbackCustom {
9752
9804
  * function postPlayerInitLate(pickup: EntityPickup): void {}
9753
9805
  * ```
9754
9806
  */
9755
- POST_PLAYER_INIT_LATE = 66,
9807
+ POST_PLAYER_INIT_LATE = 67,
9756
9808
  /**
9757
9809
  * Similar to the vanilla callback of the same name, but fires after the `POST_GAME_STARTED`
9758
9810
  * callback fires (if the player is spawning on the 0th game frame of the run).
@@ -9776,7 +9828,7 @@ export declare enum ModCallbackCustom {
9776
9828
  * function postPlayerRenderReordered(player: EntityPlayer): void {}
9777
9829
  * ```
9778
9830
  */
9779
- POST_PLAYER_RENDER_REORDERED = 67,
9831
+ POST_PLAYER_RENDER_REORDERED = 68,
9780
9832
  /**
9781
9833
  * Similar to the vanilla callback of the same name, but fires after the
9782
9834
  * `POST_GAME_STARTED_REORDERED` callback fires (if the player is being updated on the 0th game
@@ -9801,7 +9853,7 @@ export declare enum ModCallbackCustom {
9801
9853
  * function postPlayerUpdateReordered(player: EntityPlayer): void {}
9802
9854
  * ```
9803
9855
  */
9804
- POST_PLAYER_UPDATE_REORDERED = 68,
9856
+ POST_PLAYER_UPDATE_REORDERED = 69,
9805
9857
  /**
9806
9858
  * Fires from the `POST_RENDER` callback on every frame that a poop exists.
9807
9859
  *
@@ -9813,7 +9865,7 @@ export declare enum ModCallbackCustom {
9813
9865
  * function postPoopRender(poop: GridEntityPoop): void {}
9814
9866
  * ```
9815
9867
  */
9816
- POST_POOP_RENDER = 69,
9868
+ POST_POOP_RENDER = 70,
9817
9869
  /**
9818
9870
  * Fires from the `POST_UPDATE` callback on every frame that a poop exists.
9819
9871
  *
@@ -9825,7 +9877,7 @@ export declare enum ModCallbackCustom {
9825
9877
  * function postPoopUpdate(poop: GridEntityPoop): void {}
9826
9878
  * ```
9827
9879
  */
9828
- POST_POOP_UPDATE = 70,
9880
+ POST_POOP_UPDATE = 71,
9829
9881
  /**
9830
9882
  * Fires from the `POST_RENDER` callback on every frame that a pressure plate exists.
9831
9883
  *
@@ -9837,7 +9889,7 @@ export declare enum ModCallbackCustom {
9837
9889
  * function postPressurePlateRender(pressurePlate: GridEntityPressurePlate): void {}
9838
9890
  * ```
9839
9891
  */
9840
- POST_PRESSURE_PLATE_RENDER = 71,
9892
+ POST_PRESSURE_PLATE_RENDER = 72,
9841
9893
  /**
9842
9894
  * Fires from the `POST_UPDATE` callback on every frame that a pressure plate exists.
9843
9895
  *
@@ -9849,7 +9901,7 @@ export declare enum ModCallbackCustom {
9849
9901
  * function postPressurePlateUpdate(pressurePlate: GridEntityPressurePlate): void {}
9850
9902
  * ```
9851
9903
  */
9852
- POST_PRESSURE_PLATE_UPDATE = 72,
9904
+ POST_PRESSURE_PLATE_UPDATE = 73,
9853
9905
  /**
9854
9906
  * Fires on the first `POST_PROJECTILE_UPDATE` frame for each projectile.
9855
9907
  *
@@ -9866,7 +9918,7 @@ export declare enum ModCallbackCustom {
9866
9918
  * function postProjectileInitLate(projectile: EntityProjectile): void {}
9867
9919
  * ```
9868
9920
  */
9869
- POST_PROJECTILE_INIT_LATE = 73,
9921
+ POST_PROJECTILE_INIT_LATE = 74,
9870
9922
  /**
9871
9923
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player first picks up a new
9872
9924
  * item. The pickup returned in the callback is assumed to be the first pickup that no longer
@@ -9882,7 +9934,7 @@ export declare enum ModCallbackCustom {
9882
9934
  * function postPurchase(player: EntityPlayer, pickup: EntityPickup): void {}
9883
9935
  * ```
9884
9936
  */
9885
- POST_PURCHASE = 74,
9937
+ POST_PURCHASE = 75,
9886
9938
  /**
9887
9939
  * Fires from the `POST_RENDER` callback on every frame that a rock exists.
9888
9940
  *
@@ -9896,7 +9948,7 @@ export declare enum ModCallbackCustom {
9896
9948
  * function postRockRender(rock: GridEntityRock): void {}
9897
9949
  * ```
9898
9950
  */
9899
- POST_ROCK_RENDER = 75,
9951
+ POST_ROCK_RENDER = 76,
9900
9952
  /**
9901
9953
  * Fires from the `POST_UPDATE` callback on every frame that a rock exists.
9902
9954
  *
@@ -9910,7 +9962,7 @@ export declare enum ModCallbackCustom {
9910
9962
  * function postRockUpdate(rock: GridEntityRock): void {}
9911
9963
  * ```
9912
9964
  */
9913
- POST_ROCK_UPDATE = 76,
9965
+ POST_ROCK_UPDATE = 77,
9914
9966
  /**
9915
9967
  * Fires from the `POST_UPDATE` callback when the clear state of a room changes (as according to
9916
9968
  * the `Room.IsClear` method).
@@ -9927,7 +9979,7 @@ export declare enum ModCallbackCustom {
9927
9979
  * function postRoomClearChanged(roomClear: boolean): void {}
9928
9980
  * ```
9929
9981
  */
9930
- POST_ROOM_CLEAR_CHANGED = 77,
9982
+ POST_ROOM_CLEAR_CHANGED = 78,
9931
9983
  /**
9932
9984
  * Fires from the `ENTITY_TAKE_DMG` callback when a player takes damage from spikes in a Sacrifice
9933
9985
  * Room.
@@ -9942,7 +9994,7 @@ export declare enum ModCallbackCustom {
9942
9994
  * function postSacrifice(player: EntityPlayer, numSacrifices: int): void {}
9943
9995
  * ```
9944
9996
  */
9945
- POST_SACRIFICE = 78,
9997
+ POST_SACRIFICE = 79,
9946
9998
  /**
9947
9999
  * Fires from the `POST_RENDER` callback when a slot entity's animation changes.
9948
10000
  *
@@ -9956,7 +10008,7 @@ export declare enum ModCallbackCustom {
9956
10008
  * function postSlotAnimationChanged(slot: Entity): void {}
9957
10009
  * ```
9958
10010
  */
9959
- POST_SLOT_ANIMATION_CHANGED = 79,
10011
+ POST_SLOT_ANIMATION_CHANGED = 80,
9960
10012
  /**
9961
10013
  * Fires from the `PRE_PLAYER_COLLISION` callback when when a player collides with a slot entity.
9962
10014
  * (It will not fire if any other type of entity collides with the slot entity.)
@@ -9980,7 +10032,7 @@ export declare enum ModCallbackCustom {
9980
10032
  * ): void {}
9981
10033
  * ```
9982
10034
  */
9983
- POST_SLOT_COLLISION = 80,
10035
+ POST_SLOT_COLLISION = 81,
9984
10036
  /**
9985
10037
  * Fires from the `POST_RENDER` callback when a slot plays the animation that indicates that it
9986
10038
  * has broken.
@@ -9995,7 +10047,7 @@ export declare enum ModCallbackCustom {
9995
10047
  * function postSlotDestroyed(slot: Entity, slotDestructionType: SlotDestructionType): void {}
9996
10048
  * ```
9997
10049
  */
9998
- POST_SLOT_DESTROYED = 81,
10050
+ POST_SLOT_DESTROYED = 82,
9999
10051
  /**
10000
10052
  * Fires when a new slot entity is initialized. Specifically, this is either:
10001
10053
  *
@@ -10014,7 +10066,7 @@ export declare enum ModCallbackCustom {
10014
10066
  * function postSlotInit(slot: Entity): void {}
10015
10067
  * ```
10016
10068
  */
10017
- POST_SLOT_INIT = 82,
10069
+ POST_SLOT_INIT = 83,
10018
10070
  /**
10019
10071
  * Fires from the `POST_RENDER` callback on every frame that a slot entity exists.
10020
10072
  *
@@ -10028,7 +10080,7 @@ export declare enum ModCallbackCustom {
10028
10080
  * function postSlotRender(slot: Entity): void {}
10029
10081
  * ```
10030
10082
  */
10031
- POST_SLOT_RENDER = 83,
10083
+ POST_SLOT_RENDER = 84,
10032
10084
  /**
10033
10085
  * Fires from the `POST_UPDATE` callback on every frame that a slot entity exists.
10034
10086
  *
@@ -10042,7 +10094,7 @@ export declare enum ModCallbackCustom {
10042
10094
  * function postSlotUpdate(slot: Entity): void {}
10043
10095
  * ```
10044
10096
  */
10045
- POST_SLOT_UPDATE = 84,
10097
+ POST_SLOT_UPDATE = 85,
10046
10098
  /**
10047
10099
  * Fires from the `POST_RENDER` callback on every frame that spikes exist.
10048
10100
  *
@@ -10054,7 +10106,7 @@ export declare enum ModCallbackCustom {
10054
10106
  * function postSpikesRender(spikes: GridEntitySpikes): void {}
10055
10107
  * ```
10056
10108
  */
10057
- POST_SPIKES_RENDER = 85,
10109
+ POST_SPIKES_RENDER = 86,
10058
10110
  /**
10059
10111
  * Fires from the `POST_UPDATE` callback on every frame that spikes exist.
10060
10112
  *
@@ -10066,7 +10118,7 @@ export declare enum ModCallbackCustom {
10066
10118
  * function postSpikesUpdate(spikes: GridEntitySpikes): void {}
10067
10119
  * ```
10068
10120
  */
10069
- POST_SPIKES_UPDATE = 86,
10121
+ POST_SPIKES_UPDATE = 87,
10070
10122
  /**
10071
10123
  * Fires on the first `POST_TEAR_UPDATE` frame for each tear (which is when
10072
10124
  * `EntityTear.FrameCount` is equal to 0).
@@ -10084,7 +10136,7 @@ export declare enum ModCallbackCustom {
10084
10136
  * function postTearInitLate(tear: EntityTear): void {}
10085
10137
  * ```
10086
10138
  */
10087
- POST_TEAR_INIT_LATE = 87,
10139
+ POST_TEAR_INIT_LATE = 88,
10088
10140
  /**
10089
10141
  * Fires on the second `POST_TEAR_UPDATE` frame for each tear (which is when
10090
10142
  * `EntityTear.FrameCount` is equal to 1).
@@ -10101,7 +10153,7 @@ export declare enum ModCallbackCustom {
10101
10153
  * function postTearInitVeryLate(tear: EntityTear): void {}
10102
10154
  * ```
10103
10155
  */
10104
- POST_TEAR_INIT_VERY_LATE = 88,
10156
+ POST_TEAR_INIT_VERY_LATE = 89,
10105
10157
  /**
10106
10158
  * Fires from the `POST_RENDER` callback on every frame that a TNT exists.
10107
10159
  *
@@ -10113,7 +10165,7 @@ export declare enum ModCallbackCustom {
10113
10165
  * function postTNTRender(tnt: GridEntityTNT): void {}
10114
10166
  * ```
10115
10167
  */
10116
- POST_TNT_RENDER = 89,
10168
+ POST_TNT_RENDER = 90,
10117
10169
  /**
10118
10170
  * Fires from the `POST_UPDATE` callback on every frame that a TNT exists.
10119
10171
  *
@@ -10125,7 +10177,7 @@ export declare enum ModCallbackCustom {
10125
10177
  * function postTNTUpdate(tnt: GridEntityTNT): void {}
10126
10178
  * ```
10127
10179
  */
10128
- POST_TNT_UPDATE = 90,
10180
+ POST_TNT_UPDATE = 91,
10129
10181
  /**
10130
10182
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player gains or loses a new
10131
10183
  * transformation.
@@ -10144,7 +10196,7 @@ export declare enum ModCallbackCustom {
10144
10196
  * ): void {}
10145
10197
  * ```
10146
10198
  */
10147
- POST_TRANSFORMATION = 91,
10199
+ POST_TRANSFORMATION = 92,
10148
10200
  /**
10149
10201
  * Fires from `ENTITY_TAKE_DMG` callback when a Wishbone or a Walnut breaks.
10150
10202
  *
@@ -10159,7 +10211,7 @@ export declare enum ModCallbackCustom {
10159
10211
  * ): void {}
10160
10212
  * ```
10161
10213
  */
10162
- POST_TRINKET_BREAK = 92,
10214
+ POST_TRINKET_BREAK = 93,
10163
10215
  /**
10164
10216
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback on the frame before a Berserk effect
10165
10217
  * ends when the player is predicted to die (e.g. they currently have no health left or they took
@@ -10175,7 +10227,7 @@ export declare enum ModCallbackCustom {
10175
10227
  * function preBerserkDeath(player: EntityPlayer): void {}
10176
10228
  * ```
10177
10229
  */
10178
- PRE_BERSERK_DEATH = 93,
10230
+ PRE_BERSERK_DEATH = 94,
10179
10231
  /**
10180
10232
  * Fires from the `POST_PLAYER_FATAL_DAMAGE` callback when a player is about to die. If you want
10181
10233
  * to initiate a custom revival, return an integer that corresponds to the item or type of revival
@@ -10194,7 +10246,7 @@ export declare enum ModCallbackCustom {
10194
10246
  * function preCustomRevive(player: EntityPlayer): int | undefined {}
10195
10247
  * ```
10196
10248
  */
10197
- PRE_CUSTOM_REVIVE = 94,
10249
+ PRE_CUSTOM_REVIVE = 95,
10198
10250
  /**
10199
10251
  * Fires from the `PRE_PICKUP_COLLISION` callback when a player touches a collectible pedestal and
10200
10252
  * meets all of the conditions to pick it up.
@@ -10214,7 +10266,7 @@ export declare enum ModCallbackCustom {
10214
10266
  * function preGetPedestal(player: EntityPlayer, collectible: EntityPickupCollectible): void {}
10215
10267
  * ```
10216
10268
  */
10217
- PRE_GET_PEDESTAL = 95,
10269
+ PRE_GET_PEDESTAL = 96,
10218
10270
  /**
10219
10271
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when an item becomes queued (i.e. when
10220
10272
  * the player begins to hold the item above their head).
@@ -10234,7 +10286,7 @@ export declare enum ModCallbackCustom {
10234
10286
  * ): void {}
10235
10287
  * ```
10236
10288
  */
10237
- PRE_ITEM_PICKUP = 96,
10289
+ PRE_ITEM_PICKUP = 97,
10238
10290
  /**
10239
10291
  * Fires on the `POST_RENDER` frame before the player is taken to a new floor. Only fires when a
10240
10292
  * player jumps into a trapdoor or enters a heaven door (beam of light). Does not fire on the
@@ -10248,7 +10300,7 @@ export declare enum ModCallbackCustom {
10248
10300
  * function preNewLevel(player: EntityPlayer): void {}
10249
10301
  * ```
10250
10302
  */
10251
- PRE_NEW_LEVEL = 97,
10303
+ PRE_NEW_LEVEL = 98,
10252
10304
  /**
10253
10305
  * The exact same thing as the vanilla `PRE_NPC_COLLISION` callback, except this callback allows
10254
10306
  * you to specify extra arguments for additional filtration.
@@ -10260,8 +10312,16 @@ export declare enum ModCallbackCustom {
10260
10312
  * matches the variant provided.
10261
10313
  * - You can provide an optional fifth argument that will make the callback only fire if it
10262
10314
  * matches the sub-type provided.
10315
+ *
10316
+ * ```ts
10317
+ * function preNPCCollisionFilter(
10318
+ * npc: EntityNPC,
10319
+ * collider: Entity,
10320
+ * low: boolean,
10321
+ * ): boolean | undefined {}
10322
+ * ```
10263
10323
  */
10264
- PRE_NPC_COLLISION_FILTER = 98,
10324
+ PRE_NPC_COLLISION_FILTER = 99,
10265
10325
  /**
10266
10326
  * The exact same thing as the vanilla `PRE_NPC_UPDATE` callback, except this callback allows you
10267
10327
  * to specify extra arguments for additional filtration.
@@ -10273,8 +10333,12 @@ export declare enum ModCallbackCustom {
10273
10333
  * matches the variant provided.
10274
10334
  * - You can provide an optional fifth argument that will make the callback only fire if it
10275
10335
  * matches the sub-type provided.
10336
+ *
10337
+ * ```ts
10338
+ * function preNPCUpdateFilter(entity: Entity): boolean | undefined {}
10339
+ * ```
10276
10340
  */
10277
- PRE_NPC_UPDATE_FILTER = 99
10341
+ PRE_NPC_UPDATE_FILTER = 100
10278
10342
  }
10279
10343
 
10280
10344
  /**