isaacscript-common 15.0.5 → 15.1.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 (39) hide show
  1. package/dist/index.d.ts +107 -49
  2. package/dist/isaacscript-common.lua +165 -56
  3. package/dist/src/callbacks.d.ts +52 -48
  4. package/dist/src/callbacks.d.ts.map +1 -1
  5. package/dist/src/callbacks.lua +6 -0
  6. package/dist/src/classes/ModFeature.d.ts +10 -0
  7. package/dist/src/classes/ModFeature.d.ts.map +1 -1
  8. package/dist/src/classes/ModFeature.lua +53 -7
  9. package/dist/src/classes/callbacks/PostNPCInitFilter.d.ts +14 -0
  10. package/dist/src/classes/callbacks/PostNPCInitFilter.d.ts.map +1 -0
  11. package/dist/src/classes/callbacks/PostNPCInitFilter.lua +26 -0
  12. package/dist/src/classes/callbacks/PostNPCUpdateFilter.d.ts +14 -0
  13. package/dist/src/classes/callbacks/PostNPCUpdateFilter.d.ts.map +1 -0
  14. package/dist/src/classes/callbacks/PostNPCUpdateFilter.lua +26 -0
  15. package/dist/src/enums/ModCallbackCustom.d.ts +74 -48
  16. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  17. package/dist/src/enums/ModCallbackCustom.lua +52 -48
  18. package/dist/src/functions/arrayLua.d.ts +1 -1
  19. package/dist/src/functions/arrayLua.lua +1 -1
  20. package/dist/src/functions/decorators.d.ts.map +1 -1
  21. package/dist/src/functions/decorators.lua +10 -0
  22. package/dist/src/functions/tears.d.ts +10 -0
  23. package/dist/src/functions/tears.d.ts.map +1 -1
  24. package/dist/src/functions/tears.lua +10 -0
  25. package/dist/src/indexLua.d.ts +169 -0
  26. package/dist/src/indexLua.d.ts.map +1 -0
  27. package/dist/src/indexLua.lua +1042 -0
  28. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts +12 -0
  29. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  30. package/package.json +1 -1
  31. package/src/callbacks.ts +4 -0
  32. package/src/classes/ModFeature.ts +74 -6
  33. package/src/classes/callbacks/PostNPCInitFilter.ts +27 -0
  34. package/src/classes/callbacks/PostNPCUpdateFilter.ts +27 -0
  35. package/src/enums/ModCallbackCustom.ts +28 -0
  36. package/src/functions/arrayLua.ts +1 -1
  37. package/src/functions/decorators.ts +23 -8
  38. package/src/functions/tears.ts +10 -0
  39. package/src/interfaces/private/AddCallbackParametersCustom.ts +14 -0
