isaacscript-common 7.15.1 → 7.16.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 (30) hide show
  1. package/dist/callbacks/postSlotCollision.d.ts +3 -0
  2. package/dist/callbacks/postSlotCollision.d.ts.map +1 -0
  3. package/dist/callbacks/postSlotCollision.lua +25 -0
  4. package/dist/callbacks/subscriptions/postSlotCollision.d.ts +9 -0
  5. package/dist/callbacks/subscriptions/postSlotCollision.d.ts.map +1 -0
  6. package/dist/callbacks/subscriptions/postSlotCollision.lua +23 -0
  7. package/dist/enums/ModCallbackCustom.d.ts +38 -17
  8. package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
  9. package/dist/enums/ModCallbackCustom.lua +18 -16
  10. package/dist/features/customPickup.d.ts +5 -2
  11. package/dist/features/customPickup.d.ts.map +1 -1
  12. package/dist/features/customPickup.lua +5 -2
  13. package/dist/functions/dev.d.ts +1 -1
  14. package/dist/functions/dev.lua +1 -1
  15. package/dist/index.d.ts +50 -20
  16. package/dist/initCustomCallbacks.d.ts.map +1 -1
  17. package/dist/initCustomCallbacks.lua +3 -0
  18. package/dist/interfaces/private/AddCallbackParameterCustom.d.ts +2 -0
  19. package/dist/interfaces/private/AddCallbackParameterCustom.d.ts.map +1 -1
  20. package/dist/objects/callbackRegisterFunctions.d.ts.map +1 -1
  21. package/dist/objects/callbackRegisterFunctions.lua +3 -0
  22. package/package.json +1 -1
  23. package/src/callbacks/postSlotCollision.ts +30 -0
  24. package/src/callbacks/subscriptions/postSlotCollision.ts +35 -0
  25. package/src/enums/ModCallbackCustom.ts +23 -1
  26. package/src/features/customPickup.ts +5 -2
  27. package/src/functions/dev.ts +1 -1
  28. package/src/initCustomCallbacks.ts +2 -0
  29. package/src/interfaces/private/AddCallbackParameterCustom.ts +2 -0
  30. package/src/objects/callbackRegisterFunctions.ts +2 -0
