isaacscript-common 27.10.1 → 27.12.0

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 (61) hide show
  1. package/dist/index.rollup.d.ts +300 -96
  2. package/dist/isaacscript-common.lua +425 -97
  3. package/dist/src/callbackClasses.d.ts +10 -0
  4. package/dist/src/callbackClasses.d.ts.map +1 -1
  5. package/dist/src/callbackClasses.lua +50 -0
  6. package/dist/src/callbacks.d.ts +106 -96
  7. package/dist/src/callbacks.d.ts.map +1 -1
  8. package/dist/src/callbacks.lua +10 -0
  9. package/dist/src/classes/callbacks/PostEffectInitFilter.d.ts +9 -0
  10. package/dist/src/classes/callbacks/PostEffectInitFilter.d.ts.map +1 -0
  11. package/dist/src/classes/callbacks/PostEffectInitFilter.lua +23 -0
  12. package/dist/src/classes/callbacks/PostEffectRenderFilter.d.ts +9 -0
  13. package/dist/src/classes/callbacks/PostEffectRenderFilter.d.ts.map +1 -0
  14. package/dist/src/classes/callbacks/PostEffectRenderFilter.lua +23 -0
  15. package/dist/src/classes/callbacks/PostEffectUpdateFilter.d.ts +9 -0
  16. package/dist/src/classes/callbacks/PostEffectUpdateFilter.d.ts.map +1 -0
  17. package/dist/src/classes/callbacks/PostEffectUpdateFilter.lua +23 -0
  18. package/dist/src/classes/callbacks/PostFamiliarInitFilter.d.ts +9 -0
  19. package/dist/src/classes/callbacks/PostFamiliarInitFilter.d.ts.map +1 -0
  20. package/dist/src/classes/callbacks/PostFamiliarInitFilter.lua +23 -0
  21. package/dist/src/classes/callbacks/PostFamiliarRenderFilter.d.ts +9 -0
  22. package/dist/src/classes/callbacks/PostFamiliarRenderFilter.d.ts.map +1 -0
  23. package/dist/src/classes/callbacks/PostFamiliarRenderFilter.lua +23 -0
  24. package/dist/src/classes/callbacks/PostFamiliarUpdateFilter.d.ts +9 -0
  25. package/dist/src/classes/callbacks/PostFamiliarUpdateFilter.d.ts.map +1 -0
  26. package/dist/src/classes/callbacks/PostFamiliarUpdateFilter.lua +23 -0
  27. package/dist/src/classes/callbacks/PostLaserInitFilter.d.ts +9 -0
  28. package/dist/src/classes/callbacks/PostLaserInitFilter.d.ts.map +1 -0
  29. package/dist/src/classes/callbacks/PostLaserInitFilter.lua +23 -0
  30. package/dist/src/classes/callbacks/PostLaserRenderFilter.d.ts +9 -0
  31. package/dist/src/classes/callbacks/PostLaserRenderFilter.d.ts.map +1 -0
  32. package/dist/src/classes/callbacks/PostLaserRenderFilter.lua +23 -0
  33. package/dist/src/classes/callbacks/PostLaserUpdateFilter.d.ts +9 -0
  34. package/dist/src/classes/callbacks/PostLaserUpdateFilter.d.ts.map +1 -0
  35. package/dist/src/classes/callbacks/PostLaserUpdateFilter.lua +23 -0
  36. package/dist/src/classes/callbacks/PreFamiliarCollisionFilter.d.ts +9 -0
  37. package/dist/src/classes/callbacks/PreFamiliarCollisionFilter.d.ts.map +1 -0
  38. package/dist/src/classes/callbacks/PreFamiliarCollisionFilter.lua +21 -0
  39. package/dist/src/enums/ModCallbackCustom.d.ts +250 -96
  40. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  41. package/dist/src/enums/ModCallbackCustom.lua +116 -96
  42. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts +50 -0
  43. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  44. package/dist/src/shouldFire.d.ts +3 -3
  45. package/dist/src/shouldFire.d.ts.map +1 -1
  46. package/package.json +1 -1
  47. package/src/callbackClasses.ts +10 -0
  48. package/src/callbacks.ts +11 -0
  49. package/src/classes/callbacks/PostEffectInitFilter.ts +22 -0
  50. package/src/classes/callbacks/PostEffectRenderFilter.ts +22 -0
  51. package/src/classes/callbacks/PostEffectUpdateFilter.ts +22 -0
  52. package/src/classes/callbacks/PostFamiliarInitFilter.ts +22 -0
  53. package/src/classes/callbacks/PostFamiliarRenderFilter.ts +25 -0
  54. package/src/classes/callbacks/PostFamiliarUpdateFilter.ts +22 -0
  55. package/src/classes/callbacks/PostLaserInitFilter.ts +22 -0
  56. package/src/classes/callbacks/PostLaserRenderFilter.ts +22 -0
  57. package/src/classes/callbacks/PostLaserUpdateFilter.ts +22 -0
  58. package/src/classes/callbacks/PreFamiliarCollisionFilter.ts +24 -0
  59. package/src/enums/ModCallbackCustom.ts +164 -0
  60. package/src/interfaces/private/AddCallbackParametersCustom.ts +64 -0
  61. package/src/shouldFire.ts +4 -1
@@ -154,16 +154,31 @@ declare interface AddCallbackParametersCustom {
154
154
  callback: (door: GridEntityDoor) => void,
155
155
  doorVariant?: DoorVariant
156
156
  ];
157
+ [ModCallbackCustom.POST_EFFECT_INIT_FILTER]: [
158
+ callback: (effect: EntityEffect) => void,
159
+ effectVariant?: EffectVariant,
160
+ subType?: int
161
+ ];
157
162
  [ModCallbackCustom.POST_EFFECT_INIT_LATE]: [
158
163
  callback: (effect: EntityEffect) => void,
159
164
  effectVariant?: EffectVariant,
160
165
  subType?: int
161
166
  ];
167
+ [ModCallbackCustom.POST_EFFECT_RENDER_FILTER]: [
168
+ callback: (effect: EntityEffect, renderOffset: Vector) => void,
169
+ effectVariant?: EffectVariant,
170
+ subType?: int
171
+ ];
162
172
  [ModCallbackCustom.POST_EFFECT_STATE_CHANGED]: [
163
173
  callback: (effect: EntityEffect, previousState: int, currentState: int) => void,
164
174
  effectVariant?: EffectVariant,
165
175
  subType?: int
166
176
  ];