@@ -1,6 +1,6 @@
1
1
  --[[
2
2
 
3
- isaacscript-common 15.0.5
3
+ isaacscript-common 15.1.1
4
4
 
5
5
  This is the "isaacscript-common" library, which was created with the IsaacScript tool.
6
6
 
@@ -2701,101 +2701,105 @@ ____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY = 43
2701
2701
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY] = "POST_NEW_ROOM_EARLY"
2702
2702
  ____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED = 44
2703
2703
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED] = "POST_NEW_ROOM_REORDERED"
2704
- ____exports.ModCallbackCustom.POST_NPC_INIT_LATE = 45
2704
+ ____exports.ModCallbackCustom.POST_NPC_INIT_FILTER = 45
2705
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_INIT_FILTER] = "POST_NPC_INIT_FILTER"
2706
+ ____exports.ModCallbackCustom.POST_NPC_INIT_LATE = 46
2705
2707
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_INIT_LATE] = "POST_NPC_INIT_LATE"
2706
- ____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED = 46
2708
+ ____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED = 47
2707
2709
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED] = "POST_NPC_STATE_CHANGED"
2708
- ____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED = 47
2710
+ ____exports.ModCallbackCustom.POST_NPC_UPDATE_FILTER = 48
2711
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_UPDATE_FILTER] = "POST_NPC_UPDATE_FILTER"
2712
+ ____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED = 49
2709
2713
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED] = "POST_PEFFECT_UPDATE_REORDERED"
2710
- ____exports.ModCallbackCustom.POST_PICKUP_COLLECT = 48
2714
+ ____exports.ModCallbackCustom.POST_PICKUP_COLLECT = 50
2711
2715
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_COLLECT] = "POST_PICKUP_COLLECT"
2712
- ____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST = 49
2716
+ ____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST = 51
2713
2717
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST] = "POST_PICKUP_INIT_FIRST"
2714
- ____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE = 50
2718
+ ____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE = 52
2715
2719
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE] = "POST_PICKUP_INIT_LATE"
2716
- ____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED = 51
2720
+ ____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED = 53
2717
2721
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED] = "POST_PICKUP_STATE_CHANGED"
2718
- ____exports.ModCallbackCustom.POST_PIT_RENDER = 52
2722
+ ____exports.ModCallbackCustom.POST_PIT_RENDER = 54
2719
2723
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_RENDER] = "POST_PIT_RENDER"
2720
- ____exports.ModCallbackCustom.POST_PIT_UPDATE = 53
2724
+ ____exports.ModCallbackCustom.POST_PIT_UPDATE = 55
2721
2725
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_UPDATE] = "POST_PIT_UPDATE"
2722
- ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH = 54
2726
+ ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH = 56
2723
2727
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH] = "POST_PLAYER_CHANGE_HEALTH"
2724
- ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_STAT = 55
2728
+ ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_STAT = 57
2725
2729
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_STAT] = "POST_PLAYER_CHANGE_STAT"
2726
- ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE = 56
2730
+ ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE = 58
2727
2731
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE] = "POST_PLAYER_CHANGE_TYPE"
2728
- ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED = 57
2732
+ ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED = 59
2729
2733
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED] = "POST_PLAYER_COLLECTIBLE_ADDED"
2730
- ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED = 58
2734
+ ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED = 60
2731
2735
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED] = "POST_PLAYER_COLLECTIBLE_REMOVED"
2732
- ____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE = 59
2736
+ ____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE = 61
2733
2737
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE] = "POST_PLAYER_FATAL_DAMAGE"
2734
- ____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST = 60
2738
+ ____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST = 62
2735
2739
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_FIRST] = "POST_PLAYER_INIT_FIRST"
2736
- ____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE = 61
2740
+ ____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE = 63
2737
2741
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE] = "POST_PLAYER_INIT_LATE"
2738
- ____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED = 62
2742
+ ____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED = 64
2739
2743
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED] = "POST_PLAYER_RENDER_REORDERED"
2740
- ____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED = 63
2744
+ ____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED = 65
2741
2745
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED] = "POST_PLAYER_UPDATE_REORDERED"
2742
- ____exports.ModCallbackCustom.POST_POOP_RENDER = 64
2746
+ ____exports.ModCallbackCustom.POST_POOP_RENDER = 66
2743
2747
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_RENDER] = "POST_POOP_RENDER"
2744
- ____exports.ModCallbackCustom.POST_POOP_UPDATE = 65
2748
+ ____exports.ModCallbackCustom.POST_POOP_UPDATE = 67
2745
2749
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_UPDATE] = "POST_POOP_UPDATE"
2746
- ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER = 66
2750
+ ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER = 68
2747
2751
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER] = "POST_PRESSURE_PLATE_RENDER"
2748
- ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE = 67
2752
+ ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE = 69
2749
2753
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE] = "POST_PRESSURE_PLATE_UPDATE"
2750
- ____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE = 68
2754
+ ____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE = 70
2751
2755
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE] = "POST_PROJECTILE_INIT_LATE"
2752
- ____exports.ModCallbackCustom.POST_PURCHASE = 69
2756
+ ____exports.ModCallbackCustom.POST_PURCHASE = 71
2753
2757
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PURCHASE] = "POST_PURCHASE"
2754
- ____exports.ModCallbackCustom.POST_ROCK_RENDER = 70
2758
+ ____exports.ModCallbackCustom.POST_ROCK_RENDER = 72
2755
2759
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_RENDER] = "POST_ROCK_RENDER"
2756
- ____exports.ModCallbackCustom.POST_ROCK_UPDATE = 71
2760
+ ____exports.ModCallbackCustom.POST_ROCK_UPDATE = 73
2757
2761
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_UPDATE] = "POST_ROCK_UPDATE"
2758
- ____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED = 72
2762
+ ____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED = 74
2759
2763
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED] = "POST_ROOM_CLEAR_CHANGED"
2760
- ____exports.ModCallbackCustom.POST_SACRIFICE = 73
2764
+ ____exports.ModCallbackCustom.POST_SACRIFICE = 75
2761
2765
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SACRIFICE] = "POST_SACRIFICE"
2762
- ____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 74
2766
+ ____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 76
2763
2767
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED] = "POST_SLOT_ANIMATION_CHANGED"
2764
- ____exports.ModCallbackCustom.POST_SLOT_COLLISION = 75
2768
+ ____exports.ModCallbackCustom.POST_SLOT_COLLISION = 77
2765
2769
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_COLLISION] = "POST_SLOT_COLLISION"
2766
- ____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 76
2770
+ ____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 78
2767
2771
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_DESTROYED] = "POST_SLOT_DESTROYED"
2768
- ____exports.ModCallbackCustom.POST_SLOT_INIT = 77
2772
+ ____exports.ModCallbackCustom.POST_SLOT_INIT = 79
2769
2773
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_INIT] = "POST_SLOT_INIT"
2770
- ____exports.ModCallbackCustom.POST_SLOT_RENDER = 78
2774
+ ____exports.ModCallbackCustom.POST_SLOT_RENDER = 80
2771
2775
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_RENDER] = "POST_SLOT_RENDER"
2772
- ____exports.ModCallbackCustom.POST_SLOT_UPDATE = 79
2776
+ ____exports.ModCallbackCustom.POST_SLOT_UPDATE = 81
2773
2777
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_UPDATE] = "POST_SLOT_UPDATE"
2774
- ____exports.ModCallbackCustom.POST_SPIKES_RENDER = 80
2778
+ ____exports.ModCallbackCustom.POST_SPIKES_RENDER = 82
2775
2779
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_RENDER] = "POST_SPIKES_RENDER"
2776
- ____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 81
2780
+ ____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 83
2777
2781
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_UPDATE] = "POST_SPIKES_UPDATE"
2778
- ____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 82
2782
+ ____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 84
2779
2783
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_LATE] = "POST_TEAR_INIT_LATE"
2780
- ____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 83
2784
+ ____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 85
2781
2785
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE] = "POST_TEAR_INIT_VERY_LATE"
2782
- ____exports.ModCallbackCustom.POST_TNT_RENDER = 84
2786
+ ____exports.ModCallbackCustom.POST_TNT_RENDER = 86
2783
2787
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_RENDER] = "POST_TNT_RENDER"
2784
- ____exports.ModCallbackCustom.POST_TNT_UPDATE = 85
2788
+ ____exports.ModCallbackCustom.POST_TNT_UPDATE = 87
2785
2789
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_UPDATE] = "POST_TNT_UPDATE"
2786
- ____exports.ModCallbackCustom.POST_TRANSFORMATION = 86
2790
+ ____exports.ModCallbackCustom.POST_TRANSFORMATION = 88
2787
2791
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRANSFORMATION] = "POST_TRANSFORMATION"
2788
- ____exports.ModCallbackCustom.POST_TRINKET_BREAK = 87
2792
+ ____exports.ModCallbackCustom.POST_TRINKET_BREAK = 89
2789
2793
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRINKET_BREAK] = "POST_TRINKET_BREAK"
2790
- ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 88
2794
+ ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 90
2791
2795
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_BERSERK_DEATH] = "PRE_BERSERK_DEATH"
2792
- ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 89
2796
+ ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 91
2793
2797
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE] = "PRE_CUSTOM_REVIVE"
2794
- ____exports.ModCallbackCustom.PRE_GET_PEDESTAL = 90
2798
+ ____exports.ModCallbackCustom.PRE_GET_PEDESTAL = 92
2795
2799
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_GET_PEDESTAL] = "PRE_GET_PEDESTAL"
2796
- ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 91
2800
+ ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 93
2797
2801
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_ITEM_PICKUP] = "PRE_ITEM_PICKUP"
2798
- ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 92
2802
+ ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 94
2799
2803
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NEW_LEVEL] = "PRE_NEW_LEVEL"
2800
2804
  return ____exports
