isaacscript-common 76.2.0 → 76.3.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 (121) hide show
  1. package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts +8 -0
  2. package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
  3. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts +6 -0
  4. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
  5. package/dist/classes/features/other/CharacterHealthConversion.d.ts +2 -0
  6. package/dist/classes/features/other/CharacterHealthConversion.d.ts.map +1 -1
  7. package/dist/classes/features/other/CharacterStats.d.ts +2 -0
  8. package/dist/classes/features/other/CharacterStats.d.ts.map +1 -1
  9. package/dist/classes/features/other/CollectibleItemPoolType.d.ts +2 -0
  10. package/dist/classes/features/other/CollectibleItemPoolType.d.ts.map +1 -1
  11. package/dist/classes/features/other/CustomHotkeys.d.ts +4 -0
  12. package/dist/classes/features/other/CustomHotkeys.d.ts.map +1 -1
  13. package/dist/classes/features/other/CustomItemPools.d.ts +2 -0
  14. package/dist/classes/features/other/CustomItemPools.d.ts.map +1 -1
  15. package/dist/classes/features/other/CustomPickups.d.ts +1 -0
  16. package/dist/classes/features/other/CustomPickups.d.ts.map +1 -1
  17. package/dist/classes/features/other/CustomStages.d.ts +3 -0
  18. package/dist/classes/features/other/CustomStages.d.ts.map +1 -1
  19. package/dist/classes/features/other/DebugDisplay.d.ts +54 -0
  20. package/dist/classes/features/other/DebugDisplay.d.ts.map +1 -1
  21. package/dist/classes/features/other/DeployJSONRoom.d.ts +1 -0
  22. package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
  23. package/dist/classes/features/other/DisableInputs.d.ts +9 -0
  24. package/dist/classes/features/other/DisableInputs.d.ts.map +1 -1
  25. package/dist/classes/features/other/EdenStartingStatsHealth.d.ts +6 -0
  26. package/dist/classes/features/other/EdenStartingStatsHealth.d.ts.map +1 -1
  27. package/dist/classes/features/other/ExtraConsoleCommands.d.ts +6 -0
  28. package/dist/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
  29. package/dist/classes/features/other/FadeInRemover.d.ts +4 -0
  30. package/dist/classes/features/other/FadeInRemover.d.ts.map +1 -1
  31. package/dist/classes/features/other/FastReset.d.ts +4 -0
  32. package/dist/classes/features/other/FastReset.d.ts.map +1 -1
  33. package/dist/classes/features/other/FlyingDetection.d.ts +2 -0
  34. package/dist/classes/features/other/FlyingDetection.d.ts.map +1 -1
  35. package/dist/classes/features/other/ForgottenSwitch.d.ts +2 -0
  36. package/dist/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
  37. package/dist/classes/features/other/ItemPoolDetection.d.ts +6 -0
  38. package/dist/classes/features/other/ItemPoolDetection.d.ts.map +1 -1
  39. package/dist/classes/features/other/ModdedElementDetection.d.ts +32 -0
  40. package/dist/classes/features/other/ModdedElementDetection.d.ts.map +1 -1
  41. package/dist/classes/features/other/ModdedElementSets.d.ts +68 -0
  42. package/dist/classes/features/other/ModdedElementSets.d.ts.map +1 -1
  43. package/dist/classes/features/other/NoSirenSteal.d.ts +1 -0
  44. package/dist/classes/features/other/NoSirenSteal.d.ts.map +1 -1
  45. package/dist/classes/features/other/Pause.d.ts +10 -0
  46. package/dist/classes/features/other/Pause.d.ts.map +1 -1
  47. package/dist/classes/features/other/PersistentEntities.d.ts +2 -0
  48. package/dist/classes/features/other/PersistentEntities.d.ts.map +1 -1
  49. package/dist/classes/features/other/PlayerCollectibleTracking.d.ts +3 -0
  50. package/dist/classes/features/other/PlayerCollectibleTracking.d.ts.map +1 -1
  51. package/dist/classes/features/other/PonyDetection.d.ts +4 -0
  52. package/dist/classes/features/other/PonyDetection.d.ts.map +1 -1
  53. package/dist/classes/features/other/PreventChildEntities.d.ts +2 -0
  54. package/dist/classes/features/other/PreventChildEntities.d.ts.map +1 -1
  55. package/dist/classes/features/other/RoomClearFrame.d.ts +19 -0
  56. package/dist/classes/features/other/RoomClearFrame.d.ts.map +1 -1
  57. package/dist/classes/features/other/RoomClearFrame.lua +8 -2
  58. package/dist/classes/features/other/RoomHistory.d.ts +17 -1
  59. package/dist/classes/features/other/RoomHistory.d.ts.map +1 -1
  60. package/dist/classes/features/other/RunInNFrames.d.ts +9 -2
  61. package/dist/classes/features/other/RunInNFrames.d.ts.map +1 -1
  62. package/dist/classes/features/other/RunNextRun.d.ts +2 -0
  63. package/dist/classes/features/other/RunNextRun.d.ts.map +1 -1
  64. package/dist/classes/features/other/SaveDataManager.d.ts +21 -0
  65. package/dist/classes/features/other/SaveDataManager.d.ts.map +1 -1
  66. package/dist/classes/features/other/SpawnRockAltRewards.d.ts +1 -0
  67. package/dist/classes/features/other/SpawnRockAltRewards.d.ts.map +1 -1
  68. package/dist/classes/features/other/StageHistory.d.ts +3 -0
  69. package/dist/classes/features/other/StageHistory.d.ts.map +1 -1
  70. package/dist/classes/features/other/StartAmbush.d.ts +2 -0
  71. package/dist/classes/features/other/StartAmbush.d.ts.map +1 -1
  72. package/dist/classes/features/other/TaintedLazarusPlayers.d.ts +2 -0
  73. package/dist/classes/features/other/TaintedLazarusPlayers.d.ts.map +1 -1
  74. package/dist/classes/features/other/UnlockAchievementsDetection.d.ts +2 -0
  75. package/dist/classes/features/other/UnlockAchievementsDetection.d.ts.map +1 -1
  76. package/dist/classes/private/CustomCallback.d.ts +0 -1
  77. package/dist/classes/private/CustomCallback.d.ts.map +1 -1
  78. package/dist/classes/private/CustomCallback.lua +0 -19
  79. package/dist/functions/players.d.ts.map +1 -1
  80. package/dist/functions/players.lua +7 -7
  81. package/dist/index.rollup.d.ts +324 -4
  82. package/dist/isaacscript-common.lua +370 -383
  83. package/package.json +1 -1
  84. package/src/classes/features/callbackLogic/CustomGridEntities.ts +8 -0
  85. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +6 -0
  86. package/src/classes/features/other/CharacterHealthConversion.ts +2 -0
  87. package/src/classes/features/other/CharacterStats.ts +2 -0
  88. package/src/classes/features/other/CollectibleItemPoolType.ts +2 -0
  89. package/src/classes/features/other/CustomHotkeys.ts +4 -0
  90. package/src/classes/features/other/CustomItemPools.ts +2 -0
  91. package/src/classes/features/other/CustomPickups.ts +1 -0
  92. package/src/classes/features/other/CustomStages.ts +3 -0
  93. package/src/classes/features/other/DebugDisplay.ts +54 -0
  94. package/src/classes/features/other/DeployJSONRoom.ts +1 -0
  95. package/src/classes/features/other/DisableInputs.ts +9 -0
  96. package/src/classes/features/other/EdenStartingStatsHealth.ts +6 -0
  97. package/src/classes/features/other/ExtraConsoleCommands.ts +6 -0
  98. package/src/classes/features/other/FadeInRemover.ts +4 -0
  99. package/src/classes/features/other/FastReset.ts +4 -0
  100. package/src/classes/features/other/FlyingDetection.ts +2 -0
  101. package/src/classes/features/other/ForgottenSwitch.ts +2 -0
  102. package/src/classes/features/other/ItemPoolDetection.ts +6 -0
  103. package/src/classes/features/other/ModdedElementDetection.ts +32 -0
  104. package/src/classes/features/other/ModdedElementSets.ts +68 -0
  105. package/src/classes/features/other/NoSirenSteal.ts +1 -0
  106. package/src/classes/features/other/Pause.ts +10 -0
  107. package/src/classes/features/other/PersistentEntities.ts +2 -0
  108. package/src/classes/features/other/PlayerCollectibleTracking.ts +3 -0
  109. package/src/classes/features/other/PonyDetection.ts +4 -0
  110. package/src/classes/features/other/PreventChildEntities.ts +2 -0
  111. package/src/classes/features/other/RoomClearFrame.ts +27 -1
  112. package/src/classes/features/other/RoomHistory.ts +17 -1
  113. package/src/classes/features/other/RunInNFrames.ts +9 -2
  114. package/src/classes/features/other/RunNextRun.ts +2 -0
  115. package/src/classes/features/other/SaveDataManager.ts +21 -0
  116. package/src/classes/features/other/SpawnRockAltRewards.ts +1 -0
  117. package/src/classes/features/other/StageHistory.ts +3 -0
  118. package/src/classes/features/other/StartAmbush.ts +2 -0
  119. package/src/classes/features/other/TaintedLazarusPlayers.ts +2 -0
  120. package/src/classes/features/other/UnlockAchievementsDetection.ts +2 -0
  121. package/src/classes/private/CustomCallback.ts +0 -15