@@ -0,0 +1,3 @@
1
+ /// <reference types="isaac-typescript-definitions" />
2
+ export declare function postSlotCollisionInit(mod: Mod): void;
3
+ //# sourceMappingURL=postSlotCollision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postSlotCollision.d.ts","sourceRoot":"","sources":["../../src/callbacks/postSlotCollision.ts"],"names":[],"mappings":";AAOA,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAEpD"}
@@ -0,0 +1,25 @@
1
+ local ____exports = {}
2
+ local hasSubscriptions, prePlayerCollision
3
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
4
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
5
+ local ____entityTypes = require("functions.entityTypes")
6
+ local isSlot = ____entityTypes.isSlot
7
+ local ____postSlotCollision = require("callbacks.subscriptions.postSlotCollision")
8
+ local postSlotCollisionFire = ____postSlotCollision.postSlotCollisionFire
9
+ local postSlotCollisionHasSubscriptions = ____postSlotCollision.postSlotCollisionHasSubscriptions
10
+ function hasSubscriptions(self)
11
+ return postSlotCollisionHasSubscriptions(nil)
12
+ end
13
+ function prePlayerCollision(self, player, collider)
14
+ if not hasSubscriptions(nil) then
15
+ return
16
+ end
17
+ if isSlot(nil, collider) then
18
+ postSlotCollisionFire(nil, collider, player)
19
+ end
20
+ return nil
21
+ end
22
+ function ____exports.postSlotCollisionInit(self, mod)
23
+ mod:AddCallback(ModCallback.PRE_PLAYER_COLLISION, prePlayerCollision)
24
+ end
25
+ return ____exports
@@ -0,0 +1,9 @@
1
+ import { SlotVariant } from "isaac-typescript-definitions";
2
+ export declare type PostSlotCollisionRegisterParameters = [
3
+ callback: (slot: EntitySlot, player: EntityPlayer) => void,
4
+ slotVariant?: SlotVariant
5
+ ];
6
+ export declare function postSlotCollisionHasSubscriptions(): boolean;
7
+ export declare function postSlotCollisionRegister(...args: PostSlotCollisionRegisterParameters): void;
8
+ export declare function postSlotCollisionFire(slot: EntitySlot, player: EntityPlayer): void;
9
+ //# sourceMappingURL=postSlotCollision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postSlotCollision.d.ts","sourceRoot":"","sources":["../../../src/callbacks/subscriptions/postSlotCollision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,oBAAY,mCAAmC,GAAG;IAChD,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI;IAC1D,WAAW,CAAC,EAAE,WAAW;CAC1B,CAAC;AAIF,wBAAgB,iCAAiC,IAAI,OAAO,CAE3D;AAED,wBAAgB,yBAAyB,CACvC,GAAG,IAAI,EAAE,mCAAmC,GAC3C,IAAI,CAEN;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,YAAY,GACnB,IAAI,CAYN"}
@@ -0,0 +1,23 @@
1
+ local ____exports = {}
2
+ local subscriptions = {}
3
+ function ____exports.postSlotCollisionHasSubscriptions(self)
4
+ return #subscriptions > 0
5
+ end
6
+ function ____exports.postSlotCollisionRegister(self, ...)
7
+ local args = {...}
8
+ subscriptions[#subscriptions + 1] = args
9
+ end
10
+ function ____exports.postSlotCollisionFire(self, slot, player)
11
+ for ____, ____value in ipairs(subscriptions) do
12
+ local callback = ____value[1]
13
+ local callbackSlotVariant = ____value[2]
14
+ do
15
+ if callbackSlotVariant ~= nil and callbackSlotVariant ~= slot.Variant then
16
+ goto __continue5
17
+ end
18
+ callback(nil, slot, player)
19
+ end
20
+ ::__continue5::
21
+ end
22
+ end
23
+ return ____exports
@@ -329,7 +329,9 @@ export declare enum ModCallbackCustom {
329
329
  */
330
330
  POST_GRID_ENTITY_BROKEN = 24,
331
331
  /**
332
- * Fires from the `POST_UPDATE` callback when a new entity collides with a grid entity.
332
+ * Fires from the `POST_UPDATE` callback when a new entity collides with a grid entity. (After
333
+ * this, the callback will not continue to fire. It will only fire again once the entity moves out
334
+ * of range and then moves back into range.)
333
335
  *
334
336
  * When registering the callback, takes an optional second argument that will make the callback
335
337
  * only fire if it matches the `GridEntityType` provided.
@@ -1132,6 +1134,25 @@ export declare enum ModCallbackCustom {
1132
1134
  * ```
1133
1135
  */
1134
1136
  POST_SLOT_ANIMATION_CHANGED = 75,
1137
+ /**
1138
+ * Fires from the `PRE_PLAYER_COLLISION` callback when when a player collides with a slot entity.
1139
+ * (It will not fire if any other type of entity collides with the slot entity.)
1140
+ *
1141
+ * When a player runs into a slot entity, this callback will continually fire, since the player is
1142
+ * colliding with it on every frame. Thus, you should only perform actions in this callback under
1143
+ * certain conditions, like if the slot entity is playing the "Idle" animation, and so on.
1144
+ *
1145
+ * When registering the callback, takes an optional second argument that will make the callback
1146
+ * only fire if it matches the `SlotVariant` provided.
1147
+ *
1148
+ * ```ts
1149
+ * function postSlotCollision(
1150
+ * slot: EntitySlot,
1151
+ * entity: Entity,
1152
+ * ): void {}
1153
+ * ```
1154
+ */
1155
+ POST_SLOT_COLLISION = 76,
1135
1156
  /**
1136
1157
  * Fires from the `POST_RENDER` callback when a slot plays the animation that indicates that it
1137
1158
  * has broken.
@@ -1145,7 +1166,7 @@ export declare enum ModCallbackCustom {
1145
1166
  * function postSlotDestroyed(slot: Entity, slotDestructionType: SlotDestructionType): void {}
1146
1167
  * ```
1147
1168
  */
1148
- POST_SLOT_DESTROYED = 76,
1169
+ POST_SLOT_DESTROYED = 77,
1149
1170
  /**
1150
1171
  * Fires when a new slot entity is initialized. Specifically, this is either:
1151
1172
  *
@@ -1161,7 +1182,7 @@ export declare enum ModCallbackCustom {
1161
1182
  * function postSlotInit(slot: Entity): void {}
1162
1183
  * ```
1163
1184
  */
1164
- POST_SLOT_INIT = 77,
1185
+ POST_SLOT_INIT = 78,
1165
1186
  /**
1166
1187
  * Fires from the `POST_RENDER` callback on every frame that a slot entity exists.
1167
1188
  *
@@ -1172,7 +1193,7 @@ export declare enum ModCallbackCustom {
1172
1193
  * function postSlotRender(slot: Entity): void {}
1173
1194
  * ```
1174
1195
  */
1175
- POST_SLOT_RENDER = 78,
1196
+ POST_SLOT_RENDER = 79,
1176
1197
  /**
1177
1198
  * Fires from the `POST_UPDATE` callback on every frame that a slot entity exists.
1178
1199
  *
@@ -1183,7 +1204,7 @@ export declare enum ModCallbackCustom {
1183
1204
  * function postSlotUpdate(slot: Entity): void {}
1184
1205
  * ```
1185
1206
  */
1186
- POST_SLOT_UPDATE = 79,
1207
+ POST_SLOT_UPDATE = 80,
1187
1208
  /**
1188
1209
  * Fires from the `POST_RENDER` callback on every frame that spikes exist.
1189
1210
  *
@@ -1194,7 +1215,7 @@ export declare enum ModCallbackCustom {
1194
1215
  * function postSpikesRender(spikes: GridEntitySpikes): void {}
1195
1216
  * ```
1196
1217
  */
1197
- POST_SPIKES_RENDER = 80,
1218
+ POST_SPIKES_RENDER = 81,
1198
1219
  /**
1199
1220
  * Fires from the `POST_UPDATE` callback on every frame that spikes exist.
1200
1221
  *
@@ -1205,7 +1226,7 @@ export declare enum ModCallbackCustom {
1205
1226
  * function postSpikesUpdate(spikes: GridEntitySpikes): void {}
1206
1227
  * ```
1207
1228
  */
1208
- POST_SPIKES_UPDATE = 81,
1229
+ POST_SPIKES_UPDATE = 82,
1209
1230
  /**
1210
1231
  * Fires on the first `POST_TEAR_UPDATE` frame for each tear (which is when
1211
1232
  * `EntityTear.FrameCount` is equal to 0).
@@ -1220,7 +1241,7 @@ export declare enum ModCallbackCustom {
1220
1241
  * function postTearInitLate(tear: EntityTear): void {}
1221
1242
  * ```
1222
1243
  */
1223
- POST_TEAR_INIT_LATE = 82,
1244
+ POST_TEAR_INIT_LATE = 83,
1224
1245
  /**
1225
1246
  * Fires on the second `POST_TEAR_UPDATE` frame for each tear (which is when
1226
1247
  * `EntityTear.FrameCount` is equal to 1).
@@ -1234,7 +1255,7 @@ export declare enum ModCallbackCustom {
1234
1255
  * function postTearInitVeryLate(tear: EntityTear): void {}
1235
1256
  * ```
1236
1257
  */
1237
- POST_TEAR_INIT_VERY_LATE = 83,
1258
+ POST_TEAR_INIT_VERY_LATE = 84,
1238
1259
  /**
1239
1260
  * Fires from the `POST_RENDER` callback on every frame that a TNT exists.
1240
1261
  *
@@ -1245,7 +1266,7 @@ export declare enum ModCallbackCustom {
1245
1266
  * function postTNTRender(tnt: GridEntityTNT): void {}
1246
1267
  * ```
1247
1268
  */
1248
- POST_TNT_RENDER = 84,
1269
+ POST_TNT_RENDER = 85,
1249
1270
  /**
1250
1271
  * Fires from the `POST_UPDATE` callback on every frame that a TNT exists.
1251
1272
  *
@@ -1256,7 +1277,7 @@ export declare enum ModCallbackCustom {
1256
1277
  * function postTNTUpdate(tnt: GridEntityTNT): void {}
1257
1278
  * ```
1258
1279
  */
1259
- POST_TNT_UPDATE = 85,
1280
+ POST_TNT_UPDATE = 86,
1260
1281
  /**
1261
1282
  * Fires from the `POST_PEFFECT_UPDATE` callback when a player gains or loses a new
1262
1283
  * transformation.
@@ -1274,7 +1295,7 @@ export declare enum ModCallbackCustom {
1274
1295
  * ): void {}
1275
1296
  * ```
1276
1297
  */
1277
- POST_TRANSFORMATION = 86,
1298
+ POST_TRANSFORMATION = 87,
1278
1299
  /**
1279
1300
  * Fires from `ENTITY_TAKE_DMG` callback when a Wishbone or a Walnut breaks.
1280
1301
  *
@@ -1288,7 +1309,7 @@ export declare enum ModCallbackCustom {
1288
1309
  * ): void {}
1289
1310
  * ```
1290
1311
  */
1291
- POST_TRINKET_BREAK = 87,
1312
+ POST_TRINKET_BREAK = 88,
1292
1313
  /**
1293
1314
  * Fires from the `POST_PEFFECT_UPDATE` callback on the frame before a Berserk effect ends when
1294
1315
  * the player is predicted to die (e.g. they currently have no health left or they took damage in
@@ -1303,7 +1324,7 @@ export declare enum ModCallbackCustom {
1303
1324
  * function preBerserkDeath(player: EntityPlayer): void {}
1304
1325
  * ```
1305
1326
  */
1306
- PRE_BERSERK_DEATH = 88,
1327
+ PRE_BERSERK_DEATH = 89,
1307
1328
  /**
1308
1329
  * Fires from the `POST_PLAYER_FATAL_DAMAGE` callback when a player is about to die. If you want
1309
1330
  * to initiate a custom revival, return an integer that corresponds to the item or type of revival
@@ -1321,7 +1342,7 @@ export declare enum ModCallbackCustom {
1321
1342
  * function preCustomRevive(player: EntityPlayer): int | undefined {}
1322
1343
  * ```
1323
1344
  */
1324
- PRE_CUSTOM_REVIVE = 89,
1345
+ PRE_CUSTOM_REVIVE = 90,
1325
1346
  /**
1326
1347
  * Fires from the `POST_PEFFECT_UPDATE` callback when an item becomes queued (i.e. when the player
1327
1348
  * begins to hold the item above their head).
@@ -1340,7 +1361,7 @@ export declare enum ModCallbackCustom {
1340
1361
  * ): void {}
1341
1362
  * ```
1342
1363
  */
1343
- PRE_ITEM_PICKUP = 90,
1364
+ PRE_ITEM_PICKUP = 91,
1344
1365
  /**
1345
1366
  * Fires on the `POST_RENDER` frame before the player is taken to a new floor. Only fires when a
1346
1367
  * player jumps into a trapdoor or enters a heaven door (beam of light). Does not fire on the
@@ -1354,6 +1375,6 @@ export declare enum ModCallbackCustom {
1354
1375
  * function preNewLevel(player: EntityPlayer): void {}
1355
1376
  * ```
1356
1377
  */
1357
- PRE_NEW_LEVEL = 91
1378
+ PRE_NEW_LEVEL = 92
1358
1379
  }
1359
1380
  //# sourceMappingURL=ModCallbackCustom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModCallbackCustom.d.ts","sourceRoot":"","sources":["../../src/enums/ModCallbackCustom.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModCallbackCustom.d.ts","sourceRoot":"","sources":["../../src/enums/ModCallbackCustom.ts"],"names":[],"mappings":"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"}
@@ -158,36 +158,38 @@ ____exports.ModCallbackCustom.POST_SACRIFICE = 74
158
158
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SACRIFICE] = "POST_SACRIFICE"
159
159
  ____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 75
