isaacscript-common 15.0.2 → 15.0.4

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 (90) hide show
  1. package/dist/index.d.ts +256 -8
  2. package/dist/isaacscript-common.lua +9 -6
  3. package/dist/src/classes/callbacks/PostPlayerInitFirst.d.ts.map +1 -1
  4. package/dist/src/classes/callbacks/PostPlayerInitFirst.lua +0 -1
  5. package/dist/src/classes/features/other/DisableInputs.d.ts +14 -0
  6. package/dist/src/classes/features/other/DisableInputs.d.ts.map +1 -1
  7. package/dist/src/classes/features/other/ExtraConsoleCommands.d.ts +6 -0
  8. package/dist/src/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
  9. package/dist/src/classes/features/other/FadeInRemover.d.ts +4 -0
  10. package/dist/src/classes/features/other/FadeInRemover.d.ts.map +1 -1
  11. package/dist/src/classes/features/other/FastReset.d.ts +4 -0
  12. package/dist/src/classes/features/other/FastReset.d.ts.map +1 -1
  13. package/dist/src/classes/features/other/FlyingDetection.d.ts +2 -0
  14. package/dist/src/classes/features/other/FlyingDetection.d.ts.map +1 -1
  15. package/dist/src/classes/features/other/ForgottenSwitch.d.ts +2 -0
  16. package/dist/src/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
  17. package/dist/src/classes/features/other/ItemPoolDetection.d.ts +6 -0
  18. package/dist/src/classes/features/other/ItemPoolDetection.d.ts.map +1 -1
  19. package/dist/src/classes/features/other/ModdedElementDetection.d.ts +69 -0
  20. package/dist/src/classes/features/other/ModdedElementDetection.d.ts.map +1 -1
  21. package/dist/src/classes/features/other/ModdedElementSets.d.ts +66 -4
  22. package/dist/src/classes/features/other/ModdedElementSets.d.ts.map +1 -1
  23. package/dist/src/classes/features/other/NoSirenSteal.d.ts +2 -0
  24. package/dist/src/classes/features/other/NoSirenSteal.d.ts.map +1 -1
  25. package/dist/src/classes/features/other/Pause.d.ts +7 -1
  26. package/dist/src/classes/features/other/Pause.d.ts.map +1 -1
  27. package/dist/src/classes/features/other/PersistentEntities.d.ts +4 -0
  28. package/dist/src/classes/features/other/PersistentEntities.d.ts.map +1 -1
  29. package/dist/src/classes/features/other/PickupIndexCreation.d.ts +3 -0
  30. package/dist/src/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
  31. package/dist/src/classes/features/other/PlayerInventory.d.ts +4 -0
  32. package/dist/src/classes/features/other/PlayerInventory.d.ts.map +1 -1
  33. package/dist/src/classes/features/other/PonyDetection.d.ts +4 -0
  34. package/dist/src/classes/features/other/PonyDetection.d.ts.map +1 -1
  35. package/dist/src/classes/features/other/PreventChildEntities.d.ts +3 -0
  36. package/dist/src/classes/features/other/PreventChildEntities.d.ts.map +1 -1
  37. package/dist/src/classes/features/other/PreventCollectibleRotation.d.ts +3 -0
  38. package/dist/src/classes/features/other/PreventCollectibleRotation.d.ts.map +1 -1
  39. package/dist/src/classes/features/other/PreventGridEntityRespawn.d.ts +3 -0
  40. package/dist/src/classes/features/other/PreventGridEntityRespawn.d.ts.map +1 -1
  41. package/dist/src/classes/features/other/RoomClearFrame.d.ts +4 -0
  42. package/dist/src/classes/features/other/RoomClearFrame.d.ts.map +1 -1
  43. package/dist/src/classes/features/other/RoomHistory.d.ts +8 -0
  44. package/dist/src/classes/features/other/RoomHistory.d.ts.map +1 -1
  45. package/dist/src/classes/features/other/RunInNFrames.d.ts +14 -0
  46. package/dist/src/classes/features/other/RunInNFrames.d.ts.map +1 -1
  47. package/dist/src/classes/features/other/RunNextRoom.d.ts +2 -0
  48. package/dist/src/classes/features/other/RunNextRoom.d.ts.map +1 -1
  49. package/dist/src/classes/features/other/SaveDataManager.d.ts +14 -0
  50. package/dist/src/classes/features/other/SaveDataManager.d.ts.map +1 -1
  51. package/dist/src/enums/ISCFeature.d.ts +1 -1
  52. package/dist/src/enums/ISCFeature.d.ts.map +1 -1
  53. package/dist/src/enums/ISCFeature.lua +2 -2
  54. package/dist/src/features.d.ts +1 -1
  55. package/dist/src/features.d.ts.map +1 -1
  56. package/dist/src/features.lua +1 -1
  57. package/dist/src/functions/entitiesSpecific.d.ts +6 -1
  58. package/dist/src/functions/entitiesSpecific.d.ts.map +1 -1
  59. package/dist/src/functions/entitiesSpecific.lua +3 -0
  60. package/dist/src/functions/familiars.d.ts.map +1 -1
  61. package/dist/src/functions/familiars.lua +8 -1
  62. package/package.json +1 -1
  63. package/src/classes/callbacks/PostPlayerInitFirst.ts +0 -2
  64. package/src/classes/features/other/DisableInputs.ts +14 -0
  65. package/src/classes/features/other/ExtraConsoleCommands.ts +6 -0
  66. package/src/classes/features/other/FadeInRemover.ts +4 -0
  67. package/src/classes/features/other/FastReset.ts +4 -0
  68. package/src/classes/features/other/FlyingDetection.ts +2 -0
  69. package/src/classes/features/other/ForgottenSwitch.ts +2 -0
  70. package/src/classes/features/other/ItemPoolDetection.ts +6 -0
  71. package/src/classes/features/other/ModdedElementDetection.ts +69 -0
  72. package/src/classes/features/other/ModdedElementSets.ts +66 -4
  73. package/src/classes/features/other/NoSirenSteal.ts +2 -0
  74. package/src/classes/features/other/Pause.ts +7 -1
  75. package/src/classes/features/other/PersistentEntities.ts +4 -0
  76. package/src/classes/features/other/PickupIndexCreation.ts +3 -0
  77. package/src/classes/features/other/PlayerInventory.ts +4 -0
  78. package/src/classes/features/other/PonyDetection.ts +4 -0
  79. package/src/classes/features/other/PreventChildEntities.ts +3 -0
  80. package/src/classes/features/other/PreventCollectibleRotation.ts +3 -0
  81. package/src/classes/features/other/PreventGridEntityRespawn.ts +3 -0
  82. package/src/classes/features/other/RoomClearFrame.ts +4 -0
  83. package/src/classes/features/other/RoomHistory.ts +8 -0
  84. package/src/classes/features/other/RunInNFrames.ts +14 -0
  85. package/src/classes/features/other/RunNextRoom.ts +2 -0
  86. package/src/classes/features/other/SaveDataManager.ts +14 -0
  87. package/src/enums/ISCFeature.ts +1 -1
  88. package/src/features.ts +2 -2
  89. package/src/functions/entitiesSpecific.ts +6 -1
  90. package/src/functions/familiars.ts +11 -1
