isaacscript-common 15.0.3 → 15.0.5

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 (94) hide show
  1. package/dist/index.d.ts +263 -9
  2. package/dist/isaacscript-common.lua +55 -9
  3. package/dist/src/classes/features/other/DisableInputs.d.ts +14 -0
  4. package/dist/src/classes/features/other/DisableInputs.d.ts.map +1 -1
  5. package/dist/src/classes/features/other/ExtraConsoleCommands.d.ts +6 -0
  6. package/dist/src/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
  7. package/dist/src/classes/features/other/FadeInRemover.d.ts +4 -0
  8. package/dist/src/classes/features/other/FadeInRemover.d.ts.map +1 -1
  9. package/dist/src/classes/features/other/FastReset.d.ts +4 -0
  10. package/dist/src/classes/features/other/FastReset.d.ts.map +1 -1
  11. package/dist/src/classes/features/other/FlyingDetection.d.ts +2 -0
  12. package/dist/src/classes/features/other/FlyingDetection.d.ts.map +1 -1
  13. package/dist/src/classes/features/other/ForgottenSwitch.d.ts +2 -0
  14. package/dist/src/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
  15. package/dist/src/classes/features/other/ItemPoolDetection.d.ts +6 -0
  16. package/dist/src/classes/features/other/ItemPoolDetection.d.ts.map +1 -1
  17. package/dist/src/classes/features/other/ModdedElementDetection.d.ts +69 -0
  18. package/dist/src/classes/features/other/ModdedElementDetection.d.ts.map +1 -1
  19. package/dist/src/classes/features/other/ModdedElementSets.d.ts +66 -4
  20. package/dist/src/classes/features/other/ModdedElementSets.d.ts.map +1 -1
  21. package/dist/src/classes/features/other/NoSirenSteal.d.ts +2 -0
  22. package/dist/src/classes/features/other/NoSirenSteal.d.ts.map +1 -1
  23. package/dist/src/classes/features/other/Pause.d.ts +7 -1
  24. package/dist/src/classes/features/other/Pause.d.ts.map +1 -1
  25. package/dist/src/classes/features/other/PersistentEntities.d.ts +4 -0
  26. package/dist/src/classes/features/other/PersistentEntities.d.ts.map +1 -1
  27. package/dist/src/classes/features/other/PickupIndexCreation.d.ts +3 -0
  28. package/dist/src/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
  29. package/dist/src/classes/features/other/PlayerInventory.d.ts +4 -0
  30. package/dist/src/classes/features/other/PlayerInventory.d.ts.map +1 -1
  31. package/dist/src/classes/features/other/PonyDetection.d.ts +4 -0
  32. package/dist/src/classes/features/other/PonyDetection.d.ts.map +1 -1
  33. package/dist/src/classes/features/other/PreventChildEntities.d.ts +3 -0
  34. package/dist/src/classes/features/other/PreventChildEntities.d.ts.map +1 -1
  35. package/dist/src/classes/features/other/PreventCollectibleRotation.d.ts +3 -0
  36. package/dist/src/classes/features/other/PreventCollectibleRotation.d.ts.map +1 -1
  37. package/dist/src/classes/features/other/PreventGridEntityRespawn.d.ts +3 -0
  38. package/dist/src/classes/features/other/PreventGridEntityRespawn.d.ts.map +1 -1
  39. package/dist/src/classes/features/other/RoomClearFrame.d.ts +4 -0
  40. package/dist/src/classes/features/other/RoomClearFrame.d.ts.map +1 -1
  41. package/dist/src/classes/features/other/RoomHistory.d.ts +8 -0
  42. package/dist/src/classes/features/other/RoomHistory.d.ts.map +1 -1
  43. package/dist/src/classes/features/other/RunInNFrames.d.ts +14 -0
  44. package/dist/src/classes/features/other/RunInNFrames.d.ts.map +1 -1
  45. package/dist/src/classes/features/other/RunNextRoom.d.ts +2 -0
  46. package/dist/src/classes/features/other/RunNextRoom.d.ts.map +1 -1
  47. package/dist/src/classes/features/other/SaveDataManager.d.ts +14 -0
  48. package/dist/src/classes/features/other/SaveDataManager.d.ts.map +1 -1
  49. package/dist/src/enums/ISCFeature.d.ts +1 -1
  50. package/dist/src/enums/ISCFeature.d.ts.map +1 -1
  51. package/dist/src/enums/ISCFeature.lua +2 -2
  52. package/dist/src/features.d.ts +1 -1
  53. package/dist/src/features.d.ts.map +1 -1
  54. package/dist/src/features.lua +1 -1
  55. package/dist/src/functions/entitiesSpecific.d.ts +6 -1
  56. package/dist/src/functions/entitiesSpecific.d.ts.map +1 -1
  57. package/dist/src/functions/entitiesSpecific.lua +3 -0
  58. package/dist/src/functions/familiars.d.ts.map +1 -1
  59. package/dist/src/functions/familiars.lua +8 -1
  60. package/dist/src/functions/gridEntities.d.ts +4 -0
  61. package/dist/src/functions/gridEntities.d.ts.map +1 -1
  62. package/dist/src/functions/gridEntities.lua +48 -4
  63. package/dist/src/functions/math.d.ts +1 -1
  64. package/dist/src/functions/math.lua +1 -1
  65. package/package.json +1 -1
  66. package/src/classes/features/other/DisableInputs.ts +12 -0
  67. package/src/classes/features/other/ExtraConsoleCommands.ts +6 -0
  68. package/src/classes/features/other/FadeInRemover.ts +4 -0
  69. package/src/classes/features/other/FastReset.ts +4 -0
  70. package/src/classes/features/other/FlyingDetection.ts +2 -0
  71. package/src/classes/features/other/ForgottenSwitch.ts +2 -0
  72. package/src/classes/features/other/ItemPoolDetection.ts +6 -0
  73. package/src/classes/features/other/ModdedElementDetection.ts +69 -0
  74. package/src/classes/features/other/ModdedElementSets.ts +66 -4
  75. package/src/classes/features/other/NoSirenSteal.ts +2 -0
  76. package/src/classes/features/other/Pause.ts +7 -1
  77. package/src/classes/features/other/PersistentEntities.ts +4 -0
  78. package/src/classes/features/other/PickupIndexCreation.ts +3 -0
  79. package/src/classes/features/other/PlayerInventory.ts +4 -0
  80. package/src/classes/features/other/PonyDetection.ts +4 -0
  81. package/src/classes/features/other/PreventChildEntities.ts +3 -0
  82. package/src/classes/features/other/PreventCollectibleRotation.ts +3 -0
  83. package/src/classes/features/other/PreventGridEntityRespawn.ts +3 -0
  84. package/src/classes/features/other/RoomClearFrame.ts +4 -0
  85. package/src/classes/features/other/RoomHistory.ts +8 -0
  86. package/src/classes/features/other/RunInNFrames.ts +14 -0
  87. package/src/classes/features/other/RunNextRoom.ts +2 -0
  88. package/src/classes/features/other/SaveDataManager.ts +14 -0
  89. package/src/enums/ISCFeature.ts +1 -1
  90. package/src/features.ts +2 -2
  91. package/src/functions/entitiesSpecific.ts +6 -1
  92. package/src/functions/familiars.ts +11 -1
  93. package/src/functions/gridEntities.ts +68 -13
  94. package/src/functions/math.ts +1 -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
  }