160
160
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED] = "POST_SLOT_ANIMATION_CHANGED"
161
- ____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 76
161
+ ____exports.ModCallbackCustom.POST_SLOT_COLLISION = 76
162
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_COLLISION] = "POST_SLOT_COLLISION"
163
+ ____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 77
162
164
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_DESTROYED] = "POST_SLOT_DESTROYED"
163
- ____exports.ModCallbackCustom.POST_SLOT_INIT = 77
165
+ ____exports.ModCallbackCustom.POST_SLOT_INIT = 78
164
166
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_INIT] = "POST_SLOT_INIT"
165
- ____exports.ModCallbackCustom.POST_SLOT_RENDER = 78
167
+ ____exports.ModCallbackCustom.POST_SLOT_RENDER = 79
166
168
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_RENDER] = "POST_SLOT_RENDER"
167
- ____exports.ModCallbackCustom.POST_SLOT_UPDATE = 79
169
+ ____exports.ModCallbackCustom.POST_SLOT_UPDATE = 80
168
170
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_UPDATE] = "POST_SLOT_UPDATE"
169
- ____exports.ModCallbackCustom.POST_SPIKES_RENDER = 80
171
+ ____exports.ModCallbackCustom.POST_SPIKES_RENDER = 81
170
172
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_RENDER] = "POST_SPIKES_RENDER"
171
- ____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 81
173
+ ____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 82
172
174
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_UPDATE] = "POST_SPIKES_UPDATE"
173
- ____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 82
175
+ ____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 83
174
176
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_LATE] = "POST_TEAR_INIT_LATE"
175
- ____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 83
177
+ ____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 84
176
178
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE] = "POST_TEAR_INIT_VERY_LATE"
177
- ____exports.ModCallbackCustom.POST_TNT_RENDER = 84
179
+ ____exports.ModCallbackCustom.POST_TNT_RENDER = 85
178
180
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_RENDER] = "POST_TNT_RENDER"
179
- ____exports.ModCallbackCustom.POST_TNT_UPDATE = 85
181
+ ____exports.ModCallbackCustom.POST_TNT_UPDATE = 86
180
182
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_UPDATE] = "POST_TNT_UPDATE"
181
- ____exports.ModCallbackCustom.POST_TRANSFORMATION = 86
183
+ ____exports.ModCallbackCustom.POST_TRANSFORMATION = 87
182
184
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRANSFORMATION] = "POST_TRANSFORMATION"
183
- ____exports.ModCallbackCustom.POST_TRINKET_BREAK = 87
185
+ ____exports.ModCallbackCustom.POST_TRINKET_BREAK = 88
184
186
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRINKET_BREAK] = "POST_TRINKET_BREAK"
185
- ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 88
187
+ ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 89
186
188
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_BERSERK_DEATH] = "PRE_BERSERK_DEATH"
187
- ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 89
189
+ ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 90
188
190
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE] = "PRE_CUSTOM_REVIVE"
189
- ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 90
191
+ ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 91
190
192
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_ITEM_PICKUP] = "PRE_ITEM_PICKUP"
191
- ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 91
193
+ ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 92
192
194
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NEW_LEVEL] = "PRE_NEW_LEVEL"
193
195
  return ____exports
@@ -2,11 +2,14 @@ import { PickupVariant } from "isaac-typescript-definitions";
2
2
  export declare function customPickupInit(mod: Mod): void;
3
3
  /**
4
4
  * Helper function to register a custom pickup with the IsaacScript standard library. Use this
5
- * feature for custom pickups that are intended to be picked up by the player, like keys and bombs.
5
+ * feature for custom pickups that are intended to be picked up by the player, like bombs and keys.
6
6
  *
7
7
  * When IsaacScript detects that a player should be collecting the custom pickup, then the pickup
8
8
  * will be immediately removed, and an effect showing the pickup's respective `Collect` animation
9
- * will be spawned. (This emulates how a normal vanilla pickup would work.)
9
+ * will be spawned. (This emulates how a normal vanilla pickup would work.) After that, the provided
10
+ * `collectFunc` will be fired. In this function, you will probably want to play a sound
11
+ * corresponding to what kind of pickup it is (e.g. `SoundEffect.KEY_PICKUP_GAUNTLET`), as well as
12
+ * do things like adding something to the player's inventory.
10
13
  *
11
14
  * Note that when you specify your custom pickup in the "entities2.xml" file, it should have a type
12
15
  * of "5" and be associated with an anm2 file that has a "Collect" animation.
@@ -1 +1 @@
1
- {"version":3,"file":"customPickup.d.ts","sourceRoot":"","sources":["../../src/features/customPickup.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,aAAa,EACd,MAAM,8BAA8B,CAAC;AA6BtC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAO/C;AAuDD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,mBAAmB,EAAE,aAAa,EAClC,OAAO,EAAE,GAAG,EACZ,WAAW,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,EAC3C,aAAa,GAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAoB,GAC5D,IAAI,CAaN"}
1
+ {"version":3,"file":"customPickup.d.ts","sourceRoot":"","sources":["../../src/features/customPickup.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,aAAa,EACd,MAAM,8BAA8B,CAAC;AA6BtC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAO/C;AAuDD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAClC,mBAAmB,EAAE,aAAa,EAClC,OAAO,EAAE,GAAG,EACZ,WAAW,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,EAC3C,aAAa,GAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAoB,GAC5D,IAAI,CAaN"}
@@ -56,11 +56,14 @@ function ____exports.customPickupInit(self, mod)
56
56
  mod:AddCallback(ModCallback.POST_EFFECT_RENDER, postEffectRenderPickupEffect, PICKUP_EFFECT_VARIANT)
57
57
  end
58
58
  --- Helper function to register a custom pickup with the IsaacScript standard library. Use this
59
- -- feature for custom pickups that are intended to be picked up by the player, like keys and bombs.
59
+ -- feature for custom pickups that are intended to be picked up by the player, like bombs and keys.
60
60
  --
61
61
  -- When IsaacScript detects that a player should be collecting the custom pickup, then the pickup
62
62
  -- will be immediately removed, and an effect showing the pickup's respective `Collect` animation
63
- -- will be spawned. (This emulates how a normal vanilla pickup would work.)
63
+ -- will be spawned. (This emulates how a normal vanilla pickup would work.) After that, the provided
64
+ -- `collectFunc` will be fired. In this function, you will probably want to play a sound
65
+ -- corresponding to what kind of pickup it is (e.g. `SoundEffect.KEY_PICKUP_GAUNTLET`), as well as
66
+ -- do things like adding something to the player's inventory.
64
67
  --
65
68
  -- Note that when you specify your custom pickup in the "entities2.xml" file, it should have a type
66
69
  -- of "5" and be associated with an anm2 file that has a "Collect" animation.
@@ -1,7 +1,7 @@
1
1
  import { ModUpgraded } from "../classes/ModUpgraded";
2
2
  /**
3
3
  * Helper function to enable some IsaacScript features that are useful when developing a mod. They
4
- * shouldn't be enabled when your mod goes to production (i.e. it is uploaded to the Steam
4
+ * should not be enabled when your mod goes to production (i.e. when it is uploaded to the Steam
5
5
  * Workshop).
6
6
  *
7
7
  * The list of development features that are enabled are as follows:
@@ -10,7 +10,7 @@ local saveDataManagerSetGlobal = ____exports.saveDataManagerSetGlobal
10
10
  local ____log = require("functions.log")
11
11
  local setLogFunctionsGlobal = ____log.setLogFunctionsGlobal
12
12
  --- Helper function to enable some IsaacScript features that are useful when developing a mod. They
13
- -- shouldn't be enabled when your mod goes to production (i.e. it is uploaded to the Steam
13
+ -- should not be enabled when your mod goes to production (i.e. when it is uploaded to the Steam
14
14
  -- Workshop).
15
15
  --
16
16
  -- The list of development features that are enabled are as follows:
package/dist/index.d.ts CHANGED
@@ -153,6 +153,7 @@ declare interface AddCallbackParameterCustom {
153
153
  [ModCallbackCustom.POST_ROOM_CLEAR_CHANGED]: PostRoomClearChangedRegisterParameters;
154
154
  [ModCallbackCustom.POST_SACRIFICE]: PostSacrificeRegisterParameters;
155
155
  [ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED]: PostSlotAnimationChangedRegisterParameters;
156
+ [ModCallbackCustom.POST_SLOT_COLLISION]: PostSlotCollisionRegisterParameters;
156
157
  [ModCallbackCustom.POST_SLOT_DESTROYED]: PostSlotDestroyedRegisterParameters;
157
158
  [ModCallbackCustom.POST_SLOT_INIT]: PostSlotInitRegisterParameters;
158
159
  [ModCallbackCustom.POST_SLOT_RENDER]: PostSlotRenderRegisterParameters;
@@ -1999,7 +2000,7 @@ export declare function enableAllSound(key: string): void;
1999
2000
 
2000
2001
  /**
2001
2002
  * Helper function to enable some IsaacScript features that are useful when developing a mod. They
2002
- * shouldn't be enabled when your mod goes to production (i.e. it is uploaded to the Steam
2003
+ * should not be enabled when your mod goes to production (i.e. when it is uploaded to the Steam
2003
2004
  * Workshop).
2004
2005
  *
2005
2006
  * The list of development features that are enabled are as follows:
@@ -6781,7 +6782,9 @@ export declare enum ModCallbackCustom {
6781
6782
  */