2801
2805
  end,
@@ -27530,6 +27534,34 @@ function PostNewRoomReordered.prototype.____constructor(self)
27530
27534
  CustomCallback.prototype.____constructor(self)
27531
27535
  self.featuresUsed = {ISCFeature.GAME_REORDERED_CALLBACKS}
27532
27536
  end
27537
+ return ____exports
27538
+ end,
27539
+ ["src.classes.callbacks.PostNPCInitFilter"] = function(...)
27540
+ local ____lualib = require("lualib_bundle")
27541
+ local __TS__Class = ____lualib.__TS__Class
27542
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
27543
+ local Set = ____lualib.Set
27544
+ local __TS__New = ____lualib.__TS__New
27545
+ local ____exports = {}
27546
+ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
27547
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
27548
+ local ____shouldFire = require("src.shouldFire")
27549
+ local shouldFireNPC = ____shouldFire.shouldFireNPC
27550
+ local ____CustomCallback = require("src.classes.private.CustomCallback")
27551
+ local CustomCallback = ____CustomCallback.CustomCallback
27552
+ ____exports.PostNPCInitFilter = __TS__Class()
27553
+ local PostNPCInitFilter = ____exports.PostNPCInitFilter
27554
+ PostNPCInitFilter.name = "PostNPCInitFilter"
27555
+ __TS__ClassExtends(PostNPCInitFilter, CustomCallback)
27556
+ function PostNPCInitFilter.prototype.____constructor(self)
27557
+ CustomCallback.prototype.____constructor(self)
27558
+ self.v = {room = {firedSet = __TS__New(Set)}}
27559
+ self.shouldFire = shouldFireNPC
27560
+ self.postNPCInit = function(____, npc)
27561
+ self:fire(npc)
27562
+ end
27563
+ self.callbacksUsed = {{ModCallback.POST_NPC_INIT, {self.postNPCInit}}}
27564
+ end
27533
27565
  return ____exports
27534
27566
  end,
27535
27567
  ["src.classes.callbacks.PostNPCInitLate"] = function(...)
@@ -27600,6 +27632,34 @@ function PostNPCStateChanged.prototype.____constructor(self)
27600
27632
  end