@@ -4672,6 +4704,9 @@ export declare function getGridEntities(...gridEntityTypes: GridEntityType[]): G
4672
4704
  */
4673
4705
  export declare function getGridEntitiesExcept(...gridEntityTypes: GridEntityType[]): GridEntity[];
4674
4706
 
4707
+ /** Helper function to get all grid entities in a given radius around a given point. */
4708
+ export declare function getGridEntitiesInRadius(targetPosition: Vector, radius: number): GridEntity[];
4709
+
4675
4710
  /**
4676
4711
  * Helper function to get a map of every grid entity in the current room. The indexes of the map are
4677
4712
  * equal to the grid index. The values of the map are equal to the grid entities.
@@ -4681,6 +4716,9 @@ export declare function getGridEntitiesExcept(...gridEntityTypes: GridEntityType
4681
4716
  */
4682
4717
  export declare function getGridEntitiesMap(...gridEntityTypes: GridEntityType[]): Map<int, GridEntity>;
4683
4718
 
4719
+ /** Helper function to get the top left and bottom right corners of a given grid entity. */
4720
+ export declare function getGridEntityCollisionPoints(gridEntity: GridEntity): [topLeft: Vector, bottomRight: Vector];
4721
+
4684
4722
  /** Helper function to get a string containing the grid entity's type and variant. */
4685
4723
  export declare function getGridEntityID(gridEntity: GridEntity): string;
4686
4724
 