6782
6783
  POST_GRID_ENTITY_BROKEN = 24,
6783
6784
  /**
6784
- * Fires from the `POST_UPDATE` callback when a new entity collides with a grid entity.
6785
+ * Fires from the `POST_UPDATE` callback when a new entity collides with a grid entity. (After
6786
+ * this, the callback will not continue to fire. It will only fire again once the entity moves out
6787
+ * of range and then moves back into range.)
6785
6788
  *
6786
6789
  * When registering the callback, takes an optional second argument that will make the callback
6787
6790
  * only fire if it matches the `GridEntityType` provided.
@@ -7584,6 +7587,25 @@ export declare enum ModCallbackCustom {
7584
7587
  * ```
7585
7588
  */
7586
7589
  POST_SLOT_ANIMATION_CHANGED = 75,
7590
+ /**
7591
+ * Fires from the `PRE_PLAYER_COLLISION` callback when when a player collides with a slot entity.
7592
+ * (It will not fire if any other type of entity collides with the slot entity.)
7593
+ *
7594
+ * When a player runs into a slot entity, this callback will continually fire, since the player is
7595
+ * colliding with it on every frame. Thus, you should only perform actions in this callback under
7596
+ * certain conditions, like if the slot entity is playing the "Idle" animation, and so on.
7597
+ *
7598
+ * When registering the callback, takes an optional second argument that will make the callback
7599
+ * only fire if it matches the `SlotVariant` provided.
7600
+ *
7601
+ * ```ts
7602
+ * function postSlotCollision(
7603
+ * slot: EntitySlot,
7604
+ * entity: Entity,
7605
+ * ): void {}
7606
+ * ```
7607
+ */
7608
+ POST_SLOT_COLLISION = 76,
7587
7609
  /**
7588
7610
  * Fires from the `POST_RENDER` callback when a slot plays the animation that indicates that it
7589
7611
  * has broken.
@@ -7597,7 +7619,7 @@ export declare enum ModCallbackCustom {
7597
7619
  * function postSlotDestroyed(slot: Entity, slotDestructionType: SlotDestructionType): void {}
7598
7620
  * ```
7599
7621
  */
7600
- POST_SLOT_DESTROYED = 76,
7622
+ POST_SLOT_DESTROYED = 77,
7601
7623
  /**
7602
7624
  * Fires when a new slot entity is initialized. Specifically, this is either:
7603
7625
  *
@@ -7613,7 +7635,7 @@ export declare enum ModCallbackCustom {
7613
7635
  * function postSlotInit(slot: Entity): void {}
7614
7636
  * ```
7615
7637
  */
7616
- POST_SLOT_INIT = 77,
7638
+ POST_SLOT_INIT = 78,
7617
7639
  /**
7618
7640
  * Fires from the `POST_RENDER` callback on every frame that a slot entity exists.
7619
7641
  *
@@ -7624,7 +7646,7 @@ export declare enum ModCallbackCustom {
7624
7646
  * function postSlotRender(slot: Entity): void {}
7625
7647
  * ```
7626
7648
  */
7627
- POST_SLOT_RENDER = 78,
7649
+ POST_SLOT_RENDER = 79,
7628
7650
  /**
7629
7651
  * Fires from the `POST_UPDATE` callback on every frame that a slot entity exists.
7630
7652
  *
@@ -7635,7 +7657,7 @@ export declare enum ModCallbackCustom {
7635
7657
  * function postSlotUpdate(slot: Entity): void {}
7636
7658
  * ```
7637
7659
  */
7638
- POST_SLOT_UPDATE = 79,
7660
+ POST_SLOT_UPDATE = 80,
7639
7661
  /**
7640
7662
  * Fires from the `POST_RENDER` callback on every frame that spikes exist.
7641
7663
  *
@@ -7646,7 +7668,7 @@ export declare enum ModCallbackCustom {
7646
7668
  * function postSpikesRender(spikes: GridEntitySpikes): void {}
7647
7669
  * ```
7648
7670
  */
7649
- POST_SPIKES_RENDER = 80,
7671
+ POST_SPIKES_RENDER = 81,
7650
7672
  /**
7651
7673
  * Fires from the `POST_UPDATE` callback on every frame that spikes exist.
7652
7674
  *
@@ -7657,7 +7679,7 @@ export declare enum ModCallbackCustom {
7657
7679
  * function postSpikesUpdate(spikes: GridEntitySpikes): void {}
7658
7680
  * ```
7659
7681
  */
7660
- POST_SPIKES_UPDATE = 81,
7682
+ POST_SPIKES_UPDATE = 82,
7661
7683
  /**
7662
7684
  * Fires on the first `POST_TEAR_UPDATE` frame for each tear (which is when
7663
7685
  * `EntityTear.FrameCount` is equal to 0).
@@ -7672,7 +7694,7 @@ export declare enum ModCallbackCustom {
7672
7694
  * function postTearInitLate(tear: EntityTear): void {}
7673
7695
  * ```
7674
7696
  */
7675
- POST_TEAR_INIT_LATE = 82,
7697
+ POST_TEAR_INIT_LATE = 83,
7676
7698
  /**
7677
7699
  * Fires on the second `POST_TEAR_UPDATE` frame for each tear (which is when
7678
7700
  * `EntityTear.FrameCount` is equal to 1).
@@ -7686,7 +7708,7 @@ export declare enum ModCallbackCustom {
7686
7708
  * function postTearInitVeryLate(tear: EntityTear): void {}
7687
7709
  * ```
7688
7710
  */
7689
- POST_TEAR_INIT_VERY_LATE = 83,
7711
+ POST_TEAR_INIT_VERY_LATE = 84,
7690
7712
  /**
7691
7713
  * Fires from the `POST_RENDER` callback on every frame that a TNT exists.
7692
7714
  *
@@ -7697,7 +7719,7 @@ export declare enum ModCallbackCustom {
7697
7719
  * function postTNTRender(tnt: GridEntityTNT): void {}
7698
7720
  * ```
7699
7721
  */
7700
- POST_TNT_RENDER = 84,
7722
+ POST_TNT_RENDER = 85,
7701
7723
  /**
7702
7724
  * Fires from the `POST_UPDATE` callback on every frame that a TNT exists.
7703
7725
  *
@@ -7708,7 +7730,7 @@ export declare enum ModCallbackCustom {
7708
7730
  * function postTNTUpdate(tnt: GridEntityTNT): void {}
7709
7731
  * ```
7710
7732
  */