@@ -72,6 +72,8 @@ export class RoomHistory extends Feature {
72
72
  * Helper function to manually delete the last room description from the internal array. This is
73
73
  * useful if a mod needs to send the player to a room temporarily and the room should not count as
74
74
  * the player having traveled to that room.
75
+ *
76
+ * @public
75
77
  */
76
78
  @Exported
77
79
  public deleteLastRoomDescription(): void {
@@ -83,6 +85,8 @@ export class RoomHistory extends Feature {
83
85
  * run. (Re-entering the same room will increment the number returned.)
84
86
  *
85
87
  * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
88
+ *
89
+ * @public
86
90
  */
87
91
  @Exported
88
92
  public getNumRoomsEntered(): int {
@@ -94,6 +98,8 @@ export class RoomHistory extends Feature {
94
98
  * this run.
95
99
  *
96
100
  * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
101
+ *
102
+ * @public
97
103
  */
98
104
  @Exported
99
105
  public getRoomHistory(): ReadonlyArray<Readonly<RoomDescription>> {
@@ -107,6 +113,8 @@ export class RoomHistory extends Feature {
107
113
  * the run), the starting room will be returned.
108
114
  *
109
115
  * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
116
+ *
117
+ * @public
110
118
  */
111
119
  @Exported
112
120
  public getPreviousRoomDescription(): Readonly<RoomDescription> {
@@ -135,13 +143,19 @@ export class RoomHistory extends Feature {
135
143
  * of the run.
136
144
  *
137
145
  * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
146
+ *
147
+ * @public
138
148
  */
139
149
  @Exported
140
150
  public getLatestRoomDescription(): Readonly<RoomDescription> | undefined {
141
151
  return v.run.roomHistory.at(-1);
142
152
  }
143
153
 
144
- /** Helper function to detect if the player is on the first room of the room. */
154
+ /**
155
+ * Helper function to detect if the player is on the first room of the room.
156
+ *
157
+ * @public
158
+ */
145
159
  @Exported
146
160
  public inFirstRoom(): boolean {
147
161
  return v.run.roomHistory.length === 1;
@@ -157,6 +171,8 @@ export class RoomHistory extends Feature {
157
171
  * entity is despawning.
158
172
  *
159
173
  * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
174
+ *
175
+ * @public
160
176
  */
161
177
  @Exported
162
178
  public isLeavingRoom(): boolean {
@@ -100,9 +100,10 @@ export class RunInNFrames extends Feature {
100
100
  * the game inside of the `POST_NEW_ROOM`, `POST_NEW_LEVEL`, or `POST_GAME_STARTED` callbacks when
101
101
  * a run is first starting.
102
102
  *
103
- * You can optionally specify a `PlayerType` to restart the game as that character.
104
- *
105
103
  * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
104
+ *
105
+ * @param character Optional. If specified, will restart the game as the specified character.
106
+ * @public
106
107
  */
107
108
  @Exported
108
109
  public restartNextRenderFrame(character?: PlayerType): void {
@@ -127,6 +128,7 @@ export class RunInNFrames extends Feature {
127
128
  * @param numGameFrames The amount of game frames to wait before running the function.
128
129
  * @param cancelIfRoomChanges Optional. Whether to cancel running the function if a new room is
129
130
  * loaded in the interim. Default is false.
131
+ * @public
130
132
  */
131
133
  @Exported
132
134
  public runInNGameFrames(
@@ -163,6 +165,7 @@ export class RunInNFrames extends Feature {
163
165
  * @param numRenderFrames The amount of render frames to wait before running the function.
164
166
  * @param cancelIfRoomChanges Optional. Whether to cancel running the function if a new room is
165
167
  * loaded in the interim. Default is false.
168
+ * @public
166
169
  */
167
170
  @Exported
168
171
  public runInNRenderFrames(
@@ -216,6 +219,7 @@ export class RunInNFrames extends Feature {
216
219
  * @param func The function to run.
217
220
  * @param cancelIfRoomChanges Optional. Whether to cancel running the function if a new room is
218
221
  * loaded in the interim. Default is false.
222
+ * @public
219
223
  */
220
224
  @Exported
221
225
  public runNextGameFrame(func: () => void, cancelIfRoomChanges = false): void {
@@ -235,6 +239,7 @@ export class RunInNFrames extends Feature {
235
239
  * @param func The function to run.
236
240
  * @param cancelIfRoomChanges Optional. Whether to cancel running the function if a new room is
237
241
  * loaded in the interim. Default is false.
242
+ * @public
238
243
  */
239
244
  @Exported
240
245
  public runNextRenderFrame(
@@ -263,6 +268,7 @@ export class RunInNFrames extends Feature {
263
268
  * interval.
264
269
  * @param cancelIfRoomChanges Optional. Whether to cancel running the function if a new room is
265
270
  * loaded in the interim. Default is false.
271
+ * @public
266
272
  */
267
273
  @Exported
268
274
  public setIntervalGameFrames(
@@ -310,6 +316,7 @@ export class RunInNFrames extends Feature {
310
316
  * interval.
311
317
  * @param cancelIfRoomChanges Optional. Whether to cancel running the function if a new room is
312
318
  * loaded in the interim. Default is false.
319
+ * @public
313
320
  */
314
321
  @Exported
315
322
  public setIntervalRenderFrames(
@@ -46,6 +46,8 @@ export class RunNextRun extends Feature {
46
46
  * deferred functions manually using serializable data.
47
47
  *
48
48
  * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_NEXT_ROOM`.
49
+ *
50
+ * @public
49
51
  */
50
52
  @Exported
51
53
  public runNextRun(func: () => void): void {
@@ -314,6 +314,7 @@ export class SaveDataManager extends Feature {
314
314
  * specify `false` to this argument in order to completely disable saving
315
315
  * data. (Specifying `false` will allow you to use non-serializable objects
316
316
  * in your save data, such as `EntityPtr`.
317
+ * @public
317
318
  */
318
319
  // This is the overload for the standard case with serializable data.
319
320
  public saveDataManager<Persistent, Run, Level>(
@@ -414,6 +415,8 @@ export class SaveDataManager extends Feature {
414
415
  * result in lost state.
415
416
  *
416
417
  * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
418
+ *
419
+ * @public
417
420
  */
418
421
  @Exported
419
422
  public saveDataManagerLoad(): void {
@@ -426,6 +429,8 @@ export class SaveDataManager extends Feature {
426
429
  * all of its variables to disk immediately.
427
430
  *
428
431
  * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
432
+ *
433
+ * @public
429
434
  */
430
435
  @Exported
431
436
  public saveDataManagerSave(): void {
@@ -439,6 +444,8 @@ export class SaveDataManager extends Feature {
439
444
  * e.g. `l print(g.feature1.run.foo)`
440
445
  *
441
446
  * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
447
+ *
448
+ * @public
442
449
  */
443
450
  @Exported
444
451
  public saveDataManagerSetGlobal(): void {
@@ -456,6 +463,8 @@ export class SaveDataManager extends Feature {
456
463
  * This function is variadic, which means you can pass as many classes as you want to register.
457
464
  *
458
465
  * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
466
+ *
467
+ * @public
459
468
  */
460
469
  @Exported
461
470
  public saveDataManagerRegisterClass(...tstlClasses: AnyClass[]): void {
@@ -476,6 +485,8 @@ export class SaveDataManager extends Feature {
476
485
  * "saveDataManager" method.
477
486
  *
478
487
  * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
488
+ *
489
+ * @public
479
490
  */
480
491
  @Exported
481
492
  public saveDataManagerRemove(key: string): void {
@@ -519,6 +530,8 @@ export class SaveDataManager extends Feature {
519
530
  * ```
520
531
  *
521
532
  * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
533
+ *
534
+ * @public
522
535
  */
523
536
  @Exported
524
537
  public saveDataManagerReset(key: string, childObjectKey: SaveDataKey): void {
@@ -554,12 +567,20 @@ export class SaveDataManager extends Feature {
554
567
  * explicitly call the `saveDataManagerSave` function.
555
568
  *
556
569
  * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
570
+ *
571
+ * @public
557
572
  */
558
573
  @Exported
559
574
  public saveDataManagerInMenu(): boolean {
560
575
  return !this.inARun;
561
576
  }
562
577
 
578
+ /**
579
+ * Helper function to see all of the mod features that are using the save data manager. Useful for
580
+ * debugging if a certain mod feature is not getting its data saved correctly.
581
+ *
582
+ * @public
583
+ */
563
584
  @Exported
564
585
  public saveDataManagerLogSubscribers(): void {
565
586
  log("List of save data manager subscribers:");
@@ -103,6 +103,7 @@ export class SpawnRockAltRewards extends Feature {
103
103
  * `RNG.Next` method will be called. If `undefined` is provided, it will default
104
104
  * to a random seed.
105
105
  * @returns Whether this function spawned something.
106
+ * @public
106
107
  */
107
108
  @Exported
108
109
  public spawnRockAltReward(
@@ -55,6 +55,7 @@ export class StageHistory extends Feature {
55
55
  *
56
56
  * @param upwards Whether the player should go up to Cathedral in the case of being on Womb 2.
57
57
  * Default is false.
58
+ * @public
58
59
  */
59
60
  @Exported
60
61
  public getNextStageTypeWithHistory(upwards = false): StageType {
@@ -295,6 +296,8 @@ export class StageHistory extends Feature {
295
296
  * Helper function to get all of the stages that a player has visited thus far on this run.
296
297
  *
297
298
  * In order to use this function, you must upgrade your mod with `ISCFeature.STAGE_HISTORY`.
299
+ *
300
+ * @public
298
301
  */
299
302
  @Exported
300
303
  public getStageHistory(): readonly StageHistoryEntry[] {
@@ -31,6 +31,8 @@ export class StartAmbush extends Feature {
31
31
  * and then removing the sack and the pickups that the sack dropped.
32
32
  *
33
33
  * In order to use this function, you must upgrade your mod with `ISCFeature.START_AMBUSH`.
34
+ *
35
+ * @public
34
36
  */
35
37
  @Exported
36
38
  public startAmbush(): void {
@@ -110,6 +110,8 @@ export class TaintedLazarusPlayers extends Feature {
110
110
  *
111
111
  * In order to use this function, you must upgrade your mod with
112
112
  * `ISCFeature.CHARACTER_HEALTH_CONVERSION`.
113
+ *
114
+ * @public
113
115
  */
114
116
  @Exported
115
117
  public getTaintedLazarusSubPlayer(
@@ -48,6 +48,8 @@ export class UnlockAchievementsDetection extends Feature {
48
48
  *
49
49
  * In order to use this function, you must upgrade your mod with
50
50
  * `ISCFeature.UNLOCK_ACHIEVEMENTS_DETECTION`.
51
+ *
52
+ * @public
51
53
  */
52
54
  @Exported
53
55
  public canRunUnlockAchievements(): boolean {
@@ -1,8 +1,6 @@
1
1
  import type { CallbackPriority } from "isaac-typescript-definitions";
2
2
  import type { ModCallbackCustom } from "../../enums/ModCallbackCustom";
3
- import { log } from "../../functions/log";
4
3
  import { sortObjectArrayByKey, stableSort } from "../../functions/sort";
5
- import { getTSTLClassName } from "../../functions/tstlClass";
6
4
  import type { AddCallbackParametersCustom } from "../../interfaces/private/AddCallbackParametersCustom";
7
5
  import type { AllButFirst } from "../../types/AllButFirst";
8
6
  import type { AnyFunction } from "../../types/AnyFunction";
@@ -105,17 +103,4 @@ export abstract class CustomCallback<
105
103
  fireArgs: FireArgs<T>,
106
104
  optionalArgs: OptionalArgs<T>,
107
105
  ) => boolean = () => true;
108
-
109
- public logSubscriptions(): void {
110
- const tstlClassName = getTSTLClassName(this);
111
- log(`Logging subscriptions for custom callback: ${tstlClassName}`);
112
-
113
- if (this.subscriptions.length === 0) {
114
- log("- n/a (no subscriptions)");
115
- } else {
116
- for (const [i, subscription] of this.subscriptions.entries()) {
117
- log(`- ${i + 1} - priority: ${subscription.priority}`);
118
- }
119
- }
120
- }
121
106
  }