27601
27633
  self.callbacksUsed = {{ModCallback.POST_NPC_UPDATE, {self.postNPCUpdate}}}
27602
27634
  end
27635
+ return ____exports
27636
+ end,
27637
+ ["src.classes.callbacks.PostNPCUpdateFilter"] = function(...)
27638
+ local ____lualib = require("lualib_bundle")
27639
+ local __TS__Class = ____lualib.__TS__Class
27640
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
27641
+ local Set = ____lualib.Set
27642
+ local __TS__New = ____lualib.__TS__New
27643
+ local ____exports = {}
27644
+ local ____isaac_2Dtypescript_2Ddefinitions = require("lua_modules.isaac-typescript-definitions.dist.src.index")
27645
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
27646
+ local ____shouldFire = require("src.shouldFire")
27647
+ local shouldFireNPC = ____shouldFire.shouldFireNPC
27648
+ local ____CustomCallback = require("src.classes.private.CustomCallback")
27649
+ local CustomCallback = ____CustomCallback.CustomCallback
27650
+ ____exports.PostNPCUpdateFilter = __TS__Class()
27651
+ local PostNPCUpdateFilter = ____exports.PostNPCUpdateFilter
27652
+ PostNPCUpdateFilter.name = "PostNPCUpdateFilter"
27653
+ __TS__ClassExtends(PostNPCUpdateFilter, CustomCallback)
27654
+ function PostNPCUpdateFilter.prototype.____constructor(self)
27655
+ CustomCallback.prototype.____constructor(self)
27656
+ self.v = {room = {firedSet = __TS__New(Set)}}
27657
+ self.shouldFire = shouldFireNPC
27658
+ self.postNPCUpdate = function(____, npc)
27659
+ self:fire(npc)
27660
+ end
27661
+ self.callbacksUsed = {{ModCallback.POST_NPC_UPDATE, {self.postNPCUpdate}}}
27662
+ end
27603
27663
  return ____exports
27604
27664
  end,
27605
27665
  ["src.classes.callbacks.PostPEffectUpdateReordered"] = function(...)
@@ -29977,10 +30037,14 @@ local ____PostNewRoomEarly = require("src.classes.callbacks.PostNewRoomEarly")
29977
30037
  local PostNewRoomEarly = ____PostNewRoomEarly.PostNewRoomEarly
29978
30038
  local ____PostNewRoomReordered = require("src.classes.callbacks.PostNewRoomReordered")
29979
30039
  local PostNewRoomReordered = ____PostNewRoomReordered.PostNewRoomReordered
30040
+ local ____PostNPCInitFilter = require("src.classes.callbacks.PostNPCInitFilter")
30041
+ local PostNPCInitFilter = ____PostNPCInitFilter.PostNPCInitFilter
29980
30042
  local ____PostNPCInitLate = require("src.classes.callbacks.PostNPCInitLate")
29981
30043
  local PostNPCInitLate = ____PostNPCInitLate.PostNPCInitLate
29982
30044
  local ____PostNPCStateChanged = require("src.classes.callbacks.PostNPCStateChanged")
29983
30045
  local PostNPCStateChanged = ____PostNPCStateChanged.PostNPCStateChanged
30046
+ local ____PostNPCUpdateFilter = require("src.classes.callbacks.PostNPCUpdateFilter")
30047
+ local PostNPCUpdateFilter = ____PostNPCUpdateFilter.PostNPCUpdateFilter
29984
30048
  local ____PostPEffectUpdateReordered = require("src.classes.callbacks.PostPEffectUpdateReordered")
29985
30049
  local PostPEffectUpdateReordered = ____PostPEffectUpdateReordered.PostPEffectUpdateReordered
29986
30050
  local ____PostPickupCollect = require("src.classes.callbacks.PostPickupCollect")
