isaacscript-common 15.1.1 → 15.2.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.
- package/dist/index.d.ts +53 -4
- package/dist/isaacscript-common.lua +71 -4
- package/dist/src/functions/entities.d.ts +27 -2
- package/dist/src/functions/entities.d.ts.map +1 -1
- package/dist/src/functions/entities.lua +63 -1
- package/dist/src/functions/gridEntities.d.ts +5 -2
- package/dist/src/functions/gridEntities.d.ts.map +1 -1
- package/dist/src/functions/gridEntities.lua +20 -2
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/indexLua.d.ts +2 -0
- package/dist/src/indexLua.d.ts.map +1 -1
- package/dist/src/types/EntityID.d.ts +10 -0
- package/dist/src/types/EntityID.d.ts.map +1 -0
- package/dist/src/types/EntityID.lua +2 -0
- package/dist/src/types/GridEntityID.d.ts +10 -0
- package/dist/src/types/GridEntityID.d.ts.map +1 -0
- package/dist/src/types/GridEntityID.lua +2 -0
- package/package.json +1 -1
- package/src/functions/entities.ts +76 -4
- package/src/functions/gridEntities.ts +35 -4
- package/src/index.ts +2 -0
- package/src/types/EntityID.ts +7 -0
- package/src/types/GridEntityID.ts +7 -0
package/dist/index.d.ts
CHANGED
|
@@ -3437,6 +3437,16 @@ export declare function emptyArray<T>(array: T[]): void;
|
|
|
3437
3437
|
*/
|
|
3438
3438
|
export declare function emptyRoom(): void;
|
|
3439
3439
|
|
|
3440
|
+
/**
|
|
3441
|
+
* A string that represents an entity. This is the entity type, variant, and sub-type, all separated
|
|
3442
|
+
* by periods.
|
|
3443
|
+
*
|
|
3444
|
+
* This type is branded for extra type safety.
|
|
3445
|
+
*/
|
|
3446
|
+
export declare type EntityID = string & {
|
|
3447
|
+
readonly __entityIDBrand: symbol;
|
|
3448
|
+
};
|
|
3449
|
+
|
|
3440
3450
|
/**
|
|
3441
3451
|
* Helper function to return an array of integers with the specified range, inclusive on the lower
|
|
3442
3452
|
* end and exclusive on the high end. (The "e" stands for exclusive.)
|
|
@@ -4361,6 +4371,12 @@ export declare function getCollidingEntitiesWithGridEntity(gridEntity: GridEntit
|
|
|
4361
4371
|
*/
|
|
4362
4372
|
export declare function getCombinedBossSet(stage: int): ReadonlySet<string> | undefined;
|
|
4363
4373
|
|
|
4374
|
+
/** Helper function to get the entity type, variant, and sub-type from an `EntityID`. */
|
|
4375
|
+
export declare function getConstituentsFromEntityID(entityID: EntityID): [entityType: EntityType, variant: int, subType: int];
|
|
4376
|
+
|
|
4377
|
+
/** Helper function to get the grid entity type and variant from a `GridEntityID`. */
|
|
4378
|
+
export declare function getConstituentsFromGridEntityID(gridEntityID: GridEntityID): [gridEntityType: GridEntityType, variant: int];
|
|
4379
|
+
|
|
4364
4380
|
/**
|
|
4365
4381
|
* Helper function to get all of the grid entities of type `GridEntityType.CRAWL_SPACE` (18) in the
|
|
4366
4382
|
* room.
|
|
@@ -4528,12 +4544,12 @@ export declare function getEntityFields(entity: Entity): LuaMap<string, boolean
|
|
|
4528
4544
|
export declare function getEntityFromPtrHash(ptrHash: PtrHash): Entity | undefined;
|
|
4529
4545
|
|
|
4530
4546
|
/** Helper function to get a string containing the entity's type, variant, and sub-type. */
|
|
4531
|
-
export declare function getEntityID(entity: Entity):
|
|
4547
|
+
export declare function getEntityID(entity: Entity): EntityID;
|
|
4532
4548
|
|
|
4533
4549
|
/**
|
|
4534
4550
|
* Helper function to get a formatted string in the format returned by the `getEntityID` function.
|
|
4535
4551
|
*/
|
|
4536
|
-
export declare function getEntityIDFromConstituents(entityType: EntityType, variant: int, subType: int):
|
|
4552
|
+
export declare function getEntityIDFromConstituents(entityType: EntityType, variant: int, subType: int): EntityID;
|
|
4537
4553
|
|
|
4538
4554
|
/**
|
|
4539
4555
|
* Helper function to get a map containing the positions of every entity in the current room.
|
|
@@ -4742,13 +4758,13 @@ export declare function getGridEntitiesMap(...gridEntityTypes: GridEntityType[])
|
|
|
4742
4758
|
export declare function getGridEntityCollisionPoints(gridEntity: GridEntity): [topLeft: Vector, bottomRight: Vector];
|
|
4743
4759
|
|
|
4744
4760
|
/** Helper function to get a string containing the grid entity's type and variant. */
|
|
4745
|
-
export declare function getGridEntityID(gridEntity: GridEntity):
|
|
4761
|
+
export declare function getGridEntityID(gridEntity: GridEntity): GridEntityID;
|
|
4746
4762
|
|
|
4747
4763
|
/**
|
|
4748
4764
|
* Helper function to get a formatted string in the format returned by the `getGridEntityID`
|
|
4749
4765
|
* function.
|
|
4750
4766
|
*/
|
|
4751
|
-
export declare function getGridEntityIDFromConstituents(gridEntityType: GridEntityType, variant: int):
|
|
4767
|
+
export declare function getGridEntityIDFromConstituents(gridEntityType: GridEntityType, variant: int): GridEntityID;
|
|
4752
4768
|
|
|
4753
4769
|
/**
|
|
4754
4770
|
* Helper function to get the grid index delta that a door out of the given room shape would lead
|
|
@@ -6484,6 +6500,16 @@ export declare interface GridEntityCustomData {
|
|
|
6484
6500
|
defaultAnimation?: string;
|
|
6485
6501
|
}
|
|
6486
6502
|
|
|
6503
|
+
/**
|
|
6504
|
+
* A string that represents a grid entity. This is the entity type and variant separated by a
|
|
6505
|
+
* period.
|
|
6506
|
+
*
|
|
6507
|
+
* This type is branded for extra type safety.
|
|
6508
|
+
*/
|
|
6509
|
+
export declare type GridEntityID = string & {
|
|
6510
|
+
readonly __gridEntityIDBrand: symbol;
|
|
6511
|
+
};
|
|
6512
|
+
|
|
6487
6513
|
declare class GridEntityRenderDetection extends Feature {
|
|
6488
6514
|
private postGridEntityRender;
|
|
6489
6515
|
private postGridEntityCustomRender;
|
|
@@ -13367,6 +13393,16 @@ export declare type SoulHeartType = HeartSubType.SOUL | HeartSubType.BLACK | Hea
|
|
|
13367
13393
|
* need to specify the velocity or spawner.
|
|
13368
13394
|
*
|
|
13369
13395
|
* Also see the `spawnWithSeed` helper function.
|
|
13396
|
+
*
|
|
13397
|
+
* @param entityType The `EntityType` of the entity to spawn.
|
|
13398
|
+
* @param variant The variant of the entity to spawn.
|
|
13399
|
+
* @param subType The sub-type of the entity to spawn.
|
|
13400
|
+
* @param position The position of the entity to spawn.
|
|
13401
|
+
* @param velocity Optional. The velocity of the entity to spawn. Default is `VectorZero`.
|
|
13402
|
+
* @param spawner Optional. The entity that will be the `SpawnerEntity`. Default is undefined.
|
|
13403
|
+
* @param seedOrRNG Optional. The seed or RNG object to use to generate the `InitSeed` of the
|
|
13404
|
+
* entity. Default is undefined, which will make the entity spawn with a random
|
|
13405
|
+
* seed using the `Isaac.Spawn` method.
|
|
13370
13406
|
*/
|
|
13371
13407
|
export declare function spawn(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): Entity;
|
|
13372
13408
|
|
|
@@ -13537,6 +13573,19 @@ export declare function spawnEffectWithSeed(effectVariant: EffectVariant, subTyp
|
|
|
13537
13573
|
*/
|
|
13538
13574
|
export declare function spawnEmptyCollectible(position: Vector, seedOrRNG?: Seed | RNG): EntityPickup;
|
|
13539
13575
|
|
|
13576
|
+
/**
|
|
13577
|
+
* Helper function to spawn the entity corresponding to an `EntityID`.
|
|
13578
|
+
*
|
|
13579
|
+
* @param entityID The `EntityID` of the entity to spawn.
|
|
13580
|
+
* @param position The position of the entity to spawn.
|
|
13581
|
+
* @param velocity Optional. The velocity of the entity to spawn. Default is `VectorZero`.
|
|
13582
|
+
* @param spawner Optional. The entity that will be the `SpawnerEntity`. Default is undefined.
|
|
13583
|
+
* @param seedOrRNG Optional. The seed or RNG object to use to generate the `InitSeed` of the
|
|
13584
|
+
* entity. Default is undefined, which will make the entity spawn with a random
|
|
13585
|
+
* seed using the `Isaac.Spawn` method.
|
|
13586
|
+
*/
|
|
13587
|
+
export declare function spawnEntityID(entityID: EntityID, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): Entity;
|
|
13588
|
+
|
|
13540
13589
|
/**
|
|
13541
13590
|
* Helper function to spawn a `EntityType.FAMILIAR` (3).
|
|
13542
13591
|
*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
--[[
|
|
2
2
|
|
|
3
|
-
isaacscript-common 15.
|
|
3
|
+
isaacscript-common 15.2.0
|
|
4
4
|
|
|
5
5
|
This is the "isaacscript-common" library, which was created with the IsaacScript tool.
|
|
6
6
|
|
|
@@ -19088,15 +19088,19 @@ return ____exports
|
|
|
19088
19088
|
end,
|
|
19089
19089
|
["src.types.AnyEntity"] = function(...)
|
|
19090
19090
|
local ____exports = {}
|
|
19091
|
+
return ____exports
|
|
19092
|
+
end,
|
|
19093
|
+
["src.types.EntityID"] = function(...)
|
|
19094
|
+
local ____exports = {}
|
|
19091
19095
|
return ____exports
|
|
19092
19096
|
end,
|
|
19093
19097
|
["src.functions.entities"] = function(...)
|
|
19094
19098
|
local ____lualib = require("lualib_bundle")
|
|
19095
19099
|
local Set = ____lualib.Set
|
|
19100
|
+
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
19096
19101
|
local __TS__ArrayFind = ____lualib.__TS__ArrayFind
|
|
19097
19102
|
local __TS__New = ____lualib.__TS__New
|
|
19098
19103
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
19099
|
-
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
19100
19104
|
local ____exports = {}
|
|
19101
19105
|
local setPrimitiveEntityFields
|
|
19102
19106
|
local ____cachedClasses = require("src.core.cachedClasses")
|
|
@@ -19217,6 +19221,26 @@ function ____exports.getClosestEntityTo(self, referenceEntity, entities)
|
|
|
19217
19221
|
end
|
|
19218
19222
|
return closestEntity
|
|
19219
19223
|
end
|
|
19224
|
+
function ____exports.getConstituentsFromEntityID(self, entityID)
|
|
19225
|
+
local parts = __TS__StringSplit(entityID, ".")
|
|
19226
|
+
if #parts ~= 3 then
|
|
19227
|
+
error("Failed to get the constituents from entity ID: " .. entityID)
|
|
19228
|
+
end
|
|
19229
|
+
local entityTypeString, variantString, subTypeString = table.unpack(parts)
|
|
19230
|
+
local entityType = tonumber(entityTypeString)
|
|
19231
|
+
if entityType == nil then
|
|
19232
|
+
error("Failed to convert the entity type to a number: " .. tostring(entityTypeString))
|
|
19233
|
+
end
|
|
19234
|
+
local variant = tonumber(variantString)
|
|
19235
|
+
if variant == nil then
|
|
19236
|
+
error("Failed to convert the entity variant to a number: " .. tostring(variantString))
|
|
19237
|
+
end
|
|
19238
|
+
local subType = tonumber(subTypeString)
|
|
19239
|
+
if subType == nil then
|
|
19240
|
+
error("Failed to convert the entity sub-type to a number: " .. tostring(subTypeString))
|
|
19241
|
+
end
|
|
19242
|
+
return {entityType, variant, subType}
|
|
19243
|
+
end
|
|
19220
19244
|
function ____exports.getEntities(self, entityType, variant, subType, ignoreFriendly)
|
|
19221
19245
|
if entityType == nil then
|
|
19222
19246
|
entityType = -1
|
|
@@ -19411,6 +19435,28 @@ function ____exports.spawn(self, entityType, variant, subType, position, velocit
|
|
|
19411
19435
|
seed
|
|
19412
19436
|
)
|
|
19413
19437
|
end
|
|
19438
|
+
function ____exports.spawnEntityID(self, entityID, position, velocity, spawner, seedOrRNG)
|
|
19439
|
+
if velocity == nil then
|
|
19440
|
+
velocity = VectorZero
|
|
19441
|
+
end
|
|
19442
|
+
if spawner == nil then
|
|
19443
|
+
spawner = nil
|
|
19444
|
+
end
|
|
19445
|
+
if seedOrRNG == nil then
|
|
19446
|
+
seedOrRNG = nil
|
|
19447
|
+
end
|
|
19448
|
+
local entityType, variant, subType = table.unpack(____exports.getConstituentsFromEntityID(nil, entityID))
|
|
19449
|
+
return ____exports.spawn(
|
|
19450
|
+
nil,
|
|
19451
|
+
entityType,
|
|
19452
|
+
variant,
|
|
19453
|
+
subType,
|
|
19454
|
+
position,
|
|
19455
|
+
velocity,
|
|
19456
|
+
spawner,
|
|
19457
|
+
seedOrRNG
|
|
19458
|
+
)
|
|
19459
|
+
end
|
|
19414
19460
|
function ____exports.spawnWithSeed(self, entityType, variant, subType, position, seedOrRNG, velocity, spawner)
|
|
19415
19461
|
if velocity == nil then
|
|
19416
19462
|
velocity = VectorZero
|
|
@@ -24658,6 +24704,10 @@ return ____exports
|
|
|
24658
24704
|
end,
|
|
24659
24705
|
["src.types.AnyGridEntity"] = function(...)
|
|
24660
24706
|
local ____exports = {}
|
|
24707
|
+
return ____exports
|
|
24708
|
+
end,
|
|
24709
|
+
["src.types.GridEntityID"] = function(...)
|
|
24710
|
+
local ____exports = {}
|
|
24661
24711
|
return ____exports
|
|
24662
24712
|
end,
|
|
24663
24713
|
["src.objects.roomTypeNames"] = function(...)
|
|
@@ -25424,6 +25474,7 @@ local ____lualib = require("lualib_bundle")
|
|
|
25424
25474
|
local Set = ____lualib.Set
|
|
25425
25475
|
local __TS__New = ____lualib.__TS__New
|
|
25426
25476
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
25477
|
+
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
25427
25478
|
local Map = ____lualib.Map
|
|
25428
25479
|
local ____exports = {}
|
|
25429
25480
|
local getAllGridEntities
|
|
@@ -25592,6 +25643,22 @@ function ____exports.getCollidingEntitiesWithGridEntity(self, gridEntity)
|
|
|
25592
25643
|
) end
|
|
25593
25644
|
)
|
|
25594
25645
|
end
|
|
25646
|
+
function ____exports.getConstituentsFromGridEntityID(self, gridEntityID)
|
|
25647
|
+
local parts = __TS__StringSplit(gridEntityID, ".")
|
|
25648
|
+
if #parts ~= 2 then
|
|
25649
|
+
error("Failed to get the constituents from grid entity ID: " .. gridEntityID)
|
|
25650
|
+
end
|
|
25651
|
+
local gridEntityTypeString, variantString = table.unpack(parts)
|
|
25652
|
+
local gridEntityType = tonumber(gridEntityTypeString)
|
|
25653
|
+
if gridEntityType == nil then
|
|
25654
|
+
error("Failed to convert the grid entity type to a number: " .. tostring(gridEntityTypeString))
|
|
25655
|
+
end
|
|
25656
|
+
local variant = tonumber(variantString)
|
|
25657
|
+
if variant == nil then
|
|
25658
|
+
error("Failed to convert the grid entity variant to a number: " .. tostring(variantString))
|
|
25659
|
+
end
|
|
25660
|
+
return {gridEntityType, variant}
|
|
25661
|
+
end
|
|
25595
25662
|
function ____exports.getGridEntities(self, ...)
|
|
25596
25663
|
local gridEntityTypes = {...}
|
|
25597
25664
|
local gridEntities = getAllGridEntities(nil)
|
|
@@ -25639,7 +25706,7 @@ function ____exports.getGridEntitiesInRadius(self, targetPosition, radius)
|
|
|
25639
25706
|
local gridIndex = room:GetGridIndex(position)
|
|
25640
25707
|
local gridEntity = room:GetGridEntityFromPos(position)
|
|
25641
25708
|
if gridEntity == nil or registeredGridIndexes:has(gridIndex) then
|
|
25642
|
-
goto
|
|
25709
|
+
goto __continue24
|
|
25643
25710
|
end
|
|
25644
25711
|
registeredGridIndexes:add(gridIndex)
|
|
25645
25712
|
local topLeft, bottomRight = table.unpack(____exports.getGridEntityCollisionPoints(nil, gridEntity))
|
|
@@ -25653,7 +25720,7 @@ function ____exports.getGridEntitiesInRadius(self, targetPosition, radius)
|
|
|
25653
25720
|
gridEntities[#gridEntities + 1] = gridEntity
|
|
25654
25721
|
end
|
|
25655
25722
|
end
|
|
25656
|
-
::
|
|
25723
|
+
::__continue24::
|
|
25657
25724
|
end
|
|
25658
25725
|
end
|
|
25659
25726
|
return gridEntities
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="@typescript-to-lua/language-extensions" />
|
|
2
2
|
import { EntityType } from "isaac-typescript-definitions";
|
|
3
3
|
import { AnyEntity } from "../types/AnyEntity";
|
|
4
|
+
import { EntityID } from "../types/EntityID";
|
|
4
5
|
/**
|
|
5
6
|
* Helper function to count the number of entities in room. Use this over the vanilla
|
|
6
7
|
* `Isaac.CountEntities` method to avoid having to specify a spawner and to handle ignoring charmed
|
|
@@ -35,6 +36,8 @@ export declare function doesEntityExist(entityType?: EntityType, variant?: numbe
|
|
|
35
36
|
* ```
|
|
36
37
|
*/
|
|
37
38
|
export declare function getClosestEntityTo<T extends AnyEntity>(referenceEntity: Entity, entities: T[]): T | undefined;
|
|
39
|
+
/** Helper function to get the entity type, variant, and sub-type from an `EntityID`. */
|
|
40
|
+
export declare function getConstituentsFromEntityID(entityID: EntityID): [entityType: EntityType, variant: int, subType: int];
|
|
38
41
|
/**
|
|
39
42
|
* Helper function to get all of the entities in the room or all of the entities that match a
|
|
40
43
|
* specific entity type / variant / sub-type.
|
|
@@ -78,11 +81,11 @@ export declare function getEntityFields(entity: Entity): LuaMap<string, boolean
|
|
|
78
81
|
*/
|
|
79
82
|
export declare function getEntityFromPtrHash(ptrHash: PtrHash): Entity | undefined;
|
|
80
83
|
/** Helper function to get a string containing the entity's type, variant, and sub-type. */
|
|
81
|
-
export declare function getEntityID(entity: Entity):
|
|
84
|
+
export declare function getEntityID(entity: Entity): EntityID;
|
|
82
85
|
/**
|
|
83
86
|
* Helper function to get a formatted string in the format returned by the `getEntityID` function.
|
|
84
87
|
*/
|
|
85
|
-
export declare function getEntityIDFromConstituents(entityType: EntityType, variant: int, subType: int):
|
|
88
|
+
export declare function getEntityIDFromConstituents(entityType: EntityType, variant: int, subType: int): EntityID;
|
|
86
89
|
/**
|
|
87
90
|
* Helper function to compare two different arrays of entities. Returns the entities that are in the
|
|
88
91
|
* second array but not in the first array.
|
|
@@ -170,8 +173,30 @@ export declare function setEntityRandomColor(entity: Entity): void;
|
|
|
170
173
|
* need to specify the velocity or spawner.
|
|
171
174
|
*
|
|
172
175
|
* Also see the `spawnWithSeed` helper function.
|
|
176
|
+
*
|
|
177
|
+
* @param entityType The `EntityType` of the entity to spawn.
|
|
178
|
+
* @param variant The variant of the entity to spawn.
|
|
179
|
+
* @param subType The sub-type of the entity to spawn.
|
|
180
|
+
* @param position The position of the entity to spawn.
|
|
181
|
+
* @param velocity Optional. The velocity of the entity to spawn. Default is `VectorZero`.
|
|
182
|
+
* @param spawner Optional. The entity that will be the `SpawnerEntity`. Default is undefined.
|
|
183
|
+
* @param seedOrRNG Optional. The seed or RNG object to use to generate the `InitSeed` of the
|
|
184
|
+
* entity. Default is undefined, which will make the entity spawn with a random
|
|
185
|
+
* seed using the `Isaac.Spawn` method.
|
|
173
186
|
*/
|
|
174
187
|
export declare function spawn(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): Entity;
|
|
188
|
+
/**
|
|
189
|
+
* Helper function to spawn the entity corresponding to an `EntityID`.
|
|
190
|
+
*
|
|
191
|
+
* @param entityID The `EntityID` of the entity to spawn.
|
|
192
|
+
* @param position The position of the entity to spawn.
|
|
193
|
+
* @param velocity Optional. The velocity of the entity to spawn. Default is `VectorZero`.
|
|
194
|
+
* @param spawner Optional. The entity that will be the `SpawnerEntity`. Default is undefined.
|
|
195
|
+
* @param seedOrRNG Optional. The seed or RNG object to use to generate the `InitSeed` of the
|
|
196
|
+
* entity. Default is undefined, which will make the entity spawn with a random
|
|
197
|
+
* seed using the `Isaac.Spawn` method.
|
|
198
|
+
*/
|
|
199
|
+
export declare function spawnEntityID(entityID: EntityID, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): Entity;
|
|
175
200
|
/**
|
|
176
201
|
* Helper function to spawn an entity. Use this instead of the `Game.Spawn` method if you do not
|
|
177
202
|
* need to specify the velocity or spawner.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../src/functions/entities.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAK1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../../src/functions/entities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local Set = ____lualib.Set
|
|
3
|
+
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
3
4
|
local __TS__ArrayFind = ____lualib.__TS__ArrayFind
|
|
4
5
|
local __TS__New = ____lualib.__TS__New
|
|
5
6
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
6
|
-
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
7
7
|
local ____exports = {}
|
|
8
8
|
local setPrimitiveEntityFields
|
|
9
9
|
local ____cachedClasses = require("src.core.cachedClasses")
|
|
@@ -155,6 +155,27 @@ function ____exports.getClosestEntityTo(self, referenceEntity, entities)
|
|
|
155
155
|
end
|
|
156
156
|
return closestEntity
|
|
157
157
|
end
|
|
158
|
+
--- Helper function to get the entity type, variant, and sub-type from an `EntityID`.
|
|
159
|
+
function ____exports.getConstituentsFromEntityID(self, entityID)
|
|
160
|
+
local parts = __TS__StringSplit(entityID, ".")
|
|
161
|
+
if #parts ~= 3 then
|
|
162
|
+
error("Failed to get the constituents from entity ID: " .. entityID)
|
|
163
|
+
end
|
|
164
|
+
local entityTypeString, variantString, subTypeString = table.unpack(parts)
|
|
165
|
+
local entityType = tonumber(entityTypeString)
|
|
166
|
+
if entityType == nil then
|
|
167
|
+
error("Failed to convert the entity type to a number: " .. tostring(entityTypeString))
|
|
168
|
+
end
|
|
169
|
+
local variant = tonumber(variantString)
|
|
170
|
+
if variant == nil then
|
|
171
|
+
error("Failed to convert the entity variant to a number: " .. tostring(variantString))
|
|
172
|
+
end
|
|
173
|
+
local subType = tonumber(subTypeString)
|
|
174
|
+
if subType == nil then
|
|
175
|
+
error("Failed to convert the entity sub-type to a number: " .. tostring(subTypeString))
|
|
176
|
+
end
|
|
177
|
+
return {entityType, variant, subType}
|
|
178
|
+
end
|
|
158
179
|
--- Helper function to get all of the entities in the room or all of the entities that match a
|
|
159
180
|
-- specific entity type / variant / sub-type.
|
|
160
181
|
--
|
|
@@ -395,6 +416,16 @@ end
|
|
|
395
416
|
-- need to specify the velocity or spawner.
|
|
396
417
|
--
|
|
397
418
|
-- Also see the `spawnWithSeed` helper function.
|
|
419
|
+
--
|
|
420
|
+
-- @param entityType The `EntityType` of the entity to spawn.
|
|
421
|
+
-- @param variant The variant of the entity to spawn.
|
|
422
|
+
-- @param subType The sub-type of the entity to spawn.
|
|
423
|
+
-- @param position The position of the entity to spawn.
|
|
424
|
+
-- @param velocity Optional. The velocity of the entity to spawn. Default is `VectorZero`.
|
|
425
|
+
-- @param spawner Optional. The entity that will be the `SpawnerEntity`. Default is undefined.
|
|
426
|
+
-- @param seedOrRNG Optional. The seed or RNG object to use to generate the `InitSeed` of the
|
|
427
|
+
-- entity. Default is undefined, which will make the entity spawn with a random
|
|
428
|
+
-- seed using the `Isaac.Spawn` method.
|
|
398
429
|
function ____exports.spawn(self, entityType, variant, subType, position, velocity, spawner, seedOrRNG)
|
|
399
430
|
if velocity == nil then
|
|
400
431
|
velocity = VectorZero
|
|
@@ -434,6 +465,37 @@ function ____exports.spawn(self, entityType, variant, subType, position, velocit
|
|
|
434
465
|
seed
|
|
435
466
|
)
|
|
436
467
|
end
|
|
468
|
+
--- Helper function to spawn the entity corresponding to an `EntityID`.
|
|
469
|
+
--
|
|
470
|
+
-- @param entityID The `EntityID` of the entity to spawn.
|
|
471
|
+
-- @param position The position of the entity to spawn.
|
|
472
|
+
-- @param velocity Optional. The velocity of the entity to spawn. Default is `VectorZero`.
|
|
473
|
+
-- @param spawner Optional. The entity that will be the `SpawnerEntity`. Default is undefined.
|
|
474
|
+
-- @param seedOrRNG Optional. The seed or RNG object to use to generate the `InitSeed` of the
|
|
475
|
+
-- entity. Default is undefined, which will make the entity spawn with a random
|
|
476
|
+
-- seed using the `Isaac.Spawn` method.
|
|
477
|
+
function ____exports.spawnEntityID(self, entityID, position, velocity, spawner, seedOrRNG)
|
|
478
|
+
if velocity == nil then
|
|
479
|
+
velocity = VectorZero
|
|
480
|
+
end
|
|
481
|
+
if spawner == nil then
|
|
482
|
+
spawner = nil
|
|
483
|
+
end
|
|
484
|
+
if seedOrRNG == nil then
|
|
485
|
+
seedOrRNG = nil
|
|
486
|
+
end
|
|
487
|
+
local entityType, variant, subType = table.unpack(____exports.getConstituentsFromEntityID(nil, entityID))
|
|
488
|
+
return ____exports.spawn(
|
|
489
|
+
nil,
|
|
490
|
+
entityType,
|
|
491
|
+
variant,
|
|
492
|
+
subType,
|
|
493
|
+
position,
|
|
494
|
+
velocity,
|
|
495
|
+
spawner,
|
|
496
|
+
seedOrRNG
|
|
497
|
+
)
|
|
498
|
+
end
|
|
437
499
|
--- Helper function to spawn an entity. Use this instead of the `Game.Spawn` method if you do not
|
|
438
500
|
-- need to specify the velocity or spawner.
|
|
439
501
|
function ____exports.spawnWithSeed(self, entityType, variant, subType, position, seedOrRNG, velocity, spawner)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { GridEntityType, GridEntityXMLType } from "isaac-typescript-definitions";
|
|
2
2
|
import { AnyGridEntity } from "../types/AnyGridEntity";
|
|
3
|
+
import { GridEntityID } from "../types/GridEntityID";
|
|
3
4
|
/**
|
|
4
5
|
* Helper function to convert the grid entity type found in a room XML file to the corresponding
|
|
5
6
|
* grid entity type and variant normally used by the game. For example, a rock is represented as
|
|
@@ -20,6 +21,8 @@ export declare function getAllGridIndexes(): int[];
|
|
|
20
21
|
* not have collision yet in that callback.
|
|
21
22
|
*/
|
|
22
23
|
export declare function getCollidingEntitiesWithGridEntity(gridEntity: GridEntity): Entity[];
|
|
24
|
+
/** Helper function to get the grid entity type and variant from a `GridEntityID`. */
|
|
25
|
+
export declare function getConstituentsFromGridEntityID(gridEntityID: GridEntityID): [gridEntityType: GridEntityType, variant: int];
|
|
23
26
|
/**
|
|
24
27
|
* Helper function to get every grid entity in the current room.
|
|
25
28
|
*
|
|
@@ -65,12 +68,12 @@ export declare function getGridEntitiesMap(...gridEntityTypes: GridEntityType[])
|
|
|
65
68
|
/** Helper function to get the top left and bottom right corners of a given grid entity. */
|
|
66
69
|
export declare function getGridEntityCollisionPoints(gridEntity: GridEntity): [topLeft: Vector, bottomRight: Vector];
|
|
67
70
|
/** Helper function to get a string containing the grid entity's type and variant. */
|
|
68
|
-
export declare function getGridEntityID(gridEntity: GridEntity):
|
|
71
|
+
export declare function getGridEntityID(gridEntity: GridEntity): GridEntityID;
|
|
69
72
|
/**
|
|
70
73
|
* Helper function to get a formatted string in the format returned by the `getGridEntityID`
|
|
71
74
|
* function.
|
|
72
75
|
*/
|
|
73
|
-
export declare function getGridEntityIDFromConstituents(gridEntityType: GridEntityType, variant: int):
|
|
76
|
+
export declare function getGridEntityIDFromConstituents(gridEntityType: GridEntityType, variant: int): GridEntityID;
|
|
74
77
|
/**
|
|
75
78
|
* Helper function to get all of the grid entities in the room that specifically match the type and
|
|
76
79
|
* variant provided.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gridEntities.d.ts","sourceRoot":"","sources":["../../../src/functions/gridEntities.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,EACd,iBAAiB,EAIlB,MAAM,8BAA8B,CAAC;AAStC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"gridEntities.d.ts","sourceRoot":"","sources":["../../../src/functions/gridEntities.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ local ____lualib = require("lualib_bundle")
|
|
|
2
2
|
local Set = ____lualib.Set
|
|
3
3
|
local __TS__New = ____lualib.__TS__New
|
|
4
4
|
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
5
|
+
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
5
6
|
local Map = ____lualib.Map
|
|
6
7
|
local ____exports = {}
|
|
7
8
|
local getAllGridEntities
|
|
@@ -202,6 +203,23 @@ function ____exports.getCollidingEntitiesWithGridEntity(self, gridEntity)
|
|
|
202
203
|
) end
|
|
203
204
|
)
|
|
204
205
|
end
|
|
206
|
+
--- Helper function to get the grid entity type and variant from a `GridEntityID`.
|
|
207
|
+
function ____exports.getConstituentsFromGridEntityID(self, gridEntityID)
|
|
208
|
+
local parts = __TS__StringSplit(gridEntityID, ".")
|
|
209
|
+
if #parts ~= 2 then
|
|
210
|
+
error("Failed to get the constituents from grid entity ID: " .. gridEntityID)
|
|
211
|
+
end
|
|
212
|
+
local gridEntityTypeString, variantString = table.unpack(parts)
|
|
213
|
+
local gridEntityType = tonumber(gridEntityTypeString)
|
|
214
|
+
if gridEntityType == nil then
|
|
215
|
+
error("Failed to convert the grid entity type to a number: " .. tostring(gridEntityTypeString))
|
|
216
|
+
end
|
|
217
|
+
local variant = tonumber(variantString)
|
|
218
|
+
if variant == nil then
|
|
219
|
+
error("Failed to convert the grid entity variant to a number: " .. tostring(variantString))
|
|
220
|
+
end
|
|
221
|
+
return {gridEntityType, variant}
|
|
222
|
+
end
|
|
205
223
|
--- Helper function to get every grid entity in the current room.
|
|
206
224
|
--
|
|
207
225
|
-- Use this function with no arguments to get every grid entity, or specify a variadic amount of
|
|
@@ -276,7 +294,7 @@ function ____exports.getGridEntitiesInRadius(self, targetPosition, radius)
|
|
|
276
294
|
local gridIndex = room:GetGridIndex(position)
|
|
277
295
|
local gridEntity = room:GetGridEntityFromPos(position)
|
|
278
296
|
if gridEntity == nil or registeredGridIndexes:has(gridIndex) then
|
|
279
|
-
goto
|
|
297
|
+
goto __continue24
|
|
280
298
|
end
|
|
281
299
|
registeredGridIndexes:add(gridIndex)
|
|
282
300
|
local topLeft, bottomRight = table.unpack(____exports.getGridEntityCollisionPoints(nil, gridEntity))
|
|
@@ -290,7 +308,7 @@ function ____exports.getGridEntitiesInRadius(self, targetPosition, radius)
|
|
|
290
308
|
gridEntities[#gridEntities + 1] = gridEntity
|
|
291
309
|
end
|
|
292
310
|
end
|
|
293
|
-
::
|
|
311
|
+
::__continue24::
|
|
294
312
|
end
|
|
295
313
|
end
|
|
296
314
|
return gridEntities
|
package/dist/src/index.d.ts
CHANGED
|
@@ -145,7 +145,9 @@ export * from "./types/AnyFunction";
|
|
|
145
145
|
export * from "./types/AnyGridEntity";
|
|
146
146
|
export * from "./types/CollectibleIndex";
|
|
147
147
|
export * from "./types/ConversionHeartSubType";
|
|
148
|
+
export * from "./types/EntityID";
|
|
148
149
|
export * from "./types/FunctionTuple";
|
|
150
|
+
export * from "./types/GridEntityID";
|
|
149
151
|
export * from "./types/HasAllEnumKeys";
|
|
150
152
|
export * from "./types/HasFunction";
|
|
151
153
|
export * from "./types/Immutable";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/indexLua.d.ts
CHANGED
|
@@ -145,7 +145,9 @@ export * from "./types/AnyFunction";
|
|
|
145
145
|
export * from "./types/AnyGridEntity";
|
|
146
146
|
export * from "./types/CollectibleIndex";
|
|
147
147
|
export * from "./types/ConversionHeartSubType";
|
|
148
|
+
export * from "./types/EntityID";
|
|
148
149
|
export * from "./types/FunctionTuple";
|
|
150
|
+
export * from "./types/GridEntityID";
|
|
149
151
|
export * from "./types/HasAllEnumKeys";
|
|
150
152
|
export * from "./types/HasFunction";
|
|
151
153
|
export * from "./types/Immutable";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexLua.d.ts","sourceRoot":"","sources":["../../../../../packages/isaacscript-common/src/indexLua.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oCAAoC,CAAC;AACnD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0CAA0C,CAAC;AACzD,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"indexLua.d.ts","sourceRoot":"","sources":["../../../../../packages/isaacscript-common/src/indexLua.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A string that represents an entity. This is the entity type, variant, and sub-type, all separated
|
|
3
|
+
* by periods.
|
|
4
|
+
*
|
|
5
|
+
* This type is branded for extra type safety.
|
|
6
|
+
*/
|
|
7
|
+
export declare type EntityID = string & {
|
|
8
|
+
readonly __entityIDBrand: symbol;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=EntityID.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityID.d.ts","sourceRoot":"","sources":["../../../src/types/EntityID.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,oBAAY,QAAQ,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A string that represents a grid entity. This is the entity type and variant separated by a
|
|
3
|
+
* period.
|
|
4
|
+
*
|
|
5
|
+
* This type is branded for extra type safety.
|
|
6
|
+
*/
|
|
7
|
+
export declare type GridEntityID = string & {
|
|
8
|
+
readonly __gridEntityIDBrand: symbol;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=GridEntityID.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridEntityID.d.ts","sourceRoot":"","sources":["../../../src/types/GridEntityID.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,oBAAY,YAAY,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;CAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -4,6 +4,7 @@ import { VectorZero } from "../core/constants";
|
|
|
4
4
|
import { ENTITIES_WITH_ARMOR_SET } from "../sets/entitiesWithArmorSet";
|
|
5
5
|
import { STORY_BOSSES_SET } from "../sets/storyBossesSet";
|
|
6
6
|
import { AnyEntity } from "../types/AnyEntity";
|
|
7
|
+
import { EntityID } from "../types/EntityID";
|
|
7
8
|
import { getIsaacAPIClassName } from "./isaacAPIClass";
|
|
8
9
|
import { getRandom } from "./random";
|
|
9
10
|
import { isRNG, newRNG } from "./rng";
|
|
@@ -101,6 +102,37 @@ export function getClosestEntityTo<T extends AnyEntity>(
|
|
|
101
102
|
return closestEntity;
|
|
102
103
|
}
|
|
103
104
|
|
|
105
|
+
/** Helper function to get the entity type, variant, and sub-type from an `EntityID`. */
|
|
106
|
+
export function getConstituentsFromEntityID(
|
|
107
|
+
entityID: EntityID,
|
|
108
|
+
): [entityType: EntityType, variant: int, subType: int] {
|
|
109
|
+
const parts = entityID.split(".");
|
|
110
|
+
if (parts.length !== 3) {
|
|
111
|
+
error(`Failed to get the constituents from entity ID: ${entityID}`);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
const [entityTypeString, variantString, subTypeString] = parts;
|
|
115
|
+
|
|
116
|
+
const entityType = tonumber(entityTypeString);
|
|
117
|
+
if (entityType === undefined) {
|
|
118
|
+
error(`Failed to convert the entity type to a number: ${entityTypeString}`);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const variant = tonumber(variantString);
|
|
122
|
+
if (variant === undefined) {
|
|
123
|
+
error(`Failed to convert the entity variant to a number: ${variantString}`);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
const subType = tonumber(subTypeString);
|
|
127
|
+
if (subType === undefined) {
|
|
128
|
+
error(
|
|
129
|
+
`Failed to convert the entity sub-type to a number: ${subTypeString}`,
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return [entityType, variant, subType];
|
|
134
|
+
}
|
|
135
|
+
|
|
104
136
|
/**
|
|
105
137
|
* Helper function to get all of the entities in the room or all of the entities that match a
|
|
106
138
|
* specific entity type / variant / sub-type.
|
|
@@ -217,8 +249,8 @@ export function getEntityFromPtrHash(ptrHash: PtrHash): Entity | undefined {
|
|
|
217
249
|
}
|
|
218
250
|
|
|
219
251
|
/** Helper function to get a string containing the entity's type, variant, and sub-type. */
|
|
220
|
-
export function getEntityID(entity: Entity):
|
|
221
|
-
return `${entity.Type}.${entity.Variant}.${entity.SubType}
|
|
252
|
+
export function getEntityID(entity: Entity): EntityID {
|
|
253
|
+
return `${entity.Type}.${entity.Variant}.${entity.SubType}` as EntityID;
|
|
222
254
|
}
|
|
223
255
|
|
|
224
256
|
/**
|
|
@@ -228,8 +260,8 @@ export function getEntityIDFromConstituents(
|
|
|
228
260
|
entityType: EntityType,
|
|
229
261
|
variant: int,
|
|
230
262
|
subType: int,
|
|
231
|
-
):
|
|
232
|
-
return `${entityType}.${variant}.${subType}
|
|
263
|
+
): EntityID {
|
|
264
|
+
return `${entityType}.${variant}.${subType}` as EntityID;
|
|
233
265
|
}
|
|
234
266
|
|
|
235
267
|
/**
|
|
@@ -452,6 +484,16 @@ export function setEntityRandomColor(entity: Entity): void {
|
|
|
452
484
|
* need to specify the velocity or spawner.
|
|
453
485
|
*
|
|
454
486
|
* Also see the `spawnWithSeed` helper function.
|
|
487
|
+
*
|
|
488
|
+
* @param entityType The `EntityType` of the entity to spawn.
|
|
489
|
+
* @param variant The variant of the entity to spawn.
|
|
490
|
+
* @param subType The sub-type of the entity to spawn.
|
|
491
|
+
* @param position The position of the entity to spawn.
|
|
492
|
+
* @param velocity Optional. The velocity of the entity to spawn. Default is `VectorZero`.
|
|
493
|
+
* @param spawner Optional. The entity that will be the `SpawnerEntity`. Default is undefined.
|
|
494
|
+
* @param seedOrRNG Optional. The seed or RNG object to use to generate the `InitSeed` of the
|
|
495
|
+
* entity. Default is undefined, which will make the entity spawn with a random
|
|
496
|
+
* seed using the `Isaac.Spawn` method.
|
|
455
497
|
*/
|
|
456
498
|
export function spawn(
|
|
457
499
|
entityType: EntityType,
|
|
@@ -501,6 +543,36 @@ export function spawn(
|
|
|
501
543
|
);
|
|
502
544
|
}
|
|
503
545
|
|
|
546
|
+
/**
|
|
547
|
+
* Helper function to spawn the entity corresponding to an `EntityID`.
|
|
548
|
+
*
|
|
549
|
+
* @param entityID The `EntityID` of the entity to spawn.
|
|
550
|
+
* @param position The position of the entity to spawn.
|
|
551
|
+
* @param velocity Optional. The velocity of the entity to spawn. Default is `VectorZero`.
|
|
552
|
+
* @param spawner Optional. The entity that will be the `SpawnerEntity`. Default is undefined.
|
|
553
|
+
* @param seedOrRNG Optional. The seed or RNG object to use to generate the `InitSeed` of the
|
|
554
|
+
* entity. Default is undefined, which will make the entity spawn with a random
|
|
555
|
+
* seed using the `Isaac.Spawn` method.
|
|
556
|
+
*/
|
|
557
|
+
export function spawnEntityID(
|
|
558
|
+
entityID: EntityID,
|
|
559
|
+
position: Vector,
|
|
560
|
+
velocity: Vector = VectorZero,
|
|
561
|
+
spawner: Entity | undefined = undefined,
|
|
562
|
+
seedOrRNG: Seed | RNG | undefined = undefined,
|
|
563
|
+
): Entity {
|
|
564
|
+
const [entityType, variant, subType] = getConstituentsFromEntityID(entityID);
|
|
565
|
+
return spawn(
|
|
566
|
+
entityType,
|
|
567
|
+
variant,
|
|
568
|
+
subType,
|
|
569
|
+
position,
|
|
570
|
+
velocity,
|
|
571
|
+
spawner,
|
|
572
|
+
seedOrRNG,
|
|
573
|
+
);
|
|
574
|
+
}
|
|
575
|
+
|
|
504
576
|
/**
|
|
505
577
|
* Helper function to spawn an entity. Use this instead of the `Game.Spawn` method if you do not
|
|
506
578
|
* need to specify the velocity or spawner.
|
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP,
|
|
17
17
|
} from "../maps/roomShapeToTopLeftWallGridIndexMap";
|
|
18
18
|
import { AnyGridEntity } from "../types/AnyGridEntity";
|
|
19
|
+
import { GridEntityID } from "../types/GridEntityID";
|
|
19
20
|
import { removeEntities } from "./entities";
|
|
20
21
|
import { getEffects } from "./entitiesSpecific";
|
|
21
22
|
import { isCircleIntersectingRectangle } from "./math";
|
|
@@ -121,6 +122,36 @@ export function getCollidingEntitiesWithGridEntity(
|
|
|
121
122
|
);
|
|
122
123
|
}
|
|
123
124
|
|
|
125
|
+
/** Helper function to get the grid entity type and variant from a `GridEntityID`. */
|
|
126
|
+
export function getConstituentsFromGridEntityID(
|
|
127
|
+
gridEntityID: GridEntityID,
|
|
128
|
+
): [gridEntityType: GridEntityType, variant: int] {
|
|
129
|
+
const parts = gridEntityID.split(".");
|
|
130
|
+
if (parts.length !== 2) {
|
|
131
|
+
error(
|
|
132
|
+
`Failed to get the constituents from grid entity ID: ${gridEntityID}`,
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const [gridEntityTypeString, variantString] = parts;
|
|
137
|
+
|
|
138
|
+
const gridEntityType = tonumber(gridEntityTypeString);
|
|
139
|
+
if (gridEntityType === undefined) {
|
|
140
|
+
error(
|
|
141
|
+
`Failed to convert the grid entity type to a number: ${gridEntityTypeString}`,
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
const variant = tonumber(variantString);
|
|
146
|
+
if (variant === undefined) {
|
|
147
|
+
error(
|
|
148
|
+
`Failed to convert the grid entity variant to a number: ${variantString}`,
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
return [gridEntityType, variant];
|
|
153
|
+
}
|
|
154
|
+
|
|
124
155
|
/**
|
|
125
156
|
* Helper function to get every grid entity in the current room.
|
|
126
157
|
*
|
|
@@ -282,10 +313,10 @@ export function getGridEntityCollisionPoints(
|
|
|
282
313
|
}
|
|
283
314
|
|
|
284
315
|
/** Helper function to get a string containing the grid entity's type and variant. */
|
|
285
|
-
export function getGridEntityID(gridEntity: GridEntity):
|
|
316
|
+
export function getGridEntityID(gridEntity: GridEntity): GridEntityID {
|
|
286
317
|
const gridEntityType = gridEntity.GetType();
|
|
287
318
|
const variant = gridEntity.GetVariant();
|
|
288
|
-
return `${gridEntityType}.${variant}
|
|
319
|
+
return `${gridEntityType}.${variant}` as GridEntityID;
|
|
289
320
|
}
|
|
290
321
|
|
|
291
322
|
/**
|
|
@@ -295,8 +326,8 @@ export function getGridEntityID(gridEntity: GridEntity): string {
|
|
|
295
326
|
export function getGridEntityIDFromConstituents(
|
|
296
327
|
gridEntityType: GridEntityType,
|
|
297
328
|
variant: int,
|
|
298
|
-
):
|
|
299
|
-
return `${gridEntityType}.${variant}
|
|
329
|
+
): GridEntityID {
|
|
330
|
+
return `${gridEntityType}.${variant}` as GridEntityID;
|
|
300
331
|
}
|
|
301
332
|
|
|
302
333
|
/**
|
package/src/index.ts
CHANGED
|
@@ -145,7 +145,9 @@ export * from "./types/AnyFunction";
|
|
|
145
145
|
export * from "./types/AnyGridEntity";
|
|
146
146
|
export * from "./types/CollectibleIndex";
|
|
147
147
|
export * from "./types/ConversionHeartSubType";
|
|
148
|
+
export * from "./types/EntityID";
|
|
148
149
|
export * from "./types/FunctionTuple";
|
|
150
|
+
export * from "./types/GridEntityID";
|
|
149
151
|
export * from "./types/HasAllEnumKeys";
|
|
150
152
|
export * from "./types/HasFunction";
|
|
151
153
|
export * from "./types/Immutable";
|