7711
- POST_TNT_UPDATE = 85,
7733
+ POST_TNT_UPDATE = 86,
7712
7734
  /**
7713
7735
  * Fires from the `POST_PEFFECT_UPDATE` callback when a player gains or loses a new
7714
7736
  * transformation.
@@ -7726,7 +7748,7 @@ export declare enum ModCallbackCustom {
7726
7748
  * ): void {}
7727
7749
  * ```
7728
7750
  */
7729
- POST_TRANSFORMATION = 86,
7751
+ POST_TRANSFORMATION = 87,
7730
7752
  /**
7731
7753
  * Fires from `ENTITY_TAKE_DMG` callback when a Wishbone or a Walnut breaks.
7732
7754
  *
@@ -7740,7 +7762,7 @@ export declare enum ModCallbackCustom {
7740
7762
  * ): void {}
7741
7763
  * ```
7742
7764
  */
7743
- POST_TRINKET_BREAK = 87,
7765
+ POST_TRINKET_BREAK = 88,
7744
7766
  /**
7745
7767
  * Fires from the `POST_PEFFECT_UPDATE` callback on the frame before a Berserk effect ends when
7746
7768
  * the player is predicted to die (e.g. they currently have no health left or they took damage in
@@ -7755,7 +7777,7 @@ export declare enum ModCallbackCustom {
7755
7777
  * function preBerserkDeath(player: EntityPlayer): void {}
7756
7778
  * ```
7757
7779
  */
7758
- PRE_BERSERK_DEATH = 88,
7780
+ PRE_BERSERK_DEATH = 89,
7759
7781
  /**
7760
7782
  * Fires from the `POST_PLAYER_FATAL_DAMAGE` callback when a player is about to die. If you want
7761
7783
  * to initiate a custom revival, return an integer that corresponds to the item or type of revival
@@ -7773,7 +7795,7 @@ export declare enum ModCallbackCustom {
7773
7795
  * function preCustomRevive(player: EntityPlayer): int | undefined {}
7774
7796
  * ```
7775
7797
  */
7776
- PRE_CUSTOM_REVIVE = 89,
7798
+ PRE_CUSTOM_REVIVE = 90,
7777
7799
  /**
7778
7800
  * Fires from the `POST_PEFFECT_UPDATE` callback when an item becomes queued (i.e. when the player
7779
7801
  * begins to hold the item above their head).
@@ -7792,7 +7814,7 @@ export declare enum ModCallbackCustom {
7792
7814
  * ): void {}
7793
7815
  * ```
7794
7816
  */
7795
- PRE_ITEM_PICKUP = 90,
7817
+ PRE_ITEM_PICKUP = 91,
7796
7818
  /**
7797
7819
  * Fires on the `POST_RENDER` frame before the player is taken to a new floor. Only fires when a
7798
7820
  * player jumps into a trapdoor or enters a heaven door (beam of light). Does not fire on the
@@ -7806,7 +7828,7 @@ export declare enum ModCallbackCustom {
7806
7828
  * function preNewLevel(player: EntityPlayer): void {}
7807
7829
  * ```
7808
7830
  */
7809
- PRE_NEW_LEVEL = 91
7831
+ PRE_NEW_LEVEL = 92
7810
7832
  }
7811
7833
 