@@ -30125,8 +30189,10 @@ local MOD_CALLBACK_CUSTOM_TO_CLASS = newObjectWithEnumKeys(nil, ModCallbackCusto
30125
30189
  [ModCallbackCustom.POST_NEW_LEVEL_REORDERED] = PostNewLevelReordered,
30126
30190
  [ModCallbackCustom.POST_NEW_ROOM_EARLY] = PostNewRoomEarly,
30127
30191
  [ModCallbackCustom.POST_NEW_ROOM_REORDERED] = PostNewRoomReordered,
30192
+ [ModCallbackCustom.POST_NPC_INIT_FILTER] = PostNPCInitFilter,
30128
30193
  [ModCallbackCustom.POST_NPC_INIT_LATE] = PostNPCInitLate,
30129
30194
  [ModCallbackCustom.POST_NPC_STATE_CHANGED] = PostNPCStateChanged,
30195
+ [ModCallbackCustom.POST_NPC_UPDATE_FILTER] = PostNPCUpdateFilter,
30130
30196
  [ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED] = PostPEffectUpdateReordered,
30131
30197
  [ModCallbackCustom.POST_PICKUP_COLLECT] = PostPickupCollect,
30132
30198
  [ModCallbackCustom.POST_PICKUP_INIT_FIRST] = PostPickupInitFirst,
@@ -48213,7 +48279,6 @@ return ____exports
48213
48279
  ["src.classes.ModFeature"] = function(...)
48214
48280
  local ____lualib = require("lualib_bundle")
48215
48281
  local __TS__Class = ____lualib.__TS__Class
48216
- local __TS__Spread = ____lualib.__TS__Spread
48217
48282
  local ____exports = {}
48218
48283
  local checkAddDecoratedCallbacks, checkAddDecoratedCallbacksCustom, checkRegisterSaveDataManager
48219
48284
  local ____tstlClass = require("src.functions.tstlClass")
@@ -48221,22 +48286,56 @@ local getTSTLClassConstructor = ____tstlClass.getTSTLClassConstructor
48221
48286
  local getTSTLClassName = ____tstlClass.getTSTLClassName
48222
48287
  local ____types = require("src.functions.types")
48223
48288
  local isTable = ____types.isTable
48224
- function checkAddDecoratedCallbacks(self, mod, modFeatureConstructor)
48289
+ function checkAddDecoratedCallbacks(self, mod, modFeatureConstructor, modFeature)
48225
48290
  local addCallbackArgs = modFeatureConstructor[____exports.ADD_CALLBACK_ARGS_KEY]
48226
48291
  if addCallbackArgs == nil then
48227
48292
  return
48228
48293
  end
48294
+ local tstlClassName = getTSTLClassName(nil, modFeatureConstructor) or "Unknown"
48229
48295
  for ____, args in ipairs(addCallbackArgs) do
48230
- mod:AddCallback(__TS__Spread(args))
48296
+ local parameters = args
48297
+ local modCallback = table.remove(parameters, 1)
48298
+ if modCallback == nil then
48299
+ error("Failed to get the ModCallback from the parameters for class: " .. tstlClassName)
48300
+ end
48301
+ local callback = table.remove(parameters, 1)
48302
+ if callback == nil then
48303
+ error("Failed to get the callback from the parameters for class: " .. tstlClassName)
48304
+ end
48305
+ local function newCallback(____, ...)
48306
+ callback(modFeature, ...)
48307
+ end
48308
+ mod:AddCallback(
48309
+ modCallback,
48310
+ newCallback,
48311
+ table.unpack(parameters)
48312
+ )
48231
48313
  end
48232
48314
  end
48233
- function checkAddDecoratedCallbacksCustom(self, mod, modFeatureConstructor)
48315
+ function checkAddDecoratedCallbacksCustom(self, mod, modFeatureConstructor, modFeature)
48234
48316
  local addCallbackCustomArgs = modFeatureConstructor[____exports.ADD_CALLBACK_CUSTOM_ARGS_KEY]
48235
48317
  if addCallbackCustomArgs == nil then
48236
48318
  return
48237
48319
  end
48320
+ local tstlClassName = getTSTLClassName(nil, modFeatureConstructor) or "Unknown"
48238
48321
  for ____, args in ipairs(addCallbackCustomArgs) do
48239
- mod:AddCallbackCustom(__TS__Spread(args))
48322
+ local parameters = args
48323
+ local modCallbackCustom = table.remove(parameters, 1)
48324
+ if modCallbackCustom == nil then
48325
+ error("Failed to get the ModCallbackCustom from the parameters for class: " .. tstlClassName)
48326
+ end
48327
+ local callback = table.remove(parameters, 1)
48328
+ if callback == nil then
48329
+ error("Failed to get the callback from the parameters for class: " .. tstlClassName)
48330
+ end
48331
+ local function newCallback(____, ...)
48332
+ callback(modFeature, ...)
48333
+ end
48334
+ mod:AddCallbackCustom(
48335
+ modCallbackCustom,
48336
+ newCallback,
48337
+ table.unpack(parameters)
48338
+ )
48240
48339
  end
48241
48340
  end
48242
48341
  function checkRegisterSaveDataManager(self, mod, modFeature)
@@ -48267,8 +48366,8 @@ function ModFeature.prototype.____constructor(self, mod)
48267
48366
  error("Failed to get the TSTL class constructor for a mod feature.")
48268
48367
  end
48269
48368
  local modFeatureConstructor = constructor
48270
- checkAddDecoratedCallbacks(nil, mod, modFeatureConstructor)
48271
- checkAddDecoratedCallbacksCustom(nil, mod, modFeatureConstructor)
48369
+ checkAddDecoratedCallbacks(nil, mod, modFeatureConstructor, self)
48370
+ checkAddDecoratedCallbacksCustom(nil, mod, modFeatureConstructor, self)
48272
48371
  checkRegisterSaveDataManager(nil, mod, self)
48273
48372
  end
48274
48373
  return ____exports
@@ -48646,6 +48745,8 @@ local ____exports = {}
48646
48745
  local ____ModFeature = require("src.classes.ModFeature")
48647
48746
  local ADD_CALLBACK_ARGS_KEY = ____ModFeature.ADD_CALLBACK_ARGS_KEY
48648
48747
  local ADD_CALLBACK_CUSTOM_ARGS_KEY = ____ModFeature.ADD_CALLBACK_CUSTOM_ARGS_KEY
48748
+ local ____tstlClass = require("src.functions.tstlClass")
48749
+ local getTSTLClassName = ____tstlClass.getTSTLClassName
48649
48750
  function ____exports.Callback(self, modCallback, ...)
48650
48751
  local optionalArgs = {...}
48651
48752
  return function(____, target, propertyKey, _descriptor)
@@ -48657,6 +48758,10 @@ function ____exports.Callback(self, modCallback, ...)
48657
48758
  __TS__Spread(optionalArgs)
48658
48759
  }