@@ -6960,7 +6998,7 @@ export declare enum ISCFeature {
6960
6998
  NO_SIREN_STEAL = 33,
6961
6999
  PAUSE = 34,
6962
7000
  PERSISTENT_ENTITIES = 35,
6963
- PICKUP_INDEX = 36,
7001
+ PICKUP_INDEX_CREATION = 36,
6964
7002
  PLAYER_INVENTORY = 37,
6965
7003
  PONY_DETECTION = 38,
6966
7004
  PREVENT_CHILD_ENTITIES = 39,
@@ -7021,7 +7059,7 @@ declare interface ISCFeatureToClass {
7021
7059
  [ISCFeature.NO_SIREN_STEAL]: NoSirenSteal;
7022
7060
  [ISCFeature.PAUSE]: Pause;
7023
7061
  [ISCFeature.PERSISTENT_ENTITIES]: PersistentEntities;
7024
- [ISCFeature.PICKUP_INDEX]: PickupIndexCreation;
7062
+ [ISCFeature.PICKUP_INDEX_CREATION]: PickupIndexCreation;
7025
7063
  [ISCFeature.PLAYER_INVENTORY]: PlayerInventory;
7026
7064
  [ISCFeature.PONY_DETECTION]: PonyDetection;
7027
7065
  [ISCFeature.PREVENT_CHILD_ENTITIES]: PreventChildEntities;
@@ -7779,6 +7817,8 @@ declare class ItemPoolDetection extends Feature {
7779
7817
  /**
7780
7818
  * Helper function to get the remaining collectibles in a given item pool. This function is
7781
7819
  * expensive, so only use it in situations where the lag is acceptable.
7820
+ *
7821
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ITEM_POOL_DETECTION`.
7782
7822
  */
7783
7823
  getCollectiblesInItemPool(itemPoolType: ItemPoolType): CollectibleType[];
7784
7824
  /**
@@ -7790,6 +7830,8 @@ declare class ItemPoolDetection extends Feature {
7790
7830
  *
7791
7831
  * Under the hood, this function works by using the `ItemPool.AddRoomBlacklist` method to
7792
7832
  * blacklist every collectible except for the one provided.
7833
+ *
7834
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ITEM_POOL_DETECTION`.
7793
7835
  */
7794
7836
  isCollectibleInItemPool(collectibleType: CollectibleType, itemPoolType: ItemPoolType): boolean;
7795
7837
  /**
@@ -7805,6 +7847,8 @@ declare class ItemPoolDetection extends Feature {
7805
7847
  * - If the collectible is non-offensive, any Tainted Losts will be temporarily changed to Isaac
7806
7848
  * and then changed back. (This is because Tainted Lost is not able to retrieve non-offensive
7807
7849
  * collectibles from item pools).
7850
+ *
7851
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ITEM_POOL_DETECTION`.
7808
7852
  */
7809
7853
  isCollectibleUnlocked(collectibleType: CollectibleType, itemPoolType: ItemPoolType): boolean;
7810
7854
  }
@@ -9969,6 +10013,9 @@ declare class ModdedElementDetection extends Feature {
9969
10013
  * This function can only be called if at least one callback has been executed. This is because
9970
10014
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
9971
10015
  * order).
10016
+ *
10017
+ * In order to use this function, you must upgrade your mod with
10018
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
9972
10019
  */
9973
10020
  getFirstModdedCollectibleType(): CollectibleType | undefined;
9974
10021
  /**
@@ -9980,6 +10027,9 @@ declare class ModdedElementDetection extends Feature {
9980
10027
  * This function can only be called if at least one callback has been executed. This is because
9981
10028
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
9982
10029
  * order).
10030
+ *
10031
+ * In order to use this function, you must upgrade your mod with
10032
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
9983
10033
  */
9984
10034
  getLastCollectibleType(): CollectibleType;
9985
10035
  /**
@@ -9998,12 +10048,18 @@ declare class ModdedElementDetection extends Feature {
9998
10048
  * This function can only be called if at least one callback has been executed. This is because
9999
10049
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10000
10050
  * order).
10051
+ *
10052
+ * In order to use this function, you must upgrade your mod with
10053
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10001
10054
  */
10002
10055
  getModdedCollectibleTypes(): CollectibleType[];
10003
10056
  /**
10004
10057
  * This function can only be called if at least one callback has been executed. This is because
10005
10058
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10006
10059
  * order).
10060
+ *
10061
+ * In order to use this function, you must upgrade your mod with
10062
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10007
10063
  */
10008
10064
  getNumCollectibleTypes(): int;
10009
10065
  /**
@@ -10012,6 +10068,9 @@ declare class ModdedElementDetection extends Feature {
10012
10068
  * This function can only be called if at least one callback has been executed. This is because
10013
10069
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10014
10070
  * order).
10071
+ *
10072
+ * In order to use this function, you must upgrade your mod with
10073
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10015
10074
  */
10016
10075
  getNumModdedCollectibleTypes(): int;
10017
10076
  /**
@@ -10019,6 +10078,9 @@ declare class ModdedElementDetection extends Feature {
10019
10078
  *
10020
10079
  * This function can only be called if at least one callback has been executed. This is because
10021
10080
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10081
+ *
10082
+ * In order to use this function, you must upgrade your mod with
10083
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10022
10084
  */
10023
10085
  getFirstModdedTrinketType(): TrinketType | undefined;
10024
10086
  /**
@@ -10029,6 +10091,9 @@ declare class ModdedElementDetection extends Feature {
10029
10091
  *
10030
10092
  * This function can only be called if at least one callback has been executed. This is because
10031
10093
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10094
+ *
10095
+ * In order to use this function, you must upgrade your mod with
10096
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10032
10097
  */
10033
10098
  getLastTrinketType(): TrinketType;
10034
10099
  /**
@@ -10042,6 +10107,9 @@ declare class ModdedElementDetection extends Feature {
10042
10107
  *
10043
10108
  * This function can only be called if at least one callback has been executed. This is because
10044
10109
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10110
+ *
10111
+ * In order to use this function, you must upgrade your mod with
10112
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10045
10113
  */
10046
10114
  getModdedTrinketTypes(): TrinketType[];
10047
10115
  /**
@@ -10052,11 +10120,17 @@ declare class ModdedElementDetection extends Feature {
10052
10120
  *
10053
10121
  * This function can only be called if at least one callback has been executed. This is because
10054
10122
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10123
+ *
10124
+ * In order to use this function, you must upgrade your mod with
10125
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10055
10126
  */
10056
10127
  getNumTrinketTypes(): int;
10057
10128
  /**
10058
10129
  * This function can only be called if at least one callback has been executed. This is because
10059
10130
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10131
+ *
10132
+ * In order to use this function, you must upgrade your mod with
10133
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10060
10134
  */
10061
10135
  getNumModdedTrinketTypes(): int;
10062
10136
  /**
@@ -10064,6 +10138,9 @@ declare class ModdedElementDetection extends Feature {
10064
10138
  *
10065
10139
  * This function can only be called if at least one callback has been executed. This is because
10066
10140
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10141
+ *
10142
+ * In order to use this function, you must upgrade your mod with
10143
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10067
10144
  */
10068
10145
  getTrinketTypes(): TrinketType[];
10069
10146
  /**
@@ -10071,6 +10148,9 @@ declare class ModdedElementDetection extends Feature {
10071
10148
  *
10072
10149
  * This function can only be called if at least one callback has been executed. This is because
10073
10150
  * not all cards will necessarily be present when a mod first loads (due to mod load order).
10151
+ *
10152
+ * In order to use this function, you must upgrade your mod with
10153
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10074
10154
  */
10075
10155
  getAllCardTypes(): CardType[];
10076
10156
  /**
@@ -10078,6 +10158,9 @@ declare class ModdedElementDetection extends Feature {
10078
10158
  *
10079
10159
  * This function can only be called if at least one callback has been executed. This is because
10080
10160
  * not all cards will necessarily be present when a mod first loads (due to mod load order).
10161
+ *
10162
+ * In order to use this function, you must upgrade your mod with
10163
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10081
10164
  */
10082
10165
  getFirstModdedCardType(): CardType | undefined;
10083
10166
  /**
@@ -10088,6 +10171,9 @@ declare class ModdedElementDetection extends Feature {
10088
10171
  *
10089
10172
  * This function can only be called if at least one callback has been executed. This is because
10090
10173
  * not all cards will necessarily be present when a mod first loads (due to mod load order).
10174
+ *
10175
+ * In order to use this function, you must upgrade your mod with
10176
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10091
10177
  */
10092
10178
  getLastCardType(): CardType;
10093
10179
  /**
@@ -10097,6 +10183,9 @@ declare class ModdedElementDetection extends Feature {
10097
10183
  *
10098
10184
  * This function can only be called if at least one callback has been executed. This is because
10099
10185
  * not all cards will necessarily be present when a mod first loads (due to mod load order).
10186
+ *
10187
+ * In order to use this function, you must upgrade your mod with
10188
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10100
10189
  */
10101
10190
  getModdedCardTypes(): CardType[];
10102
10191
  /**
@@ -10106,11 +10195,17 @@ declare class ModdedElementDetection extends Feature {
10106
10195
  *
10107
10196
  * This function can only be called if at least one callback has been executed. This is because
10108
10197
  * not all cards will necessarily be present when a mod first loads (due to mod load order).
10198
+ *
10199
+ * In order to use this function, you must upgrade your mod with
10200
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10109
10201
  */
10110
10202
  getNumCardTypes(): int;
10111
10203
  /**
10112
10204
  * This function can only be called if at least one callback has been executed. This is because
10113
10205
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10206
+ *
10207
+ * In order to use this function, you must upgrade your mod with
10208
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10114
10209
  */
10115
10210
  getNumModdedCardTypes(): int;
10116
10211
  /**
@@ -10120,6 +10215,9 @@ declare class ModdedElementDetection extends Feature {
10120
10215
  * This function can only be called if at least one callback has been executed. This is because
10121
10216
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10122
10217
  * order).
10218
+ *
10219
+ * In order to use this function, you must upgrade your mod with
10220
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10123
10221
  */
10124
10222
  getAllPillEffects(): PillEffect[];
10125
10223
  /**
@@ -10128,6 +10226,9 @@ declare class ModdedElementDetection extends Feature {
10128
10226
  * This function can only be called if at least one callback has been executed. This is because
10129
10227
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10130
10228
  * order).
10229
+ *
10230
+ * In order to use this function, you must upgrade your mod with
10231
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10131
10232
  */
10132
10233
  getFirstModdedPillEffect(): PillEffect | undefined;
10133
10234
  /**
@@ -10139,6 +10240,9 @@ declare class ModdedElementDetection extends Feature {
10139
10240
  * This function can only be called if at least one callback has been executed. This is because
10140
10241
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10141
10242
  * order).
10243
+ *
10244
+ * In order to use this function, you must upgrade your mod with
10245
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10142
10246
  */
10143
10247
  getLastPillEffect(): PillEffect;
10144
10248
  /**
@@ -10149,6 +10253,9 @@ declare class ModdedElementDetection extends Feature {
10149
10253
  * This function can only be called if at least one callback has been executed. This is because
10150
10254
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10151
10255
  * order).
10256
+ *
10257
+ * In order to use this function, you must upgrade your mod with
10258
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10152
10259
  */
10153
10260
  getModdedPillEffects(): PillEffect[];
10154
10261
  /**
@@ -10160,12 +10267,18 @@ declare class ModdedElementDetection extends Feature {
10160
10267
  * This function can only be called if at least one callback has been executed. This is because
10161
10268
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10162
10269
  * order).
10270
+ *
10271
+ * In order to use this function, you must upgrade your mod with
10272
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10163
10273
  */
10164
10274
  getNumPillEffects(): int;
10165
10275
  /**
10166
10276
  * This function can only be called if at least one callback has been executed. This is because
10167
10277
  * not all pill effects will necessarily be present when a mod first loads (due to mod load
10168
10278
  * order).
10279
+ *
10280
+ * In order to use this function, you must upgrade your mod with
10281
+ * `ISCFeature.MODDED_ELEMENT_DETECTION`.
10169
10282
  */
10170
10283
  getNumModdedPillEffects(): int;
10171
10284
  }
@@ -10212,6 +10325,8 @@ declare class ModdedElementSets extends Feature {
10212
10325
  * This function can only be called if at least one callback has been executed. This is because
10213
10326
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10214
10327
  * order).
10328
+ *
10329
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10215
10330
  */
10216
10331
  getCollectibleArray(): readonly CollectibleType[];
10217
10332
  /**
@@ -10224,6 +10339,8 @@ declare class ModdedElementSets extends Feature {
10224
10339
  * This function can only be called if at least one callback has been executed. This is because
10225
10340
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10226
10341
  * order).
10342
+ *
10343
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10227
10344
  */
10228
10345
  getCollectibleSet(): ReadonlySet<CollectibleType>;
10229
10346
  /**
@@ -10235,6 +10352,8 @@ declare class ModdedElementSets extends Feature {
10235
10352
  * ```ts
10236
10353
  * const guppyCollectibleTypes = getCollectiblesForTransformation(PlayerForm.GUPPY);
10237
10354
  * ```
10355
+ *
10356
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10238
10357
  */
10239
10358
  getCollectiblesForTransformation(playerForm: PlayerForm): ReadonlySet<CollectibleType>;
10240
10359
  /**
@@ -10244,6 +10363,8 @@ declare class ModdedElementSets extends Feature {
10244
10363
  * This function can only be called if at least one callback has been executed. This is because
10245
10364
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10246
10365
  * order).
10366
+ *
10367
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10247
10368
  */
10248
10369
  getCollectiblesWithCacheFlag(cacheFlag: CacheFlag): ReadonlySet<CollectibleType>;
10249
10370
  /**
@@ -10255,16 +10376,22 @@ declare class ModdedElementSets extends Feature {
10255
10376
  * ```ts
10256
10377
  * const offensiveCollectibleTypes = getCollectibleTypesWithTag(ItemConfigTag.OFFENSIVE);
10257
10378
  * ```
10379
+ *
10380
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10258
10381
  */
10259
10382
  getCollectiblesWithTag(itemConfigTag: ItemConfigTag): ReadonlySet<CollectibleType>;
10260
10383
  /**
10261
10384
  * Returns a set containing every valid passive item that can be randomly granted to Eden as a
10262
10385
  * starting item.
10386
+ *
10387
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10263
10388
  */
10264
10389
  getEdenActiveCollectibles(): ReadonlySet<CollectibleType>;
10265
10390
  /**
10266
10391
  * Returns a set containing every valid passive item that can be randomly granted to Eden as a
10267
10392
  * starting item.
10393
+ *
10394
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10268
10395
  */
10269
10396
  getEdenPassiveCollectibles(): ReadonlySet<CollectibleType>;
10270
10397
  /**
@@ -10274,6 +10401,8 @@ declare class ModdedElementSets extends Feature {
10274
10401
  * Collectibles that only grant flight conditionally are manually pruned. Collectibles such as
10275
10402
  * Empty Vessel should be checked for via the `hasFlyingTemporaryEffect` function.
10276
10403
  *
10404
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10405
+ *
10277
10406
  * @param pruneConditionalItems Whether or not collectibles that only grant flight conditionally
10278
10407
  * should be included in the set (like Empty Vessel).
10279
10408
  */
@@ -10281,6 +10410,8 @@ declare class ModdedElementSets extends Feature {
10281
10410
  /**
10282
10411
  * Returns a set of all of the trinkets that grant flight. (All trinkets that grant flight do so
10283
10412
  * conditionally, like Bat Wing and Azazel's Stump.)
10413
+ *
10414
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10284
10415
  */
10285
10416
  getFlyingTrinkets(): ReadonlySet<TrinketType>;
10286
10417
  /**
@@ -10292,6 +10423,8 @@ declare class ModdedElementSets extends Feature {
10292
10423
  * This function can only be called if at least one callback has been executed. This is because
10293
10424
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10294
10425
  * order).
10426
+ *
10427
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10295
10428
  */
10296
10429
  getModdedCollectibleArray(): readonly CollectibleType[];
10297
10430
  /**
@@ -10303,6 +10436,8 @@ declare class ModdedElementSets extends Feature {
10303
10436
  * This function can only be called if at least one callback has been executed. This is because
10304
10437
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10305
10438
  * order).
10439
+ *
10440
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10306
10441
  */
10307
10442
  getModdedCollectibleSet(): ReadonlySet<CollectibleType>;
10308
10443
  /**
@@ -10313,6 +10448,8 @@ declare class ModdedElementSets extends Feature {
10313
10448
  *
10314
10449
  * This function can only be called if at least one callback has been executed. This is because
10315
10450
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10451
+ *
10452
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10316
10453
  */
10317
10454
  getModdedTrinketArray(): readonly TrinketType[];
10318
10455
  /**
@@ -10323,6 +10460,8 @@ declare class ModdedElementSets extends Feature {
10323
10460
  *
10324
10461
  * This function can only be called if at least one callback has been executed. This is because
10325
10462
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10463
+ *
10464
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10326
10465
  */
10327
10466
  getModdedTrinketSet(): ReadonlySet<TrinketType>;
10328
10467
  /**
@@ -10330,6 +10469,8 @@ declare class ModdedElementSets extends Feature {
10330
10469
  * the player has.
10331
10470
  *
10332
10471
  * Note that this will filter out non-real collectibles like Lilith's Incubus.
10472
+ *
10473
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10333
10474
  */
10334
10475
  getPlayerCollectibleMap(player: EntityPlayer): Map<CollectibleType, int>;
10335
10476
  /**
@@ -10353,11 +10494,21 @@ declare class ModdedElementSets extends Feature {
10353
10494
  * This function can only be called if at least one callback has been executed. This is because
10354
10495
  * not all collectibles will necessarily be present when a mod first loads (due to mod load
10355
10496
  * order).
10497
+ *
10498
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10356
10499
  */
10357
10500
  getPlayerCollectiblesWithCacheFlag(player: EntityPlayer, cacheFlag: CacheFlag): CollectibleType[];
10358
- /** 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
+ */
10359
10506
  getPlayerCollectiblesWithTag(player: EntityPlayer, itemConfigTag: ItemConfigTag): CollectibleType[];
10360
- /** Returns the number of items that a player has towards a particular transformation. */
10507
+ /**
10508
+ * Returns the number of items that a player has towards a particular transformation.
10509
+ *
10510
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10511
+ */
10361
10512
  getPlayerCollectiblesForTransformation(player: EntityPlayer, playerForm: PlayerForm): CollectibleType[];
10362
10513
  /**
10363
10514
  * Returns a map containing every trinket type that the player has that matches the provided
@@ -10365,11 +10516,21 @@ declare class ModdedElementSets extends Feature {
10365
10516
  *
10366
10517
  * This function can only be called if at least one callback has been executed. This is because
10367
10518
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10519
+ *
10520
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10368
10521
  */
10369
10522
  getPlayerTrinketsWithCacheFlag(player: EntityPlayer, cacheFlag: CacheFlag): Map<TrinketType, int>;
10370
- /** Returns a random active collectible type that that is a valid starting item for Eden. */
10523
+ /**
10524
+ * Returns a random active 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
+ */
10371
10528
  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. */
10529
+ /**
10530
+ * Returns a random passive collectible type that that is a valid starting item for Eden.
10531
+ *
10532
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10533
+ */
10373
10534
  getRandomEdenPassiveCollectible(seedOrRNG?: Seed | RNG, exceptions?: CollectibleType[] | readonly CollectibleType[]): CollectibleType;
10374
10535
  /**
10375
10536
  * Returns an array containing every modded trinket type in the game.
@@ -10379,6 +10540,8 @@ declare class ModdedElementSets extends Feature {
10379
10540
  *
10380
10541
  * This function can only be called if at least one callback has been executed. This is because
10381
10542
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10543
+ *
10544
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10382
10545
  */
10383
10546
  getTrinketArray(): readonly TrinketType[];
10384
10547
  /**
@@ -10389,6 +10552,8 @@ declare class ModdedElementSets extends Feature {
10389
10552
  *
10390
10553
  * This function can only be called if at least one callback has been executed. This is because
10391
10554
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10555
+ *
10556
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10392
10557
  */
10393
10558
  getTrinketSet(): ReadonlySet<TrinketType>;
10394
10559
  /**
@@ -10397,6 +10562,8 @@ declare class ModdedElementSets extends Feature {
10397
10562
  *
10398
10563
  * This function can only be called if at least one callback has been executed. This is because
10399
10564
  * not all trinkets will necessarily be present when a mod first loads (due to mod load order).
10565
+ *
10566
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10400
10567
  */
10401
10568
  getTrinketsWithCacheFlag(cacheFlag: CacheFlag): ReadonlySet<TrinketType>;
10402
10569
  /**
@@ -10404,6 +10571,8 @@ declare class ModdedElementSets extends Feature {
10404
10571
  *
10405
10572
  * Use this if you need to iterate over the collectibles in order. If you need to do O(1) lookups,
10406
10573
  * then use the `getVanillaCollectibleSet` helper function instead.
10574
+ *
10575
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10407
10576
  */
10408
10577
  getVanillaCollectibleArray(): readonly CollectibleType[];
10409
10578
  /**
@@ -10411,6 +10580,8 @@ declare class ModdedElementSets extends Feature {
10411
10580
  *
10412
10581
  * Use this if you need to do O(1) lookups. If you need to iterate over the collectibles in order,
10413
10582
  * then use the `getVanillaCollectibleArray` helper function instead.
10583
+ *
10584
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10414
10585
  */
10415
10586
  getVanillaCollectibleSet(): ReadonlySet<CollectibleType>;
10416
10587
  /**
@@ -10418,6 +10589,8 @@ declare class ModdedElementSets extends Feature {
10418
10589
  *
10419
10590
  * Use this if you need to iterate over the trinkets in order. If you need to do O(1) lookups,
10420
10591
  * then use the `getVanillaTrinketSet` helper function instead.
10592
+ *
10593
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10421
10594
  */
10422
10595
  getVanillaTrinketArray(): readonly TrinketType[];
10423
10596
  /**
@@ -10425,6 +10598,8 @@ declare class ModdedElementSets extends Feature {
10425
10598
  *
10426
10599
  * Use this if you need to do O(1) lookups. If you need to iterate over the trinkets in order,
10427
10600
  * then use the `getVanillaTrinketArray` helper function instead.
10601
+ *
10602
+ * In order to use this function, you must upgrade your mod with `ISCFeature.MODDED_ELEMENT_SETS`.
10428
10603
  */
10429
10604
  getVanillaTrinketSet(): ReadonlySet<TrinketType>;
10430
10605
  }
@@ -10659,6 +10834,8 @@ declare class NoSirenSteal extends Feature {
10659
10834
  * Blacklists a familiar from being stolen by The Siren boss. This should be called once at the
10660
10835
  * beginning of every run.
10661
10836
  *
10837
+ * In order to use this function, you must upgrade your mod with `ISCFeature.NO_SIREN_STEAL`.
10838
+ *
10662
10839
  * @param familiarVariant The familiar variant to blacklist.
10663
10840
  * @param familiarSubType The sub-type to blacklist. Optional. The default is to blacklist all
10664
10841
  * sub-types of the given variant.
@@ -10782,9 +10959,15 @@ declare class Pause extends Feature {
10782
10959
  * - uses the Pause collectible on every game frame
10783
10960
  * - disables any player inputs (except for `ButtonAction.MENU_CONFIRM` and
10784
10961
  * `ButtonAction.CONSOLE`)
10962
+ *
10963
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PAUSE`.
10785
10964
  */
10786
10965
  pause(): void;
10787
- /** Helper function to put things back to normal after the `pause` function was used. */
10966
+ /**
10967
+ * Helper function to put things back to normal after the `pause` function was used.
10968
+ *
10969
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PAUSE`.
10970
+ */
10788
10971
  unpause(): void;
10789
10972
  }
10790
10973
 
@@ -10803,6 +10986,8 @@ declare class PersistentEntities extends Feature {
10803
10986
  * Helper function to stop an entity spawned with the `spawnPersistentEntity` helper function from
10804
10987
  * respawning.
10805
10988
  *
10989
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PERSISTENT_ENTITIES`.
10990
+ *
10806
10991
  * @param persistentEntityIndex The index that was returned by the `spawnPersistentEntity`
10807
10992
  * function.
10808
10993
  * @param removeEntity Optional. True by default. Set to false if you want to stop an entity from
@@ -10823,6 +11008,8 @@ declare class PersistentEntities extends Feature {
10823
11008
  * persistent, but they are not present in every room, only one specific room. This function
10824
11009
  * spawns entities like pickups, not familiars.
10825
11010
  *
11011
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PERSISTENT_ENTITIES`.
11012
+ *
10826
11013
  * @returns A tuple containing the entity and the persistent entity index. You can use the index
10827
11014
  * with the `removePersistentEntity` function.
10828
11015
  */
@@ -10897,6 +11084,9 @@ declare class PickupIndexCreation extends Feature {
10897
11084
  * have an index of 2, and so on.
10898
11085
  *
10899
11086
  * Tracking pickups requires stateful tracking, so using pickup indexes requires an upgraded mod.
11087
+ *
11088
+ * In order to use this function, you must upgrade your mod with
11089
+ * `ISCFeature.PICKUP_INDEX_CREATION`.
10900
11090
  */
10901
11091
  getPickupIndex(pickup: EntityPickup): PickupIndex;
10902
11092
  }
@@ -11037,6 +11227,8 @@ declare class PlayerInventory extends Feature {
11037
11227
  * might do this for some reason. (With that said, the next time that a collectible is normally
11038
11228
  * added or removed, it would trigger a re-scan, and the previous changes would be picked up.)
11039
11229
  *
11230
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PLAYER_INVENTORY`.
11231
+ *
11040
11232
  * @param player The player to get the inventory for.
11041
11233
  * @param includeActiveCollectibles Optional. If true, will include all active collectibles.
11042
11234
  * Default is true.
@@ -11047,6 +11239,8 @@ declare class PlayerInventory extends Feature {
11047
11239
  * this will be the passive that is removed when the player would use Clicker.
11048
11240
  *
11049
11241
  * Returns undefined if the player does not have any passive collectibles.
11242
+ *
11243
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PLAYER_INVENTORY`.
11050
11244
  */
11051
11245
  getPlayerLastPassiveCollectible(player: EntityPlayer): CollectibleType | undefined;
11052
11246
  }
@@ -11092,11 +11286,15 @@ declare class PonyDetection extends Feature {
11092
11286
  /**
11093
11287
  * Helper function to see if the player is under the effects of A Pony or White Pony charge.
11094
11288
  * Detecting this is difficult, as the temporary effect will disappear upon entering a new room.
11289
+ *
11290
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PONY_DETECTION`.
11095
11291
  */
11096
11292
  isPlayerUsingPony(player: EntityPlayer): boolean;
11097
11293
  /**
11098
11294
  * Helper function to see if any player is under the effects of A Pony or White Pony charge.
11099
11295
  * Detecting this is difficult, as the temporary effect will disappear upon entering a new room.
11296
+ *
11297
+ * In order to use this function, you must upgrade your mod with `ISCFeature.PONY_DETECTION`.
11100
11298
  */
11101
11299
  anyPlayerUsingPony(): boolean;
11102
11300
  }
@@ -11267,6 +11465,9 @@ declare class PreventChildEntities extends Feature {
11267
11465
  * Under the hood, this function will remove any new NPCs spawned that have a
11268
11466
  * `Entity.SpawnerEntity` or `Entity.Parent` value that matches the provided entity. (They are
11269
11467
  * removed during the `POST_NPC_INIT` callback specifically.)
11468
+ *
11469
+ * In order to use this function, you must upgrade your mod with
11470
+ * `ISCFeature.PREVENT_CHILD_ENTITIES`.
11270
11471
  */
11271
11472
  preventChildEntities(entity: Entity): void;
11272
11473
  }
@@ -11283,6 +11484,9 @@ declare class PreventCollectibleRotation extends Feature {
11283
11484
  *
11284
11485
  * It is required to pass the intended collectible type to this function since it is possible for
11285
11486
  * collectibles to rotate on the first frame that they are spawned.
11487
+ *
11488
+ * In order to use this function, you must upgrade your mod with
11489
+ * `ISCFeature.PREVENT_COLLECTIBLE_ROTATION`.
11286
11490
  */
11287
11491
  preventCollectibleRotation(collectible: EntityPickup, collectibleType: CollectibleType): void;
11288
11492
  }
@@ -11315,6 +11519,9 @@ declare class PreventGridEntityRespawn extends Feature {
11315
11519
  * room. However, the room data must exactly match the room type, the room shape, and the doors,
11316
11520
  * so this is not possible to do in a robust way without adding empty rooms to the mod's `content`
11317
11521
  * folder to draw the data from.
11522
+ *
11523
+ * In order to use this function, you must upgrade your mod with
11524
+ * `ISCFeature.PREVENT_GRID_ENTITY_RESPAWN`.
11318
11525
  */
11319
11526
  preventGridEntityRespawn(): void;
11320
11527
  }
@@ -12001,11 +12208,15 @@ declare class RoomClearFrame extends Feature {
12001
12208
  /**
12002
12209
  * Helper function to get the game frame (i.e. `Game.GetFrameCount`) of the last time that this
12003
12210
  * room was cleared. Returns undefined if the room has never been cleared.
12211
+ *
12212
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_CLEAR_FRAME`.
12004
12213
  */
12005
12214
  getRoomClearGameFrame(): int | undefined;
12006
12215
  /**
12007
12216
  * Helper function to get the room frame (i.e. `Room.GetFrameCount`) of the last time that this
12008
12217
  * room was cleared. Returns undefined if the room has never been cleared.
12218
+ *
12219
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_CLEAR_FRAME`.
12009
12220
  */
12010
12221
  getRoomClearRoomFrame(): int | undefined;
12011
12222
  }
@@ -12049,6 +12260,8 @@ declare class RoomHistory extends Feature {
12049
12260
  /**
12050
12261
  * Helper function to get information about all of the rooms that a player has visited thus far on
12051
12262
  * this run.
12263
+ *
12264
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
12052
12265
  */
12053
12266
  getRoomHistory(): ReadonlyArray<Readonly<RoomDescription>>;
12054
12267
  /**
@@ -12056,6 +12269,8 @@ declare class RoomHistory extends Feature {
12056
12269
  *
12057
12270
  * In the special case of only one room having been visited thus far (i.e. the starting room of
12058
12271
  * the run), the starting room will be returned.
12272
+ *
12273
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
12059
12274
  */
12060
12275
  getPreviousRoomDescription(): Readonly<RoomDescription>;
12061
12276
  /**
@@ -12066,6 +12281,8 @@ declare class RoomHistory extends Feature {
12066
12281
  *
12067
12282
  * Note that this function can return undefined in the case where it is called on the first room
12068
12283
  * of the run.
12284
+ *
12285
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
12069
12286
  */
12070
12287
  getLatestRoomDescription(): Readonly<RoomDescription> | undefined;
12071
12288
  /**
@@ -12076,6 +12293,8 @@ declare class RoomHistory extends Feature {
12076
12293
  *
12077
12294
  * This function is intended to be used in the `POST_ENTITY_REMOVE` callback to detect when an
12078
12295
  * entity is despawning.
12296
+ *
12297
+ * In order to use this function, you must upgrade your mod with `ISCFeature.ROOM_HISTORY`.
12079
12298
  */
12080
12299
  isLeavingRoom(): boolean;
12081
12300
  }
@@ -12093,7 +12312,7 @@ export declare function roomUpdateSafe(): void;
12093
12312
  * From: http://lua-users.org/wiki/SimpleRound
12094
12313
  *
12095
12314
  * @param num The number to round.
12096
- * @param numDecimalPlaces Default is 0.
12315
+ * @param numDecimalPlaces Optional. Default is 0.
12097
12316
  */
12098
12317
  export declare function round(num: float, numDecimalPlaces?: number): float;
12099
12318
 
@@ -12113,6 +12332,8 @@ declare class RunInNFrames extends Feature {
12113
12332
  * a run is first starting.
12114
12333
  *
12115
12334
  * You can optionally specify a `PlayerType` to restart the game as that character.
12335
+ *
12336
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12116
12337
  */
12117
12338
  restartNextRenderFrame(character?: PlayerType): void;
12118
12339
  /**
@@ -12124,6 +12345,8 @@ declare class RunInNFrames extends Feature {
12124
12345
  * Note that this function will not handle saving and quitting. If a player saving and quitting
12125
12346
  * before the deferred function fires would cause a bug in your mod, then you should handle
12126
12347
  * deferred functions manually using serializable data.
12348
+ *
12349
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12127
12350
  */
12128
12351
  runInNGameFrames(func: () => void, gameFrames: int): void;
12129
12352
  /**
@@ -12135,6 +12358,8 @@ declare class RunInNFrames extends Feature {
12135
12358
  * Note that this function will not handle saving and quitting. If a player saving and quitting
12136
12359
  * before the deferred function fires would cause a bug in your mod, then you should handle
12137
12360
  * deferred functions manually using serializable data.
12361
+ *
12362
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12138
12363
  */
12139
12364
  runInNRenderFrames(func: () => void, renderFrames: int): void;
12140
12365
  /**
@@ -12164,6 +12389,8 @@ declare class RunInNFrames extends Feature {
12164
12389
  * Note that this function will not handle saving and quitting. If a player saving and quitting
12165
12390
  * before the deferred function fires would cause a bug in your mod, then you should handle
12166
12391
  * deferred functions manually using serializable data.
12392
+ *
12393
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12167
12394
  */
12168
12395
  runNextGameFrame(func: () => void): void;
12169
12396
  /**
@@ -12173,6 +12400,8 @@ declare class RunInNFrames extends Feature {
12173
12400
  * similar way.
12174
12401
  *
12175
12402
  * Note that this function will not handle saving and quitting.
12403
+ *
12404
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12176
12405
  */
12177
12406
  runNextRenderFrame(func: () => void): void;
12178
12407
  /**
@@ -12186,6 +12415,8 @@ declare class RunInNFrames extends Feature {
12186
12415
  * Note that this function will not handle saving and quitting. You must manually restart any
12187
12416
  * intervals if the player saves and quits in the middle of a run.
12188
12417
  *
12418
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12419
+ *
12189
12420
  * @param func The function to repeatedly run on an interval.
12190
12421
  * @param gameFrames The amount of game frames to wait between each run.
12191
12422
  * @param runImmediately Whether or not to execute the function right now before waiting for the
@@ -12203,6 +12434,8 @@ declare class RunInNFrames extends Feature {
12203
12434
  * Note that this function will not handle saving and quitting. You must manually restart any
12204
12435
  * intervals if the player saves and quits in the middle of a run.
12205
12436
  *
12437
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_IN_N_FRAMES`.
12438
+ *
12206
12439
  * @param func The function to repeatedly run on an interval.
12207
12440
  * @param renderFrames The amount of game frames to wait between each run.
12208
12441
  * @param runImmediately Whether or not to execute the function right now before waiting for the
@@ -12231,6 +12464,8 @@ declare class RunNextRoom extends Feature {
12231
12464
  * Note that this function will not handle saving and quitting. If a player saving and quitting
12232
12465
  * before the deferred function fires would cause a bug in your mod, then you should handle
12233
12466
  * deferred functions manually using serializable data.
12467
+ *
12468
+ * In order to use this function, you must upgrade your mod with `ISCFeature.RUN_NEXT_ROOM`.
12234
12469
  */
12235
12470
  runNextRoom(func: () => void): void;
12236
12471
  }
@@ -12325,6 +12560,8 @@ declare class SaveDataManager extends Feature {
12325
12560
  * You feed this function with an object containing your variables, and then it will automatically
12326
12561
  * manage them for you. (See below for an example.)
12327
12562
  *
12563
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12564
+ *
12328
12565
  * The save data manager is meant to be called once for each feature of your mod. In other words,
12329
12566
  * you should not put all of the data for your mod on the same object. Instead, scope your
12330
12567
  * variables locally to a single file that contains a mod feature, and then call this function to
@@ -12429,12 +12666,16 @@ declare class SaveDataManager extends Feature {
12429
12666
  *
12430
12667
  * Obviously, doing this will overwrite the current data, so using this function can potentially
12431
12668
  * result in lost state.
12669
+ *
12670
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12432
12671
  */
12433
12672
  saveDataManagerLoad(): void;
12434
12673
  /**
12435
12674
  * The save data manager will automatically save variables to disk at the appropriate times (i.e.
12436
12675
  * when the run is exited). Use this function to explicitly force the save data manager to write
12437
12676
  * all of its variables to disk immediately.
12677
+ *
12678
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12438
12679
  */
12439
12680
  saveDataManagerSave(): void;
12440
12681
  /**
@@ -12442,6 +12683,8 @@ declare class SaveDataManager extends Feature {
12442
12683
  *
12443
12684
  * This can make debugging easier, as you can access the variables from the game's debug console.
12444
12685
  * e.g. `l print(g.feature1.run.foo)`
12686
+ *
12687
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12445
12688
  */
12446
12689
  saveDataManagerSetGlobal(): void;
12447
12690
  /**
@@ -12453,11 +12696,15 @@ declare class SaveDataManager extends Feature {
12453
12696
  * the data fields).
12454
12697
  *
12455
12698
  * This function is variadic, which means you can pass as many classes as you want to register.
12699
+ *
12700
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12456
12701
  */
12457
12702
  saveDataManagerRegisterClass(...tstlClasses: AnyClass[]): void;
12458
12703
  /**
12459
12704
  * Removes a previously registered key from the save data manager. This is the opposite of the
12460
12705
  * "saveDataManager" method.
12706
+ *
12707
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12461
12708
  */
12462
12709
  saveDataManagerRemove(key: string): void;
12463
12710
  /**
@@ -12479,6 +12726,8 @@ declare class SaveDataManager extends Feature {
12479
12726
  * // Then, later on, to explicit reset all of the "room" variables:
12480
12727
  * mod.saveDataManagerReset("file1", "room");
12481
12728
  * ```
12729
+ *
12730
+ * In order to use this function, you must upgrade your mod with `ISCFeature.SAVE_DATA_MANAGER`.
12482
12731
  */
12483
12732
  saveDataManagerReset(key: string, childObjectKey: SaveDataKey): void;
12484
12733
  }
@@ -13230,7 +13479,12 @@ export declare function spawnEffectWithSeed(effectVariant: EffectVariant, subTyp
13230
13479
  */
13231
13480
  export declare function spawnEmptyCollectible(position: Vector, seedOrRNG?: Seed | RNG): EntityPickup;
13232
13481
 
13233
- /** Helper function to spawn a `EntityType.FAMILIAR` (3). */
13482
+ /**
13483
+ * Helper function to spawn a `EntityType.FAMILIAR` (3).
13484
+ *
13485
+ * If you are trying to implement a custom familiar, you probably want to use the
13486
+ * `checkFamiliarFromCollectibles` helper function instead.
13487
+ */
13234
13488
  export declare function spawnFamiliar(familiarVariant: FamiliarVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityFamiliar;
13235
13489
 
13236
13490
  /** Helper function to spawn a `EntityType.FAMILIAR` (3) with a specific seed. */