7812
7834
  /**
@@ -8570,6 +8592,11 @@ callback: (slot: EntitySlot, previousAnimation: string, currentAnimation: string
8570
8592
  slotVariant?: SlotVariant
8571
8593
  ];
8572
8594
 
8595
+ declare type PostSlotCollisionRegisterParameters = [
8596
+ callback: (slot: EntitySlot, player: EntityPlayer) => void,
8597
+ slotVariant?: SlotVariant
8598
+ ];
8599
+
8573
8600
  declare type PostSlotDestroyedRegisterParameters = [
8574
8601
  callback: (slot: EntitySlot, slotDestructionType: SlotDestructionType) => void,
8575
8602
  slotVariant?: SlotVariant,
@@ -8717,11 +8744,14 @@ export declare function registerCharacterStats(playerType: PlayerType, statMap:
8717
8744
 
8718
8745
  /**
8719
8746
  * Helper function to register a custom pickup with the IsaacScript standard library. Use this
8720
- * feature for custom pickups that are intended to be picked up by the player, like keys and bombs.
8747
+ * feature for custom pickups that are intended to be picked up by the player, like bombs and keys.
8721
8748
  *
8722
8749
  * When IsaacScript detects that a player should be collecting the custom pickup, then the pickup
8723
8750
  * will be immediately removed, and an effect showing the pickup's respective `Collect` animation
8724
- * will be spawned. (This emulates how a normal vanilla pickup would work.)
8751
+ * will be spawned. (This emulates how a normal vanilla pickup would work.) After that, the provided
8752
+ * `collectFunc` will be fired. In this function, you will probably want to play a sound
8753
+ * corresponding to what kind of pickup it is (e.g. `SoundEffect.KEY_PICKUP_GAUNTLET`), as well as
8754
+ * do things like adding something to the player's inventory.
8725
8755
  *
8726
8756
  * Note that when you specify your custom pickup in the "entities2.xml" file, it should have a type
8727
8757
  * of "5" and be associated with an anm2 file that has a "Collect" animation.
@@ -1 +1 @@
1
- {"version":3,"file":"initCustomCallbacks.d.ts","sourceRoot":"","sources":["../src/initCustomCallbacks.ts"],"names":[],"mappings":"AAsEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAuE1D"}
1
+ {"version":3,"file":"initCustomCallbacks.d.ts","sourceRoot":"","sources":["../src/initCustomCallbacks.ts"],"names":[],"mappings":"AAuEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAwE1D"}
@@ -111,6 +111,8 @@ local ____postRoomClearChanged = require("callbacks.postRoomClearChanged")
111
111
  local postRoomClearChangedInit = ____postRoomClearChanged.postRoomClearChangedInit
112
112
  local ____postSacrifice = require("callbacks.postSacrifice")
113
113
  local postSacrificeInit = ____postSacrifice.postSacrificeInit
114
+ local ____postSlotCollision = require("callbacks.postSlotCollision")
115
+ local postSlotCollisionInit = ____postSlotCollision.postSlotCollisionInit
114
116
  local ____postSlotDestroyed = require("callbacks.postSlotDestroyed")
115
117
  local postSlotDestroyedInit = ____postSlotDestroyed.postSlotDestroyedInit
116
118
  local ____postSlotInitUpdate = require("callbacks.postSlotInitUpdate")
@@ -196,6 +198,7 @@ function ____exports.initCustomCallbacks(self, mod)
196
198
  postRockUpdateInit(nil, mod)
197
199
  postRoomClearChangedInit(nil, mod)
198
200
  postSacrificeInit(nil, mod)
201
+ postSlotCollisionInit(nil, mod)
199
202
  postSlotDestroyedInit(nil, mod)
200
203
  postSlotInitUpdateCallbacksInit(nil, mod)
201
204
  postSlotRenderCallbacksInit(nil, mod)
@@ -74,6 +74,7 @@ import { PostRockUpdateRegisterParameters } from "../../callbacks/subscriptions/
74
74
  import { PostRoomClearChangedRegisterParameters } from "../../callbacks/subscriptions/postRoomClearChanged";
75
75
  import { PostSacrificeRegisterParameters } from "../../callbacks/subscriptions/postSacrifice";
76
76
  import { PostSlotAnimationChangedRegisterParameters } from "../../callbacks/subscriptions/postSlotAnimationChanged";
77
+ import { PostSlotCollisionRegisterParameters } from "../../callbacks/subscriptions/postSlotCollision";
77
78
  import { PostSlotDestroyedRegisterParameters } from "../../callbacks/subscriptions/postSlotDestroyed";
78
79
  import { PostSlotInitRegisterParameters } from "../../callbacks/subscriptions/postSlotInit";
79
80
  import { PostSlotRenderRegisterParameters } from "../../callbacks/subscriptions/postSlotRender";
@@ -168,6 +169,7 @@ export interface AddCallbackParameterCustom {
168
169
  [ModCallbackCustom.POST_ROOM_CLEAR_CHANGED]: PostRoomClearChangedRegisterParameters;
169
170
  [ModCallbackCustom.POST_SACRIFICE]: PostSacrificeRegisterParameters;
170
171
  [ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED]: PostSlotAnimationChangedRegisterParameters;
172
+ [ModCallbackCustom.POST_SLOT_COLLISION]: PostSlotCollisionRegisterParameters;
171
173
  [ModCallbackCustom.POST_SLOT_DESTROYED]: PostSlotDestroyedRegisterParameters;
172
174
  [ModCallbackCustom.POST_SLOT_INIT]: PostSlotInitRegisterParameters;
173
175
  [ModCallbackCustom.POST_SLOT_RENDER]: PostSlotRenderRegisterParameters;
@@ -1 +1 @@
1
- {"version":3,"file":"AddCallbackParameterCustom.d.ts","sourceRoot":"","sources":["../../../src/interfaces/private/AddCallbackParameterCustom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AACxG,OAAO,EAAE,mCAAmC,EAAE,MAAM,iDAAiD,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAC;AAChG,OAAO,EAAE,kCAAkC,EAAE,MAAM,gDAAgD,CAAC;AACpG,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,0CAA0C,EAAE,MAAM,wDAAwD,CAAC;AACpH,OAAO,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AACxG,OAAO,EAAE,qCAAqC,EAAE,MAAM,mDAAmD,CAAC;AAC1G,OAAO,EAAE,kCAAkC,EAAE,MAAM,gDAAgD,CAAC;AACpG,OAAO,EAAE,uCAAuC,EAAE,MAAM,qDAAqD,CAAC;AAC9G,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AACxG,OAAO,EAAE,wCAAwC,EAAE,MAAM,sDAAsD,CAAC;AAChH,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,0CAA0C,EAAE,MAAM,wDAAwD,CAAC;AACpH,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AACpF,OAAO,EAAE,0CAA0C,EAAE,MAAM,wDAAwD,CAAC;AACpH,OAAO,EAAE,8CAA8C,EAAE,MAAM,4DAA4D,CAAC;AAC5H,OAAO,EAAE,mCAAmC,EAAE,MAAM,iDAAiD,CAAC;AACtG,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,yCAAyC,EAAE,MAAM,uDAAuD,CAAC;AAClH,OAAO,EAAE,4CAA4C,EAAE,MAAM,0DAA0D,CAAC;AACxH,OAAO,EAAE,+CAA+C,EAAE,MAAM,6DAA6D,CAAC;AAC9H,OAAO,EAAE,0CAA0C,EAAE,MAAM,wDAAwD,CAAC;AACpH,OAAO,EAAE,4CAA4C,EAAE,MAAM,0DAA0D,CAAC;AACxH,OAAO,EAAE,4CAA4C,EAAE,MAAM,0DAA0D,CAAC;AACxH,OAAO,EAAE,kDAAkD,EAAE,MAAM,gEAAgE,CAAC;AACpI,OAAO,EAAE,4CAA4C,EAAE,MAAM,0DAA0D,CAAC;AACxH,OAAO,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AACxG,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,4CAA4C,EAAE,MAAM,0DAA0D,CAAC;AACxH,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,uCAAuC,EAAE,MAAM,qDAAqD,CAAC;AAC9G,OAAO,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AACxG,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,mCAAmC,EAAE,MAAM,iDAAiD,CAAC;AACtG,OAAO,EAAE,mCAAmC,EAAE,MAAM,iDAAiD,CAAC;AACtG,OAAO,EAAE,uCAAuC,EAAE,MAAM,qDAAqD,CAAC;AAC9G,OAAO,EAAE,kCAAkC,EAAE,MAAM,gDAAgD,CAAC;AACpG,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,qCAAqC,EAAE,MAAM,mDAAmD,CAAC;AAC1G,OAAO,EAAE,4CAA4C,EAAE,MAAM,0DAA0D,CAAC;AACxH,OAAO,EAAE,mCAAmC,EAAE,MAAM,iDAAiD,CAAC;AACtG,OAAO,EAAE,qCAAqC,EAAE,MAAM,mDAAmD,CAAC;AAC1G,OAAO,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AACxG,OAAO,EAAE,wCAAwC,EAAE,MAAM,sDAAsD,CAAC;AAChH,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,wCAAwC,EAAE,MAAM,sDAAsD,CAAC;AAChH,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,4CAA4C,EAAE,MAAM,0DAA0D,CAAC;AACxH,OAAO,EAAE,8CAA8C,EAAE,MAAM,4DAA4D,CAAC;AAC5H,OAAO,EAAE,uCAAuC,EAAE,MAAM,qDAAqD,CAAC;AAC9G,OAAO,EAAE,qCAAqC,EAAE,MAAM,mDAAmD,CAAC;AAC1G,OAAO,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AACxG,OAAO,EAAE,2CAA2C,EAAE,MAAM,yDAAyD,CAAC;AACtH,OAAO,EAAE,2CAA2C,EAAE,MAAM,yDAAyD,CAAC;AACtH,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,yCAAyC,EAAE,MAAM,uDAAuD,CAAC;AAClH,OAAO,EAAE,yCAAyC,EAAE,MAAM,uDAAuD,CAAC;AAClH,OAAO,EAAE,wCAAwC,EAAE,MAAM,sDAAsD,CAAC;AAChH,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,0CAA0C,EAAE,MAAM,wDAAwD,CAAC;AACpH,OAAO,EAAE,mCAAmC,EAAE,MAAM,iDAAiD,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,kCAAkC,EAAE,MAAM,gDAAgD,CAAC;AACpG,OAAO,EAAE,kCAAkC,EAAE,MAAM,gDAAgD,CAAC;AACpG,OAAO,EAAE,kCAAkC,EAAE,MAAM,gDAAgD,CAAC;AACpG,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAC5G,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,oCAAoC,EAAE,MAAM,kDAAkD,CAAC;AACxG,OAAO,EAAE,kCAAkC,EAAE,MAAM,gDAAgD,CAAC;AACpG,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAClG,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,WAAW,0BAA0B;IACzC,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,oCAAoC,CAAC;IAC/E,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,mCAAmC,CAAC;IAC7E,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,kCAAkC,CAAC;IAC3E,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IACxE,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,+BAA+B,CAAC;IACrE,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE,sCAAsC,CAAC;IACnF,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,0CAA0C,CAAC;IAC5F,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,oCAAoC,CAAC;IAC/E,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE,qCAAqC,CAAC;IAClF,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,kCAAkC,CAAC;IAC3E,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,uCAAuC,CAAC;IACtF,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACvE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACvE,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,oCAAoC,CAAC;IAChF,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAAE,wCAAwC,CAAC;IACxF,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAC/D,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,sCAAsC,CAAC;IACpF,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,0CAA0C,CAAC;IAC5F,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,iCAAiC,CAAC;IAC1E,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,+BAA+B,CAAC;IACrE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;IAC1D,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,0CAA0C,CAAC;IAC5F,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,EAAE,8CAA8C,CAAC;IACrG,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,mCAAmC,CAAC;IAC9E,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,sCAAsC,CAAC;IACpF,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,EAAE,yCAAyC,CAAC;IAC1F,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,EAAE,4CAA4C,CAAC;IACjG,CAAC,iBAAiB,CAAC,iCAAiC,CAAC,EAAE,+CAA+C,CAAC;IACvG,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,EAAE,0CAA0C,CAAC;IAC7F,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,EAAE,4CAA4C,CAAC;IACjG,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,EAAE,4CAA4C,CAAC;IACjG,CAAC,iBAAiB,CAAC,qCAAqC,CAAC,EAAE,kDAAkD,CAAC;IAC9G,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,EAAE,4CAA4C,CAAC;IACjG,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,oCAAoC,CAAC;IAChF,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,sCAAsC,CAAC;IACpF,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,sCAAsC,CAAC;IACpF,CAAC,iBAAiB,CAAC,8BAA8B,CAAC,EAAE,4CAA4C,CAAC;IACjG,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,sCAAsC,CAAC;IACpF,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,uCAAuC,CAAC;IACtF,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,oCAAoC,CAAC;IAC9E,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACvE,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,mCAAmC,CAAC;IAC9E,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAAE,mCAAmC,CAAC;IAC9E,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,uCAAuC,CAAC;IACtF,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,kCAAkC,CAAC;IAC5E,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,sCAAsC,CAAC;IACpF,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,iCAAiC,CAAC;IAC1E,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE,qCAAqC,CAAC;IAClF,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,EAAE,4CAA4C,CAAC;IAChG,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,mCAAmC,CAAC;IAC7E,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE,qCAAqC,CAAC;IAClF,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,oCAAoC,CAAC;IAChF,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAAE,wCAAwC,CAAC;IACxF,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,+BAA+B,CAAC;IACrE,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,+BAA+B,CAAC;IACrE,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAAE,wCAAwC,CAAC;IACxF,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,sCAAsC,CAAC;IACpF,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,sCAAsC,CAAC;IACpF,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,EAAE,4CAA4C,CAAC;IAChG,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,EAAE,8CAA8C,CAAC;IACpG,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,uCAAuC,CAAC;IACtF,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,EAAE,qCAAqC,CAAC;IAClF,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,EAAE,oCAAoC,CAAC;IAChF,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,EAAE,2CAA2C,CAAC;IAC9F,CAAC,iBAAiB,CAAC,4BAA4B,CAAC,EAAE,2CAA2C,CAAC;IAC9F,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACvE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACvE,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,EAAE,yCAAyC,CAAC;IAC1F,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,EAAE,yCAAyC,CAAC;IAC1F,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,EAAE,wCAAwC,CAAC;IACxF,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAClE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACvE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACvE,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAE,sCAAsC,CAAC;IACpF,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,+BAA+B,CAAC;IACpE,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,0CAA0C,CAAC;IAC5F,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,mCAAmC,CAAC;IAC7E,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,8BAA8B,CAAC;IACnE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACvE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,gCAAgC,CAAC;IACvE,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,kCAAkC,CAAC;IAC3E,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,kCAAkC,CAAC;IAC3E,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,kCAAkC,CAAC;IAC5E,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,EAAE,sCAAsC,CAAC;IACrF,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,+BAA+B,CAAC;IACrE,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,+BAA+B,CAAC;IACrE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,oCAAoC,CAAC;IAC9E,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,kCAAkC,CAAC;IAC3E,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,iCAAiC,CAAC;IACzE,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,iCAAiC,CAAC;IACzE,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAE,+BAA+B,CAAC;IACrE,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,6BAA6B,CAAC;CAClE"}
1
+ {"version":3,"file":"AddCallbackParameterCustom.d.ts","sourceRoot":"","sources":["../../../src/interfaces/private/AddCallbackParameterCustom.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"callbackRegisterFunctions.d.ts","sourceRoot":"","sources":["../../src/objects/callbackRegisterFunctions.ts"],"names":[],"mappings":"AA4FA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAE9F,eAAO,MAAM,2BAA2B,EAAE;IACxC,QAAQ,EAAE,GAAG,IAAI,iBAAiB,GAAG,CACnC,GAAG,IAAI,EAAE,0BAA0B,CAAC,GAAG,CAAC,KACrC,IAAI;CAmHD,CAAC"}
1
+ {"version":3,"file":"callbackRegisterFunctions.d.ts","sourceRoot":"","sources":["../../src/objects/callbackRegisterFunctions.ts"],"names":[],"mappings":"AA6FA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAE9F,eAAO,MAAM,2BAA2B,EAAE;IACxC,QAAQ,EAAE,GAAG,IAAI,iBAAiB,GAAG,CACnC,GAAG,IAAI,EAAE,0BAA0B,CAAC,GAAG,CAAC,KACrC,IAAI;CAoHD,CAAC"}
@@ -151,6 +151,8 @@ local ____postSacrifice = require("callbacks.subscriptions.postSacrifice")
151
151
  local postSacrificeRegister = ____postSacrifice.postSacrificeRegister
152
152
  local ____postSlotAnimationChanged = require("callbacks.subscriptions.postSlotAnimationChanged")
153
153
  local postSlotAnimationChangedRegister = ____postSlotAnimationChanged.postSlotAnimationChangedRegister
154
+ local ____postSlotCollision = require("callbacks.subscriptions.postSlotCollision")
155
+ local postSlotCollisionRegister = ____postSlotCollision.postSlotCollisionRegister
154
156
  local ____postSlotDestroyed = require("callbacks.subscriptions.postSlotDestroyed")
155
157
  local postSlotDestroyedRegister = ____postSlotDestroyed.postSlotDestroyedRegister
156
158
  local ____postSlotInit = require("callbacks.subscriptions.postSlotInit")
@@ -262,6 +264,7 @@ ____exports.CALLBACK_REGISTER_FUNCTIONS = {
262
264
  [ModCallbackCustom.POST_ROOM_CLEAR_CHANGED] = postRoomClearChangedRegister,
263
265
  [ModCallbackCustom.POST_SACRIFICE] = postSacrificeRegister,
264
266
  [ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED] = postSlotAnimationChangedRegister,
267
+ [ModCallbackCustom.POST_SLOT_COLLISION] = postSlotCollisionRegister,
265
268
  [ModCallbackCustom.POST_SLOT_DESTROYED] = postSlotDestroyedRegister,
266
269
  [ModCallbackCustom.POST_SLOT_INIT] = postSlotInitRegister,
267
270
  [ModCallbackCustom.POST_SLOT_RENDER] = postSlotRenderRegister,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "7.15.1",
3
+ "version": "7.16.0",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -0,0 +1,30 @@
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import { isSlot } from "../functions/entityTypes";
3
+ import {
4
+ postSlotCollisionFire,
5
+ postSlotCollisionHasSubscriptions,
6
+ } from "./subscriptions/postSlotCollision";
7
+
8
+ export function postSlotCollisionInit(mod: Mod): void {
9
+ mod.AddCallback(ModCallback.PRE_PLAYER_COLLISION, prePlayerCollision); // 33
10
+ }
11
+
12
+ function hasSubscriptions() {
13
+ return postSlotCollisionHasSubscriptions();
14
+ }
15
+
16
+ // ModCallback.PRE_PLAYER_COLLISION (33)
17
+ function prePlayerCollision(
18
+ player: EntityPlayer,
19
+ collider: Entity,
20
+ ): boolean | undefined {
21
+ if (!hasSubscriptions()) {
22
+ return;
23
+ }
24
+
25
+ if (isSlot(collider)) {
26
+ postSlotCollisionFire(collider, player);
27
+ }
28
+
29
+ return undefined;
30
+ }
@@ -0,0 +1,35 @@
1
+ import { SlotVariant } from "isaac-typescript-definitions";
2
+
3
+ export type PostSlotCollisionRegisterParameters = [
4
+ callback: (slot: EntitySlot, player: EntityPlayer) => void,
5
+ slotVariant?: SlotVariant,
6
+ ];
7
+
8
+ const subscriptions: PostSlotCollisionRegisterParameters[] = [];
9
+
10
+ export function postSlotCollisionHasSubscriptions(): boolean {
11
+ return subscriptions.length > 0;
12
+ }
13
+
14
+ export function postSlotCollisionRegister(
15
+ ...args: PostSlotCollisionRegisterParameters
16
+ ): void {
17
+ subscriptions.push(args);
18
+ }
19
+
20
+ export function postSlotCollisionFire(
21
+ slot: EntitySlot,
22
+ player: EntityPlayer,
23
+ ): void {
24
+ for (const [callback, callbackSlotVariant] of subscriptions) {
25
+ // Handle the optional 2nd callback argument.
26
+ if (
27
+ callbackSlotVariant !== undefined &&
28
+ callbackSlotVariant !== slot.Variant
29
+ ) {
30
+ continue;
31
+ }
32
+
33
+ callback(slot, player);
34
+ }
35
+ }
@@ -363,7 +363,9 @@ export enum ModCallbackCustom {
363
363
  POST_GRID_ENTITY_BROKEN,
364
364
 
365
365
  /**
366
- * Fires from the `POST_UPDATE` callback when a new entity collides with a grid entity.
366
+ * Fires from the `POST_UPDATE` callback when a new entity collides with a grid entity. (After
367
+ * this, the callback will not continue to fire. It will only fire again once the entity moves out
368
+ * of range and then moves back into range.)
367
369
  *
368
370
  * When registering the callback, takes an optional second argument that will make the callback
369
371
  * only fire if it matches the `GridEntityType` provided.
@@ -1217,6 +1219,26 @@ export enum ModCallbackCustom {
1217
1219
  */