48659
48760
  local constructor = target.constructor
48761
+ if constructor == nil then
48762
+ local tstlClassName = getTSTLClassName(nil, target) or "Unknown"
48763
+ error(("Failed to get the constructor for class \"" .. tstlClassName) .. "\". Did you decorate a static method? You can only decorate non-static class methods, because the \"Mod\" object is not present before the class is instantiated.")
48764
+ end
48660
48765
  if not (constructor[ADD_CALLBACK_ARGS_KEY] ~= nil) then
48661
48766
  constructor[ADD_CALLBACK_ARGS_KEY] = {}
48662
48767
  end
@@ -48675,6 +48780,10 @@ function ____exports.CallbackCustom(self, modCallbackCustom, ...)
48675
48780
  __TS__Spread(optionalArgs)
48676
48781
  }
48677
48782
  local constructor = target.constructor
48783
+ if constructor == nil then
48784
+ local tstlClassName = getTSTLClassName(nil, target) or "Unknown"
48785
+ error(("Failed to get the constructor for class \"" .. tstlClassName) .. "\". Did you decorate a static method? You can only decorate non-static class methods, because the \"Mod\" object is not present before the class is instantiated.")
48786
+ end
48678
48787
  if not (constructor[ADD_CALLBACK_CUSTOM_ARGS_KEY] ~= nil) then
48679
48788
  constructor[ADD_CALLBACK_CUSTOM_ARGS_KEY] = {}
48680
48789
  end
@@ -43,8 +43,10 @@ import { PostLaserInitLate } from "./classes/callbacks/PostLaserInitLate";
43
43
  import { PostNewLevelReordered } from "./classes/callbacks/PostNewLevelReordered";
44
44
  import { PostNewRoomEarly } from "./classes/callbacks/PostNewRoomEarly";
45
45
  import { PostNewRoomReordered } from "./classes/callbacks/PostNewRoomReordered";
46
+ import { PostNPCInitFilter } from "./classes/callbacks/PostNPCInitFilter";
46
47
  import { PostNPCInitLate } from "./classes/callbacks/PostNPCInitLate";
47
48
  import { PostNPCStateChanged } from "./classes/callbacks/PostNPCStateChanged";
49
+ import { PostNPCUpdateFilter } from "./classes/callbacks/PostNPCUpdateFilter";
48
50
  import { PostPEffectUpdateReordered } from "./classes/callbacks/PostPEffectUpdateReordered";
49
51
  import { PostPickupCollect } from "./classes/callbacks/PostPickupCollect";
50
52
  import { PostPickupInitFirst } from "./classes/callbacks/PostPickupInitFirst";