177
+ [ModCallbackCustom.POST_EFFECT_UPDATE_FILTER]: [
178
+ callback: (effect: EntityEffect) => void,
179
+ effectVariant?: EffectVariant,
180
+ subType?: int
181
+ ];
167
182
  [ModCallbackCustom.POST_ENTITY_KILL_FILTER]: [
168
183
  callback: (entity: Entity) => void,
169
184
  entityType?: EntityType,
@@ -171,16 +186,31 @@ declare interface AddCallbackParametersCustom {
171
186
  subType?: int
172
187
  ];
173
188
  [ModCallbackCustom.POST_ESAU_JR]: [callback: (player: EntityPlayer) => void];
189
+ [ModCallbackCustom.POST_FAMILIAR_INIT_FILTER]: [
190
+ callback: (familiar: EntityFamiliar) => void,
191
+ familiarVariant?: FamiliarVariant,
192
+ subType?: int
193
+ ];
174
194
  [ModCallbackCustom.POST_FAMILIAR_INIT_LATE]: [
175
195
  callback: (familiar: EntityFamiliar) => void,
176
196
  familiarVariant?: FamiliarVariant,
177
197
  subType?: int
178
198
  ];
199
+ [ModCallbackCustom.POST_FAMILIAR_RENDER_FILTER]: [
200
+ callback: (familiar: EntityFamiliar, renderOffset: Vector) => void,
201
+ familiarVariant?: FamiliarVariant,
202
+ subType?: int
203
+ ];
179
204
  [ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED]: [
180
205
  callback: (familiar: EntityFamiliar, previousState: int, currentState: int) => void,
181
206
  familiarVariant?: FamiliarVariant,
182
207
  subType?: int
183
208
  ];
209
+ [ModCallbackCustom.POST_FAMILIAR_UPDATE_FILTER]: [
210
+ callback: (familiar: EntityFamiliar) => void,
211
+ familiarVariant?: FamiliarVariant,
212
+ subType?: int
213
+ ];
184
214
  [ModCallbackCustom.POST_FIRST_ESAU_JR]: [
185
215
  callback: (player: EntityPlayer) => void
186
216
  ];
@@ -298,11 +328,26 @@ declare interface AddCallbackParametersCustom {
298
328
  knifeVariant?: KnifeVariant,
299
329
  subType?: int
300
330
  ];
331
+ [ModCallbackCustom.POST_LASER_INIT_FILTER]: [
332
+ callback: (laser: EntityLaser) => void,
333
+ laserVariant?: LaserVariant,
334
+ subType?: int
335
+ ];
301
336
  [ModCallbackCustom.POST_LASER_INIT_LATE]: [
302
337
  callback: (laser: EntityLaser) => void,
303
338
  laserVariant?: LaserVariant,
304
339
  subType?: int
305
340
  ];
341
+ [ModCallbackCustom.POST_LASER_RENDER_FILTER]: [
342
+ callback: (laser: EntityLaser, renderOffset: Vector) => void,
343
+ laserVariant?: LaserVariant,
344
+ subType?: int
345
+ ];
346
+ [ModCallbackCustom.POST_LASER_UPDATE_FILTER]: [
347
+ callback: (laser: EntityLaser) => void,
348
+ laserVariant?: LaserVariant,
349
+ subType?: int
350
+ ];
306
351
  [ModCallbackCustom.POST_NEW_LEVEL_REORDERED]: [
307
352
  callback: (stage: LevelStage, stageType: StageType) => void,
308
353
  stage?: LevelStage,
@@ -581,6 +626,11 @@ declare interface AddCallbackParametersCustom {
581
626
  variant?: int,
582
627
  subtype?: int
583
628
  ];
629
+ [ModCallbackCustom.PRE_FAMILIAR_COLLISION_FILTER]: [
630
+ callback: (familiar: EntityFamiliar, collider: Entity, low: boolean) => boolean | undefined,
631
+ familiarVariant?: FamiliarVariant,
632
+ subtype?: int
633
+ ];
584
634
  [ModCallbackCustom.PRE_GET_PEDESTAL]: [
585
635
  callback: (player: EntityPlayer, collectible: EntityPickupCollectible) => boolean | undefined,
586
636
  playerVariant?: PlayerVariant,
@@ -9378,6 +9428,21 @@ export declare enum ModCallbackCustom {
9378
9428
  * ```
9379
9429
  */
9380
9430
  POST_DOOR_UPDATE = 15,
9431
+ /**
9432
+ * The exact same thing as the vanilla `POST_EFFECT_INIT` callback, except this callback allows
9433
+ * you to specify extra arguments for additional filtration.
9434
+ *
9435
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
9436
+ * - You can provide an optional third argument that will make the callback only fire if it
9437
+ * matches the `EffectVariant` provided.
9438
+ * - You can provide an optional fourth argument that will make the callback only fire if it
9439
+ * matches the sub-type provided.
9440
+ *
9441
+ * ```ts
9442
+ * function postEffectInitFilter(effect: EntityEffect): void {}
9443
+ * ```
9444
+ */
9445
+ POST_EFFECT_INIT_FILTER = 16,
9381
9446
  /**
9382
9447
  * Fires on the first `POST_EFFECT_UPDATE` frame for each effect.
9383
9448
  *
@@ -9394,7 +9459,22 @@ export declare enum ModCallbackCustom {
9394
9459
  * function postEffectInitLate(effect: EntityEffect): void {}
9395
9460
  * ```
9396
9461
  */
9397
- POST_EFFECT_INIT_LATE = 16,
9462
+ POST_EFFECT_INIT_LATE = 17,
9463
+ /**
9464
+ * The exact same thing as the vanilla `POST_EFFECT_RENDER` callback, except this callback allows
9465
+ * you to specify extra arguments for additional filtration.
9466
+ *
9467
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
9468
+ * - You can provide an optional third argument that will make the callback only fire if it
9469
+ * matches the `EffectVariant` provided.
9470
+ * - You can provide an optional fourth argument that will make the callback only fire if it
9471
+ * matches the sub-type provided.
9472
+ *
9473
+ * ```ts
9474
+ * function postEffectRenderFilter(effect: EntityEffect, renderOffset: Vector): void {}
9475
+ * ```
9476
+ */
9477
+ POST_EFFECT_RENDER_FILTER = 18,
9398
9478
  /**
9399
9479
  * Fires from the `POST_EFFECT_UPDATE` callback when an effect's state has changed from what it
9400
9480
  * was on the previous frame. (In this context, "state" refers to the `EntityEffect.State` field.)
@@ -9413,7 +9493,22 @@ export declare enum ModCallbackCustom {
9413
9493
  * ): void {}
9414
9494
  * ```
9415
9495
  */
9416
- POST_EFFECT_STATE_CHANGED = 17,
9496
+ POST_EFFECT_STATE_CHANGED = 19,
9497
+ /**
9498
+ * The exact same thing as the vanilla `POST_EFFECT_UPDATE` callback, except this callback allows
9499
+ * you to specify extra arguments for additional filtration.
9500
+ *
9501
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
9502
+ * - You can provide an optional third argument that will make the callback only fire if it
9503
+ * matches the `EffectVariant` provided.
9504
+ * - You can provide an optional fourth argument that will make the callback only fire if it
9505
+ * matches the sub-type provided.
9506
+ *
9507
+ * ```ts
9508
+ * function postEffectUpdateFilter(effect: EntityEffect): void {}
9509
+ * ```
9510
+ */
9511
+ POST_EFFECT_UPDATE_FILTER = 20,
9417
9512
  /**
9418
9513
  * The exact same thing as the vanilla `POST_ENTITY_KILL` callback, except this callback allows
9419
9514
  * you to specify extra arguments for additional filtration.
@@ -9430,7 +9525,7 @@ export declare enum ModCallbackCustom {
9430
9525
  * function postEntityKillFilter(entity: Entity): void {}
9431
9526
  * ```
9432
9527
  */
9433
- POST_ENTITY_KILL_FILTER = 18,
9528
+ POST_ENTITY_KILL_FILTER = 21,
9434
9529
  /**
9435
9530
  * Fires one `POST_UPDATE` frame after the player has used the Esau Jr. item. (The player is not
9436
9531
  * updated to the new character until a game frame has passed.)
@@ -9439,7 +9534,22 @@ export declare enum ModCallbackCustom {
9439
9534
  * function postEsauJr(player: EntityPlayer): void {}
9440
9535
  * ```
9441
9536
  */
9442
- POST_ESAU_JR = 19,
9537
+ POST_ESAU_JR = 22,
9538
+ /**
9539
+ * The exact same thing as the vanilla `POST_FAMILIAR_INIT` callback, except this callback allows
9540
+ * you to specify extra arguments for additional filtration.
9541
+ *
9542
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
9543
+ * - You can provide an optional third argument that will make the callback only fire if it
9544
+ * matches the `FamiliarVariant` provided.
9545
+ * - You can provide an optional fourth argument that will make the callback only fire if it
9546
+ * matches the sub-type provided.
9547
+ *
9548
+ * ```ts
9549
+ * function postFamiliarInitFilter(familiar: EntityFamiliar): void {}
9550
+ * ```
9551
+ */
9552
+ POST_FAMILIAR_INIT_FILTER = 23,
9443
9553
  /**
9444
9554
  * Fires on the first `FAMILIAR_UPDATE` frame for each familiar.
9445
9555
  *
@@ -9456,7 +9566,22 @@ export declare enum ModCallbackCustom {
9456
9566
  * function postFamiliarInitLate(familiar: EntityFamiliar): void {}
9457
9567
  * ```
9458
9568
  */
9459
- POST_FAMILIAR_INIT_LATE = 20,
9569
+ POST_FAMILIAR_INIT_LATE = 24,
9570
+ /**
9571
+ * The exact same thing as the vanilla `POST_FAMILIAR_RENDER` callback, except this callback
9572
+ * allows you to specify extra arguments for additional filtration.
9573
+ *
9574
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
9575
+ * - You can provide an optional third argument that will make the callback only fire if it
9576
+ * matches the `FamiliarVariant` provided.
9577
+ * - You can provide an optional fourth argument that will make the callback only fire if it
9578
+ * matches the sub-type provided.
9579
+ *
9580
+ * ```ts
9581
+ * function postFamiliarRenderFilter(familiar: EntityFamiliar, renderOffset: Vector): void {}
9582
+ * ```
9583
+ */
9584
+ POST_FAMILIAR_RENDER_FILTER = 25,
9460
9585
  /**
9461
9586
  * Fires from the `POST_FAMILIAR_UPDATE` callback when a familiar's state has changed from what it
9462
9587
  * was on the previous frame. (In this context, "state" refers to the `EntityFamiliar.State`
@@ -9476,7 +9601,22 @@ export declare enum ModCallbackCustom {
9476
9601
  * ): void {}
9477
9602
  * ```
9478
9603
  */
9479
- POST_FAMILIAR_STATE_CHANGED = 21,
9604
+ POST_FAMILIAR_STATE_CHANGED = 26,
9605
+ /**
9606
+ * The exact same thing as the vanilla `POST_FAMILIAR_UPDATE` callback, except this callback
9607
+ * allows you to specify extra arguments for additional filtration.
9608
+ *
9609
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
9610
+ * - You can provide an optional third argument that will make the callback only fire if it
9611
+ * matches the `FamiliarVariant` provided.
9612
+ * - You can provide an optional fourth argument that will make the callback only fire if it
9613
+ * matches the sub-type provided.
9614
+ *
9615
+ * ```ts
9616
+ * function postFamiliarUpdateFilter(familiar: EntityFamiliar): void {}
9617
+ * ```
9618
+ */
9619
+ POST_FAMILIAR_UPDATE_FILTER = 27,
9480
9620
  /**
9481
9621
  * Fires one `POST_UPDATE` frame after the player has first used the Esau Jr. item. (The player is
9482
9622
  * not updated to the new character until a game frame has passed.)
@@ -9488,7 +9628,7 @@ export declare enum ModCallbackCustom {
9488
9628
  * function postFirstEsauJr(player: EntityPlayer): void {}
9489
9629
  * ```
9490
9630
  */
9491
- POST_FIRST_ESAU_JR = 22,
9631
+ POST_FIRST_ESAU_JR = 28,
9492
9632
  /**
9493
9633
  * Fires after the player has used the Flip item for the first time. Unlike the vanilla `USE_ITEM`
9494
9634
  * callback, this callback will return the player object for the new Lazarus (not the one who used
@@ -9501,7 +9641,7 @@ export declare enum ModCallbackCustom {
9501
9641
  * function postFirstFlip(newLazarus: EntityPlayer, oldLazarus: EntityPlayer): void {}
9502
9642
  * ```
9503
9643
  */
9504
- POST_FIRST_FLIP = 23,
9644
+ POST_FIRST_FLIP = 29,
9505
9645
  /**
9506
9646
  * Fires after the player has used the Flip item. Unlike the vanilla `USE_ITEM` callback, this
9507
9647
  * callback will return the player object for the new Lazarus (not the one who used the Flip
@@ -9514,7 +9654,7 @@ export declare enum ModCallbackCustom {
9514
9654
  * function postFlip(newLazarus: EntityPlayer, oldLazarus: EntityPlayer): void {}
9515
9655
  * ```
9516
9656
  */
9517
- POST_FLIP = 24,
9657
+ POST_FLIP = 30,
9518
9658
  /**
9519
9659
  * Similar to the vanilla callback of the same name, but fires in the correct order with respect
9520
9660
  * to the `POST_NEW_LEVEL` and the `POST_NEW_ROOM` callbacks:
@@ -9533,7 +9673,7 @@ export declare enum ModCallbackCustom {
9533
9673
  * function postGameStartedReordered(isContinued: boolean): void {}
9534
9674
  * ```
9535
9675
  */
9536
- POST_GAME_STARTED_REORDERED = 25,
9676
+ POST_GAME_STARTED_REORDERED = 31,
9537
9677
  /**
9538
9678
  * Similar to the `POST_GAME_STARTED_REORDERED` callback, but fires after all of the subscribed
9539
9679
  * callbacks have finished firing. Thus, you can use this callback to do perform things after a
@@ -9552,7 +9692,7 @@ export declare enum ModCallbackCustom {
9552
9692
  * function postGameStartedReorderedLast(isContinued: boolean): void {}
9553
9693
  * ```
9554
9694
  */
9555
- POST_GAME_STARTED_REORDERED_LAST = 26,
9695
+ POST_GAME_STARTED_REORDERED_LAST = 32,
9556
9696
  /**
9557
9697
  * Fires from the `POST_UPDATE` callback when the Greed Mode wave increases.
9558
9698
  *
@@ -9560,7 +9700,7 @@ export declare enum ModCallbackCustom {
9560
9700
  * function postGreedModeWave(oldWave: int, newWave: int): void {}
9561
9701
  * ```
9562
9702
  */
9563
- POST_GREED_MODE_WAVE = 27,
9703
+ POST_GREED_MODE_WAVE = 33,
9564
9704
  /**
9565
9705
  * Fires from the `POST_UPDATE` callback when a grid entity changes to a state that corresponds to
9566
9706
  * the broken state for the respective grid entity type. (For example, this will fire for a
@@ -9579,7 +9719,7 @@ export declare enum ModCallbackCustom {
9579
9719
  * function postGridEntityBroken(gridEntity: GridEntity): void {}
9580
9720
  * ```
9581
9721
  */
9582
- POST_GRID_ENTITY_BROKEN = 28,
9722
+ POST_GRID_ENTITY_BROKEN = 34,
9583
9723
  /**
9584
9724
  * Fires from the `POST_UPDATE` callback when a new entity collides with a grid entity. (After
9585
9725
  * this, the callback will not continue to fire. It will only fire again once the entity moves out
@@ -9607,7 +9747,7 @@ export declare enum ModCallbackCustom {
9607
9747
  * ): void {}
9608
9748
  * ```
9609
9749
  */
9610
- POST_GRID_ENTITY_COLLISION = 29,
9750
+ POST_GRID_ENTITY_COLLISION = 35,
9611
9751
  /**
9612
9752
  * The same as the `POST_GRID_ENTITY_BROKEN` callback, but only fires for grid entities created
9613
9753
  * with the `spawnCustomGridEntity` helper function.
@@ -9624,7 +9764,7 @@ export declare enum ModCallbackCustom {
9624
9764
  * ): void {}
9625
9765
  * ```
9626
9766
  */
9627
- POST_GRID_ENTITY_CUSTOM_BROKEN = 30,
9767
+ POST_GRID_ENTITY_CUSTOM_BROKEN = 36,
9628
9768
  /**
9629
9769
  * The same as the `POST_GRID_ENTITY_COLLISION` callback, but only fires for grid entities created
9630
9770
  * with the `spawnCustomGridEntity` helper function.
@@ -9648,7 +9788,7 @@ export declare enum ModCallbackCustom {
9648
9788
  * ): void {}
9649
9789
  * ```
9650
9790
  */
9651
- POST_GRID_ENTITY_CUSTOM_COLLISION = 31,
9791
+ POST_GRID_ENTITY_CUSTOM_COLLISION = 37,
9652
9792
  /**
9653
9793
  * The same as the `POST_GRID_ENTITY_INIT` callback, but only fires for grid entities created with
9654
9794
  * the `spawnCustomGridEntity` helper function.
@@ -9665,7 +9805,7 @@ export declare enum ModCallbackCustom {
9665
9805
  * ): void {}
9666
9806
  * ```
9667
9807
  */
9668
- POST_GRID_ENTITY_CUSTOM_INIT = 32,
9808
+ POST_GRID_ENTITY_CUSTOM_INIT = 38,
9669
9809
  /**
9670
9810
  * The same as the `POST_GRID_ENTITY_REMOVE` callback, but only fires for grid entities created
9671
9811
  * with the `spawnCustomGridEntity` helper function.
@@ -9682,7 +9822,7 @@ export declare enum ModCallbackCustom {
9682
9822
  * ): void {}
9683
9823
  * ```
9684
9824
  */
9685
- POST_GRID_ENTITY_CUSTOM_REMOVE = 33,
9825
+ POST_GRID_ENTITY_CUSTOM_REMOVE = 39,
9686
9826
  /**
9687
9827
  * The same as the `POST_GRID_ENTITY_RENDER` callback, but only fires for grid entities created
9688
9828
  * with the `spawnCustomGridEntity` helper function.
@@ -9699,7 +9839,7 @@ export declare enum ModCallbackCustom {
9699
9839
  * ): void {}
9700
9840
  * ```
9701
9841
  */
9702
- POST_GRID_ENTITY_CUSTOM_RENDER = 34,
9842
+ POST_GRID_ENTITY_CUSTOM_RENDER = 40,
9703
9843
  /**
9704
9844
  * The same as the `POST_GRID_ENTITY_STATE_CHANGED` callback, but only fires for grid entities
9705
9845
  * created with the `spawnCustomGridEntity` helper function.
@@ -9718,7 +9858,7 @@ export declare enum ModCallbackCustom {
9718
9858
  * ): void {}
9719
9859
  * ```
9720
9860
  */
9721
- POST_GRID_ENTITY_CUSTOM_STATE_CHANGED = 35,
9861
+ POST_GRID_ENTITY_CUSTOM_STATE_CHANGED = 41,
9722
9862
  /**
9723
9863
  * The same as the `POST_GRID_ENTITY_UPDATE` callback, but only fires for grid entities created
9724
9864
  * with the `spawnCustomGridEntity` helper function.
@@ -9735,7 +9875,7 @@ export declare enum ModCallbackCustom {
9735
9875
  * ): void {}
9736
9876
  * ```
9737
9877
  */
9738
- POST_GRID_ENTITY_CUSTOM_UPDATE = 36,
9878
+ POST_GRID_ENTITY_CUSTOM_UPDATE = 42,
9739
9879
  /**
9740
9880
  * Fires when a new grid entity is initialized. Specifically, this is either:
9741
9881
  *
@@ -9757,7 +9897,7 @@ export declare enum ModCallbackCustom {
9757
9897
  * function postGridEntityInit(gridEntity: GridEntity): void {}
9758
9898
  * ```
9759
9899
  */
9760
- POST_GRID_ENTITY_INIT = 37,
9900
+ POST_GRID_ENTITY_INIT = 43,
9761
9901
  /**
9762
9902
  * Fires from the `POST_UPDATE` callback when a new grid entity is removed. Specifically, this on
9763
9903
  * the frame after it no longer exists (where it did exist a frame ago).
@@ -9782,7 +9922,7 @@ export declare enum ModCallbackCustom {
9782
9922
  * ): void {}
9783
9923
  * ```
9784
9924
  */
9785
- POST_GRID_ENTITY_REMOVE = 38,
9925
+ POST_GRID_ENTITY_REMOVE = 44,
9786
9926
  /**
9787
9927
  * Fires from the `POST_RENDER` callback on every frame that a grid entity exists.
9788
9928
  *
@@ -9799,7 +9939,7 @@ export declare enum ModCallbackCustom {
9799
9939
  * function postGridEntityRender(gridEntity: GridEntity): void {}
9800
9940
  * ```
9801
9941
  */
9802
- POST_GRID_ENTITY_RENDER = 39,
9942
+ POST_GRID_ENTITY_RENDER = 45,
9803
9943
  /**
9804
9944
  * Fires from the `POST_UPDATE` callback when a grid entity changes its state. (In this context,
9805
9945
  * "state" refers to the `GridEntity.State` field.)
@@ -9821,7 +9961,7 @@ export declare enum ModCallbackCustom {
9821
9961
  * ): void {}
9822
9962
  * ```
9823
9963
  */
9824
- POST_GRID_ENTITY_STATE_CHANGED = 40,
9964
+ POST_GRID_ENTITY_STATE_CHANGED = 46,
9825
9965
  /**
9826
9966
  * Fires from the `POST_UPDATE` callback on every frame that a grid entity exists.
9827
9967
  *
@@ -9838,7 +9978,7 @@ export declare enum ModCallbackCustom {
9838
9978
  * function postGridEntityUpdate(gridEntity: GridEntity): void {}
9839
9979
  * ```
9840
9980
  */
9841
- POST_GRID_ENTITY_UPDATE = 41,
9981
+ POST_GRID_ENTITY_UPDATE = 47,
9842
9982
  /**
9843
9983
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when the player loses a Holy Mantle
9844
9984
  * temporary collectible effect.
@@ -9861,7 +10001,7 @@ export declare enum ModCallbackCustom {
9861
10001
  * ): void {}
9862
10002
  * ```
9863
10003
  */
9864
- POST_HOLY_MANTLE_REMOVED = 42,
10004
+ POST_HOLY_MANTLE_REMOVED = 48,
9865
10005
  /**
9866
10006
  * Fires from `POST_PEFFECT_UPDATE_REORDERED` callback when the player loses charge on their
9867
10007
  * active collectible item, implying that the item was just used.
@@ -9884,7 +10024,7 @@ export declare enum ModCallbackCustom {
9884
10024
  * ): void {}
9885
10025
  * ```
9886
10026
  */
9887
- POST_ITEM_DISCHARGE = 43,
10027
+ POST_ITEM_DISCHARGE = 49,
9888
10028
  /**
9889
10029
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when an item is no longer queued (i.e.
9890
10030
  * when the animation of the player holding the item above their head is finished and the item is
@@ -9905,7 +10045,7 @@ export declare enum ModCallbackCustom {
9905
10045
  * ): void {}
9906
10046
  * ```
9907
10047
  */
9908
- POST_ITEM_PICKUP = 44,
10048
+ POST_ITEM_PICKUP = 50,
9909
10049
  /**
9910
10050
  * Fires on the first `POST_RENDER` frame after a key on the keyboard has been pressed or
9911
10051
  * released. (In other words, the callback only fires when the "pressed" status is different than
@@ -9921,7 +10061,7 @@ export declare enum ModCallbackCustom {
9921
10061
  * function postKeyboardChanged(keyboard: Keyboard, pressed: boolean): void {}
9922
10062
  * ```
9923
10063
  */
9924
- POST_KEYBOARD_CHANGED = 45,
10064
+ POST_KEYBOARD_CHANGED = 51,
9925
10065
  /**
9926
10066
  * Fires on the first `POST_KNIFE_UPDATE` frame for each knife.
9927
10067
  *
@@ -9938,7 +10078,22 @@ export declare enum ModCallbackCustom {
9938
10078
  * function postKnifeInitLate(knife: EntityKnife): void {}
9939
10079
  * ```
9940
10080
  */
9941
- POST_KNIFE_INIT_LATE = 46,
10081
+ POST_KNIFE_INIT_LATE = 52,
10082
+ /**
10083
+ * The exact same thing as the vanilla `POST_LASER_INIT` callback, except this callback allows you
10084
+ * to specify extra arguments for additional filtration.
10085
+ *
10086
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
10087
+ * - You can provide an optional third argument that will make the callback only fire if it
10088
+ * matches the `LaserVariant` provided.
10089
+ * - You can provide an optional fourth argument that will make the callback only fire if it
10090
+ * matches the sub-type provided.
10091
+ *
10092
+ * ```ts
10093
+ * function postLaserInitFilter(laser: EntityLaser): void {}
10094
+ * ```
10095
+ */
10096
+ POST_LASER_INIT_FILTER = 53,
9942
10097
  /**
9943
10098
  * Fires on the first `POST_LASER_UPDATE` frame for each laser.
9944
10099
  *
@@ -9955,7 +10110,37 @@ export declare enum ModCallbackCustom {
9955
10110
  * function postLaserInitLate(laser: EntityLaser): void {}
9956
10111
  * ```
9957
10112
  */
9958
- POST_LASER_INIT_LATE = 47,
10113
+ POST_LASER_INIT_LATE = 54,
10114
+ /**
10115
+ * The exact same thing as the vanilla `POST_LASER_RENDER` callback, except this callback allows
10116
+ * you to specify extra arguments for additional filtration.
10117
+ *
10118
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
10119
+ * - You can provide an optional third argument that will make the callback only fire if it
10120
+ * matches the `LaserVariant` provided.
10121
+ * - You can provide an optional fourth argument that will make the callback only fire if it
10122
+ * matches the sub-type provided.
10123
+ *
10124
+ * ```ts
10125
+ * function postLaserRenderFilter(laser: EntityLaser, renderOffset: Vector): void {}
10126
+ * ```
10127
+ */
10128
+ POST_LASER_RENDER_FILTER = 55,
10129
+ /**
10130
+ * The exact same thing as the vanilla `POST_LASER_UPDATE` callback, except this callback allows
10131
+ * you to specify extra arguments for additional filtration.
10132
+ *
10133
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
10134
+ * - You can provide an optional third argument that will make the callback only fire if it
10135
+ * matches the `LaserVariant` provided.
10136
+ * - You can provide an optional fourth argument that will make the callback only fire if it
10137
+ * matches the sub-type provided.
10138
+ *
10139
+ * ```ts
10140
+ * function postLaserUpdateFilter(laser: EntityLaser): void {}
10141
+ * ```
10142
+ */
10143
+ POST_LASER_UPDATE_FILTER = 56,
9959
10144
  /**
9960
10145
  * The same as the vanilla callback of the same name, but fires in the correct order with respect
9961
10146
  * to the `POST_GAME_STARTED` and the `POST_NEW_ROOM` callbacks:
@@ -9981,7 +10166,7 @@ export declare enum ModCallbackCustom {
9981
10166
  * function postNewLevelReordered(stage: LevelStage, stageType: StageType): void {}
9982
10167
  * ```
9983
10168
  */
9984
- POST_NEW_LEVEL_REORDERED = 48,
10169
+ POST_NEW_LEVEL_REORDERED = 57,
9985
10170
  /**
9986
10171
  * Fires on the first `POST_NEW_ROOM` or `PRE_ENTITY_SPAWN` callback where being in a new room is
9987
10172
  * detected. This is useful because the vanilla `POST_NEW_ROOM` callback fires only after entities
@@ -9998,7 +10183,7 @@ export declare enum ModCallbackCustom {
9998
10183
  * function postNewRoomEarly(roomType: RoomType): void {}
9999
10184
  * ```
10000
10185
  */
10001
- POST_NEW_ROOM_EARLY = 49,
10186
+ POST_NEW_ROOM_EARLY = 58,
10002
10187
  /**
10003
10188
  * The same as the vanilla callback of the same name, but fires in the correct order with respect
10004
10189
  * to the `POST_GAME_STARTED` and the `POST_NEW_LEVEL` callbacks:
@@ -10021,7 +10206,7 @@ export declare enum ModCallbackCustom {
10021
10206
  * function postNewRoomReordered(roomType: RoomType): void {}
10022
10207
  * ```
10023
10208
  */
10024
- POST_NEW_ROOM_REORDERED = 50,
10209
+ POST_NEW_ROOM_REORDERED = 59,
10025
10210
  /**
10026
10211
  * The exact same thing as the vanilla `POST_NPC_DEATH` callback, except this callback allows you
10027
10212
  * to specify extra arguments for additional filtration.
@@ -10038,7 +10223,7 @@ export declare enum ModCallbackCustom {
10038
10223
  * function postNPCDeathFilter(npc: EntityNPC): void {}
10039
10224
  * ```
10040
10225
  */
10041
- POST_NPC_DEATH_FILTER = 51,
10226
+ POST_NPC_DEATH_FILTER = 60,
10042
10227
  /**
10043
10228
  * The exact same thing as the vanilla `POST_NPC_INIT` callback, except this callback allows you
10044
10229
  * to specify extra arguments for additional filtration.
@@ -10055,7 +10240,7 @@ export declare enum ModCallbackCustom {
10055
10240
  * function postNPCInitFilter(npc: EntityNPC): void {}
10056
10241
  * ```
10057
10242
  */
10058
- POST_NPC_INIT_FILTER = 52,
10243
+ POST_NPC_INIT_FILTER = 61,
10059
10244
  /**
10060
10245
  * Fires on the first `NPC_UPDATE` frame for each NPC.
10061
10246
  *
@@ -10074,7 +10259,7 @@ export declare enum ModCallbackCustom {
10074
10259
  * function postNPCInitLate(npc: EntityNPC): void {}
10075
10260
  * ```
10076
10261
  */
10077
- POST_NPC_INIT_LATE = 53,
10262
+ POST_NPC_INIT_LATE = 62,
10078
10263
  /**
10079
10264
  * The exact same thing as the vanilla `POST_NPC_RENDER` callback, except this callback allows you
10080
10265
  * to specify extra arguments for additional filtration.
@@ -10091,7 +10276,7 @@ export declare enum ModCallbackCustom {
10091
10276
  * function postNPCRenderFilter(npc: EntityNPC, renderOffset: Vector): void {}
10092
10277
  * ```
10093
10278
  */
10094
- POST_NPC_RENDER_FILTER = 54,
10279
+ POST_NPC_RENDER_FILTER = 63,
10095
10280
  /**
10096
10281
  * Fires from the `POST_NPC_UPDATE` callback when an NPC's state has changed from what it was on
10097
10282
  * the previous frame. (In this context, "state" refers to the `EntityNPC.State` field.)
@@ -10112,7 +10297,7 @@ export declare enum ModCallbackCustom {
10112
10297
  * ): void {}
10113
10298
  * ```
10114
10299
  */
10115
- POST_NPC_STATE_CHANGED = 55,
10300
+ POST_NPC_STATE_CHANGED = 64,
10116
10301
  /**
10117
10302
  * The exact same thing as the vanilla `POST_NPC_UPDATE` callback, except this callback allows you
10118
10303
  * to specify extra arguments for additional filtration.
@@ -10129,7 +10314,7 @@ export declare enum ModCallbackCustom {
10129
10314
  * function postNPCUpdateFilter(npc: EntityNPC): void {}
10130
10315
  * ```
10131
10316
  */
10132
- POST_NPC_UPDATE_FILTER = 56,
10317
+ POST_NPC_UPDATE_FILTER = 65,
10133
10318
  /**
10134
10319
  * Similar to the vanilla callback of the same name, but fires after the
10135
10320
  * `POST_GAME_STARTED_REORDERED` callback fires (if the player is being updated on the 0th game
@@ -10154,7 +10339,7 @@ export declare enum ModCallbackCustom {
10154
10339
  * function postPEffectUpdateReordered(player: EntityPlayer): void {}
10155
10340
  * ```
10156
10341
  */
10157
- POST_PEFFECT_UPDATE_REORDERED = 57,
10342
+ POST_PEFFECT_UPDATE_REORDERED = 66,
10158
10343
  /**
10159
10344
  * Fires from the `POST_PICKUP_UPDATE` callback when a pickup has a different variant or sub-type
10160
10345
  * than what it was on the previous frame.
@@ -10175,7 +10360,7 @@ export declare enum ModCallbackCustom {
10175
10360
  * ): void {}
10176
10361
  * ```
10177
10362
  */
10178
- POST_PICKUP_CHANGED = 58,
10363
+ POST_PICKUP_CHANGED = 67,
10179
10364
  /**
10180
10365
  * Fires on the first `POST_RENDER` frame that a pickup plays the "Collect" animation.
10181
10366
  *
@@ -10194,7 +10379,7 @@ export declare enum ModCallbackCustom {
10194
10379
  * function postPickupCollect(pickup: EntityPickup, player: EntityPlayer): void {}
10195
10380
  * ```
10196
10381
  */
10197
- POST_PICKUP_COLLECT = 59,
10382
+ POST_PICKUP_COLLECT = 68,
10198
10383
  /**
10199
10384
  * The exact same thing as the vanilla `POST_PICKUP_INIT` callback, except this callback allows
10200
10385
  * you to specify extra arguments for additional filtration.
@@ -10209,7 +10394,7 @@ export declare enum ModCallbackCustom {
10209
10394
  * function postPickupInitFilter(pickup: EntityPickup): void {}
10210
10395
  * ```
10211
10396
  */
10212
- POST_PICKUP_INIT_FILTER = 60,
10397
+ POST_PICKUP_INIT_FILTER = 69,
10213
10398
  /**
10214
10399
  * Fires from the `POST_PICKUP_INIT` callback on the first time that a player has seen the
10215
10400
  * respective pickup on the run.
@@ -10227,7 +10412,7 @@ export declare enum ModCallbackCustom {
10227
10412
  * function postPickupInitFirst(pickup: EntityPickup): void {}
10228
10413
  * ```
10229
10414
  */
10230
- POST_PICKUP_INIT_FIRST = 61,
10415
+ POST_PICKUP_INIT_FIRST = 70,
10231
10416
  /**
10232
10417
  * Fires on the first `POST_PICKUP_UPDATE` frame for each pickup.
10233
10418
  *
@@ -10244,7 +10429,7 @@ export declare enum ModCallbackCustom {
10244
10429
  * function postPickupInitLate(pickup: EntityPickup): void {}
10245
10430
  * ```
10246
10431
  */
10247
- POST_PICKUP_INIT_LATE = 62,
10432
+ POST_PICKUP_INIT_LATE = 71,
10248
10433
  /**
10249
10434
  * The exact same thing as the vanilla `POST_PICKUP_RENDER` callback, except this callback allows
10250
10435
  * you to specify extra arguments for additional filtration.
@@ -10259,7 +10444,7 @@ export declare enum ModCallbackCustom {
10259
10444
  * function postPickupRenderFilter(pickup: EntityPickup, renderOffset: Vector): void {}
10260
10445
  * ```
10261
10446
  */
10262
- POST_PICKUP_RENDER_FILTER = 63,
10447
+ POST_PICKUP_RENDER_FILTER = 72,
10263
10448
  /**
10264
10449
  * The exact same thing as the vanilla `POST_PICKUP_SELECTION` callback, except this callback
10265
10450
  * allows you to specify extra arguments for additional filtration.
@@ -10278,7 +10463,7 @@ export declare enum ModCallbackCustom {
10278
10463
  * ): [PickupVariant, int] | undefined {}
10279
10464
  * ```
10280
10465
  */
10281
- POST_PICKUP_SELECTION_FILTER = 64,
10466
+ POST_PICKUP_SELECTION_FILTER = 73,
10282
10467
  /**
10283
10468
  * Fires from the `POST_PICKUP_UPDATE` callback when a pickup's state has changed from what it was
10284
10469
  * on the previous frame. (In this context, "state" refers to the `EntityPickup.State` field.)
@@ -10297,7 +10482,7 @@ export declare enum ModCallbackCustom {
10297
10482
  * ): void {}
10298
10483
  * ```
10299
10484
  */
10300
- POST_PICKUP_STATE_CHANGED = 65,
10485
+ POST_PICKUP_STATE_CHANGED = 74,
10301
10486
  /**
10302
10487
  * The exact same thing as the vanilla `POST_PICKUP_UPDATE` callback, except this callback allows
10303
10488
  * you to specify extra arguments for additional filtration.
@@ -10312,7 +10497,7 @@ export declare enum ModCallbackCustom {
10312
10497
  * function postPickupUpdateFilter(pickup: EntityPickup): void {}
10313
10498
  * ```
10314
10499
  */
10315
- POST_PICKUP_UPDATE_FILTER = 66,
10500
+ POST_PICKUP_UPDATE_FILTER = 75,
10316
10501
  /**
10317
10502
  * Fires from the `POST_RENDER` callback on every frame that a pit exists.
10318
10503
  *
@@ -10324,7 +10509,7 @@ export declare enum ModCallbackCustom {
10324
10509
  * function postPitRender(pit: GridEntityPit): void {}
10325
10510
  * ```
10326
10511
  */
10327
- POST_PIT_RENDER = 67,
10512
+ POST_PIT_RENDER = 76,
10328
10513
  /**
10329
10514
  * Fires from the `POST_UPDATE` callback on every frame that a pit exists.
10330
10515
  *
@@ -10336,7 +10521,7 @@ export declare enum ModCallbackCustom {
10336
10521
  * function postPitUpdate(pit: GridEntityPit): void {}
10337
10522
  * ```
10338
10523
  */
10339
- POST_PIT_UPDATE = 68,
10524
+ POST_PIT_UPDATE = 77,
10340
10525
  /**
10341
10526
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player's health (i.e. hearts) is
10342
10527
  * different than what it was on the previous frame. For more information, see the `PlayerHealth`
@@ -10358,7 +10543,7 @@ export declare enum ModCallbackCustom {
10358
10543
  * ): void {}
10359
10544
  * ```
10360
10545
  */
10361
- POST_PLAYER_CHANGE_HEALTH = 69,
10546
+ POST_PLAYER_CHANGE_HEALTH = 78,
10362
10547
  /**
10363
10548
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when one of the player's stats change
10364
10549
  * from what they were on the previous frame.
@@ -10388,7 +10573,7 @@ export declare enum ModCallbackCustom {
10388
10573
  * ) => void {}
10389
10574
  * ```
10390
10575
  */
10391
- POST_PLAYER_CHANGE_STAT = 70,
10576
+ POST_PLAYER_CHANGE_STAT = 79,
10392
10577
  /**
10393
10578
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player entity changes its player
10394
10579
  * type
@@ -10411,7 +10596,7 @@ export declare enum ModCallbackCustom {
10411
10596
  * ): void {}
10412
10597
  * ```
10413
10598
  */
10414
- POST_PLAYER_CHANGE_TYPE = 71,
10599
+ POST_PLAYER_CHANGE_TYPE = 80,
10415
10600
  /**
10416
10601
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player's collectible count is
10417
10602
  * higher than what it was on the previous frame, or when the active items change, or when the
@@ -10428,7 +10613,7 @@ export declare enum ModCallbackCustom {
10428
10613
  * ): void {}
10429
10614
  * ```
10430
10615
  */
10431
- POST_PLAYER_COLLECTIBLE_ADDED = 72,
10616
+ POST_PLAYER_COLLECTIBLE_ADDED = 81,
10432
10617
  /**
10433
10618
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player's collectible count is
10434
10619
  * lower than what it was on the previous frame, or when the active items change, or when the
@@ -10445,7 +10630,7 @@ export declare enum ModCallbackCustom {
10445
10630
  * ): void {}
10446
10631
  * ```
10447
10632
  */
10448
- POST_PLAYER_COLLECTIBLE_REMOVED = 73,
10633
+ POST_PLAYER_COLLECTIBLE_REMOVED = 82,
10449
10634
  /**
10450
10635
  * Fires from the `ENTITY_TAKE_DMG` callback when a player takes fatal damage. Return false to
10451
10636
  * prevent the fatal damage.
@@ -10463,7 +10648,7 @@ export declare enum ModCallbackCustom {
10463
10648
  * function postPlayerFatalDamage(player: EntityPlayer): boolean | undefined {}
10464
10649
  * ```
10465
10650
  */
10466
- POST_PLAYER_FATAL_DAMAGE = 74,
10651
+ POST_PLAYER_FATAL_DAMAGE = 83,
10467
10652
  /**
10468
10653
  * Fires on the first `POST_PEFFECT_UPDATE_REORDERED` frame for each player, similar to the
10469
10654
  * `POST_PLAYER_INIT_LATE` callback, with two changes:
@@ -10485,7 +10670,7 @@ export declare enum ModCallbackCustom {
10485
10670
  * function postPlayerInitFirst(player: EntityPlayer): void {}
10486
10671
  * ```
10487
10672
  */
10488
- POST_PLAYER_INIT_FIRST = 75,
10673
+ POST_PLAYER_INIT_FIRST = 84,
10489
10674
  /**
10490
10675
  * Fires on the first `POST_PEFFECT_UPDATE_REORDERED` frame for each player.
10491
10676
  *
@@ -10505,7 +10690,7 @@ export declare enum ModCallbackCustom {
10505
10690
  * function postPlayerInitLate(pickup: EntityPickup): void {}
10506
10691
  * ```
10507
10692
  */
10508
- POST_PLAYER_INIT_LATE = 76,
10693
+ POST_PLAYER_INIT_LATE = 85,
10509
10694
  /**
10510
10695
  * Similar to the vanilla callback of the same name, but fires after the `POST_GAME_STARTED`
10511
10696
  * callback fires (if the player is spawning on the 0th game frame of the run).
@@ -10529,7 +10714,7 @@ export declare enum ModCallbackCustom {
10529
10714
  * function postPlayerRenderReordered(player: EntityPlayer, renderOffset: Vector): void {}
10530
10715
  * ```
10531
10716
  */
10532
- POST_PLAYER_RENDER_REORDERED = 77,
10717
+ POST_PLAYER_RENDER_REORDERED = 86,
10533
10718
  /**
10534
10719
  * Similar to the vanilla callback of the same name, but fires after the
10535
10720
  * `POST_GAME_STARTED_REORDERED` callback fires (if the player is being updated on the 0th game
@@ -10554,7 +10739,7 @@ export declare enum ModCallbackCustom {
10554
10739
  * function postPlayerUpdateReordered(player: EntityPlayer): void {}
10555
10740
  * ```
10556
10741
  */
10557
- POST_PLAYER_UPDATE_REORDERED = 78,
10742
+ POST_PLAYER_UPDATE_REORDERED = 87,
10558
10743
  /**
10559
10744
  * Fires from the `POST_RENDER` callback on every frame that a poop exists.
10560
10745
  *
@@ -10566,7 +10751,7 @@ export declare enum ModCallbackCustom {
10566
10751
  * function postPoopRender(poop: GridEntityPoop): void {}
10567
10752
  * ```
10568
10753
  */
10569
- POST_POOP_RENDER = 79,
10754
+ POST_POOP_RENDER = 88,
10570
10755
  /**
10571
10756
  * Fires from the `POST_UPDATE` callback on every frame that a poop exists.
10572
10757
  *
@@ -10578,7 +10763,7 @@ export declare enum ModCallbackCustom {
10578
10763
  * function postPoopUpdate(poop: GridEntityPoop): void {}
10579
10764
  * ```
10580
10765
  */
10581
- POST_POOP_UPDATE = 80,
10766
+ POST_POOP_UPDATE = 89,
10582
10767
  /**
10583
10768
  * Fires from the `POST_RENDER` callback on every frame that a pressure plate exists.
10584
10769
  *
@@ -10590,7 +10775,7 @@ export declare enum ModCallbackCustom {
10590
10775
  * function postPressurePlateRender(pressurePlate: GridEntityPressurePlate): void {}
10591
10776
  * ```
10592
10777
  */
10593
- POST_PRESSURE_PLATE_RENDER = 81,
10778
+ POST_PRESSURE_PLATE_RENDER = 90,
10594
10779
  /**
10595
10780
  * Fires from the `POST_UPDATE` callback on every frame that a pressure plate exists.
10596
10781
  *
@@ -10602,7 +10787,7 @@ export declare enum ModCallbackCustom {
10602
10787
  * function postPressurePlateUpdate(pressurePlate: GridEntityPressurePlate): void {}
10603
10788
  * ```
10604
10789
  */
10605
- POST_PRESSURE_PLATE_UPDATE = 82,
10790
+ POST_PRESSURE_PLATE_UPDATE = 91,
10606
10791
  /**
10607
10792
  * Fires on the first `POST_PROJECTILE_UPDATE` frame for each projectile.
10608
10793
  *
@@ -10619,7 +10804,7 @@ export declare enum ModCallbackCustom {
10619
10804
  * function postProjectileInitLate(projectile: EntityProjectile): void {}
10620
10805
  * ```
10621
10806
  */
10622
- POST_PROJECTILE_INIT_LATE = 83,
10807
+ POST_PROJECTILE_INIT_LATE = 92,
10623
10808
  /**
10624
10809
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player first picks up a new
10625
10810
  * item. The pickup returned in the callback is assumed to be the first pickup that no longer
@@ -10635,7 +10820,7 @@ export declare enum ModCallbackCustom {
10635
10820
  * function postPurchase(player: EntityPlayer, pickup: EntityPickup): void {}
10636
10821
  * ```
10637
10822
  */
10638
- POST_PURCHASE = 84,
10823
+ POST_PURCHASE = 93,
10639
10824
  /**
10640
10825
  * Fires from the `POST_RENDER` callback on every frame that a rock exists.
10641
10826
  *
@@ -10649,7 +10834,7 @@ export declare enum ModCallbackCustom {
10649
10834
  * function postRockRender(rock: GridEntityRock): void {}
10650
10835
  * ```
10651
10836
  */
10652
- POST_ROCK_RENDER = 85,
10837
+ POST_ROCK_RENDER = 94,
10653
10838
  /**
10654
10839
  * Fires from the `POST_UPDATE` callback on every frame that a rock exists.
10655
10840
  *
@@ -10663,7 +10848,7 @@ export declare enum ModCallbackCustom {
10663
10848
  * function postRockUpdate(rock: GridEntityRock): void {}
10664
10849
  * ```
10665
10850
  */
10666
- POST_ROCK_UPDATE = 86,
10851
+ POST_ROCK_UPDATE = 95,
10667
10852
  /**
10668
10853
  * Fires from the `POST_UPDATE` callback when the clear state of a room changes (as according to
10669
10854
  * the `Room.IsClear` method).
@@ -10680,7 +10865,7 @@ export declare enum ModCallbackCustom {
10680
10865
  * function postRoomClearChanged(roomClear: boolean): void {}
10681
10866
  * ```
10682
10867
  */
10683
- POST_ROOM_CLEAR_CHANGED = 87,
10868
+ POST_ROOM_CLEAR_CHANGED = 96,
10684
10869
  /**
10685
10870
  * Fires from the `ENTITY_TAKE_DMG` callback when a player takes damage from spikes in a Sacrifice
10686
10871
  * Room.
@@ -10695,7 +10880,7 @@ export declare enum ModCallbackCustom {
10695
10880
  * function postSacrifice(player: EntityPlayer, numSacrifices: int): void {}
10696
10881
  * ```
10697
10882
  */
10698
- POST_SACRIFICE = 88,
10883
+ POST_SACRIFICE = 97,
10699
10884
  /**
10700
10885
  * Fires from the `POST_RENDER` callback when a slot entity's animation changes.
10701
10886
  *
@@ -10713,7 +10898,7 @@ export declare enum ModCallbackCustom {
10713
10898
  * ): void {}
10714
10899
  * ```
10715
10900
  */
10716
- POST_SLOT_ANIMATION_CHANGED = 89,
10901
+ POST_SLOT_ANIMATION_CHANGED = 98,
10717
10902
  /**
10718
10903
  * Fires from the `PRE_PLAYER_COLLISION` callback when when a player collides with a slot entity.
10719
10904
  * (It will not fire if any other type of entity collides with the slot entity.)
@@ -10737,7 +10922,7 @@ export declare enum ModCallbackCustom {
10737
10922
  * ): void {}
10738
10923
  * ```
10739
10924
  */
10740
- POST_SLOT_COLLISION = 90,
10925
+ POST_SLOT_COLLISION = 99,
10741
10926
  /**
10742
10927
  * Fires from the `POST_SLOT_UPDATE` or the `POST_ENTITY_REMOVE` callback when a slot machine is
10743
10928
  * destroyed or a beggar is removed.
@@ -10779,7 +10964,7 @@ export declare enum ModCallbackCustom {
10779
10964
  * function postSlotDestroyed(slot: Entity, slotDestructionType: SlotDestructionType): void {}
10780
10965
  * ```
10781
10966
  */
10782
- POST_SLOT_DESTROYED = 91,
10967
+ POST_SLOT_DESTROYED = 100,
10783
10968
  /**
10784
10969
  * Fires when a new slot entity is initialized. Specifically, this is either:
10785
10970
  *
@@ -10798,7 +10983,7 @@ export declare enum ModCallbackCustom {
10798
10983
  * function postSlotInit(slot: Entity): void {}
10799
10984
  * ```
10800
10985
  */
10801
- POST_SLOT_INIT = 92,
10986
+ POST_SLOT_INIT = 101,
10802
10987
  /**
10803
10988
  * Fires from the `POST_RENDER` callback on every frame that a slot entity exists.
10804
10989
  *
@@ -10812,7 +10997,7 @@ export declare enum ModCallbackCustom {
10812
10997
  * function postSlotRender(slot: Entity): void {}
10813
10998
  * ```
10814
10999
  */
10815
- POST_SLOT_RENDER = 93,
11000
+ POST_SLOT_RENDER = 102,
10816
11001
  /**
10817
11002
  * Fires from the `POST_UPDATE` callback on every frame that a slot entity exists.
10818
11003
  *
@@ -10826,7 +11011,7 @@ export declare enum ModCallbackCustom {
10826
11011
  * function postSlotUpdate(slot: Entity): void {}
10827
11012
  * ```
10828
11013
  */
10829
- POST_SLOT_UPDATE = 94,
11014
+ POST_SLOT_UPDATE = 103,
10830
11015
  /**
10831
11016
  * Fires from the `POST_RENDER` callback on every frame that spikes exist.
10832
11017
  *
@@ -10838,7 +11023,7 @@ export declare enum ModCallbackCustom {
10838
11023
  * function postSpikesRender(spikes: GridEntitySpikes): void {}
10839
11024
  * ```
10840
11025
  */
10841
- POST_SPIKES_RENDER = 95,
11026
+ POST_SPIKES_RENDER = 104,
10842
11027
  /**
10843
11028
  * Fires from the `POST_UPDATE` callback on every frame that spikes exist.
10844
11029
  *
@@ -10850,7 +11035,7 @@ export declare enum ModCallbackCustom {
10850
11035
  * function postSpikesUpdate(spikes: GridEntitySpikes): void {}
10851
11036
  * ```
10852
11037
  */
10853
- POST_SPIKES_UPDATE = 96,
11038
+ POST_SPIKES_UPDATE = 105,
10854
11039
  /**
10855
11040
  * Fires on the first `POST_TEAR_UPDATE` frame for each tear (which is when
10856
11041
  * `EntityTear.FrameCount` is equal to 0).
@@ -10868,7 +11053,7 @@ export declare enum ModCallbackCustom {
10868
11053
  * function postTearInitLate(tear: EntityTear): void {}
10869
11054
  * ```
10870
11055
  */
10871
- POST_TEAR_INIT_LATE = 97,
11056
+ POST_TEAR_INIT_LATE = 106,
10872
11057
  /**
10873
11058
  * Fires on the second `POST_TEAR_UPDATE` frame for each tear (which is when
10874
11059
  * `EntityTear.FrameCount` is equal to 1).
@@ -10885,7 +11070,7 @@ export declare enum ModCallbackCustom {
10885
11070
  * function postTearInitVeryLate(tear: EntityTear): void {}
10886
11071
  * ```
10887
11072
  */
10888
- POST_TEAR_INIT_VERY_LATE = 98,
11073
+ POST_TEAR_INIT_VERY_LATE = 107,
10889
11074
  /**
10890
11075
  * Fires from the `POST_RENDER` callback on every frame that a TNT exists.
10891
11076
  *
@@ -10897,7 +11082,7 @@ export declare enum ModCallbackCustom {
10897
11082
  * function postTNTRender(tnt: GridEntityTNT): void {}
10898
11083
  * ```
10899
11084
  */
10900
- POST_TNT_RENDER = 99,
11085
+ POST_TNT_RENDER = 108,
10901
11086
  /**
10902
11087
  * Fires from the `POST_UPDATE` callback on every frame that a TNT exists.
10903
11088
  *
@@ -10909,7 +11094,7 @@ export declare enum ModCallbackCustom {
10909
11094
  * function postTNTUpdate(tnt: GridEntityTNT): void {}
10910
11095
  * ```
10911
11096
  */
10912
- POST_TNT_UPDATE = 100,
11097
+ POST_TNT_UPDATE = 109,
10913
11098
  /**
10914
11099
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when a player gains or loses a new
10915
11100
  * transformation.
@@ -10928,7 +11113,7 @@ export declare enum ModCallbackCustom {
10928
11113
  * ): void {}
10929
11114
  * ```
10930
11115
  */
10931
- POST_TRANSFORMATION = 101,
11116
+ POST_TRANSFORMATION = 110,
10932
11117
  /**
10933
11118
  * Fires from `ENTITY_TAKE_DMG` callback when a Wishbone or a Walnut breaks.
10934
11119
  *
@@ -10943,7 +11128,7 @@ export declare enum ModCallbackCustom {
10943
11128
  * ): void {}
10944
11129
  * ```
10945
11130
  */
10946
- POST_TRINKET_BREAK = 102,
11131
+ POST_TRINKET_BREAK = 111,
10947
11132
  /**
10948
11133
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback on the frame before a Berserk effect
10949
11134
  * ends when the player is predicted to die (e.g. they currently have no health left or they took
@@ -10959,7 +11144,7 @@ export declare enum ModCallbackCustom {
10959
11144
  * function preBerserkDeath(player: EntityPlayer): void {}
10960
11145
  * ```
10961
11146
  */
10962
- PRE_BERSERK_DEATH = 103,
11147
+ PRE_BERSERK_DEATH = 112,
10963
11148
  /**
10964
11149
  * Fires from the `POST_PLAYER_FATAL_DAMAGE` callback when a player is about to die. If you want
10965
11150
  * to initiate a custom revival, return an integer that corresponds to the item or type of revival
@@ -10978,7 +11163,7 @@ export declare enum ModCallbackCustom {
10978
11163
  * function preCustomRevive(player: EntityPlayer): int | undefined {}
10979
11164
  * ```
10980
11165
  */
10981
- PRE_CUSTOM_REVIVE = 104,
11166
+ PRE_CUSTOM_REVIVE = 113,
10982
11167
  /**
10983
11168
  * The exact same thing as the vanilla `PRE_ENTITY_SPAWN` callback, except this callback allows
10984
11169
  * you to specify extra arguments for additional filtration.
@@ -11003,7 +11188,26 @@ export declare enum ModCallbackCustom {
11003
11188
  * ): [EntityType, int, int, int] | undefined {}
11004
11189
  * ```
11005
11190
  */
11006
- PRE_ENTITY_SPAWN_FILTER = 105,
11191
+ PRE_ENTITY_SPAWN_FILTER = 114,
11192
+ /**
11193
+ * The exact same thing as the vanilla `PRE_FAMILIAR_COLLISION` callback, except this callback
11194
+ * allows you to specify extra arguments for additional filtration.
11195
+ *
11196
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
11197
+ * - You can provide an optional third argument that will make the callback only fire if it
11198
+ * matches the `FamiliarVariant` provided.
11199
+ * - You can provide an optional fourth argument that will make the callback only fire if it
11200
+ * matches the sub-type provided.
11201
+ *
11202
+ * ```ts
11203
+ * function preFamiliarCollisionFilter(
11204
+ * familiar: EntityFamiliar,
11205
+ * collider: Entity,
11206
+ * low: boolean,
11207
+ * ): void {}
11208
+ * ```
11209
+ */
11210
+ PRE_FAMILIAR_COLLISION_FILTER = 115,
11007
11211
  /**
11008
11212
  * Fires from the `PRE_PICKUP_COLLISION` callback when a player touches a collectible pedestal and
11009
11213
  * meets all of the conditions to pick it up.
@@ -11023,7 +11227,7 @@ export declare enum ModCallbackCustom {
11023
11227
  * function preGetPedestal(player: EntityPlayer, collectible: EntityPickupCollectible): void {}
11024
11228
  * ```
11025
11229
  */
11026
- PRE_GET_PEDESTAL = 106,
11230
+ PRE_GET_PEDESTAL = 116,
11027
11231
  /**
11028
11232
  * Fires from the `POST_PEFFECT_UPDATE_REORDERED` callback when an item becomes queued (i.e. when
11029
11233
  * the player begins to hold the item above their head).
@@ -11043,7 +11247,7 @@ export declare enum ModCallbackCustom {
11043
11247
  * ): void {}
11044
11248
  * ```
11045
11249
  */
11046
- PRE_ITEM_PICKUP = 107,
11250
+ PRE_ITEM_PICKUP = 117,
11047
11251
  /**
11048
11252
  * Fires on the `POST_RENDER` frame before the player is taken to a new floor. Only fires when a
11049
11253
  * player jumps into a trapdoor or enters a heaven door (beam of light). Does not fire on the
@@ -11057,7 +11261,7 @@ export declare enum ModCallbackCustom {
11057
11261
  * function preNewLevel(player: EntityPlayer): void {}
11058
11262
  * ```
11059
11263
  */
11060
- PRE_NEW_LEVEL = 108,
11264
+ PRE_NEW_LEVEL = 118,
11061
11265
  /**
11062
11266
  * The exact same thing as the vanilla `PRE_NPC_COLLISION` callback, except this callback allows
11063
11267
  * you to specify extra arguments for additional filtration.
@@ -11078,7 +11282,7 @@ export declare enum ModCallbackCustom {
11078
11282
  * ): boolean | undefined {}
11079
11283
  * ```
11080
11284
  */
11081
- PRE_NPC_COLLISION_FILTER = 109,
11285
+ PRE_NPC_COLLISION_FILTER = 119,
11082
11286
  /**
11083
11287
  * The exact same thing as the vanilla `PRE_NPC_UPDATE` callback, except this callback allows you
11084
11288
  * to specify extra arguments for additional filtration.
@@ -11095,7 +11299,7 @@ export declare enum ModCallbackCustom {
11095
11299
  * function preNPCUpdateFilter(entity: Entity): boolean | undefined {}
11096
11300
  * ```
11097
11301
  */
11098
- PRE_NPC_UPDATE_FILTER = 110,
11302
+ PRE_NPC_UPDATE_FILTER = 120,
11099
11303
  /**
11100
11304
  * The exact same thing as the vanilla `PRE_ROOM_ENTITY_SPAWN` callback, except this callback
11101
11305
  * allows you to specify extra arguments for additional filtration.
@@ -11118,7 +11322,7 @@ export declare enum ModCallbackCustom {
11118
11322
  * ): [EntityType | GridEntityXMLType, int, int] | undefined {}
11119
11323
  * ```
11120
11324
  */
11121
- PRE_ROOM_ENTITY_SPAWN_FILTER = 111
11325
+ PRE_ROOM_ENTITY_SPAWN_FILTER = 121
11122
11326
  }
11123
11327
 
11124
11328
  /**