1218
1220
  POST_SLOT_ANIMATION_CHANGED,
1219
1221
 
1222
+ /**
1223
+ * Fires from the `PRE_PLAYER_COLLISION` callback when when a player collides with a slot entity.
1224
+ * (It will not fire if any other type of entity collides with the slot entity.)
1225
+ *
1226
+ * When a player runs into a slot entity, this callback will continually fire, since the player is
1227
+ * colliding with it on every frame. Thus, you should only perform actions in this callback under
1228
+ * certain conditions, like if the slot entity is playing the "Idle" animation, and so on.
1229
+ *
1230
+ * When registering the callback, takes an optional second argument that will make the callback
1231
+ * only fire if it matches the `SlotVariant` provided.
1232
+ *
1233
+ * ```ts
1234
+ * function postSlotCollision(
1235
+ * slot: EntitySlot,
1236
+ * entity: Entity,
1237
+ * ): void {}
1238
+ * ```
1239
+ */
1240
+ POST_SLOT_COLLISION,
1241
+
1220
1242
  /**
1221
1243
  * Fires from the `POST_RENDER` callback when a slot plays the animation that indicates that it
1222
1244
  * has broken.
@@ -96,11 +96,14 @@ function postEffectRenderPickupEffect(effect: EntityEffect) {
96
96
 
97
97
  /**
98
98
  * Helper function to register a custom pickup with the IsaacScript standard library. Use this
99
- * feature for custom pickups that are intended to be picked up by the player, like keys and bombs.
99
+ * feature for custom pickups that are intended to be picked up by the player, like bombs and keys.
100
100
  *
101
101
  * When IsaacScript detects that a player should be collecting the custom pickup, then the pickup
102
102
  * will be immediately removed, and an effect showing the pickup's respective `Collect` animation
103
- * will be spawned. (This emulates how a normal vanilla pickup would work.)
103
+ * will be spawned. (This emulates how a normal vanilla pickup would work.) After that, the provided
104
+ * `collectFunc` will be fired. In this function, you will probably want to play a sound
105
+ * corresponding to what kind of pickup it is (e.g. `SoundEffect.KEY_PICKUP_GAUNTLET`), as well as
106
+ * do things like adding something to the player's inventory.
104
107
  *
105
108
  * Note that when you specify your custom pickup in the "entities2.xml" file, it should have a type
106
109
  * of "5" and be associated with an anm2 file that has a "Collect" animation.
@@ -7,7 +7,7 @@ import { setLogFunctionsGlobal } from "./log";
7
7
 
8
8
  /**
9
9
  * Helper function to enable some IsaacScript features that are useful when developing a mod. They
10
- * shouldn't be enabled when your mod goes to production (i.e. it is uploaded to the Steam
10
+ * should not be enabled when your mod goes to production (i.e. when it is uploaded to the Steam
11
11
  * Workshop).
12
12
  *
13
13
  * The list of development features that are enabled are as follows:
@@ -54,6 +54,7 @@ import { postRockRenderInit } from "./callbacks/postRockRender";
54
54
  import { postRockUpdateInit } from "./callbacks/postRockUpdate";
55
55
  import { postRoomClearChangedInit } from "./callbacks/postRoomClearChanged";
56
56
  import { postSacrificeInit } from "./callbacks/postSacrifice";
57
+ import { postSlotCollisionInit } from "./callbacks/postSlotCollision";
57
58
  import { postSlotDestroyedInit } from "./callbacks/postSlotDestroyed";
58
59
  import { postSlotInitUpdateCallbacksInit } from "./callbacks/postSlotInitUpdate";
59
60
  import { postSlotRenderCallbacksInit } from "./callbacks/postSlotRender";
@@ -127,6 +128,7 @@ export function initCustomCallbacks(mod: ModUpgraded): void {
127
128
  postRockUpdateInit(mod);
128
129
  postRoomClearChangedInit(mod);
129
130
  postSacrificeInit(mod);
131
+ postSlotCollisionInit(mod);
130
132
  postSlotDestroyedInit(mod);
131
133
  postSlotInitUpdateCallbacksInit(mod);
132
134
  postSlotRenderCallbacksInit(mod);
@@ -74,6 +74,7 @@ import { PostRockUpdateRegisterParameters } from "../../callbacks/subscriptions/
74
74
  import { PostRoomClearChangedRegisterParameters } from "../../callbacks/subscriptions/postRoomClearChanged";
75
75
  import { PostSacrificeRegisterParameters } from "../../callbacks/subscriptions/postSacrifice";
76
76
  import { PostSlotAnimationChangedRegisterParameters } from "../../callbacks/subscriptions/postSlotAnimationChanged";
77
+ import { PostSlotCollisionRegisterParameters } from "../../callbacks/subscriptions/postSlotCollision";
77
78
  import { PostSlotDestroyedRegisterParameters } from "../../callbacks/subscriptions/postSlotDestroyed";
78
79
  import { PostSlotInitRegisterParameters } from "../../callbacks/subscriptions/postSlotInit";
79
80
  import { PostSlotRenderRegisterParameters } from "../../callbacks/subscriptions/postSlotRender";
@@ -169,6 +170,7 @@ export interface AddCallbackParameterCustom {
169
170
  [ModCallbackCustom.POST_ROOM_CLEAR_CHANGED]: PostRoomClearChangedRegisterParameters;
170
171
  [ModCallbackCustom.POST_SACRIFICE]: PostSacrificeRegisterParameters;
171
172
  [ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED]: PostSlotAnimationChangedRegisterParameters;
173
+ [ModCallbackCustom.POST_SLOT_COLLISION]: PostSlotCollisionRegisterParameters;
172
174
  [ModCallbackCustom.POST_SLOT_DESTROYED]: PostSlotDestroyedRegisterParameters;
173
175
  [ModCallbackCustom.POST_SLOT_INIT]: PostSlotInitRegisterParameters;
174
176
  [ModCallbackCustom.POST_SLOT_RENDER]: PostSlotRenderRegisterParameters;
@@ -74,6 +74,7 @@ import { postRockUpdateRegister } from "../callbacks/subscriptions/postRockUpdat
74
74
  import { postRoomClearChangedRegister } from "../callbacks/subscriptions/postRoomClearChanged";
75
75
  import { postSacrificeRegister } from "../callbacks/subscriptions/postSacrifice";
76
76
  import { postSlotAnimationChangedRegister } from "../callbacks/subscriptions/postSlotAnimationChanged";
77
+ import { postSlotCollisionRegister } from "../callbacks/subscriptions/postSlotCollision";
77
78
  import { postSlotDestroyedRegister } from "../callbacks/subscriptions/postSlotDestroyed";
78
79
  import { postSlotInitRegister } from "../callbacks/subscriptions/postSlotInit";
79
80
  import { postSlotRenderRegister } from "../callbacks/subscriptions/postSlotRender";
@@ -195,6 +196,7 @@ export const CALLBACK_REGISTER_FUNCTIONS: {
195
196
  [ModCallbackCustom.POST_SACRIFICE]: postSacrificeRegister,
196
197
  [ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED]:
197
198
  postSlotAnimationChangedRegister,
199
+ [ModCallbackCustom.POST_SLOT_COLLISION]: postSlotCollisionRegister,
198
200
  [ModCallbackCustom.POST_SLOT_DESTROYED]: postSlotDestroyedRegister,
199
201
  [ModCallbackCustom.POST_SLOT_INIT]: postSlotInitRegister,
200
202
  [ModCallbackCustom.POST_SLOT_RENDER]: postSlotRenderRegister,