@@ -137,54 +139,56 @@ declare const MOD_CALLBACK_CUSTOM_TO_CLASS: {
137
139
  readonly 42: typeof PostNewLevelReordered;
138
140
  readonly 43: typeof PostNewRoomEarly;
139
141
  readonly 44: typeof PostNewRoomReordered;
140
- readonly 45: typeof PostNPCInitLate;
141
- readonly 46: typeof PostNPCStateChanged;
142
- readonly 47: typeof PostPEffectUpdateReordered;
143
- readonly 48: typeof PostPickupCollect;
144
- readonly 49: typeof PostPickupInitFirst;
145
- readonly 50: typeof PostPickupInitLate;
146
- readonly 51: typeof PostPickupStateChanged;
147
- readonly 52: typeof PostPitRender;
148
- readonly 53: typeof PostPitUpdate;
149
- readonly 54: typeof PostPlayerChangeHealth;
150
- readonly 55: typeof PostPlayerChangeStat;
151
- readonly 56: typeof PostPlayerChangeType;
152
- readonly 57: typeof PostPlayerCollectibleAdded;
153
- readonly 58: typeof PostPlayerCollectibleRemoved;
154
- readonly 59: typeof PostPlayerFatalDamage;
155
- readonly 60: typeof PostPlayerInitFirst;
156
- readonly 61: typeof PostPlayerInitLate;
157
- readonly 62: typeof PostPlayerRenderReordered;
158
- readonly 63: typeof PostPlayerUpdateReordered;
159
- readonly 64: typeof PostPoopRender;
160
- readonly 65: typeof PostPoopUpdate;
161
- readonly 66: typeof PostPressurePlateRender;
162
- readonly 67: typeof PostPressurePlateUpdate;
163
- readonly 68: typeof PostProjectileInitLate;
164
- readonly 69: typeof PostPurchase;
165
- readonly 70: typeof PostRockRender;
166
- readonly 71: typeof PostRockUpdate;
167
- readonly 72: typeof PostRoomClearChanged;
168
- readonly 73: typeof PostSacrifice;
169
- readonly 74: typeof PostSlotAnimationChanged;
170
- readonly 75: typeof PostSlotCollision;
171
- readonly 76: typeof PostSlotDestroyed;
172
- readonly 77: typeof PostSlotInit;
173
- readonly 78: typeof PostSlotRender;
174
- readonly 79: typeof PostSlotUpdate;
175
- readonly 80: typeof PostSpikesRender;
176
- readonly 81: typeof PostSpikesUpdate;
177
- readonly 82: typeof PostTearInitLate;
178
- readonly 83: typeof PostTearInitVeryLate;
179
- readonly 84: typeof PostTNTRender;
180
- readonly 85: typeof PostTNTUpdate;
181
- readonly 86: typeof PostTransformation;
182
- readonly 87: typeof PostTrinketBreak;
183
- readonly 88: typeof PreBerserkDeath;
184
- readonly 89: typeof PreCustomRevive;
185
- readonly 90: typeof PreGetPedestal;
186
- readonly 91: typeof PreItemPickup;
187
- readonly 92: typeof PreNewLevel;
142
+ readonly 45: typeof PostNPCInitFilter;
143
+ readonly 46: typeof PostNPCInitLate;
144
+ readonly 47: typeof PostNPCStateChanged;
145
+ readonly 48: typeof PostNPCUpdateFilter;
146
+ readonly 49: typeof PostPEffectUpdateReordered;
147
+ readonly 50: typeof PostPickupCollect;
148
+ readonly 51: typeof PostPickupInitFirst;
149
+ readonly 52: typeof PostPickupInitLate;
150
+ readonly 53: typeof PostPickupStateChanged;
151
+ readonly 54: typeof PostPitRender;
152
+ readonly 55: typeof PostPitUpdate;
153
+ readonly 56: typeof PostPlayerChangeHealth;
154
+ readonly 57: typeof PostPlayerChangeStat;
155
+ readonly 58: typeof PostPlayerChangeType;
156
+ readonly 59: typeof PostPlayerCollectibleAdded;
157
+ readonly 60: typeof PostPlayerCollectibleRemoved;
158
+ readonly 61: typeof PostPlayerFatalDamage;
159
+ readonly 62: typeof PostPlayerInitFirst;
160
+ readonly 63: typeof PostPlayerInitLate;
161
+ readonly 64: typeof PostPlayerRenderReordered;
162
+ readonly 65: typeof PostPlayerUpdateReordered;
163
+ readonly 66: typeof PostPoopRender;
164
+ readonly 67: typeof PostPoopUpdate;
165
+ readonly 68: typeof PostPressurePlateRender;
166
+ readonly 69: typeof PostPressurePlateUpdate;
167
+ readonly 70: typeof PostProjectileInitLate;
168
+ readonly 71: typeof PostPurchase;
169
+ readonly 72: typeof PostRockRender;
170
+ readonly 73: typeof PostRockUpdate;
171
+ readonly 74: typeof PostRoomClearChanged;
172
+ readonly 75: typeof PostSacrifice;
173
+ readonly 76: typeof PostSlotAnimationChanged;
174
+ readonly 77: typeof PostSlotCollision;
175
+ readonly 78: typeof PostSlotDestroyed;
176
+ readonly 79: typeof PostSlotInit;
177
+ readonly 80: typeof PostSlotRender;
178
+ readonly 81: typeof PostSlotUpdate;
179
+ readonly 82: typeof PostSpikesRender;
180
+ readonly 83: typeof PostSpikesUpdate;
181
+ readonly 84: typeof PostTearInitLate;
182
+ readonly 85: typeof PostTearInitVeryLate;
183
+ readonly 86: typeof PostTNTRender;
184
+ readonly 87: typeof PostTNTUpdate;
185
+ readonly 88: typeof PostTransformation;
186
+ readonly 89: typeof PostTrinketBreak;
187
+ readonly 90: typeof PreBerserkDeath;
188
+ readonly 91: typeof PreCustomRevive;
189
+ readonly 92: typeof PreGetPedestal;
190
+ readonly 93: typeof PreItemPickup;
191
+ readonly 94: typeof PreNewLevel;
188
192
  };
