isaacscript-common 17.2.1 → 17.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/index.d.ts +59 -55
  2. package/dist/isaacscript-common.lua +102 -97
  3. package/dist/src/classes/features/other/CustomHotkeys.d.ts +4 -0
  4. package/dist/src/classes/features/other/CustomHotkeys.d.ts.map +1 -1
  5. package/dist/src/classes/features/other/SpawnCollectible.d.ts +4 -4
  6. package/dist/src/classes/features/other/SpawnCollectible.d.ts.map +1 -1
  7. package/dist/src/classes/features/other/SpawnCollectible.lua +4 -4
  8. package/dist/src/classes/features/other/SpawnRockAltRewards.d.ts +3 -2
  9. package/dist/src/classes/features/other/SpawnRockAltRewards.d.ts.map +1 -1
  10. package/dist/src/classes/features/other/SpawnRockAltRewards.lua +4 -1
  11. package/dist/src/functions/bosses.d.ts +2 -2
  12. package/dist/src/functions/bosses.d.ts.map +1 -1
  13. package/dist/src/functions/bosses.lua +5 -5
  14. package/dist/src/functions/entities.d.ts +5 -5
  15. package/dist/src/functions/entities.d.ts.map +1 -1
  16. package/dist/src/functions/entities.lua +10 -8
  17. package/dist/src/functions/entitiesSpecific.d.ts +20 -20
  18. package/dist/src/functions/entitiesSpecific.d.ts.map +1 -1
  19. package/dist/src/functions/entitiesSpecific.lua +40 -40
  20. package/dist/src/functions/pickupsSpecific.d.ts +18 -18
  21. package/dist/src/functions/pickupsSpecific.d.ts.map +1 -1
  22. package/dist/src/functions/pickupsSpecific.lua +36 -36
  23. package/dist/src/functions/spawnCollectible.d.ts +4 -4
  24. package/dist/src/functions/spawnCollectible.d.ts.map +1 -1
  25. package/dist/src/functions/spawnCollectible.lua +6 -6
  26. package/package.json +1 -1
  27. package/src/classes/features/other/CustomHotkeys.ts +4 -0
  28. package/src/classes/features/other/SpawnCollectible.ts +6 -6
  29. package/src/classes/features/other/SpawnRockAltRewards.ts +7 -3
  30. package/src/functions/bosses.ts +13 -5
  31. package/src/functions/entities.ts +14 -8
  32. package/src/functions/entitiesSpecific.ts +40 -40
  33. package/src/functions/pickupsSpecific.ts +84 -36
  34. package/src/functions/spawnCollectible.ts +6 -6