package/dist/index.d.ts CHANGED
@@ -3034,6 +3034,8 @@ declare class DisableInputs extends Feature {
3034
3034
  * Helper function to enable all inputs. Use this function to set things back to normal after
3035
3035
  * having used one of the other helper functions to disable inputs.
3036
3036
  *
3037
+ * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3038
+ *
3037
3039
  * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3038
3040
  * that multiple mod features can work in tandem.
3039
3041
  */
@@ -3046,6 +3048,8 @@ declare class DisableInputs extends Feature {
3046
3048
  *
3047
3049
  * Use the `enableAllInputs` helper function to set things back to normal.
3048
3050
  *
3051
+ * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3052
+ *
3049
3053
  * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3050
3054
  * that multiple mod features can work in tandem.
3051
3055
  * @param buttonActions An array of the actions to action.
@@ -3057,6 +3061,8 @@ declare class DisableInputs extends Feature {
3057
3061
  *
3058
3062
  * Use the `enableAllInputs` helper function to set things back to normal.
3059
3063
  *
3064
+ * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3065
+ *
3060
3066
  * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3061
3067
  * that multiple mod features can work in tandem.
3062
3068
  */
@@ -3067,6 +3073,8 @@ declare class DisableInputs extends Feature {
3067
3073
  *
3068
3074
  * Use the `enableAllInputs` helper function to set things back to normal.
3069
3075
  *
3076
+ * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3077
+ *
3070
3078
  * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3071
3079
  * that multiple mod features can work in tandem.
3072
3080
  * @param blacklist A set of ButtonActions to disallow.
@@ -3078,6 +3086,8 @@ declare class DisableInputs extends Feature {
3078
3086
  *
3079
3087
  * Use the `enableAllInputs` helper function to set things back to normal.
3080
3088
  *
3089
+ * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3090
+ *
3081
3091
  * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3082
3092
  * that multiple mod features can work in tandem.
3083
3093
  * @param whitelist A set of ButtonActions to allow.
@@ -3090,6 +3100,8 @@ declare class DisableInputs extends Feature {
3090
3100
  *
3091
3101
  * Use the `enableAllInputs` helper function to set things back to normal.
3092
3102
  *
3103
+ * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3104
+ *
3093
3105
  * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3094
3106
  * that multiple mod features can work in tandem.
3095
3107
  */
@@ -3100,6 +3112,8 @@ declare class DisableInputs extends Feature {
3100
3112
  *
3101
3113
  * Use the `enableAllInputs` helper function to set things back to normal.
3102
3114
  *
3115
+ * In order to use this function, you must upgrade your mod with `ISCFeature.DISABLE_INPUTS`.
3116
+ *
3103
3117
  * @param key The name of the mod feature that is requesting the enable/disable. This is needed so
3104
3118
  * that multiple mod features can work in tandem.
3105
3119
  */
@@ -3467,6 +3481,9 @@ declare class ExtraConsoleCommands extends Feature {
3467
3481
  * but you can also add your own commands that are useful for your particular mod. It's easier to
3468
3482
  * add commands to the existing command system than to add your own logic manually to the
3469
3483
  * `EXECUTE_CMD` callback.
3484
+ *
3485
+ * In order to use this function, you must upgrade your mod with
3486
+ * `ISCFeature.EXTRA_CONSOLE_COMMANDS`.
3470
3487
  */
3471
3488
  addConsoleCommand(commandName: string, commandFunction: (params: string) => void): void;
3472
3489
  /**
@@ -3474,6 +3491,9 @@ declare class ExtraConsoleCommands extends Feature {
3474
3491
  *
3475
3492
  * The standard library comes with many existing console commands that are useful for debugging.
3476
3493
  * If you want to disable one of them, use this function.
3494
+ *
3495
+ * In order to use this function, you must upgrade your mod with
3496
+ * `ISCFeature.EXTRA_CONSOLE_COMMANDS`.
3477
3497
  */
3478
3498
  removeConsoleCommand(commandName: string): void;
3479
3499
  }
@@ -3494,11 +3514,15 @@ declare class FadeInRemover extends Feature {
3494
3514
  * This is useful for debugging, when you are resetting the game often.
3495
3515
  *
3496
3516
  * You can restore the vanilla behavior with the `restoreFadeIn` function.
3517
+ *
3518
+ * In order to use this function, you must upgrade your mod with `ISCFeature.FADE_IN_REMOVER`.
3497
3519
  */
3498
3520
  removeFadeIn(): void;
3499
3521
  /**
3500
3522
  * Disables the fade-in remover. Only useful if you have previously called the `removeFadeIn`
3501
3523
  * function.
3524
+ *
3525
+ * In order to use this function, you must upgrade your mod with `ISCFeature.FADE_IN_REMOVER`.
3502
3526
  */
3503
3527
  restoreFadeIn(): void;
3504
3528
  }
@@ -3513,11 +3537,15 @@ declare class FastReset extends Feature {
3513
3537
  * This is useful for debugging, when you are resetting the game often.
3514
3538
  *
3515
3539
  * You can disable the fast-reset feature with the `disableFastReset` function.
3540
+ *
3541
+ * In order to use this function, you must upgrade your mod with `ISCFeature.FAST_RESET`.
3516
3542
  */
3517
3543
  enableFastReset(): void;
3518
3544
  /**
3519
3545
  * Disables the fast-reset feature. Only useful if you have previously called the
3520
3546
  * `enableFastReset` function.
3547
+ *
3548
+ * In order to use this function, you must upgrade your mod with `ISCFeature.FAST_RESET`.
3521
3549
  */
3522
3550
  disableFastReset(): void;
3523
3551
  }
@@ -3655,6 +3683,8 @@ declare class FlyingDetection extends Feature {
3655
3683
  /**
3656
3684
  * Helper function to see if the player currently has flying from a temporary effect such as
3657
3685
  * Hanged Man, Bat Wing, and so on.
3686
+ *
3687
+ * In order to use this function, you must upgrade your mod with `ISCFeature.FLYING_DETECTION`.
3658
3688
  */
3659
3689
  hasFlyingTemporaryEffect(player: EntityPlayer): boolean;
3660
3690
  }
@@ -3687,6 +3717,8 @@ declare class ForgottenSwitch extends Feature {
3687
3717
  /**
3688
3718
  * When used on The Forgotten, switches to The Soul. When used on The Soul, switches to The
3689
3719
  * Forgotten. This takes 1 game frame to take effect.
3720
+ *
3721
+ * In order to use this function, you must upgrade your mod with `ISCFeature.FORGOTTEN_SWITCH`.
3690
3722
  */
3691
3723
  forgottenSwitch(): void;
3692
3724
  }
@@ -6960,7 +6992,7 @@ export declare enum ISCFeature {
6960
6992
  NO_SIREN_STEAL = 33,
6961
6993
  PAUSE = 34,
6962
6994
  PERSISTENT_ENTITIES = 35,
6963
- PICKUP_INDEX = 36,
6995
+ PICKUP_INDEX_CREATION = 36,
6964
6996
  PLAYER_INVENTORY = 37,
6965
6997
  PONY_DETECTION = 38,
6966
6998
  PREVENT_CHILD_ENTITIES = 39,
@@ -7021,7 +7053,7 @@ declare interface ISCFeatureToClass {
7021
7053
  [ISCFeature.NO_SIREN_STEAL]: NoSirenSteal;
7022
7054
  [ISCFeature.PAUSE]: Pause;
7023
7055
  [ISCFeature.PERSISTENT_ENTITIES]: PersistentEntities;
7024
- [ISCFeature.PICKUP_INDEX]: PickupIndexCreation;
7056
+ [ISCFeature.PICKUP_INDEX_CREATION]: PickupIndexCreation;
7025
7057
  [ISCFeature.PLAYER_INVENTORY]: PlayerInventory;
7026
7058
  [ISCFeature.PONY_DETECTION]: PonyDetection;
7027
7059
  [ISCFeature.PREVENT_CHILD_ENTITIES]: PreventChildEntities;
@@ -7779,6 +7811,8 @@ declare class ItemPoolDetection extends Feature {
7779
7811
  /**
7780
7812
  * Helper function to get the remaining collectibles in a given item pool. This function is
7781
7813
  * expensive, so only use it in situations where the lag is acceptable.
7814
+ *
7815
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ITEM_POOL_DETECTION`.
7782
7816
  */
7783
7817
  getCollectiblesInItemPool(itemPoolType: ItemPoolType): CollectibleType[];
7784
7818
  /**
@@ -7790,6 +7824,8 @@ declare class ItemPoolDetection extends Feature {
7790
7824
  *
7791
7825
  * Under the hood, this function works by using the `ItemPool.AddRoomBlacklist` method to
7792
7826
  * blacklist every collectible except for the one provided.
7827
+ *
7828
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ITEM_POOL_DETECTION`.
7793
7829
  */
7794
7830
  isCollectibleInItemPool(collectibleType: CollectibleType, itemPoolType: ItemPoolType): boolean;
7795
7831
  /**
@@ -7805,6 +7841,8 @@ declare class ItemPoolDetection extends Feature {
7805
7841
  * - If the collectible is non-offensive, any Tainted Losts will be temporarily changed to Isaac
7806
7842
  * and then changed back. (This is because Tainted Lost is not able to retrieve non-offensive
7807
7843
  * collectibles from item pools).
7844
+ *
7845
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ITEM_POOL_DETECTION`.
7808
7846
  */
7809
7847
  isCollectibleUnlocked(collectibleType: CollectibleType, itemPoolType: ItemPoolType): boolean;
7810
7848
  }
@@ -9969,6 +10007,9 @@ declare class ModdedElementDetection extends Feature {
9969
10007
  * This function can only be called if at least one callback has been executed. This is because
9970
10008
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
9971
10009
  * order).
10010
+ *
10011
+ * In order to use this function, you must upgrade your mod with
10012
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
9972
10013
  */
9973
10014
  getFirstModdedCollectibleType(): CollectibleType | undefined;
9974
10015
  /**
@@ -9980,6 +10021,9 @@ declare class ModdedElementDetection extends Feature {
9980
10021
  * This function can only be called if at least one callback has been executed. This is because
9981
10022
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
9982
10023
  * order).
10024
+ *
10025
+ * In order to use this function, you must upgrade your mod with
10026
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
9983
10027
  */
9984
10028
  getLastCollectibleType(): CollectibleType;
9985
10029
  /**
@@ -9998,12 +10042,18 @@ declare class ModdedElementDetection extends Feature {
9998
10042
  * This function can only be called if at least one callback has been executed. This is because
9999
10043
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10000
10044
  * order).
10045
+ *
10046
+ * In order to use this function, you must upgrade your mod with
10047
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10001
10048
  */
10002
10049
  getModdedCollectibleTypes(): CollectibleType[];
10003
10050
  /**
10004
10051
  * This function can only be called if at least one callback has been executed. This is because
10005
10052
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10006
10053
  * order).
10054
+ *
10055
+ * In order to use this function, you must upgrade your mod with
10056
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10007
10057
  */
10008
10058
  getNumCollectibleTypes(): int;
10009
10059
  /**
@@ -10012,6 +10062,9 @@ declare class ModdedElementDetection extends Feature {
10012
10062
  * This function can only be called if at least one callback has been executed. This is because
10013
10063
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10014
10064
  * order).
10065
+ *
10066
+ * In order to use this function, you must upgrade your mod with
10067
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10015
10068
  */
10016
10069
  getNumModdedCollectibleTypes(): int;
10017
10070
  /**
@@ -10019,6 +10072,9 @@ declare class ModdedElementDetection extends Feature {
10019
10072
  *
10020
10073
  * This function can only be called if at least one callback has been executed. This is because
10021
10074
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10075
+ *
10076
+ * In order to use this function, you must upgrade your mod with
10077
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10022
10078
  */
10023
10079
  getFirstModdedTrinketType(): TrinketType | undefined;
10024
10080
  /**
@@ -10029,6 +10085,9 @@ declare class ModdedElementDetection extends Feature {
10029
10085
  *
10030
10086
  * This function can only be called if at least one callback has been executed. This is because
10031
10087
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10088
+ *
10089
+ * In order to use this function, you must upgrade your mod with
10090
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10032
10091
  */
10033
10092
  getLastTrinketType(): TrinketType;
10034
10093
  /**
@@ -10042,6 +10101,9 @@ declare class ModdedElementDetection extends Feature {
10042
10101
  *
10043
10102
  * This function can only be called if at least one callback has been executed. This is because
10044
10103
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10104
+ *
10105
+ * In order to use this function, you must upgrade your mod with
10106
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10045
10107
  */
10046
10108
  getModdedTrinketTypes(): TrinketType[];
10047
10109
  /**
@@ -10052,11 +10114,17 @@ declare class ModdedElementDetection extends Feature {
10052
10114
  *
10053
10115
  * This function can only be called if at least one callback has been executed. This is because
10054
10116
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10117
+ *
10118
+ * In order to use this function, you must upgrade your mod with
10119
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10055
10120
  */
10056
10121
  getNumTrinketTypes(): int;
10057
10122
  /**
10058
10123
  * This function can only be called if at least one callback has been executed. This is because
10059
10124
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10125
+ *
10126
+ * In order to use this function, you must upgrade your mod with
10127
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10060
10128
  */
10061
10129
  getNumModdedTrinketTypes(): int;
10062
10130
  /**
@@ -10064,6 +10132,9 @@ declare class ModdedElementDetection extends Feature {
10064
10132
  *
10065
10133
  * This function can only be called if at least one callback has been executed. This is because
10066
10134
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10135
+ *
10136
+ * In order to use this function, you must upgrade your mod with
10137
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10067
10138
  */
10068
10139
  getTrinketTypes(): TrinketType[];
10069
10140
  /**
@@ -10071,6 +10142,9 @@ declare class ModdedElementDetection extends Feature {
10071
10142
  *
10072
10143
  * This function can only be called if at least one callback has been executed. This is because
10073
10144
  * not all cards will necessarily be present when a mod first loads (due to mod load order).
10145
+ *
10146
+ * In order to use this function, you must upgrade your mod with
10147
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10074
10148
  */
10075
10149
  getAllCardTypes(): CardType[];
10076
10150
  /**
@@ -10078,6 +10152,9 @@ declare class ModdedElementDetection extends Feature {
10078
10152
  *
10079
10153
  * This function can only be called if at least one callback has been executed. This is because
10080
10154
  * not all cards will necessarily be present when a mod first loads (due to mod load order).
10155
+ *
10156
+ * In order to use this function, you must upgrade your mod with
10157
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10081
10158
  */
10082
10159
  getFirstModdedCardType(): CardType | undefined;
10083
10160
  /**
@@ -10088,6 +10165,9 @@ declare class ModdedElementDetection extends Feature {
10088
10165
  *
10089
10166
  * This function can only be called if at least one callback has been executed. This is because
10090
10167
  * not all cards will necessarily be present when a mod first loads (due to mod load order).
10168
+ *
10169
+ * In order to use this function, you must upgrade your mod with
10170
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10091
10171
  */
10092
10172
  getLastCardType(): CardType;
10093
10173
  /**
@@ -10097,6 +10177,9 @@ declare class ModdedElementDetection extends Feature {
10097
10177
  *
10098
10178
  * This function can only be called if at least one callback has been executed. This is because
10099
10179
  * not all cards will necessarily be present when a mod first loads (due to mod load order).
10180
+ *
10181
+ * In order to use this function, you must upgrade your mod with
10182
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10100
10183
  */
10101
10184
  getModdedCardTypes(): CardType[];
10102
10185
  /**
@@ -10106,11 +10189,17 @@ declare class ModdedElementDetection extends Feature {
10106
10189
  *
10107
10190
  * This function can only be called if at least one callback has been executed. This is because
10108
10191
  * not all cards will necessarily be present when a mod first loads (due to mod load order).
10192
+ *
10193
+ * In order to use this function, you must upgrade your mod with
10194
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10109
10195
  */
10110
10196
  getNumCardTypes(): int;
10111
10197
  /**
10112
10198
  * This function can only be called if at least one callback has been executed. This is because
10113
10199
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10200
+ *
10201
+ * In order to use this function, you must upgrade your mod with
10202
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10114
10203
  */
10115
10204
  getNumModdedCardTypes(): int;
10116
10205
  /**
@@ -10120,6 +10209,9 @@ declare class ModdedElementDetection extends Feature {
10120
10209
  * This function can only be called if at least one callback has been executed. This is because
10121
10210
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10122
10211
  * order).
10212
+ *
10213
+ * In order to use this function, you must upgrade your mod with
10214
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10123
10215
  */
10124
10216
  getAllPillEffects(): PillEffect[];
10125
10217
  /**
@@ -10128,6 +10220,9 @@ declare class ModdedElementDetection extends Feature {
10128
10220
  * This function can only be called if at least one callback has been executed. This is because
10129
10221
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10130
10222
  * order).
10223
+ *
10224
+ * In order to use this function, you must upgrade your mod with
10225
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10131
10226
  */
10132
10227
  getFirstModdedPillEffect(): PillEffect | undefined;
10133
10228
  /**
@@ -10139,6 +10234,9 @@ declare class ModdedElementDetection extends Feature {
10139
10234
  * This function can only be called if at least one callback has been executed. This is because
10140
10235
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10141
10236
  * order).
10237
+ *
10238
+ * In order to use this function, you must upgrade your mod with
10239
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10142
10240
  */
10143
10241
  getLastPillEffect(): PillEffect;
10144
10242
  /**
@@ -10149,6 +10247,9 @@ declare class ModdedElementDetection extends Feature {
10149
10247
  * This function can only be called if at least one callback has been executed. This is because
10150
10248
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10151
10249
  * order).
10250
+ *
10251
+ * In order to use this function, you must upgrade your mod with
10252
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10152
10253
  */
10153
10254
  getModdedPillEffects(): PillEffect[];
10154
10255
  /**
@@ -10160,12 +10261,18 @@ declare class ModdedElementDetection extends Feature {
10160
10261
  * This function can only be called if at least one callback has been executed. This is because
10161
10262
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10162
10263
  * order).
10264
+ *
10265
+ * In order to use this function, you must upgrade your mod with
10266
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10163
10267
  */
10164
10268
  getNumPillEffects(): int;
10165
10269
  /**
10166
10270
  * This function can only be called if at least one callback has been executed. This is because
10167
10271
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10168
10272
  * order).
10273
+ *
10274
+ * In order to use this function, you must upgrade your mod with
10275
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10169
10276
  */
10170
10277
  getNumModdedPillEffects(): int;
10171
10278
  }
@@ -10212,6 +10319,8 @@ declare class ModdedElementSets extends Feature {
10212
10319
  * This function can only be called if at least one callback has been executed. This is because
10213
10320
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10214
10321
  * order).
10322
+ *
10323
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10215
10324
  */
10216
10325
  getCollectibleArray(): readonly CollectibleType[];
10217
10326
  /**
@@ -10224,6 +10333,8 @@ declare class ModdedElementSets extends Feature {
10224
10333
  * This function can only be called if at least one callback has been executed. This is because
10225
10334
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10226
10335
  * order).
10336
+ *
10337
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10227
10338
  */
10228
10339
  getCollectibleSet(): ReadonlySet<CollectibleType>;
10229
10340
  /**
@@ -10235,6 +10346,8 @@ declare class ModdedElementSets extends Feature {
10235
10346
  * ```ts
10236
10347
  * const guppyCollectibleTypes = getCollectiblesForTransformation(PlayerForm.GUPPY);
10237
10348
  * ```
10349
+ *
10350
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10238
10351
  */
10239
10352
  getCollectiblesForTransformation(playerForm: PlayerForm): ReadonlySet<CollectibleType>;
10240
10353
  /**
@@ -10244,6 +10357,8 @@ declare class ModdedElementSets extends Feature {
10244
10357
  * This function can only be called if at least one callback has been executed. This is because
10245
10358
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10246
10359
  * order).
10360
+ *
10361
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10247
10362
  */
10248
10363
  getCollectiblesWithCacheFlag(cacheFlag: CacheFlag): ReadonlySet<CollectibleType>;
10249
10364
  /**
@@ -10255,16 +10370,22 @@ declare class ModdedElementSets extends Feature {
10255
10370
  * ```ts
10256
10371
  * const offensiveCollectibleTypes = getCollectibleTypesWithTag(ItemConfigTag.OFFENSIVE);
10257
10372
  * ```
10373
+ *
10374
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10258
10375
  */
10259
10376
  getCollectiblesWithTag(itemConfigTag: ItemConfigTag): ReadonlySet<CollectibleType>;
10260
10377
  /**
10261
10378
  * Returns a set containing every valid passive item that can be randomly granted to Eden as a
10262
10379
  * starting item.
10380
+ *
10381
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10263
10382
  */
10264
10383
  getEdenActiveCollectibles(): ReadonlySet<CollectibleType>;
10265
10384
  /**
10266
10385
  * Returns a set containing every valid passive item that can be randomly granted to Eden as a
10267
10386
  * starting item.
10387
+ *
10388
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10268
10389
  */
10269
10390
  getEdenPassiveCollectibles(): ReadonlySet<CollectibleType>;
10270
10391
  /**
@@ -10274,6 +10395,8 @@ declare class ModdedElementSets extends Feature {
10274
10395
  * Collectibles that only grant flight conditionally are manually pruned. Collectibles such as
10275
10396
  * Empty Vessel should be checked for via the `hasFlyingTemporaryEffect` function.
10276
10397
  *
10398
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10399
+ *
10277
10400
  * @param pruneConditionalItems Whether or not collectibles that only grant flight conditionally
10278
10401
  * should be included in the set (like Empty Vessel).
10279
10402
  */
@@ -10281,6 +10404,8 @@ declare class ModdedElementSets extends Feature {
10281
10404
  /**
10282
10405
  * Returns a set of all of the trinkets that grant flight. (All trinkets that grant flight do so
10283
10406
  * conditionally, like Bat Wing and Azazel's Stump.)
10407
+ *
10408
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10284
10409
  */
10285
10410
  getFlyingTrinkets(): ReadonlySet<TrinketType>;
10286
10411
  /**
@@ -10292,6 +10417,8 @@ declare class ModdedElementSets extends Feature {
10292
10417
  * This function can only be called if at least one callback has been executed. This is because
10293
10418
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10294
10419
  * order).
10420
+ *
10421
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10295
10422
  */
10296
10423
  getModdedCollectibleArray(): readonly CollectibleType[];
10297
10424
  /**
@@ -10303,6 +10430,8 @@ declare class ModdedElementSets extends Feature {
10303
10430
  * This function can only be called if at least one callback has been executed. This is because
10304
10431
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10305
10432
  * order).
10433
+ *
10434
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10306
10435
  */
10307
10436
  getModdedCollectibleSet(): ReadonlySet<CollectibleType>;
10308
10437
  /**
@@ -10313,6 +10442,8 @@ declare class ModdedElementSets extends Feature {
10313
10442
  *
10314
10443
  * This function can only be called if at least one callback has been executed. This is because
10315
10444
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10445
+ *
10446
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10316
10447
  */
10317
10448
  getModdedTrinketArray(): readonly TrinketType[];
10318
10449
  /**
@@ -10323,6 +10454,8 @@ declare class ModdedElementSets extends Feature {
10323
10454
  *
10324
10455
  * This function can only be called if at least one callback has been executed. This is because
10325
10456
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10457
+ *
10458
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10326
10459
  */
10327
10460
  getModdedTrinketSet(): ReadonlySet<TrinketType>;
10328
10461
  /**
@@ -10330,6 +10463,8 @@ declare class ModdedElementSets extends Feature {
10330
10463
  * the player has.
10331
10464
  *
10332
10465
  * Note that this will filter out non-real collectibles like Lilith's Incubus.
10466
+ *
10467
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10333
10468
  */
10334
10469
  getPlayerCollectibleMap(player: EntityPlayer): Map<CollectibleType, int>;
10335
10470
  /**
@@ -10353,11 +10488,21 @@ declare class ModdedElementSets extends Feature {
10353
10488
  * This function can only be called if at least one callback has been executed. This is because
10354
10489
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10355
10490
  * order).
10491
+ *
10492
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10356
10493
  */
10357
10494
  getPlayerCollectiblesWithCacheFlag(player: EntityPlayer, cacheFlag: CacheFlag): CollectibleType[];
10358
- /** Returns the number of items that a player has towards a particular transformation. */
10495
+ /**
10496
+ * Returns the number of items that a player has towards a particular transformation.
10497
+ *
10498
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10499
+ */
10359
10500
  getPlayerCollectiblesWithTag(player: EntityPlayer, itemConfigTag: ItemConfigTag): CollectibleType[];
10360
- /** Returns the number of items that a player has towards a particular transformation. */
10501
+ /**
10502
+ * Returns the number of items that a player has towards a particular transformation.
10503
+ *
10504
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10505
+ */
10361
10506
  getPlayerCollectiblesForTransformation(player: EntityPlayer, playerForm: PlayerForm): CollectibleType[];
10362
10507
  /**
10363
10508
  * Returns a map containing every trinket type that the player has that matches the provided
@@ -10365,11 +10510,21 @@ declare class ModdedElementSets extends Feature {
10365
10510
  *
10366
10511
  * This function can only be called if at least one callback has been executed. This is because
10367
10512
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10513
+ *
10514
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10368
10515
  */
10369
10516
  getPlayerTrinketsWithCacheFlag(player: EntityPlayer, cacheFlag: CacheFlag): Map<TrinketType, int>;
10370
- /** Returns a random active collectible type that that is a valid starting item for Eden. */
10517
+ /**
10518
+ * Returns a random active collectible type that that is a valid starting item for Eden.
10519
+ *
10520
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10521
+ */
10371
10522
  getRandomEdenActiveCollectible(seedOrRNG?: Seed | RNG, exceptions?: CollectibleType[] | readonly CollectibleType[]): CollectibleType;
10372
- /** Returns a random passive collectible type that that is a valid starting item for Eden. */
10523
+ /**
10524
+ * Returns a random passive collectible type that that is a valid starting item for Eden.
10525
+ *
10526
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10527
+ */
10373
10528
  getRandomEdenPassiveCollectible(seedOrRNG?: Seed | RNG, exceptions?: CollectibleType[] | readonly CollectibleType[]): CollectibleType;
10374
10529
  /**
10375
10530
  * Returns an array containing every modded trinket type in the game.
@@ -10379,6 +10534,8 @@ declare class ModdedElementSets extends Feature {
10379
10534
  *
10380
10535
  * This function can only be called if at least one callback has been executed. This is because
10381
10536
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10537
+ *
10538
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10382
10539
  */
10383
10540
  getTrinketArray(): readonly TrinketType[];
10384
10541
  /**
@@ -10389,6 +10546,8 @@ declare class ModdedElementSets extends Feature {
10389
10546
  *
10390
10547
  * This function can only be called if at least one callback has been executed. This is because
10391
10548
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10549
+ *
10550
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10392
10551
  */
10393
10552
  getTrinketSet(): ReadonlySet<TrinketType>;
10394
10553
  /**
@@ -10397,6 +10556,8 @@ declare class ModdedElementSets extends Feature {
10397
10556
  *
10398
10557
  * This function can only be called if at least one callback has been executed. This is because
10399
10558
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10559
+ *
10560
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10400
10561
  */
10401
10562
  getTrinketsWithCacheFlag(cacheFlag: CacheFlag): ReadonlySet<TrinketType>;
10402
10563
  /**
@@ -10404,6 +10565,8 @@ declare class ModdedElementSets extends Feature {
10404
10565
  *
10405
10566
  * Use this if you need to iterate over the collectibles in order. If you need to do O(1) lookups,
10406
10567
  * then use the `getVanillaCollectibleSet` helper function instead.
10568
+ *
10569
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10407
10570
  */
10408
10571
  getVanillaCollectibleArray(): readonly CollectibleType[];
10409
10572
  /**
@@ -10411,6 +10574,8 @@ declare class ModdedElementSets extends Feature {
10411
10574
  *
10412
10575
  * Use this if you need to do O(1) lookups. If you need to iterate over the collectibles in order,
10413
10576
  * then use the `getVanillaCollectibleArray` helper function instead.
10577
+ *
10578
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10414
10579
  */
10415
10580
  getVanillaCollectibleSet(): ReadonlySet<CollectibleType>;
10416
10581
  /**
@@ -10418,6 +10583,8 @@ declare class ModdedElementSets extends Feature {
10418
10583
  *
10419
10584
  * Use this if you need to iterate over the trinkets in order. If you need to do O(1) lookups,
10420
10585
  * then use the `getVanillaTrinketSet` helper function instead.
10586
+ *
10587
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10421
10588
  */
10422
10589
  getVanillaTrinketArray(): readonly TrinketType[];
10423
10590
  /**
@@ -10425,6 +10592,8 @@ declare class ModdedElementSets extends Feature {
10425
10592
  *
10426
10593
  * Use this if you need to do O(1) lookups. If you need to iterate over the trinkets in order,
10427
10594
  * then use the `getVanillaTrinketArray` helper function instead.
10595
+ *
10596
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10428
10597
  */
10429
10598
  getVanillaTrinketSet(): ReadonlySet<TrinketType>;
10430
10599
  }
@@ -10659,6 +10828,8 @@ declare class NoSirenSteal extends Feature {
10659
10828
  * Blacklists a familiar from being stolen by The Siren boss. This should be called once at the
10660
10829
  * beginning of every run.
10661
10830
  *
10831
+ * In order to use this function, you must upgrade your mod with `ISCFeature.NO_SIREN_STEAL`.
10832
+ *
10662
10833
  * @param familiarVariant The familiar variant to blacklist.
10663
10834
  * @param familiarSubType The sub-type to blacklist. Optional. The default is to blacklist all
10664
10835
  * sub-types of the given variant.
@@ -10782,9 +10953,15 @@ declare class Pause extends Feature {
10782
10953
  * - uses the Pause collectible on every game frame
10783
10954
  * - disables any player inputs (except for `ButtonAction.MENU_CONFIRM` and
10784
10955
  * `ButtonAction.CONSOLE`)
10956
+ *
10957
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PAUSE`.
10785
10958
  */
10786
10959
  pause(): void;
10787
- /** Helper function to put things back to normal after the `pause` function was used. */
10960
+ /**
10961
+ * Helper function to put things back to normal after the `pause` function was used.
10962
+ *
10963
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PAUSE`.
10964
+ */
10788
10965
  unpause(): void;
10789
10966
  }
10790
10967
 
@@ -10803,6 +10980,8 @@ declare class PersistentEntities extends Feature {
10803
10980
  * Helper function to stop an entity spawned with the `spawnPersistentEntity` helper function from
10804
10981
  * respawning.
10805
10982
  *
10983
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PERSISTENT_ENTITIES`.
10984
+ *
10806
10985
  * @param persistentEntityIndex The index that was returned by the `spawnPersistentEntity`
10807
10986
  * function.
10808
10987
  * @param removeEntity Optional. True by default. Set to false if you want to stop an entity from
@@ -10823,6 +11002,8 @@ declare class PersistentEntities extends Feature {
10823
11002
  * persistent, but they are not present in every room, only one specific room. This function
10824
11003
  * spawns entities like pickups, not familiars.
10825
11004
  *
11005
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PERSISTENT_ENTITIES`.
11006
+ *
10826
11007
  * @returns A tuple containing the entity and the persistent entity index. You can use the index
10827
11008
  * with the `removePersistentEntity` function.
10828
11009
  */
@@ -10897,6 +11078,9 @@ declare class PickupIndexCreation extends Feature {
10897
11078
  * have an index of 2, and so on.
10898
11079
  *
10899
11080
  * Tracking pickups requires stateful tracking, so using pickup indexes requires an upgraded mod.
11081
+ *
11082
+ * In order to use this function, you must upgrade your mod with
11083
+ * `ISCFeature.PICKUP_INDEX_CREATION`.
10900
11084
  */
10901
11085
  getPickupIndex(pickup: EntityPickup): PickupIndex;
10902
11086
  }
@@ -11037,6 +11221,8 @@ declare class PlayerInventory extends Feature {
11037
11221
  * might do this for some reason. (With that said, the next time that a collectible is normally
11038
11222
  * added or removed, it would trigger a re-scan, and the previous changes would be picked up.)
11039
11223
  *
11224
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PLAYER_INVENTORY`.
11225
+ *
11040
11226
  * @param player The player to get the inventory for.
11041
11227
  * @param includeActiveCollectibles Optional. If true, will include all active collectibles.
11042
11228
  * Default is true.
@@ -11047,6 +11233,8 @@ declare class PlayerInventory extends Feature {
11047
11233
  * this will be the passive that is removed when the player would use Clicker.
11048
11234
  *
11049
11235
  * Returns undefined if the player does not have any passive collectibles.
11236
+ *
11237
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PLAYER_INVENTORY`.
11050
11238
  */
11051
11239
  getPlayerLastPassiveCollectible(player: EntityPlayer): CollectibleType | undefined;
11052
11240
  }
@@ -11092,11 +11280,15 @@ declare class PonyDetection extends Feature {
11092
11280
  /**
11093
11281
  * Helper function to see if the player is under the effects of A Pony or White Pony charge.
11094
11282
  * Detecting this is difficult, as the temporary effect will disappear upon entering a new room.
11283
+ *
11284
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PONY_DETECTION`.
11095
11285
  */
11096
11286
  isPlayerUsingPony(player: EntityPlayer): boolean;
11097
11287
  /**
11098
11288
  * Helper function to see if any player is under the effects of A Pony or White Pony charge.
11099
11289
  * Detecting this is difficult, as the temporary effect will disappear upon entering a new room.
11290
+ *
11291
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PONY_DETECTION`.
11100
11292
  */
11101
11293
  anyPlayerUsingPony(): boolean;
11102
11294
  }
@@ -11267,6 +11459,9 @@ declare class PreventChildEntities extends Feature {
11267
11459
  * Under the hood, this function will remove any new NPCs spawned that have a
11268
11460
  * `Entity.SpawnerEntity` or `Entity.Parent` value that matches the provided entity. (They are
11269
11461
  * removed during the `POST_NPC_INIT` callback specifically.)
11462
+ *
11463
+ * In order to use this function, you must upgrade your mod with
11464
+ * `ISCFeature.PREVENT_CHILD_ENTITIES`.
11270
11465
  */
11271
11466
  preventChildEntities(entity: Entity): void;
11272
11467
  }
@@ -11283,6 +11478,9 @@ declare class PreventCollectibleRotation extends Feature {
11283
11478
  *
11284
11479
  * It is required to pass the intended collectible type to this function since it is possible for
11285
11480
  * collectibles to rotate on the first frame that they are spawned.
11481
+ *
11482
+ * In order to use this function, you must upgrade your mod with
11483
+ * `ISCFeature.PREVENT_COLLECTIBLE_ROTATION`.
11286
11484
  */
11287
11485
  preventCollectibleRotation(collectible: EntityPickup, collectibleType: CollectibleType): void;
11288
11486
  }
@@ -11315,6 +11513,9 @@ declare class PreventGridEntityRespawn extends Feature {
11315
11513
  * room. However, the room data must exactly match the room type, the room shape, and the doors,
11316
11514
  * so this is not possible to do in a robust way without adding empty rooms to the mod's `content`
11317
11515
  * folder to draw the data from.
11516
+ *
11517
+ * In order to use this function, you must upgrade your mod with
11518
+ * `ISCFeature.PREVENT_GRID_ENTITY_RESPAWN`.
11318
11519
  */
11319
11520
  preventGridEntityRespawn(): void;
11320
11521
  }
@@ -12001,11 +12202,15 @@ declare class RoomClearFrame extends Feature {
12001
12202
  /**
12002
12203
  * Helper function to get the game frame (i.e. `Game.GetFrameCount`) of the last time that this
12003
12204
  * room was cleared. Returns undefined if the room has never been cleared.
12205
+ *
12206
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_CLEAR_FRAME`.
12004
12207
  */
12005
12208
  getRoomClearGameFrame(): int | undefined;
12006
12209
  /**
12007
12210
  * Helper function to get the room frame (i.e. `Room.GetFrameCount`) of the last time that this
12008
12211
  * room was cleared. Returns undefined if the room has never been cleared.
12212
+ *
12213
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_CLEAR_FRAME`.
12009
12214
  */
12010
12215
  getRoomClearRoomFrame(): int | undefined;
12011
12216
  }
@@ -12049,6 +12254,8 @@ declare class RoomHistory extends Feature {
12049
12254
  /**
12050
12255
  * Helper function to get information about all of the rooms that a player has visited thus far on
12051
12256
  * this run.
12257
+ *
12258
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
12052
12259
  */
12053
12260
  getRoomHistory(): ReadonlyArray<Readonly<RoomDescription>>;
12054
12261
  /**
@@ -12056,6 +12263,8 @@ declare class RoomHistory extends Feature {
12056
12263
  *
12057
12264
  * In the special case of only one room having been visited thus far (i.e. the starting room of
12058
12265
  * the run), the starting room will be returned.
12266
+ *
12267
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
12059
12268
  */
12060
12269
  getPreviousRoomDescription(): Readonly<RoomDescription>;
12061
12270
  /**
@@ -12066,6 +12275,8 @@ declare class RoomHistory extends Feature {
12066
12275
  *
12067
12276
  * Note that this function can return undefined in the case where it is called on the first room
12068
12277
  * of the run.
12278
+ *
12279
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
12069
12280
  */
12070
12281
  getLatestRoomDescription(): Readonly<RoomDescription> | undefined;
12071
12282
  /**
@@ -12076,6 +12287,8 @@ declare class RoomHistory extends Feature {
12076
12287
  *
12077
12288
  * This function is intended to be used in the `POST_ENTITY_REMOVE` callback to detect when an
12078
12289
  * entity is despawning.
12290
+ *
12291
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
12079
12292
  */
12080
12293
  isLeavingRoom(): boolean;
12081
12294
  }
@@ -12113,6 +12326,8 @@ declare class RunInNFrames extends Feature {
12113
12326
  * a run is first starting.
12114
12327
  *
12115
12328
  * You can optionally specify a `PlayerType` to restart the game as that character.
12329
+ *
12330
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12116
12331
  */
12117
12332
  restartNextRenderFrame(character?: PlayerType): void;
12118
12333
  /**
@@ -12124,6 +12339,8 @@ declare class RunInNFrames extends Feature {
12124
12339
  * Note that this function will not handle saving and quitting. If a player saving and quitting
12125
12340
  * before the deferred function fires would cause a bug in your mod, then you should handle
12126
12341
  * deferred functions manually using serializable data.
12342
+ *
12343
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12127
12344
  */
12128
12345
  runInNGameFrames(func: () => void, gameFrames: int): void;
12129
12346
  /**
@@ -12135,6 +12352,8 @@ declare class RunInNFrames extends Feature {
12135
12352
  * Note that this function will not handle saving and quitting. If a player saving and quitting
12136
12353
  * before the deferred function fires would cause a bug in your mod, then you should handle
12137
12354
  * deferred functions manually using serializable data.
12355
+ *
12356
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12138
12357
  */
12139
12358
  runInNRenderFrames(func: () => void, renderFrames: int): void;
12140
12359
  /**
@@ -12164,6 +12383,8 @@ declare class RunInNFrames extends Feature {
12164
12383
  * Note that this function will not handle saving and quitting. If a player saving and quitting
12165
12384
  * before the deferred function fires would cause a bug in your mod, then you should handle
12166
12385
  * deferred functions manually using serializable data.
12386
+ *
12387
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12167
12388
  */
12168
12389
  runNextGameFrame(func: () => void): void;
12169
12390
  /**
@@ -12173,6 +12394,8 @@ declare class RunInNFrames extends Feature {
12173
12394
  * similar way.
12174
12395
  *
12175
12396
  * Note that this function will not handle saving and quitting.
12397
+ *
12398
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12176
12399
  */
12177
12400
  runNextRenderFrame(func: () => void): void;
12178
12401
  /**
@@ -12186,6 +12409,8 @@ declare class RunInNFrames extends Feature {
12186
12409
  * Note that this function will not handle saving and quitting. You must manually restart any
12187
12410
  * intervals if the player saves and quits in the middle of a run.
12188
12411
  *
12412
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12413
+ *
12189
12414
  * @param func The function to repeatedly run on an interval.
12190
12415
  * @param gameFrames The amount of game frames to wait between each run.
12191
12416
  * @param runImmediately Whether or not to execute the function right now before waiting for the
@@ -12203,6 +12428,8 @@ declare class RunInNFrames extends Feature {
12203
12428
  * Note that this function will not handle saving and quitting. You must manually restart any
12204
12429
  * intervals if the player saves and quits in the middle of a run.
12205
12430
  *
12431
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12432
+ *
12206
12433
  * @param func The function to repeatedly run on an interval.
12207
12434
  * @param renderFrames The amount of game frames to wait between each run.
12208
12435
  * @param runImmediately Whether or not to execute the function right now before waiting for the
@@ -12231,6 +12458,8 @@ declare class RunNextRoom extends Feature {
12231
12458
  * Note that this function will not handle saving and quitting. If a player saving and quitting
12232
12459
  * before the deferred function fires would cause a bug in your mod, then you should handle
12233
12460
  * deferred functions manually using serializable data.
12461
+ *
12462
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_NEXT_ROOM`.
12234
12463
  */
12235
12464
  runNextRoom(func: () => void): void;
12236
12465
  }
@@ -12325,6 +12554,8 @@ declare class SaveDataManager extends Feature {
12325
12554
  * You feed this function with an object containing your variables, and then it will automatically
12326
12555
  * manage them for you. (See below for an example.)
12327
12556
  *
12557
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12558
+ *
12328
12559
  * The save data manager is meant to be called once for each feature of your mod. In other words,
12329
12560
  * you should not put all of the data for your mod on the same object. Instead, scope your
12330
12561
  * variables locally to a single file that contains a mod feature, and then call this function to
@@ -12429,12 +12660,16 @@ declare class SaveDataManager extends Feature {
12429
12660
  *
12430
12661
  * Obviously, doing this will overwrite the current data, so using this function can potentially
12431
12662
  * result in lost state.
12663
+ *
12664
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12432
12665
  */
12433
12666
  saveDataManagerLoad(): void;
12434
12667
  /**
12435
12668
  * The save data manager will automatically save variables to disk at the appropriate times (i.e.
12436
12669
  * when the run is exited). Use this function to explicitly force the save data manager to write
12437
12670
  * all of its variables to disk immediately.
12671
+ *
12672
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12438
12673
  */
12439
12674
  saveDataManagerSave(): void;
12440
12675
  /**
@@ -12442,6 +12677,8 @@ declare class SaveDataManager extends Feature {
12442
12677
  *
12443
12678
  * This can make debugging easier, as you can access the variables from the game's debug console.
12444
12679
  * e.g. `l print(g.feature1.run.foo)`
12680
+ *
12681
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12445
12682
  */
12446
12683
  saveDataManagerSetGlobal(): void;
12447
12684
  /**
@@ -12453,11 +12690,15 @@ declare class SaveDataManager extends Feature {
12453
12690
  * the data fields).
12454
12691
  *
12455
12692
  * This function is variadic, which means you can pass as many classes as you want to register.
12693
+ *
12694
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12456
12695
  */
12457
12696
  saveDataManagerRegisterClass(...tstlClasses: AnyClass[]): void;
12458
12697
  /**
12459
12698
  * Removes a previously registered key from the save data manager. This is the opposite of the
12460
12699
  * "saveDataManager" method.
12700
+ *
12701
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12461
12702
  */
12462
12703
  saveDataManagerRemove(key: string): void;
12463
12704
  /**
@@ -12479,6 +12720,8 @@ declare class SaveDataManager extends Feature {
12479
12720
  * // Then, later on, to explicit reset all of the "room" variables:
12480
12721
  * mod.saveDataManagerReset("file1", "room");
12481
12722
  * ```
12723
+ *
12724
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12482
12725
  */
12483
12726
  saveDataManagerReset(key: string, childObjectKey: SaveDataKey): void;
12484
12727
  }
@@ -13230,7 +13473,12 @@ export declare function spawnEffectWithSeed(effectVariant: EffectVariant, subTyp
13230
13473
  */
13231
13474
  export declare function spawnEmptyCollectible(position: Vector, seedOrRNG?: Seed | RNG): EntityPickup;
13232
13475
 
13233
- /** Helper function to spawn a `EntityType.FAMILIAR` (3). */
13476
+ /**
13477
+ * Helper function to spawn a `EntityType.FAMILIAR` (3).
13478
+ *
13479
+ * If you are trying to implement a custom familiar, you probably want to use the
13480
+ * `checkFamiliarFromCollectibles` helper function instead.
13481
+ */
13234
13482
  export declare function spawnFamiliar(familiarVariant: FamiliarVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityFamiliar;
13235
13483
 
13236
13484
  /** Helper function to spawn a `EntityType.FAMILIAR` (3) with a specific seed. */