189
193
  export declare type ModCallbackCustomToClass = {
190
194
  readonly [key in keyof typeof MOD_CALLBACK_CUSTOM_TO_CLASS]: InstanceType<typeof MOD_CALLBACK_CUSTOM_TO_CLASS[key]>;
@@ -1 +1 @@
1
- {"version":3,"file":"callbacks.d.ts","sourceRoot":"","sources":["../../src/callbacks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callbacks.d.ts","sourceRoot":"","sources":["../../src/callbacks.ts"],"names":[],"mappings":"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"}
@@ -91,10 +91,14 @@ local ____PostNewRoomEarly = require("src.classes.callbacks.PostNewRoomEarly")
91
91
  local PostNewRoomEarly = ____PostNewRoomEarly.PostNewRoomEarly
92
92
  local ____PostNewRoomReordered = require("src.classes.callbacks.PostNewRoomReordered")
93
93
  local PostNewRoomReordered = ____PostNewRoomReordered.PostNewRoomReordered
94
+ local ____PostNPCInitFilter = require("src.classes.callbacks.PostNPCInitFilter")
95
+ local PostNPCInitFilter = ____PostNPCInitFilter.PostNPCInitFilter
94
96
  local ____PostNPCInitLate = require("src.classes.callbacks.PostNPCInitLate")
95
97
  local PostNPCInitLate = ____PostNPCInitLate.PostNPCInitLate
96
98
  local ____PostNPCStateChanged = require("src.classes.callbacks.PostNPCStateChanged")
97
99
  local PostNPCStateChanged = ____PostNPCStateChanged.PostNPCStateChanged
100
+ local ____PostNPCUpdateFilter = require("src.classes.callbacks.PostNPCUpdateFilter")
101
+ local PostNPCUpdateFilter = ____PostNPCUpdateFilter.PostNPCUpdateFilter
98
102
  local ____PostPEffectUpdateReordered = require("src.classes.callbacks.PostPEffectUpdateReordered")
99
103
  local PostPEffectUpdateReordered = ____PostPEffectUpdateReordered.PostPEffectUpdateReordered
100
104
  local ____PostPickupCollect = require("src.classes.callbacks.PostPickupCollect")
@@ -239,8 +243,10 @@ local MOD_CALLBACK_CUSTOM_TO_CLASS = newObjectWithEnumKeys(nil, ModCallbackCusto
239
243
  [ModCallbackCustom.POST_NEW_LEVEL_REORDERED] = PostNewLevelReordered,
240
244
  [ModCallbackCustom.POST_NEW_ROOM_EARLY] = PostNewRoomEarly,
241
245
  [ModCallbackCustom.POST_NEW_ROOM_REORDERED] = PostNewRoomReordered,
246
+ [ModCallbackCustom.POST_NPC_INIT_FILTER] = PostNPCInitFilter,
242
247
  [ModCallbackCustom.POST_NPC_INIT_LATE] = PostNPCInitLate,
243
248
  [ModCallbackCustom.POST_NPC_STATE_CHANGED] = PostNPCStateChanged,
249
+ [ModCallbackCustom.POST_NPC_UPDATE_FILTER] = PostNPCUpdateFilter,
244
250
  [ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED] = PostPEffectUpdateReordered,
245
251
  [ModCallbackCustom.POST_PICKUP_COLLECT] = PostPickupCollect,
246
252
  [ModCallbackCustom.POST_PICKUP_INIT_FIRST] = PostPickupInitFirst,
@@ -6,10 +6,20 @@ export declare const ADD_CALLBACK_CUSTOM_ARGS_KEY = "__addCallbackCustomArgs";
6
6
  * mod features from this class in order to enable the `@Callback` and `@CustomCallback` decorators
7
7
  * that automatically subscribe to callbacks.
8
8
  *
9
+ * If your feature has variables that are managed by the save data manager, put them as a `v` class
10
+ * member and they will automatically be registered with the save data manager when the class is
11
+ * instantiated.
12
+ *
9
13
  * For example:
10
14
  *
11
15
  * ```ts
12
16
  * export class MyFeature extends ModFeature {
17
+ * v = {
18
+ * run: {
19
+ * foo: 123,
20
+ * }
21
+ * }
22
+ *
13
23
  * @Callback(ModCallback.POST_GAME_STARTED)
14
24
  * postGameStarted(isContinued: boolean): void {
15
25
  * Isaac.DebugString(`Callback fired: POST_GAME_STARTED`);
@@ -1 +1 @@
1
- {"version":3,"file":"ModFeature.d.ts","sourceRoot":"","sources":["../../../src/classes/ModFeature.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AAOtE;;;;;;;;;;;;;;;GAeG;AAEH,qBAAa,UAAU;gBACT,GAAG,EAAE,eAAe;CAWjC"}
1
+ {"version":3,"file":"ModFeature.d.ts","sourceRoot":"","sources":["../../../src/classes/ModFeature.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,qBAAqB,sBAAsB,CAAC;AACzD,eAAO,MAAM,4BAA4B,4BAA4B,CAAC;AAOtE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,qBAAa,UAAU;gBACT,GAAG,EAAE,eAAe;CAWjC"}