package/dist/index.d.ts CHANGED
@@ -1654,6 +1654,8 @@ declare class CustomHotkeys extends Feature {
1654
1654
  * This can be used to easily set up custom hotkeys to facilitate custom game features or to
1655
1655
  * assist in debugging.
1656
1656
  *
1657
+ * Inputs are checked for in the `POST_RENDER` callback.
1658
+ *
1657
1659
  * This is different from the `setHotkey` function in that the keyboard activation key is not
1658
1660
  * hardcoded and is instead the return value of a provided function. This is useful for situations
1659
1661
  * where the key can change (like if end-users can specify a custom hotkey using Mod Config Menu).
@@ -1671,6 +1673,8 @@ declare class CustomHotkeys extends Feature {
1671
1673
  * This can be used to easily set up custom hotkeys to facilitate custom game features or to
1672
1674
  * assist in debugging.
1673
1675
  *
1676
+ * Inputs are checked for in the `POST_RENDER` callback.
1677
+ *
1674
1678
  * In order to use this function, you must upgrade your mod with `ISCFeature.CUSTOM_HOTKEYS`.
1675
1679
  *
1676
1680
  * @param keyboard The key that you want to trigger the hotkey.
@@ -13762,40 +13766,40 @@ export declare type SoulHeartType = HeartSubType.SOUL | HeartSubType.BLACK | Hea
13762
13766
  * @param entityType The `EntityType` of the entity to spawn.
13763
13767
  * @param variant The variant of the entity to spawn.
13764
13768
  * @param subType The sub-type of the entity to spawn.
13765
- * @param position The position of the entity to spawn.
13769
+ * @param positionOrGridIndex The position or grid index of the entity to spawn.
13766
13770
  * @param velocity Optional. The velocity of the entity to spawn. Default is `VectorZero`.
13767
13771
  * @param spawner Optional. The entity that will be the `SpawnerEntity`. Default is undefined.
13768
13772
  * @param seedOrRNG Optional. The seed or RNG object to use to generate the `InitSeed` of the
13769
13773
  * entity. Default is undefined, which will make the entity spawn with a random
13770
13774
  * seed using the `Isaac.Spawn` method.
13771
13775
  */
13772
- export declare function spawn(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): Entity;
13776
+ export declare function spawn(entityType: EntityType, variant: int, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): Entity;
13773
13777
 
13774
13778
  /**
13775
13779
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.LIL_BATTERY` (90).
13776
13780
  */
13777
- export declare function spawnBattery(batterySubType: BatterySubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupBattery;
13781
+ export declare function spawnBattery(batterySubType: BatterySubType, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupBattery;
13778
13782
 
13779
13783
  /**
13780
13784
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.LIL_BATTERY` (90)
13781
13785
  * and a specific seed.
13782
13786
  */
13783
- export declare function spawnBatteryWithSeed(batterySubType: BatterySubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupBattery;
13787
+ export declare function spawnBatteryWithSeed(batterySubType: BatterySubType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupBattery;
13784
13788
 
13785
13789
  /** Helper function to spawn a `EntityType.BOMB` (4). */
13786
- export declare function spawnBomb(bombVariant: BombVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityBomb;
13790
+ export declare function spawnBomb(bombVariant: BombVariant, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityBomb;
13787
13791
 
13788
13792
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.BOMB` (40). */
13789
- export declare function spawnBombPickup(bombSubType: BombSubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupBomb;
13793
+ export declare function spawnBombPickup(bombSubType: BombSubType, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupBomb;
13790
13794
 
13791
13795
  /**
13792
13796
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.BOMB` (40) and a
13793
13797
  * specific seed.
13794
13798
  */
13795
- export declare function spawnBombPickupWithSeed(bombSubType: BombSubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupBomb;
13799
+ export declare function spawnBombPickupWithSeed(bombSubType: BombSubType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupBomb;
13796
13800
 
13797
13801
  /** Helper function to spawn a `EntityType.BOMB` (4) with a specific seed. */
13798
- export declare function spawnBombWithSeed(bombVariant: BombVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityBomb;
13802
+ export declare function spawnBombWithSeed(bombVariant: BombVariant, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityBomb;
13799
13803
 
13800
13804
  /**
13801
13805
  * Helper function to spawn a boss.
@@ -13807,34 +13811,34 @@ export declare function spawnBombWithSeed(bombVariant: BombVariant, subType: int
13807
13811
  * Gurglings/Turdlings with 2 copies, and other multi-segment bosses with 4 segments. You can
13808
13812
  * customize this via the "numSegments" argument.
13809
13813
  */
13810
- export declare function spawnBoss(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined, numSegments?: int): EntityNPC;
13814
+ export declare function spawnBoss(entityType: EntityType, variant: int, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined, numSegments?: int): EntityNPC;
13811
13815
 
13812
13816
  /**
13813
13817
  * Helper function to spawn a boss with a specific seed.
13814
13818
  *
13815
13819
  * For more information, see the documentation for the `spawnBoss` function.
13816
13820
  */
13817
- export declare function spawnBossWithSeed(entityType: EntityType, variant: int, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined, numSegments?: int): EntityNPC;
13821
+ export declare function spawnBossWithSeed(entityType: EntityType, variant: int, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined, numSegments?: int): EntityNPC;
13818
13822
 
13819
13823
  /**
13820
13824
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TAROT_CARD` (300).
13821
13825
  */
13822
- export declare function spawnCard(cardType: CardType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupCard;
13826
+ export declare function spawnCard(cardType: CardType, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupCard;
13823
13827
 
13824
13828
  /**
13825
13829
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TAROT_CARD` (300)
13826
13830
  * and a specific seed.
13827
13831
  */
13828
- export declare function spawnCardWithSeed(cardType: CardType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupCard;
13832
+ export declare function spawnCardWithSeed(cardType: CardType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupCard;
13829
13833
 
13830
13834
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.COIN` (20). */
13831
- export declare function spawnCoin(coinSubType: CoinSubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupCoin;
13835
+ export declare function spawnCoin(coinSubType: CoinSubType, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupCoin;
13832
13836
 
13833
13837
  /**
13834
13838
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.COIN` (20) and a
13835
13839
  * specific seed.
13836
13840
  */
13837
- export declare function spawnCoinWithSeed(coinSubType: CoinSubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupCoin;
13841
+ export declare function spawnCoinWithSeed(coinSubType: CoinSubType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupCoin;
13838
13842
 
13839
13843
  declare class SpawnCollectible extends Feature {
13840
13844
  private preventCollectibleRotation;
@@ -13852,7 +13856,7 @@ declare class SpawnCollectible extends Feature {
13852
13856
  * In order to use this function, you must upgrade your mod with `ISCFeature.SPAWN_COLLECTIBLE`.
13853
13857
  *
13854
13858
  * @param collectibleType The collectible type to spawn.
13855
- * @param position The position to spawn the collectible at.
13859
+ * @param positionOrGridIndex The position or grid index to spawn the collectible at.
13856
13860
  * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided,
13857
13861
  * the `RNG.Next` method will be called. Default is `getRandomSeed()`.
13858
13862
  * @param options Optional. Set to true to make the collectible a "There's Options" style
@@ -13861,7 +13865,7 @@ declare class SpawnCollectible extends Feature {
13861
13865
  * Tainted Keeper. Default is false.
13862
13866
  * @param spawner Optional.
13863
13867
  */
13864
- spawnCollectible(collectibleType: CollectibleType, position: Vector, seedOrRNG?: Seed | RNG, options?: boolean, forceFreeItem?: boolean, spawner?: Entity): EntityPickupCollectible;
13868
+ spawnCollectible(collectibleType: CollectibleType, positionOrGridIndex: Vector | int, seedOrRNG?: Seed | RNG, options?: boolean, forceFreeItem?: boolean, spawner?: Entity): EntityPickupCollectible;
13865
13869
  /**
13866
13870
  * Helper function to spawn a collectible from a specific item pool.
13867
13871
  *
@@ -13872,7 +13876,7 @@ declare class SpawnCollectible extends Feature {
13872
13876
  * In order to use this function, you must upgrade your mod with `ISCFeature.SPAWN_COLLECTIBLE`.
13873
13877
  *
13874
13878
  * @param itemPoolType The item pool to draw the collectible type from.
13875
- * @param position The position to spawn the collectible at.
13879
+ * @param positionOrGridIndex The position or grid index to spawn the collectible at.
13876
13880
  * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided,
13877
13881
  * the `RNG.Next` method will be called. Default is `getRandomSeed()`.
13878
13882
  * @param options Optional. Set to true to make the collectible a "There's Options" style
@@ -13881,7 +13885,7 @@ declare class SpawnCollectible extends Feature {
13881
13885
  * Tainted Keeper. Default is false.
13882
13886
  * @param spawner Optional.
13883
13887
  */
13884
- spawnCollectibleFromPool(itemPoolType: ItemPoolType, position: Vector, seedOrRNG?: Seed | RNG, options?: boolean, forceFreeItem?: boolean, spawner?: Entity): EntityPickupCollectible;
13888
+ spawnCollectibleFromPool(itemPoolType: ItemPoolType, positionOrGridIndex: Vector | int, seedOrRNG?: Seed | RNG, options?: boolean, forceFreeItem?: boolean, spawner?: Entity): EntityPickupCollectible;
13885
13889
  }
13886
13890
 
13887
13891
  /**
@@ -13895,7 +13899,7 @@ declare class SpawnCollectible extends Feature {
13895
13899
  * (which is provided by `ISCFeature.SPAWN_COLLECTIBLE`).
13896
13900
  *
13897
13901
  * @param collectibleType The collectible type to spawn.
13898
- * @param position The position to spawn the collectible at.
13902
+ * @param positionOrGridIndex The position or grid index to spawn the collectible at.
13899
13903
  * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
13900
13904
  * `RNG.Next` method will be called. Default is `getRandomSeed()`.
13901
13905
  * @param options Optional. Set to true to make the collectible a "There's Options" style
@@ -13904,7 +13908,7 @@ declare class SpawnCollectible extends Feature {
13904
13908
  * Tainted Keeper. Default is false.
13905
13909
  * @param spawner Optional.
13906
13910
  */
13907
- export declare function spawnCollectibleUnsafe(collectibleType: CollectibleType, position: Vector, seedOrRNG?: Seed | RNG, options?: boolean, forceFreeItem?: boolean, spawner?: Entity): EntityPickupCollectible;
13911
+ export declare function spawnCollectibleUnsafe(collectibleType: CollectibleType, positionOrGridIndex: Vector | int, seedOrRNG?: Seed | RNG, options?: boolean, forceFreeItem?: boolean, spawner?: Entity): EntityPickupCollectible;
13908
13912
 
13909
13913
  /** Helper function to spawn a `GridEntityType.CRAWL_SPACE` (18). */
13910
13914
  export declare function spawnCrawlSpace(gridIndexOrPosition: int | Vector): GridEntity | undefined;
@@ -13919,10 +13923,10 @@ export declare function spawnDoor(gridIndexOrPosition: int | Vector): GridEntity
13919
13923
  export declare function spawnDoorWithVariant(doorVariant: DoorVariant, gridIndexOrPosition: int | Vector): GridEntityDoor | undefined;
13920
13924
 
13921
13925
  /** Helper function to spawn a `EntityType.EFFECT` (1000). */
13922
- export declare function spawnEffect(effectVariant: EffectVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityEffect;
13926
+ export declare function spawnEffect(effectVariant: EffectVariant, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityEffect;
13923
13927
 
13924
13928
  /** Helper function to spawn a `EntityType.EFFECT` (1000) with a specific seed. */
13925
- export declare function spawnEffectWithSeed(effectVariant: EffectVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityEffect;
13929
+ export declare function spawnEffectWithSeed(effectVariant: EffectVariant, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityEffect;
13926
13930
 
13927
13931
  /**
13928
13932
  * Helper function to spawn an empty collectible. Doing this is tricky since spawning a collectible
@@ -13932,24 +13936,24 @@ export declare function spawnEffectWithSeed(effectVariant: EffectVariant, subTyp
13932
13936
  * Instead, this function arbitrarily spawns a collectible with `CollectibleType.SAD_ONION`, and
13933
13937
  * then converts it to an empty pedestal afterward.
13934
13938
  *
13935
- * @param position The position to spawn the empty collectible at.
13939
+ * @param positionOrGridIndex The position or grid index to spawn the empty collectible at.
13936
13940
  * @param seedOrRNG The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
13937
13941
  * `RNG.Next` method will be called. Default is `getRandomSeed()`.
13938
13942
  */
13939
- export declare function spawnEmptyCollectible(position: Vector, seedOrRNG?: Seed | RNG): EntityPickup;
13943
+ export declare function spawnEmptyCollectible(positionOrGridIndex: Vector | int, seedOrRNG?: Seed | RNG): EntityPickup;
13940
13944
 
13941
13945
  /**
13942
13946
  * Helper function to spawn the entity corresponding to an `EntityID`.
13943
13947
  *
13944
13948
  * @param entityID The `EntityID` of the entity to spawn.
13945
- * @param position The position of the entity to spawn.
13949
+ * @param positionOrGridIndex The position or grid index of the entity to spawn.
13946
13950
  * @param velocity Optional. The velocity of the entity to spawn. Default is `VectorZero`.
13947
13951
  * @param spawner Optional. The entity that will be the `SpawnerEntity`. Default is undefined.
13948
13952
  * @param seedOrRNG Optional. The seed or RNG object to use to generate the `InitSeed` of the
13949
13953
  * entity. Default is undefined, which will make the entity spawn with a random
13950
13954
  * seed using the `Isaac.Spawn` method.
13951
13955
  */
13952
- export declare function spawnEntityID(entityID: EntityID, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): Entity;
13956
+ export declare function spawnEntityID(entityID: EntityID, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): Entity;
13953
13957
 
13954
13958
  /**
13955
13959
  * Helper function to spawn a `EntityType.FAMILIAR` (3).
@@ -13957,10 +13961,10 @@ export declare function spawnEntityID(entityID: EntityID, position: Vector, velo
13957
13961
  * If you are trying to implement a custom familiar, you probably want to use the
13958
13962
  * `checkFamiliarFromCollectibles` helper function instead.
13959
13963
  */
13960
- export declare function spawnFamiliar(familiarVariant: FamiliarVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityFamiliar;
13964
+ export declare function spawnFamiliar(familiarVariant: FamiliarVariant, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityFamiliar;
13961
13965
 
13962
13966
  /** Helper function to spawn a `EntityType.FAMILIAR` (3) with a specific seed. */
13963
- export declare function spawnFamiliarWithSeed(familiarVariant: FamiliarVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityFamiliar;
13967
+ export declare function spawnFamiliarWithSeed(familiarVariant: FamiliarVariant, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityFamiliar;
13964
13968
 
13965
13969
  /**
13966
13970
  * Helper function to spawn a giant poop. This is performed by spawning each of the four quadrant
@@ -13992,30 +13996,30 @@ export declare function spawnGridEntity(gridEntityType: GridEntityType, gridInde
13992
13996
  export declare function spawnGridEntityWithVariant(gridEntityType: GridEntityType, variant: int, gridIndexOrPosition: int | Vector): GridEntity | undefined;
13993
13997
 
13994
13998
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.HEART` (10). */
13995
- export declare function spawnHeart(heartSubType: HeartSubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupHeart;
13999
+ export declare function spawnHeart(heartSubType: HeartSubType, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupHeart;
13996
14000
 
13997
- export declare function spawnHeartWithSeed(heartSubType: HeartSubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupHeart;
14001
+ export declare function spawnHeartWithSeed(heartSubType: HeartSubType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupHeart;
13998
14002
 
13999
14003
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.KEY` (30). */
14000
- export declare function spawnKey(keySubType: KeySubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupKey;
14004
+ export declare function spawnKey(keySubType: KeySubType, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupKey;
14001
14005
 
14002
14006
  /**
14003
14007
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.KEY` (30) and a
14004
14008
  * specific seed.
14005
14009
  */
14006
- export declare function spawnKeyWithSeed(keySubType: KeySubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupKey;
14010
+ export declare function spawnKeyWithSeed(keySubType: KeySubType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupKey;
14007
14011
 
14008
14012
  /** Helper function to spawn a `EntityType.KNIFE` (8). */
14009
- export declare function spawnKnife(knifeVariant: KnifeVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityKnife;
14013
+ export declare function spawnKnife(knifeVariant: KnifeVariant, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityKnife;
14010
14014
 
14011
14015
  /** Helper function to spawn a `EntityType.KNIFE` (8) with a specific seed. */
14012
- export declare function spawnKnifeWithSeed(knifeVariant: KnifeVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityKnife;
14016
+ export declare function spawnKnifeWithSeed(knifeVariant: KnifeVariant, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityKnife;
14013
14017
 
14014
14018
  /** Helper function to spawn a `EntityType.LASER` (7). */
14015
- export declare function spawnLaser(laserVariant: LaserVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityLaser;
14019
+ export declare function spawnLaser(laserVariant: LaserVariant, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityLaser;
14016
14020
 
14017
14021
  /** Helper function to spawn a `EntityType.LASER` (7) with a specific seed. */
14018
- export declare function spawnLaserWithSeed(laserVariant: LaserVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityLaser;
14022
+ export declare function spawnLaserWithSeed(laserVariant: LaserVariant, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityLaser;
14019
14023
 
14020
14024
  /**
14021
14025
  * Helper function to spawn an NPC.
@@ -14023,7 +14027,7 @@ export declare function spawnLaserWithSeed(laserVariant: LaserVariant, subType:
14023
14027
  * Note that if you pass a non-NPC `EntityType` to this function, it will cause a run-time error,
14024
14028
  * since the `Entity.ToNPC` method will return undefined.
14025
14029
  */
14026
- export declare function spawnNPC(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityNPC;
14030
+ export declare function spawnNPC(entityType: EntityType, variant: int, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityNPC;
14027
14031
 
14028
14032
  /**
14029
14033
  * Helper function to spawn an NPC with a specific seed.
@@ -14031,22 +14035,22 @@ export declare function spawnNPC(entityType: EntityType, variant: int, subType:
14031
14035
  * Note that if you pass a non-NPC `EntityType` to this function, it will cause a run-time error,
14032
14036
  * since the `Entity.ToNPC` method will return undefined.
14033
14037
  */
14034
- export declare function spawnNPCWithSeed(entityType: EntityType, variant: int, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityNPC;
14038
+ export declare function spawnNPCWithSeed(entityType: EntityType, variant: int, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityNPC;
14035
14039
 
14036
14040
  /** Helper function to spawn a `EntityType.PICKUP` (5). */
14037
- export declare function spawnPickup(pickupVariant: PickupVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickup;
14041
+ export declare function spawnPickup(pickupVariant: PickupVariant, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickup;
14038
14042
 
14039
14043
  /** Helper function to spawn a `EntityType.PICKUP` (5) with a specific seed. */
14040
- export declare function spawnPickupWithSeed(pickupVariant: PickupVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickup;
14044
+ export declare function spawnPickupWithSeed(pickupVariant: PickupVariant, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickup;
14041
14045
 
14042
14046
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.PILL` (70). */
14043
- export declare function spawnPill(pillColor: PillColor, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupPill;
14047
+ export declare function spawnPill(pillColor: PillColor, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupPill;
14044
14048
 
14045
14049
  /**
14046
14050
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.PILL` (70) and a
14047
14051
  * specific seed.
14048
14052
  */
14049
- export declare function spawnPillWithSeed(pillColor: PillColor, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupPill;
14053
+ export declare function spawnPillWithSeed(pillColor: PillColor, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupPill;
14050
14054
 
14051
14055
  /** Helper function to spawn a `GridEntityType.DOOR` (16) with a specific variant. */
14052
14056
  export declare function spawnPit(gridIndexOrPosition: int | Vector): GridEntityPit | undefined;
@@ -14067,10 +14071,10 @@ export declare function spawnPressurePlate(gridIndexOrPosition: int | Vector): G
14067
14071
  export declare function spawnPressurePlateWithVariant(pressurePlateVariant: PressurePlateVariant, gridIndexOrPosition: int | Vector): GridEntityPressurePlate | undefined;
14068
14072
 
14069
14073
  /** Helper function to spawn a `EntityType.PROJECTILE` (9). */
14070
- export declare function spawnProjectile(projectileVariant: ProjectileVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityProjectile;
14074
+ export declare function spawnProjectile(projectileVariant: ProjectileVariant, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityProjectile;
14071
14075
 
14072
14076
  /** Helper function to spawn a `EntityType.PROJECTILE` (9) with a specific seed. */
14073
- export declare function spawnProjectileWithSeed(projectileVariant: ProjectileVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityProjectile;
14077
+ export declare function spawnProjectileWithSeed(projectileVariant: ProjectileVariant, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityProjectile;
14074
14078
 
14075
14079
  /** Helper function to spawn a `GridEntityType.ROCK` (2). */
14076
14080
  export declare function spawnRock(gridIndexOrPosition: int | Vector): GridEntityRock | undefined;
@@ -14101,7 +14105,7 @@ declare class SpawnRockAltRewards extends Feature {
14101
14105
  * In order to use this function, you must upgrade your mod with
14102
14106
  * `ISCFeature.SPAWN_ALT_ROCK_REWARDS`.
14103
14107
  *
14104
- * @param position The place to spawn the reward.
14108
+ * @param positionOrGridIndex The position or grid index to spawn the reward.
14105
14109
  * @param rockAltType The type of reward to spawn. For example, `RockAltType.URN` will have a
14106
14110
  * chance at spawning coins and spiders.
14107
14111
  * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided,
@@ -14109,7 +14113,7 @@ declare class SpawnRockAltRewards extends Feature {
14109
14113
  * you should pass the `InitSeed` of the grid entity that was broken.
14110
14114
  * @returns Whether or not this function spawned something.
14111
14115
  */
14112
- spawnRockAltReward(position: Vector, rockAltType: RockAltType, seedOrRNG?: Seed | RNG): boolean;
14116
+ spawnRockAltReward(positionOrGridIndex: Vector | int, rockAltType: RockAltType, seedOrRNG?: Seed | RNG): boolean;
14113
14117
  /**
14114
14118
  * Helper function for emulating what happens when a vanilla `GridEntityType.ROCK_ALT` grid entity
14115
14119
  * breaks of `RockAltType.URN`.
@@ -14176,19 +14180,19 @@ declare class SpawnRockAltRewards extends Feature {
14176
14180
  export declare function spawnRockWithVariant(rockVariant: RockVariant, gridIndexOrPosition: int | Vector): GridEntityRock | undefined;
14177
14181
 
14178
14182
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.SACK` (69). */
14179
- export declare function spawnSack(sackSubType: SackSubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupSack;
14183
+ export declare function spawnSack(sackSubType: SackSubType, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupSack;
14180
14184
 
14181
14185
  /**
14182
14186
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.SACK` (69) and a
14183
14187
  * specific seed.
14184
14188
  */
14185
- export declare function spawnSackWithSeed(sackSubType: SackSubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupSack;
14189
+ export declare function spawnSackWithSeed(sackSubType: SackSubType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupSack;
14186
14190
 
14187
14191
  /** Helper function to spawn a `EntityType.SLOT` (6). */
14188
- export declare function spawnSlot(slotVariant: SlotVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntitySlot;
14192
+ export declare function spawnSlot(slotVariant: SlotVariant, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntitySlot;
14189
14193
 
14190
14194
  /** Helper function to spawn a `EntityType.SLOT` (6) with a specific seed. */
14191
- export declare function spawnSlotWithSeed(slotVariant: SlotVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntitySlot;
14195
+ export declare function spawnSlotWithSeed(slotVariant: SlotVariant, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntitySlot;
14192
14196
 
14193
14197
  /** Helper function to spawn a `GridEntityType.SPIKES` (8). */
14194
14198
  export declare function spawnSpikes(gridIndexOrPosition: int | Vector): GridEntitySpikes | undefined;
@@ -14197,10 +14201,10 @@ export declare function spawnSpikes(gridIndexOrPosition: int | Vector): GridEnti
14197
14201
  export declare function spawnSpikesWithVariant(variant: int, gridIndexOrPosition: int | Vector): GridEntitySpikes | undefined;
14198
14202
 
14199
14203
  /** Helper function to spawn a `EntityType.TEAR` (2). */
14200
- export declare function spawnTear(tearVariant: TearVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityTear;
14204
+ export declare function spawnTear(tearVariant: TearVariant, subType: int, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityTear;
14201
14205
 
14202
14206
  /** Helper function to spawn a `EntityType.EntityType` (2) with a specific seed. */
14203
- export declare function spawnTearWithSeed(tearVariant: TearVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityTear;
14207
+ export declare function spawnTearWithSeed(tearVariant: TearVariant, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityTear;
14204
14208
 
14205
14209
  /** Helper function to spawn a `GridEntityType.TELEPORTER` (23). */
14206
14210
  export declare function spawnTeleporter(gridIndexOrPosition: int | Vector): GridEntity | undefined;
@@ -14223,13 +14227,13 @@ export declare function spawnTrapdoorWithVariant(trapdoorVariant: TrapdoorVarian
14223
14227
  /**
14224
14228
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TRINKET` (350).
14225
14229
  */
14226
- export declare function spawnTrinket(trinketType: TrinketType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupTrinket;
14230
+ export declare function spawnTrinket(trinketType: TrinketType, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupTrinket;
14227
14231
 
14228
14232
  /**
14229
14233
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TRINKET` (350) and
14230
14234
  * a specific seed.
14231
14235
  */
14232
- export declare function spawnTrinketWithSeed(trinketType: TrinketType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupTrinket;
14236
+ export declare function spawnTrinketWithSeed(trinketType: TrinketType, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupTrinket;
14233
14237
 
14234
14238
  /**
14235
14239
  * Helper function to spawn a Void Portal. This is more complicated than simply spawning a trapdoor
@@ -14241,7 +14245,7 @@ export declare function spawnVoidPortal(gridIndex: int): GridEntity | undefined;
14241
14245
  * Helper function to spawn an entity. Use this instead of the `Game.Spawn` method if you do not
14242
14246
  * need to specify the velocity or spawner.
14243
14247
  */
14244
- export declare function spawnWithSeed(entityType: EntityType, variant: int, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): Entity;
14248
+ export declare function spawnWithSeed(entityType: EntityType, variant: int, subType: int, positionOrGridIndex: Vector | int, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): Entity;
14245
14249
 
14246
14250
  /**
14247
14251
  * Helper function to check if two sprite layers have the same sprite sheet by using the