isaacscript-common 87.5.0 → 87.6.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 (684) hide show
  1. package/README.md +1 -1
  2. package/dist/callbackClasses.d.ts +7 -6
  3. package/dist/callbackClasses.d.ts.map +1 -1
  4. package/dist/callbackClasses.js +17 -15
  5. package/dist/callbackClasses.lua +163 -300
  6. package/dist/callbacks.d.ts +118 -117
  7. package/dist/callbacks.d.ts.map +1 -1
  8. package/dist/callbacks.js +19 -9
  9. package/dist/callbacks.lua +1 -0
  10. package/dist/classes/DefaultMap.d.ts +5 -1
  11. package/dist/classes/DefaultMap.d.ts.map +1 -1
  12. package/dist/classes/ModFeature.js +3 -3
  13. package/dist/classes/ModUpgraded.d.ts.map +1 -1
  14. package/dist/classes/ModUpgraded.js +4 -6
  15. package/dist/classes/callbacks/InputActionFilter.d.ts +2 -2
  16. package/dist/classes/callbacks/InputActionFilter.d.ts.map +1 -1
  17. package/dist/classes/callbacks/InputActionFilter.js +3 -3
  18. package/dist/classes/callbacks/InputActionPlayer.d.ts +2 -2
  19. package/dist/classes/callbacks/InputActionPlayer.d.ts.map +1 -1
  20. package/dist/classes/callbacks/InputActionPlayer.js +6 -6
  21. package/dist/classes/callbacks/PostBoneSwing.js +2 -2
  22. package/dist/classes/callbacks/PostCollectibleEmpty.d.ts +2 -2
  23. package/dist/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
  24. package/dist/classes/callbacks/PostCollectibleEmpty.js +3 -5
  25. package/dist/classes/callbacks/PostCursedTeleport.js +5 -5
  26. package/dist/classes/callbacks/PostCustomRevive.d.ts +2 -4
  27. package/dist/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
  28. package/dist/classes/callbacks/PostDiceRoomActivated.d.ts +2 -3
  29. package/dist/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
  30. package/dist/classes/callbacks/PostDiceRoomActivated.js +2 -2
  31. package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts +9 -0
  32. package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts.map +1 -0
  33. package/dist/classes/callbacks/PostEntityRemoveFilter.js +21 -0
  34. package/dist/classes/callbacks/PostEntityRemoveFilter.lua +23 -0
  35. package/dist/classes/callbacks/PostGridEntityCollision.d.ts +2 -4
  36. package/dist/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -1
  37. package/dist/classes/callbacks/PostGridEntityCollision.js +10 -10
  38. package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts +2 -4
  39. package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -1
  40. package/dist/classes/callbacks/PostGridEntityCustomCollision.js +8 -8
  41. package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts +2 -3
  42. package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -1
  43. package/dist/classes/callbacks/PostGridEntityCustomRemove.js +2 -2
  44. package/dist/classes/callbacks/PostGridEntityRemove.d.ts +2 -2
  45. package/dist/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -1
  46. package/dist/classes/callbacks/PostGridEntityRemove.js +3 -3
  47. package/dist/classes/callbacks/PostItemDischarge.d.ts +2 -2
  48. package/dist/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
  49. package/dist/classes/callbacks/PostItemDischarge.js +5 -8
  50. package/dist/classes/callbacks/PostKeyboardChanged.d.ts +2 -1
  51. package/dist/classes/callbacks/PostKeyboardChanged.d.ts.map +1 -1
  52. package/dist/classes/callbacks/PostKeyboardChanged.js +2 -2
  53. package/dist/classes/callbacks/PostNewRoomEarly.js +3 -3
  54. package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts +2 -2
  55. package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts.map +1 -1
  56. package/dist/classes/callbacks/PostPickupSelectionFilter.js +4 -3
  57. package/dist/classes/callbacks/PostPlayerChangeHealth.js +2 -2
  58. package/dist/classes/callbacks/PostPlayerChangeType.js +1 -1
  59. package/dist/classes/callbacks/PostPurchase.d.ts +2 -4
  60. package/dist/classes/callbacks/PostPurchase.d.ts.map +1 -1
  61. package/dist/classes/callbacks/PostPurchase.js +9 -9
  62. package/dist/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -1
  63. package/dist/classes/callbacks/PostTransformation.d.ts +2 -2
  64. package/dist/classes/callbacks/PostTransformation.d.ts.map +1 -1
  65. package/dist/classes/callbacks/PostTransformation.js +1 -3
  66. package/dist/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
  67. package/dist/classes/callbacks/PostTrinketBreak.js +1 -3
  68. package/dist/classes/callbacks/PostUsePillFilter.js +2 -2
  69. package/dist/classes/callbacks/PreBerserkDeath.js +4 -4
  70. package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts +2 -2
  71. package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts.map +1 -1
  72. package/dist/classes/callbacks/PreEntitySpawnFilter.js +3 -3
  73. package/dist/classes/callbacks/PreNewLevel.d.ts.map +1 -1
  74. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts +2 -2
  75. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts.map +1 -1
  76. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +5 -5
  77. package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts +1 -1
  78. package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
  79. package/dist/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
  80. package/dist/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
  81. package/dist/classes/features/callbackLogic/EsauJrDetection.js +2 -2
  82. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
  83. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +9 -11
  84. package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +4 -4
  85. package/dist/classes/features/callbackLogic/ItemPickupDetection.js +4 -4
  86. package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +2 -2
  87. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +0 -1
  88. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -1
  89. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +4 -4
  90. package/dist/classes/features/other/CustomPickups.d.ts.map +1 -1
  91. package/dist/classes/features/other/CustomPickups.js +1 -0
  92. package/dist/classes/features/other/CustomStages.js +19 -9
  93. package/dist/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
  94. package/dist/classes/features/other/CustomTrapdoors.js +44 -38
  95. package/dist/classes/features/other/CustomTrapdoors.lua +14 -7
  96. package/dist/classes/features/other/DebugDisplay.d.ts +0 -18
  97. package/dist/classes/features/other/DebugDisplay.d.ts.map +1 -1
  98. package/dist/classes/features/other/DeployJSONRoom.d.ts +0 -2
  99. package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
  100. package/dist/classes/features/other/DeployJSONRoom.js +6 -4
  101. package/dist/classes/features/other/DisableInputs.js +3 -3
  102. package/dist/classes/features/other/EdenStartingStatsHealth.d.ts +1 -1
  103. package/dist/classes/features/other/EdenStartingStatsHealth.d.ts.map +1 -1
  104. package/dist/classes/features/other/ExtraConsoleCommands.d.ts +14 -10
  105. package/dist/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
  106. package/dist/classes/features/other/ExtraConsoleCommands.js +31 -17
  107. package/dist/classes/features/other/ExtraConsoleCommands.lua +2 -1
  108. package/dist/classes/features/other/FlyingDetection.d.ts +0 -1
  109. package/dist/classes/features/other/FlyingDetection.d.ts.map +1 -1
  110. package/dist/classes/features/other/ForgottenSwitch.d.ts +0 -1
  111. package/dist/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
  112. package/dist/classes/features/other/ModdedElementDetection.js +4 -4
  113. package/dist/classes/features/other/ModdedElementSets.d.ts +2 -2
  114. package/dist/classes/features/other/ModdedElementSets.d.ts.map +1 -1
  115. package/dist/classes/features/other/ModdedElementSets.js +3 -3
  116. package/dist/classes/features/other/NoSirenSteal.js +4 -4
  117. package/dist/classes/features/other/PickupIndexCreation.d.ts +0 -1
  118. package/dist/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
  119. package/dist/classes/features/other/PickupIndexCreation.js +7 -8
  120. package/dist/classes/features/other/PickupIndexCreation.lua +10 -10
  121. package/dist/classes/features/other/PonyDetection.d.ts +0 -1
  122. package/dist/classes/features/other/PonyDetection.d.ts.map +1 -1
  123. package/dist/classes/features/other/PonyDetection.js +2 -2
  124. package/dist/classes/features/other/PressInput.js +2 -2
  125. package/dist/classes/features/other/PreventChildEntities.d.ts +0 -1
  126. package/dist/classes/features/other/PreventChildEntities.d.ts.map +1 -1
  127. package/dist/classes/features/other/PreventChildEntities.js +4 -4
  128. package/dist/classes/features/other/RoomClearFrame.d.ts +0 -1
  129. package/dist/classes/features/other/RoomClearFrame.d.ts.map +1 -1
  130. package/dist/classes/features/other/RoomHistory.d.ts +0 -1
  131. package/dist/classes/features/other/RoomHistory.d.ts.map +1 -1
  132. package/dist/classes/features/other/RoomHistory.js +5 -5
  133. package/dist/classes/features/other/RunInNFrames.js +2 -2
  134. package/dist/classes/features/other/SaveDataManager.js +3 -3
  135. package/dist/classes/features/other/SpawnRockAltRewards.d.ts +0 -4
  136. package/dist/classes/features/other/SpawnRockAltRewards.d.ts.map +1 -1
  137. package/dist/classes/features/other/StageHistory.js +2 -2
  138. package/dist/classes/features/other/StartAmbush.js +2 -2
  139. package/dist/classes/features/other/TaintedLazarusPlayers.d.ts +0 -1
  140. package/dist/classes/features/other/TaintedLazarusPlayers.d.ts.map +1 -1
  141. package/dist/classes/features/other/TaintedLazarusPlayers.js +2 -2
  142. package/dist/classes/features/other/customStages/backdrop.js +2 -3
  143. package/dist/classes/features/other/customStages/constants.d.ts.map +1 -1
  144. package/dist/classes/features/other/customStages/gridEntities.d.ts +0 -1
  145. package/dist/classes/features/other/customStages/gridEntities.d.ts.map +1 -1
  146. package/dist/classes/features/other/customStages/gridEntities.js +9 -10
  147. package/dist/classes/features/other/customStages/shadows.js +1 -2
  148. package/dist/classes/features/other/customStages/streakText.js +7 -8
  149. package/dist/classes/features/other/customStages/utils.d.ts +0 -2
  150. package/dist/classes/features/other/customStages/utils.d.ts.map +1 -1
  151. package/dist/classes/features/other/customStages/utils.js +2 -3
  152. package/dist/classes/features/other/customStages/v.d.ts.map +1 -1
  153. package/dist/classes/features/other/customStages/versusScreen.js +2 -3
  154. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts +0 -1
  155. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts.map +1 -1
  156. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts +0 -1
  157. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts.map +1 -1
  158. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts +0 -1
  159. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts.map +1 -1
  160. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts +0 -1
  161. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts.map +1 -1
  162. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts +0 -1
  163. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts.map +1 -1
  164. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts +0 -1
  165. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts.map +1 -1
  166. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts +0 -1
  167. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts.map +1 -1
  168. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts +0 -1
  169. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts.map +1 -1
  170. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts +0 -1
  171. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts.map +1 -1
  172. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts +0 -1
  173. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts.map +1 -1
  174. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts +0 -1
  175. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts.map +1 -1
  176. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts +0 -1
  177. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts.map +1 -1
  178. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts +0 -1
  179. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts.map +1 -1
  180. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts +0 -1
  181. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts.map +1 -1
  182. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts +0 -1
  183. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts.map +1 -1
  184. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts +0 -1
  185. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts.map +1 -1
  186. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts +0 -1
  187. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts.map +1 -1
  188. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts +0 -1
  189. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts.map +1 -1
  190. package/dist/classes/features/other/debugDisplay/utils.d.ts +0 -2
  191. package/dist/classes/features/other/debugDisplay/utils.d.ts.map +1 -1
  192. package/dist/classes/features/other/debugDisplay/utils.js +2 -3
  193. package/dist/classes/features/other/extraConsoleCommands/commands.js +155 -158
  194. package/dist/classes/features/other/extraConsoleCommands/subroutines.js +8 -9
  195. package/dist/classes/features/other/saveDataManager/constants.d.ts.map +1 -1
  196. package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts +0 -1
  197. package/dist/classes/features/other/saveDataManager/glowingHourGlass.d.ts.map +1 -1
  198. package/dist/classes/features/other/saveDataManager/glowingHourGlass.js +4 -5
  199. package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts +0 -2
  200. package/dist/classes/features/other/saveDataManager/loadFromDisk.d.ts.map +1 -1
  201. package/dist/classes/features/other/saveDataManager/loadFromDisk.js +5 -2
  202. package/dist/classes/features/other/saveDataManager/loadFromDisk.lua +3 -0
  203. package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts +0 -1
  204. package/dist/classes/features/other/saveDataManager/restoreDefaults.d.ts.map +1 -1
  205. package/dist/classes/features/other/saveDataManager/restoreDefaults.js +3 -4
  206. package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts +0 -2
  207. package/dist/classes/features/other/saveDataManager/saveToDisk.d.ts.map +1 -1
  208. package/dist/classes/features/other/saveDataManager/saveToDisk.js +1 -2
  209. package/dist/classes/private/CustomCallback.d.ts.map +1 -1
  210. package/dist/core/cachedClasses.d.ts +0 -5
  211. package/dist/core/cachedClasses.d.ts.map +1 -1
  212. package/dist/core/constants.js +1 -1
  213. package/dist/core/constantsVanilla.js +4 -4
  214. package/dist/core/upgradeMod.d.ts +0 -2
  215. package/dist/core/upgradeMod.d.ts.map +1 -1
  216. package/dist/core/upgradeMod.js +1 -2
  217. package/dist/decorators.js +2 -2
  218. package/dist/enums/ModCallbackCustom.d.ts +134 -117
  219. package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
  220. package/dist/enums/ModCallbackCustom.js +134 -117
  221. package/dist/enums/ModCallbackCustom.lua +119 -117
  222. package/dist/enums/private/GridEntityTypeCustom.d.ts.map +1 -1
  223. package/dist/features.js +1 -2
  224. package/dist/functions/ambush.js +1 -2
  225. package/dist/functions/array.d.ts +5 -8
  226. package/dist/functions/array.d.ts.map +1 -1
  227. package/dist/functions/array.js +55 -55
  228. package/dist/functions/array.lua +2 -2
  229. package/dist/functions/arrayLua.d.ts +1 -1
  230. package/dist/functions/arrayLua.d.ts.map +1 -1
  231. package/dist/functions/arrayLua.js +7 -8
  232. package/dist/functions/benchmark.d.ts +0 -1
  233. package/dist/functions/benchmark.d.ts.map +1 -1
  234. package/dist/functions/benchmark.js +1 -2
  235. package/dist/functions/bitSet128.d.ts +0 -1
  236. package/dist/functions/bitSet128.d.ts.map +1 -1
  237. package/dist/functions/bitSet128.js +5 -6
  238. package/dist/functions/bitwise.d.ts +0 -4
  239. package/dist/functions/bitwise.d.ts.map +1 -1
  240. package/dist/functions/bitwise.js +7 -8
  241. package/dist/functions/bitwise.lua +3 -3
  242. package/dist/functions/bombs.d.ts +0 -1
  243. package/dist/functions/bombs.d.ts.map +1 -1
  244. package/dist/functions/bombs.js +1 -2
  245. package/dist/functions/bosses.d.ts.map +1 -1
  246. package/dist/functions/bosses.js +19 -19
  247. package/dist/functions/cards.js +16 -17
  248. package/dist/functions/challenges.js +9 -10
  249. package/dist/functions/characters.js +17 -18
  250. package/dist/functions/charge.d.ts.map +1 -1
  251. package/dist/functions/charge.js +12 -13
  252. package/dist/functions/charge.lua +1 -1
  253. package/dist/functions/chargeBar.d.ts +0 -2
  254. package/dist/functions/chargeBar.d.ts.map +1 -1
  255. package/dist/functions/chargeBar.js +2 -3
  256. package/dist/functions/collectibleTag.js +2 -3
  257. package/dist/functions/collectibles.js +39 -40
  258. package/dist/functions/color.d.ts +0 -1
  259. package/dist/functions/color.d.ts.map +1 -1
  260. package/dist/functions/color.js +7 -8
  261. package/dist/functions/console.js +2 -3
  262. package/dist/functions/curses.js +2 -3
  263. package/dist/functions/debugFunctions.d.ts +0 -1
  264. package/dist/functions/debugFunctions.d.ts.map +1 -1
  265. package/dist/functions/debugFunctions.js +5 -6
  266. package/dist/functions/decorators.d.ts +4 -4
  267. package/dist/functions/decorators.d.ts.map +1 -1
  268. package/dist/functions/decorators.js +4 -5
  269. package/dist/functions/deepCopy.d.ts +0 -1
  270. package/dist/functions/deepCopy.d.ts.map +1 -1
  271. package/dist/functions/deepCopy.js +7 -10
  272. package/dist/functions/deepCopy.lua +0 -2
  273. package/dist/functions/deepCopyTests.js +5 -6
  274. package/dist/functions/dimensions.js +2 -3
  275. package/dist/functions/direction.js +6 -7
  276. package/dist/functions/doors.d.ts.map +1 -1
  277. package/dist/functions/doors.js +56 -52
  278. package/dist/functions/easing.js +32 -33
  279. package/dist/functions/effects.d.ts +0 -2
  280. package/dist/functions/effects.d.ts.map +1 -1
  281. package/dist/functions/effects.js +2 -2
  282. package/dist/functions/emptyRoom.js +7 -8
  283. package/dist/functions/entities.d.ts +0 -1
  284. package/dist/functions/entities.d.ts.map +1 -1
  285. package/dist/functions/entities.js +36 -38
  286. package/dist/functions/entitiesSpecific.js +40 -41
  287. package/dist/functions/entityTypes.d.ts +0 -1
  288. package/dist/functions/entityTypes.d.ts.map +1 -1
  289. package/dist/functions/entityTypes.js +1 -2
  290. package/dist/functions/enums.d.ts +1 -6
  291. package/dist/functions/enums.d.ts.map +1 -1
  292. package/dist/functions/enums.js +12 -13
  293. package/dist/functions/external.js +2 -3
  294. package/dist/functions/familiars.js +8 -9
  295. package/dist/functions/flag.d.ts +1 -1
  296. package/dist/functions/flag.d.ts.map +1 -1
  297. package/dist/functions/flag.js +9 -10
  298. package/dist/functions/frames.d.ts +0 -1
  299. package/dist/functions/frames.d.ts.map +1 -1
  300. package/dist/functions/frames.js +18 -19
  301. package/dist/functions/globals.d.ts +0 -1
  302. package/dist/functions/globals.d.ts.map +1 -1
  303. package/dist/functions/globals.js +23 -15
  304. package/dist/functions/gridEntities.d.ts.map +1 -1
  305. package/dist/functions/gridEntities.js +68 -62
  306. package/dist/functions/gridEntitiesSpecific.js +40 -41
  307. package/dist/functions/gridIndex.js +1 -2
  308. package/dist/functions/hash.js +1 -2
  309. package/dist/functions/hex.d.ts +0 -2
  310. package/dist/functions/hex.d.ts.map +1 -1
  311. package/dist/functions/hex.js +2 -3
  312. package/dist/functions/input.js +21 -21
  313. package/dist/functions/isaacAPIClass.d.ts +0 -20
  314. package/dist/functions/isaacAPIClass.d.ts.map +1 -1
  315. package/dist/functions/isaacAPIClass.js +25 -26
  316. package/dist/functions/itemPool.js +7 -8
  317. package/dist/functions/jsonHelpers.d.ts +4 -5
  318. package/dist/functions/jsonHelpers.d.ts.map +1 -1
  319. package/dist/functions/jsonHelpers.js +23 -14
  320. package/dist/functions/jsonHelpers.lua +4 -4
  321. package/dist/functions/jsonRoom.js +5 -6
  322. package/dist/functions/kColor.d.ts +0 -1
  323. package/dist/functions/kColor.d.ts.map +1 -1
  324. package/dist/functions/kColor.js +7 -8
  325. package/dist/functions/language.js +1 -2
  326. package/dist/functions/level.js +7 -8
  327. package/dist/functions/levelGrid.d.ts.map +1 -1
  328. package/dist/functions/levelGrid.js +33 -38
  329. package/dist/functions/log.js +4 -5
  330. package/dist/functions/logEntities.d.ts.map +1 -1
  331. package/dist/functions/logEntities.js +19 -17
  332. package/dist/functions/logMisc.d.ts +1 -2
  333. package/dist/functions/logMisc.d.ts.map +1 -1
  334. package/dist/functions/logMisc.js +35 -48
  335. package/dist/functions/logMisc.lua +3 -3
  336. package/dist/functions/map.d.ts +0 -2
  337. package/dist/functions/map.d.ts.map +1 -1
  338. package/dist/functions/map.js +12 -13
  339. package/dist/functions/math.js +17 -18
  340. package/dist/functions/merge.d.ts +0 -1
  341. package/dist/functions/merge.d.ts.map +1 -1
  342. package/dist/functions/merge.js +2 -3
  343. package/dist/functions/mergeTests.js +1 -2
  344. package/dist/functions/minimap.d.ts.map +1 -1
  345. package/dist/functions/minimap.js +12 -17
  346. package/dist/functions/modFeatures.js +1 -2
  347. package/dist/functions/newArray.d.ts +0 -1
  348. package/dist/functions/newArray.d.ts.map +1 -1
  349. package/dist/functions/newArray.js +2 -3
  350. package/dist/functions/nextStage.d.ts.map +1 -1
  351. package/dist/functions/nextStage.js +16 -13
  352. package/dist/functions/npcDataStructures.d.ts +0 -2
  353. package/dist/functions/npcDataStructures.d.ts.map +1 -1
  354. package/dist/functions/npcDataStructures.js +14 -15
  355. package/dist/functions/npcs.d.ts.map +1 -1
  356. package/dist/functions/npcs.js +19 -17
  357. package/dist/functions/pickupVariants.d.ts +0 -1
  358. package/dist/functions/pickupVariants.d.ts.map +1 -1
  359. package/dist/functions/pickupVariants.js +17 -18
  360. package/dist/functions/pickups.js +14 -15
  361. package/dist/functions/pickupsSpecific.js +40 -41
  362. package/dist/functions/pills.js +18 -19
  363. package/dist/functions/playerCenter.d.ts +0 -1
  364. package/dist/functions/playerCenter.d.ts.map +1 -1
  365. package/dist/functions/playerCenter.js +1 -2
  366. package/dist/functions/playerCollectibles.d.ts.map +1 -1
  367. package/dist/functions/playerCollectibles.js +21 -24
  368. package/dist/functions/playerCollectibles.lua +9 -9
  369. package/dist/functions/playerDataStructures.d.ts +0 -1
  370. package/dist/functions/playerDataStructures.d.ts.map +1 -1
  371. package/dist/functions/playerDataStructures.js +14 -15
  372. package/dist/functions/playerEffects.js +5 -6
  373. package/dist/functions/playerHealth.d.ts +0 -2
  374. package/dist/functions/playerHealth.d.ts.map +1 -1
  375. package/dist/functions/playerHealth.js +28 -29
  376. package/dist/functions/playerHealth.lua +26 -26
  377. package/dist/functions/playerIndex.d.ts +0 -3
  378. package/dist/functions/playerIndex.d.ts.map +1 -1
  379. package/dist/functions/playerIndex.js +12 -13
  380. package/dist/functions/playerTrinkets.js +10 -11
  381. package/dist/functions/players.js +41 -42
  382. package/dist/functions/pocketItems.js +10 -11
  383. package/dist/functions/positionVelocity.d.ts +0 -4
  384. package/dist/functions/positionVelocity.d.ts.map +1 -1
  385. package/dist/functions/positionVelocity.js +11 -20
  386. package/dist/functions/positionVelocity.lua +4 -4
  387. package/dist/functions/pressurePlate.js +1 -2
  388. package/dist/functions/projectiles.js +2 -3
  389. package/dist/functions/random.d.ts +0 -3
  390. package/dist/functions/random.d.ts.map +1 -1
  391. package/dist/functions/random.js +3 -4
  392. package/dist/functions/readOnly.d.ts +0 -4
  393. package/dist/functions/readOnly.d.ts.map +1 -1
  394. package/dist/functions/readOnly.js +3 -4
  395. package/dist/functions/render.d.ts +0 -3
  396. package/dist/functions/render.d.ts.map +1 -1
  397. package/dist/functions/render.js +3 -4
  398. package/dist/functions/revive.d.ts +0 -3
  399. package/dist/functions/revive.d.ts.map +1 -1
  400. package/dist/functions/revive.js +20 -21
  401. package/dist/functions/rng.d.ts +0 -1
  402. package/dist/functions/rng.d.ts.map +1 -1
  403. package/dist/functions/rng.js +15 -15
  404. package/dist/functions/rockAlt.d.ts +0 -1
  405. package/dist/functions/rockAlt.d.ts.map +1 -1
  406. package/dist/functions/rockAlt.js +2 -3
  407. package/dist/functions/roomData.d.ts.map +1 -1
  408. package/dist/functions/roomData.js +15 -18
  409. package/dist/functions/roomGrid.js +8 -9
  410. package/dist/functions/roomShape.js +14 -15
  411. package/dist/functions/roomShapeWalls.js +2 -3
  412. package/dist/functions/roomTransition.js +2 -3
  413. package/dist/functions/rooms.d.ts +1 -2
  414. package/dist/functions/rooms.d.ts.map +1 -1
  415. package/dist/functions/rooms.js +116 -105
  416. package/dist/functions/rooms.lua +3 -4
  417. package/dist/functions/run.js +8 -9
  418. package/dist/functions/seeds.d.ts +0 -1
  419. package/dist/functions/seeds.d.ts.map +1 -1
  420. package/dist/functions/seeds.js +2 -3
  421. package/dist/functions/serialization.js +5 -6
  422. package/dist/functions/set.d.ts +0 -2
  423. package/dist/functions/set.d.ts.map +1 -1
  424. package/dist/functions/set.js +22 -23
  425. package/dist/functions/slots.js +2 -3
  426. package/dist/functions/sort.d.ts.map +1 -1
  427. package/dist/functions/sort.js +8 -9
  428. package/dist/functions/sound.d.ts.map +1 -1
  429. package/dist/functions/sound.js +4 -9
  430. package/dist/functions/spawnCollectible.d.ts.map +1 -1
  431. package/dist/functions/spawnCollectible.js +7 -10
  432. package/dist/functions/sprites.d.ts +0 -3
  433. package/dist/functions/sprites.d.ts.map +1 -1
  434. package/dist/functions/sprites.js +6 -7
  435. package/dist/functions/stage.d.ts.map +1 -1
  436. package/dist/functions/stage.js +60 -69
  437. package/dist/functions/stage.lua +5 -5
  438. package/dist/functions/stats.js +4 -5
  439. package/dist/functions/storyBosses.js +2 -3
  440. package/dist/functions/string.d.ts +0 -1
  441. package/dist/functions/string.d.ts.map +1 -1
  442. package/dist/functions/string.js +18 -19
  443. package/dist/functions/table.d.ts +0 -1
  444. package/dist/functions/table.d.ts.map +1 -1
  445. package/dist/functions/table.js +8 -9
  446. package/dist/functions/tears.js +8 -9
  447. package/dist/functions/transformations.js +5 -6
  448. package/dist/functions/trinketGive.js +9 -10
  449. package/dist/functions/trinkets.d.ts.map +1 -1
  450. package/dist/functions/trinkets.js +14 -17
  451. package/dist/functions/tstlClass.d.ts +2 -3
  452. package/dist/functions/tstlClass.d.ts.map +1 -1
  453. package/dist/functions/tstlClass.js +9 -10
  454. package/dist/functions/tstlClass.lua +2 -2
  455. package/dist/functions/types.d.ts +15 -17
  456. package/dist/functions/types.d.ts.map +1 -1
  457. package/dist/functions/types.js +41 -42
  458. package/dist/functions/types.lua +14 -14
  459. package/dist/functions/ui.d.ts +0 -3
  460. package/dist/functions/ui.d.ts.map +1 -1
  461. package/dist/functions/ui.js +13 -14
  462. package/dist/functions/utils.d.ts +0 -1
  463. package/dist/functions/utils.d.ts.map +1 -1
  464. package/dist/functions/utils.js +11 -12
  465. package/dist/functions/vector.d.ts +0 -1
  466. package/dist/functions/vector.d.ts.map +1 -1
  467. package/dist/functions/vector.js +11 -12
  468. package/dist/functions/versusScreen.js +4 -5
  469. package/dist/functions/weighted.d.ts +0 -3
  470. package/dist/functions/weighted.d.ts.map +1 -1
  471. package/dist/functions/weighted.js +2 -3
  472. package/dist/index.d.ts +58 -58
  473. package/dist/index.d.ts.map +1 -1
  474. package/dist/index.js +4 -58
  475. package/dist/index.lua +18 -18
  476. package/dist/index.rollup.d.ts +222 -181
  477. package/dist/indexLua.d.ts +58 -58
  478. package/dist/indexLua.d.ts.map +1 -1
  479. package/dist/indexLua.js +4 -58
  480. package/dist/indexLua.lua +18 -18
  481. package/dist/interfaces/ChargeBarSprites.d.ts +0 -2
  482. package/dist/interfaces/ChargeBarSprites.d.ts.map +1 -1
  483. package/dist/interfaces/Corner.d.ts +0 -2
  484. package/dist/interfaces/Corner.d.ts.map +1 -1
  485. package/dist/interfaces/SaveData.d.ts +0 -1
  486. package/dist/interfaces/SaveData.d.ts.map +1 -1
  487. package/dist/interfaces/TSTLClassMetatable.d.ts +0 -4
  488. package/dist/interfaces/TSTLClassMetatable.d.ts.map +1 -1
  489. package/dist/interfaces/private/AddCallbackParametersCustom.d.ts +6 -0
  490. package/dist/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  491. package/dist/interfaces/private/ModUpgradedInterface.d.ts +0 -1
  492. package/dist/interfaces/private/ModUpgradedInterface.d.ts.map +1 -1
  493. package/dist/isaacscript-common.lua +786 -871
  494. package/dist/lib/jsonLua.js +34 -34
  495. package/dist/lualib_bundle.lua +49 -38
  496. package/dist/objects/LRoomShapeToRectangles.js +1 -1
  497. package/dist/objects/colors.d.ts +0 -1
  498. package/dist/objects/colors.d.ts.map +1 -1
  499. package/dist/objects/directionToVector.d.ts +0 -1
  500. package/dist/objects/directionToVector.d.ts.map +1 -1
  501. package/dist/objects/doorSlotFlagToDoorSlot.d.ts +9 -2
  502. package/dist/objects/doorSlotFlagToDoorSlot.d.ts.map +1 -1
  503. package/dist/objects/doorSlotToDoorSlotFlag.d.ts +0 -1
  504. package/dist/objects/doorSlotToDoorSlotFlag.d.ts.map +1 -1
  505. package/dist/objects/itemPoolTypeToCollectibleTypesSet.js +17 -7
  506. package/dist/objects/kColors.d.ts +0 -1
  507. package/dist/objects/kColors.d.ts.map +1 -1
  508. package/dist/objects/roomShapeToBottomRightPosition.d.ts +0 -1
  509. package/dist/objects/roomShapeToBottomRightPosition.d.ts.map +1 -1
  510. package/dist/objects/roomShapeToDoorSlotsToGridIndexDelta.js +1 -1
  511. package/dist/objects/roomShapeToTopLeftPosition.d.ts +0 -1
  512. package/dist/objects/roomShapeToTopLeftPosition.d.ts.map +1 -1
  513. package/dist/objects/versusScreenBackgroundColors.d.ts +0 -1
  514. package/dist/objects/versusScreenBackgroundColors.d.ts.map +1 -1
  515. package/dist/objects/versusScreenDirtSpotColors.d.ts +0 -1
  516. package/dist/objects/versusScreenDirtSpotColors.d.ts.map +1 -1
  517. package/dist/patchErrorFunctions.js +1 -2
  518. package/dist/serialization.js +1 -2
  519. package/dist/shaderCrashFix.d.ts +0 -1
  520. package/dist/shaderCrashFix.d.ts.map +1 -1
  521. package/dist/shaderCrashFix.js +1 -2
  522. package/dist/shouldFire.d.ts.map +1 -1
  523. package/dist/shouldFire.js +83 -86
  524. package/dist/tsdoc-metadata.json +1 -1
  525. package/dist/types/AddSubtract.d.ts +10 -2
  526. package/dist/types/AddSubtract.d.ts.map +1 -1
  527. package/dist/types/AnyEntity.d.ts +0 -11
  528. package/dist/types/AnyEntity.d.ts.map +1 -1
  529. package/dist/types/AnyGridEntity.d.ts +0 -8
  530. package/dist/types/AnyGridEntity.d.ts.map +1 -1
  531. package/dist/types/Increment.d.ts.map +1 -1
  532. package/dist/types/PickingUpItem.d.ts +10 -3
  533. package/dist/types/PickingUpItem.d.ts.map +1 -1
  534. package/dist/types/PickingUpItem.js +15 -9
  535. package/dist/types/PickingUpItem.lua +8 -3
  536. package/dist/types/PickupIndex.d.ts +0 -1
  537. package/dist/types/PickupIndex.d.ts.map +1 -1
  538. package/dist/types/PlayerIndex.d.ts +0 -1
  539. package/dist/types/PlayerIndex.d.ts.map +1 -1
  540. package/dist/types/ReadonlyMap.d.ts.map +1 -1
  541. package/dist/types/ReadonlySet.d.ts.map +1 -1
  542. package/dist/types/TSTLClass.d.ts +0 -1
  543. package/dist/types/TSTLClass.d.ts.map +1 -1
  544. package/dist/types/TupleWithLengthBetween.js +2 -2
  545. package/dist/types/TupleWithMaxLength.js +2 -2
  546. package/dist/types/WeightedArray.d.ts +0 -1
  547. package/dist/types/WeightedArray.d.ts.map +1 -1
  548. package/package.json +9 -2
  549. package/src/callbackClasses.ts +7 -6
  550. package/src/callbacks.ts +1 -0
  551. package/src/classes/DefaultMap.ts +5 -2
  552. package/src/classes/ModFeature.ts +3 -3
  553. package/src/classes/ModUpgraded.ts +4 -6
  554. package/src/classes/callbacks/InputActionFilter.ts +3 -3
  555. package/src/classes/callbacks/InputActionPlayer.ts +6 -6
  556. package/src/classes/callbacks/PostBoneSwing.ts +2 -2
  557. package/src/classes/callbacks/PostCollectibleEmpty.ts +3 -5
  558. package/src/classes/callbacks/PostCursedTeleport.ts +5 -5
  559. package/src/classes/callbacks/PostDiceRoomActivated.ts +2 -2
  560. package/src/classes/callbacks/PostEntityRemoveFilter.ts +22 -0
  561. package/src/classes/callbacks/PostGridEntityCollision.ts +10 -10
  562. package/src/classes/callbacks/PostGridEntityCustomCollision.ts +8 -8
  563. package/src/classes/callbacks/PostGridEntityCustomRemove.ts +2 -2
  564. package/src/classes/callbacks/PostGridEntityRemove.ts +3 -3
  565. package/src/classes/callbacks/PostItemDischarge.ts +5 -8
  566. package/src/classes/callbacks/PostKeyboardChanged.ts +2 -2
  567. package/src/classes/callbacks/PostNPCStateChanged.ts +1 -1
  568. package/src/classes/callbacks/PostNewRoomEarly.ts +3 -3
  569. package/src/classes/callbacks/PostPickupSelectionFilter.ts +4 -3
  570. package/src/classes/callbacks/PostPlayerChangeHealth.ts +2 -2
  571. package/src/classes/callbacks/PostPlayerChangeType.ts +1 -1
  572. package/src/classes/callbacks/PostPurchase.ts +9 -9
  573. package/src/classes/callbacks/PostTransformation.ts +1 -3
  574. package/src/classes/callbacks/PostTrinketBreak.ts +1 -3
  575. package/src/classes/callbacks/PostUsePillFilter.ts +2 -2
  576. package/src/classes/callbacks/PreBerserkDeath.ts +4 -4
  577. package/src/classes/callbacks/PreEntitySpawnFilter.ts +3 -3
  578. package/src/classes/callbacks/PreRoomEntitySpawnFilter.ts +5 -5
  579. package/src/classes/features/callbackLogic/CustomGridEntities.ts +1 -1
  580. package/src/classes/features/callbackLogic/EsauJrDetection.ts +2 -2
  581. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +9 -11
  582. package/src/classes/features/callbackLogic/GridEntityUpdateDetection.ts +4 -4
  583. package/src/classes/features/callbackLogic/ItemPickupDetection.ts +4 -4
  584. package/src/classes/features/callbackLogic/PlayerCollectibleDetection.ts +2 -2
  585. package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +4 -4
  586. package/src/classes/features/other/CustomPickups.ts +1 -0
  587. package/src/classes/features/other/CustomStages.ts +2 -2
  588. package/src/classes/features/other/CustomTrapdoors.ts +46 -39
  589. package/src/classes/features/other/DeployJSONRoom.ts +6 -4
  590. package/src/classes/features/other/DisableInputs.ts +3 -3
  591. package/src/classes/features/other/EdenStartingStatsHealth.ts +3 -1
  592. package/src/classes/features/other/ExtraConsoleCommands.ts +14 -10
  593. package/src/classes/features/other/ModdedElementDetection.ts +4 -4
  594. package/src/classes/features/other/ModdedElementSets.ts +5 -5
  595. package/src/classes/features/other/NoSirenSteal.ts +4 -4
  596. package/src/classes/features/other/PickupIndexCreation.ts +7 -8
  597. package/src/classes/features/other/PonyDetection.ts +2 -2
  598. package/src/classes/features/other/PressInput.ts +2 -2
  599. package/src/classes/features/other/PreventChildEntities.ts +4 -4
  600. package/src/classes/features/other/RoomHistory.ts +5 -5
  601. package/src/classes/features/other/RunInNFrames.ts +2 -2
  602. package/src/classes/features/other/SaveDataManager.ts +3 -3
  603. package/src/classes/features/other/StageHistory.ts +2 -2
  604. package/src/classes/features/other/StartAmbush.ts +2 -2
  605. package/src/classes/features/other/TaintedLazarusPlayers.ts +2 -2
  606. package/src/classes/features/other/customStages/backdrop.ts +1 -1
  607. package/src/classes/features/other/customStages/gridEntities.ts +4 -4
  608. package/src/classes/features/other/customStages/streakText.ts +4 -4
  609. package/src/classes/features/other/extraConsoleCommands/commands.ts +15 -15
  610. package/src/classes/features/other/saveDataManager/glowingHourGlass.ts +4 -2
  611. package/src/classes/features/other/saveDataManager/loadFromDisk.ts +5 -0
  612. package/src/core/constants.ts +1 -1
  613. package/src/core/constantsVanilla.ts +4 -4
  614. package/src/enums/ModCallbackCustom.ts +18 -0
  615. package/src/functions/array.ts +33 -29
  616. package/src/functions/arrayLua.ts +1 -1
  617. package/src/functions/bosses.ts +4 -3
  618. package/src/functions/charge.ts +3 -4
  619. package/src/functions/collectibles.ts +2 -2
  620. package/src/functions/decorators.ts +6 -9
  621. package/src/functions/deepCopy.ts +6 -10
  622. package/src/functions/deepCopyTests.ts +4 -4
  623. package/src/functions/doors.ts +8 -3
  624. package/src/functions/easing.ts +2 -2
  625. package/src/functions/emptyRoom.ts +5 -5
  626. package/src/functions/entities.ts +11 -12
  627. package/src/functions/enums.ts +4 -4
  628. package/src/functions/familiars.ts +2 -2
  629. package/src/functions/flag.ts +3 -3
  630. package/src/functions/globals.ts +2 -3
  631. package/src/functions/gridEntities.ts +30 -24
  632. package/src/functions/gridEntitiesSpecific.ts +2 -2
  633. package/src/functions/isaacAPIClass.ts +2 -2
  634. package/src/functions/jsonHelpers.ts +7 -5
  635. package/src/functions/level.ts +3 -3
  636. package/src/functions/levelGrid.ts +9 -12
  637. package/src/functions/logEntities.ts +11 -8
  638. package/src/functions/logMisc.ts +9 -20
  639. package/src/functions/map.ts +4 -4
  640. package/src/functions/math.ts +4 -4
  641. package/src/functions/merge.ts +1 -1
  642. package/src/functions/minimap.ts +2 -6
  643. package/src/functions/newArray.ts +1 -1
  644. package/src/functions/nextStage.ts +14 -10
  645. package/src/functions/npcDataStructures.ts +5 -5
  646. package/src/functions/npcs.ts +13 -10
  647. package/src/functions/pickupVariants.ts +6 -6
  648. package/src/functions/playerCollectibles.ts +3 -5
  649. package/src/functions/playerDataStructures.ts +5 -5
  650. package/src/functions/playerHealth.ts +8 -8
  651. package/src/functions/playerIndex.ts +3 -3
  652. package/src/functions/players.ts +4 -4
  653. package/src/functions/pocketItems.ts +2 -2
  654. package/src/functions/positionVelocity.ts +4 -12
  655. package/src/functions/revive.ts +15 -15
  656. package/src/functions/rng.ts +4 -3
  657. package/src/functions/roomData.ts +1 -3
  658. package/src/functions/roomGrid.ts +2 -2
  659. package/src/functions/rooms.ts +55 -42
  660. package/src/functions/set.ts +8 -8
  661. package/src/functions/sort.ts +4 -4
  662. package/src/functions/sound.ts +2 -7
  663. package/src/functions/spawnCollectible.ts +4 -6
  664. package/src/functions/stage.ts +20 -30
  665. package/src/functions/string.ts +6 -6
  666. package/src/functions/tears.ts +2 -2
  667. package/src/functions/trinketGive.ts +4 -4
  668. package/src/functions/trinkets.ts +1 -3
  669. package/src/functions/tstlClass.ts +2 -2
  670. package/src/functions/types.ts +19 -19
  671. package/src/index.ts +58 -58
  672. package/src/interfaces/SaveData.ts +2 -1
  673. package/src/interfaces/private/AddCallbackParametersCustom.ts +7 -0
  674. package/src/lib/jsonLua.js +34 -34
  675. package/src/objects/LRoomShapeToRectangles.ts +1 -1
  676. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +1 -1
  677. package/src/shouldFire.ts +55 -57
  678. package/src/types/AddSubtract.ts +10 -2
  679. package/src/types/HasFunction.ts +1 -1
  680. package/src/types/Immutable.ts +1 -1
  681. package/src/types/Increment.ts +2 -2
  682. package/src/types/PickingUpItem.ts +10 -3
  683. package/src/types/TupleWithLengthBetween.ts +2 -2
  684. package/src/types/TupleWithMaxLength.ts +2 -2
@@ -25,6 +25,7 @@ export { PostEffectRenderFilter } from "./classes/callbacks/PostEffectRenderFilt
25
25
  export { PostEffectStateChanged } from "./classes/callbacks/PostEffectStateChanged";
26
26
  export { PostEffectUpdateFilter } from "./classes/callbacks/PostEffectUpdateFilter";
27
27
  export { PostEntityKillFilter } from "./classes/callbacks/PostEntityKillFilter";
28
+ export { PostEntityRemoveFilter } from "./classes/callbacks/PostEntityRemoveFilter";
28
29
  export { PostEsauJr } from "./classes/callbacks/PostEsauJr";
29
30
  export { PostFamiliarInitFilter } from "./classes/callbacks/PostFamiliarInitFilter";
30
31
  export { PostFamiliarInitLate } from "./classes/callbacks/PostFamiliarInitLate";
@@ -64,15 +65,15 @@ export { PostLaserInitFilter } from "./classes/callbacks/PostLaserInitFilter";
64
65
  export { PostLaserInitLate } from "./classes/callbacks/PostLaserInitLate";
65
66
  export { PostLaserRenderFilter } from "./classes/callbacks/PostLaserRenderFilter";
66
67
  export { PostLaserUpdateFilter } from "./classes/callbacks/PostLaserUpdateFilter";
68
+ export { PostNewLevelReordered } from "./classes/callbacks/PostNewLevelReordered";
69
+ export { PostNewRoomEarly } from "./classes/callbacks/PostNewRoomEarly";
70
+ export { PostNewRoomReordered } from "./classes/callbacks/PostNewRoomReordered";
67
71
  export { PostNPCDeathFilter } from "./classes/callbacks/PostNPCDeathFilter";
68
72
  export { PostNPCInitFilter } from "./classes/callbacks/PostNPCInitFilter";
69
73
  export { PostNPCInitLate } from "./classes/callbacks/PostNPCInitLate";
70
74
  export { PostNPCRenderFilter } from "./classes/callbacks/PostNPCRenderFilter";
71
75
  export { PostNPCStateChanged } from "./classes/callbacks/PostNPCStateChanged";
72
76
  export { PostNPCUpdateFilter } from "./classes/callbacks/PostNPCUpdateFilter";
73
- export { PostNewLevelReordered } from "./classes/callbacks/PostNewLevelReordered";
74
- export { PostNewRoomEarly } from "./classes/callbacks/PostNewRoomEarly";
75
- export { PostNewRoomReordered } from "./classes/callbacks/PostNewRoomReordered";
76
77
  export { PostPEffectUpdateReordered } from "./classes/callbacks/PostPEffectUpdateReordered";
77
78
  export { PostPickupChanged } from "./classes/callbacks/PostPickupChanged";
78
79
  export { PostPickupCollect } from "./classes/callbacks/PostPickupCollect";
@@ -117,14 +118,14 @@ export { PostSlotRender } from "./classes/callbacks/PostSlotRender";
117
118
  export { PostSlotUpdate } from "./classes/callbacks/PostSlotUpdate";
118
119
  export { PostSpikesRender } from "./classes/callbacks/PostSpikesRender";
119
120
  export { PostSpikesUpdate } from "./classes/callbacks/PostSpikesUpdate";
120
- export { PostTNTRender } from "./classes/callbacks/PostTNTRender";
121
- export { PostTNTUpdate } from "./classes/callbacks/PostTNTUpdate";
122
121
  export { PostTearInitFilter } from "./classes/callbacks/PostTearInitFilter";
123
122
  export { PostTearInitLate } from "./classes/callbacks/PostTearInitLate";
124
123
  export { PostTearInitVeryLate } from "./classes/callbacks/PostTearInitVeryLate";
125
124
  export { PostTearKill } from "./classes/callbacks/PostTearKill";
126
125
  export { PostTearRenderFilter } from "./classes/callbacks/PostTearRenderFilter";
127
126
  export { PostTearUpdateFilter } from "./classes/callbacks/PostTearUpdateFilter";
127
+ export { PostTNTRender } from "./classes/callbacks/PostTNTRender";
128
+ export { PostTNTUpdate } from "./classes/callbacks/PostTNTUpdate";
128
129
  export { PostTransformation } from "./classes/callbacks/PostTransformation";
129
130
  export { PostTrinketBreak } from "./classes/callbacks/PostTrinketBreak";
130
131
  export { PostUsePillFilter } from "./classes/callbacks/PostUsePillFilter";
@@ -136,9 +137,9 @@ export { PreFamiliarCollisionFilter } from "./classes/callbacks/PreFamiliarColli
136
137
  export { PreGetPedestal } from "./classes/callbacks/PreGetPedestal";
137
138
  export { PreItemPickup } from "./classes/callbacks/PreItemPickup";
138
139
  export { PreKnifeCollisionFilter } from "./classes/callbacks/PreKnifeCollisionFilter";
140
+ export { PreNewLevel } from "./classes/callbacks/PreNewLevel";
139
141
  export { PreNPCCollisionFilter } from "./classes/callbacks/PreNPCCollisionFilter";
140
142
  export { PreNPCUpdateFilter } from "./classes/callbacks/PreNPCUpdateFilter";
141
- export { PreNewLevel } from "./classes/callbacks/PreNewLevel";
142
143
  export { PreProjectileCollisionFilter } from "./classes/callbacks/PreProjectileCollisionFilter";
143
144
  export { PreRoomEntitySpawnFilter } from "./classes/callbacks/PreRoomEntitySpawnFilter";
144
145
  export { PreTearCollisionFilter } from "./classes/callbacks/PreTearCollisionFilter";
package/src/callbacks.ts CHANGED
@@ -28,6 +28,7 @@ const MOD_CALLBACK_CUSTOM_TO_CLASS = {
28
28
  [ModCallbackCustom.POST_EFFECT_STATE_CHANGED]: cc.PostEffectStateChanged,
29
29
  [ModCallbackCustom.POST_EFFECT_UPDATE_FILTER]: cc.PostEffectUpdateFilter,
30
30
  [ModCallbackCustom.POST_ENTITY_KILL_FILTER]: cc.PostEntityKillFilter,
31
+ [ModCallbackCustom.POST_ENTITY_REMOVE_FILTER]: cc.PostEntityRemoveFilter,
31
32
  [ModCallbackCustom.POST_ESAU_JR]: cc.PostEsauJr,
32
33
  [ModCallbackCustom.POST_FAMILIAR_INIT_FILTER]: cc.PostFamiliarInitFilter,
33
34
  [ModCallbackCustom.POST_FAMILIAR_INIT_LATE]: cc.PostFamiliarInitLate,
@@ -165,10 +165,13 @@ export class DefaultMap<Key, Value, Args extends unknown[] = []> extends Map<
165
165
  }
166
166
  }
167
167
 
168
- // eslint-disable-next-line isaacscript/complete-sentences-jsdoc
169
168
  /**
170
169
  * A function that creates the default value for your `DefaultMap`. For example, if it was a
171
- * `DefaultMap` containing maps, the factory function would be: `() => new Map()`
170
+ * `DefaultMap` containing maps, the factory function would be:
171
+ *
172
+ * ```ts
173
+ * () => new Map()
174
+ * ```
172
175
  */
173
176
  export type FactoryFunction<V, Args extends unknown[]> = (...args: Args) => V;
174
177
 
@@ -225,7 +225,7 @@ function initDecoratedCallbacks(
225
225
  modFeature,
226
226
  modFeatureConstructor,
227
227
  mod,
228
- modCallback, // eslint-disable-line isaacscript/strict-enums
228
+ modCallback, // eslint-disable-line complete/strict-enums
229
229
  priority,
230
230
  callback,
231
231
  parameters,
@@ -235,7 +235,7 @@ function initDecoratedCallbacks(
235
235
  removeCallback(
236
236
  modFeatureConstructor,
237
237
  mod,
238
- modCallback, // eslint-disable-line isaacscript/strict-enums
238
+ modCallback, // eslint-disable-line complete/strict-enums
239
239
  vanilla,
240
240
  );
241
241
  }
@@ -248,7 +248,7 @@ function addCallback(
248
248
  mod: ModUpgraded,
249
249
  modCallback: ModCallback | ModCallbackCustom,
250
250
  priority: CallbackPriority | int,
251
- callback: Function, // eslint-disable-line @typescript-eslint/ban-types
251
+ callback: Function, // eslint-disable-line @typescript-eslint/no-unsafe-function-type
252
252
  parameters: readonly unknown[],
253
253
  vanilla: boolean,
254
254
  ) {
@@ -119,8 +119,8 @@ export class ModUpgraded implements Mod {
119
119
 
120
120
  const elapsedTime = getElapsedTimeSince(startTime);
121
121
  if (
122
- this.timeThreshold === undefined ||
123
- this.timeThreshold <= elapsedTime
122
+ this.timeThreshold === undefined
123
+ || this.timeThreshold <= elapsedTime
124
124
  ) {
125
125
  Isaac.DebugString(`${signature} - END - time: ${elapsedTime}`);
126
126
  } else {
@@ -197,7 +197,7 @@ export class ModUpgraded implements Mod {
197
197
  ): void {
198
198
  const callbackClass = this.callbacks[modCallbackCustom];
199
199
  // @ts-expect-error The compiler is not smart enough to figure out that the parameters match.
200
- // eslint-disable-next-line isaacscript/require-variadic-function-argument
200
+ // eslint-disable-next-line complete/require-variadic-function-argument
201
201
  callbackClass.addSubscriber(priority, ...args);
202
202
  this.initFeature(callbackClass);
203
203
  }
@@ -295,9 +295,7 @@ export class ModUpgraded implements Mod {
295
295
  feature.initialized = true;
296
296
 
297
297
  if (feature.v !== undefined) {
298
- if (feature.featuresUsed === undefined) {
299
- feature.featuresUsed = [];
300
- }
298
+ feature.featuresUsed ??= [];
301
299
  if (!feature.featuresUsed.includes(ISCFeature.SAVE_DATA_MANAGER)) {
302
300
  feature.featuresUsed.unshift(ISCFeature.SAVE_DATA_MANAGER);
303
301
  }
@@ -24,9 +24,9 @@ export class InputActionFilter extends CustomCallback<T> {
24
24
  const [callbackInputHook, callbackButtonAction] = optionalArgs;
25
25
 
26
26
  return (
27
- (callbackInputHook === undefined || callbackInputHook === inputHook) &&
28
- (callbackButtonAction === undefined ||
29
- callbackButtonAction === buttonAction)
27
+ (callbackInputHook === undefined || callbackInputHook === inputHook)
28
+ && (callbackButtonAction === undefined
29
+ || callbackButtonAction === buttonAction)
30
30
  );
31
31
  };
32
32
 
@@ -31,12 +31,12 @@ export class InputActionPlayer extends CustomCallback<T> {
31
31
  const character = player.GetPlayerType();
32
32
 
33
33
  return (
34
- (callbackPlayerVariant === undefined ||
35
- callbackPlayerVariant === player.Variant) &&
36
- (callbackCharacter === undefined || callbackCharacter === character) &&
37
- (callbackInputHook === undefined || callbackInputHook === inputHook) &&
38
- (callbackButtonAction === undefined ||
39
- callbackButtonAction === buttonAction)
34
+ (callbackPlayerVariant === undefined
35
+ || callbackPlayerVariant === player.Variant)
36
+ && (callbackCharacter === undefined || callbackCharacter === character)
37
+ && (callbackInputHook === undefined || callbackInputHook === inputHook)
38
+ && (callbackButtonAction === undefined
39
+ || callbackButtonAction === buttonAction)
40
40
  );
41
41
  };
42
42
 
@@ -47,8 +47,8 @@ export class PostBoneSwing extends CustomCallback<ModCallbackCustom.POST_BONE_SW
47
47
  v.room.boneClubAnimations.set(ptrHash, animation);
48
48
 
49
49
  if (
50
- animationOnLastFrame !== undefined &&
51
- animation !== animationOnLastFrame
50
+ animationOnLastFrame !== undefined
51
+ && animation !== animationOnLastFrame
52
52
  ) {
53
53
  this.boneClubAnimationChanged(knife, animation);
54
54
  }
@@ -39,8 +39,8 @@ export class PostCollectibleEmpty extends CustomCallback<T> {
39
39
  const [callbackCollectibleType] = optionalArgs;
40
40
 
41
41
  return (
42
- callbackCollectibleType === undefined ||
43
- callbackCollectibleType === oldCollectibleType
42
+ callbackCollectibleType === undefined
43
+ || callbackCollectibleType === oldCollectibleType
44
44
  );
45
45
  };
46
46
 
@@ -53,9 +53,7 @@ export class PostCollectibleEmpty extends CustomCallback<T> {
53
53
 
54
54
  const ptrHash = GetPtrHash(collectible);
55
55
  let oldCollectibleType = v.room.collectibleTypeMap.get(ptrHash);
56
- if (oldCollectibleType === undefined) {
57
- oldCollectibleType = collectible.SubType;
58
- }
56
+ oldCollectibleType ??= collectible.SubType;
59
57
  v.room.collectibleTypeMap.set(ptrHash, collectible.SubType);
60
58
 
61
59
  if (oldCollectibleType !== collectible.SubType) {
@@ -107,9 +107,9 @@ export class PostCursedTeleport extends CustomCallback<ModCallbackCustom.POST_CU
107
107
  // Don't record the frame if we are potentially going to the Angel Room or the Dark Room from a
108
108
  // Sacrifice Room.
109
109
  return (
110
- roomType === RoomType.SACRIFICE &&
111
- isSpikeDamage &&
112
- (v.level.numSacrifices === 6 || v.level.numSacrifices >= 12)
110
+ roomType === RoomType.SACRIFICE
111
+ && isSpikeDamage
112
+ && (v.level.numSacrifices === 6 || v.level.numSacrifices >= 12)
113
113
  );
114
114
  }
115
115
 
@@ -154,8 +154,8 @@ export class PostCursedTeleport extends CustomCallback<ModCallbackCustom.POST_CU
154
154
  // Check to see if this is the 1st frame that we are teleporting.
155
155
  const sprite = player.GetSprite();
156
156
  if (
157
- !sprite.IsPlaying("TeleportUp") ||
158
- sprite.GetFrame() !== 1 // The 0th frame never fires
157
+ !sprite.IsPlaying("TeleportUp")
158
+ || sprite.GetFrame() !== 1 // The 0th frame never fires
159
159
  ) {
160
160
  return false;
161
161
  }
@@ -38,8 +38,8 @@ export class PostDiceRoomActivated extends CustomCallback<T> {
38
38
  const [callbackDiceFloorSubType] = optionalArgs;
39
39
 
40
40
  return (
41
- callbackDiceFloorSubType === undefined ||
42
- diceFloorSubType === callbackDiceFloorSubType
41
+ callbackDiceFloorSubType === undefined
42
+ || diceFloorSubType === callbackDiceFloorSubType
43
43
  );
44
44
  };
45
45
 
@@ -0,0 +1,22 @@
1
+ import { ModCallback } from "isaac-typescript-definitions";
2
+ import type { ModCallbackCustom } from "../../enums/ModCallbackCustom";
3
+ import { shouldFireEntity } from "../../shouldFire";
4
+ import { CustomCallback } from "../private/CustomCallback";
5
+
6
+ export class PostEntityRemoveFilter extends CustomCallback<ModCallbackCustom.POST_ENTITY_REMOVE_FILTER> {
7
+ constructor() {
8
+ super();
9
+
10
+ this.callbacksUsed = [
11
+ // 67
12
+ [ModCallback.POST_ENTITY_REMOVE, this.postEntityRemove],
13
+ ];
14
+ }
15
+
16
+ protected override shouldFire = shouldFireEntity;
17
+
18
+ // ModCallback.POST_ENTITY_REMOVE (67)
19
+ private readonly postEntityRemove = (entity: Entity) => {
20
+ this.fire(entity);
21
+ };
22
+ }
@@ -29,16 +29,16 @@ export class PostGridEntityCollision extends CustomCallback<T> {
29
29
  const gridEntityVariant = gridEntity.GetVariant();
30
30
 
31
31
  return (
32
- (callbackGridEntityType === undefined ||
33
- callbackGridEntityType === gridEntityType) &&
34
- (callbackGridEntityVariant === undefined ||
35
- callbackGridEntityVariant === gridEntityVariant) &&
36
- (callbackEntityType === undefined ||
37
- callbackEntityType === entity.Type) &&
38
- (callbackEntityVariant === undefined ||
39
- callbackEntityVariant === entity.Variant) &&
40
- (callbackEntitySubType === undefined ||
41
- callbackEntitySubType === entity.SubType)
32
+ (callbackGridEntityType === undefined
33
+ || callbackGridEntityType === gridEntityType)
34
+ && (callbackGridEntityVariant === undefined
35
+ || callbackGridEntityVariant === gridEntityVariant)
36
+ && (callbackEntityType === undefined
37
+ || callbackEntityType === entity.Type)
38
+ && (callbackEntityVariant === undefined
39
+ || callbackEntityVariant === entity.Variant)
40
+ && (callbackEntitySubType === undefined
41
+ || callbackEntitySubType === entity.SubType)
42
42
  );
43
43
  };
44
44
  }
@@ -25,14 +25,14 @@ export class PostGridEntityCustomCollision extends CustomCallback<T> {
25
25
  ] = optionalArgs;
26
26
 
27
27
  return (
28
- (callbackGridEntityTypeCustom === undefined ||
29
- callbackGridEntityTypeCustom === gridEntityTypeCustom) &&
30
- (callbackEntityType === undefined ||
31
- callbackEntityType === entity.Type) &&
32
- (callbackEntityVariant === undefined ||
33
- callbackEntityVariant === entity.Variant) &&
34
- (callbackEntitySubType === undefined ||
35
- callbackEntitySubType === entity.SubType)
28
+ (callbackGridEntityTypeCustom === undefined
29
+ || callbackGridEntityTypeCustom === gridEntityTypeCustom)
30
+ && (callbackEntityType === undefined
31
+ || callbackEntityType === entity.Type)
32
+ && (callbackEntityVariant === undefined
33
+ || callbackEntityVariant === entity.Variant)
34
+ && (callbackEntitySubType === undefined
35
+ || callbackEntitySubType === entity.SubType)
36
36
  );
37
37
  };
38
38
  }
@@ -20,8 +20,8 @@ export class PostGridEntityCustomRemove extends CustomCallback<T> {
20
20
  const [callbackGridEntityTypeCustom] = optionalArgs;
21
21
 
22
22
  return (
23
- callbackGridEntityTypeCustom === undefined ||
24
- callbackGridEntityTypeCustom === gridEntityTypeCustom
23
+ callbackGridEntityTypeCustom === undefined
24
+ || callbackGridEntityTypeCustom === gridEntityTypeCustom
25
25
  );
26
26
  };
27
27
  }
@@ -20,9 +20,9 @@ export class PostGridEntityRemove extends CustomCallback<T> {
20
20
  const [callbackGridEntityType, callbackVariant] = optionalArgs;
21
21
 
22
22
  return (
23
- (callbackGridEntityType === undefined ||
24
- callbackGridEntityType === gridEntityType) &&
25
- (callbackVariant === undefined || callbackVariant === variant)
23
+ (callbackGridEntityType === undefined
24
+ || callbackGridEntityType === gridEntityType)
25
+ && (callbackVariant === undefined || callbackVariant === variant)
26
26
  );
27
27
  };
28
28
  }
@@ -72,8 +72,8 @@ export class PostItemDischarge extends CustomCallback<T> {
72
72
  const [callbackCollectibleType] = optionalArgs;
73
73
 
74
74
  return (
75
- callbackCollectibleType === undefined ||
76
- callbackCollectibleType === collectibleType
75
+ callbackCollectibleType === undefined
76
+ || callbackCollectibleType === collectibleType
77
77
  );
78
78
  };
79
79
 
@@ -83,6 +83,7 @@ export class PostItemDischarge extends CustomCallback<T> {
83
83
  npc: EntityNPC,
84
84
  collider: Entity,
85
85
  ): boolean | undefined => {
86
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
86
87
  if (npc.Variant === SuckerVariant.BULB) {
87
88
  return this.preNPCCollisionBulb(npc, collider);
88
89
  }
@@ -132,9 +133,7 @@ export class PostItemDischarge extends CustomCallback<T> {
132
133
  for (const activeSlot of ACTIVE_SLOT_VALUES) {
133
134
  const currentActiveItem = player.GetActiveItem();
134
135
  let previousActiveItem = activeItemMap.get(activeSlot);
135
- if (previousActiveItem === undefined) {
136
- previousActiveItem = currentActiveItem;
137
- }
136
+ previousActiveItem ??= currentActiveItem;
138
137
  activeItemMap.set(activeSlot, currentActiveItem);
139
138
 
140
139
  if (currentActiveItem !== previousActiveItem) {
@@ -145,9 +144,7 @@ export class PostItemDischarge extends CustomCallback<T> {
145
144
 
146
145
  const currentCharge = getTotalCharge(player, activeSlot);
147
146
  let previousCharge = chargeMap.get(activeSlot);
148
- if (previousCharge === undefined) {
149
- previousCharge = currentCharge;
150
- }
147
+ previousCharge ??= currentCharge;
151
148
  chargeMap.set(activeSlot, currentCharge);
152
149
 
153
150
  if (this.playerRecentlyCollidedWithBulb(player)) {
@@ -34,8 +34,8 @@ export class PostKeyboardChanged extends CustomCallback<T> {
34
34
  const [callbackKeyboard, callbackPressed] = optionalArgs;
35
35
 
36
36
  return (
37
- (callbackKeyboard === undefined || callbackKeyboard === keyboard) &&
38
- (callbackPressed === undefined || callbackPressed === pressed)
37
+ (callbackKeyboard === undefined || callbackKeyboard === keyboard)
38
+ && (callbackPressed === undefined || callbackPressed === pressed)
39
39
  );
40
40
  };
41
41
 
@@ -8,7 +8,7 @@ import { CustomCallback } from "../private/CustomCallback";
8
8
  const v = {
9
9
  run: {
10
10
  stateMap: new DefaultMap<PtrHash, NPCState, [NPCState]>(
11
- (state) => state, // eslint-disable-line isaacscript/strict-enums
11
+ (state) => state, // eslint-disable-line complete/strict-enums
12
12
  ),
13
13
  },
14
14
  };
@@ -21,7 +21,7 @@ export class PostNewRoomEarly extends CustomCallback<ModCallbackCustom.POST_NEW_
21
21
 
22
22
  this.callbacksUsed = [
23
23
  // 19
24
- // eslint-disable-next-line deprecation/deprecation
24
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
25
25
  [ModCallback.POST_NEW_ROOM, this.postNewRoom],
26
26
 
27
27
  // 24
@@ -95,8 +95,8 @@ export class PostNewRoomEarly extends CustomCallback<ModCallbackCustom.POST_NEW_
95
95
  this.currentRoomTopLeftWallPtrHash2 = GetPtrHash(topLeftWall2);
96
96
 
97
97
  return (
98
- oldTopLeftWallPtrHash !== this.currentRoomTopLeftWallPtrHash ||
99
- oldTopLeftWallPtrHash2 !== this.currentRoomTopLeftWallPtrHash2
98
+ oldTopLeftWallPtrHash !== this.currentRoomTopLeftWallPtrHash
99
+ || oldTopLeftWallPtrHash2 !== this.currentRoomTopLeftWallPtrHash2
100
100
  );
101
101
  }
102
102
  }
@@ -29,9 +29,10 @@ export class PostPickupSelectionFilter extends CustomCallback<T> {
29
29
  const [callbackPickupVariant, callbackPickupSubType] = optionalArgs;
30
30
 
31
31
  return (
32
- (callbackPickupVariant === undefined ||
33
- callbackPickupVariant === pickupVariant) &&
34
- (callbackPickupSubType === undefined || callbackPickupSubType === subType)
32
+ (callbackPickupVariant === undefined
33
+ || callbackPickupVariant === pickupVariant)
34
+ && (callbackPickupSubType === undefined
35
+ || callbackPickupSubType === subType)
35
36
  );
36
37
  };
37
38
 
@@ -47,8 +47,8 @@ export class PostPlayerChangeHealth extends CustomCallback<ModCallbackCustom.POS
47
47
  playerHealthMap.set(healthType, currentHealthValue);
48
48
 
49
49
  if (
50
- storedHealthValue !== undefined &&
51
- storedHealthValue !== currentHealthValue
50
+ storedHealthValue !== undefined
51
+ && storedHealthValue !== currentHealthValue
52
52
  ) {
53
53
  const difference = currentHealthValue - storedHealthValue;
54
54
  this.fire(
@@ -15,7 +15,7 @@ const v = {
15
15
  PlayerIndex,
16
16
  PlayerType,
17
17
  [character: PlayerType]
18
- >((character: PlayerType) => character), // eslint-disable-line isaacscript/strict-enums
18
+ >((character: PlayerType) => character), // eslint-disable-line complete/strict-enums
19
19
  },
20
20
  };
21
21
 
@@ -60,10 +60,10 @@ export class PostPurchase extends CustomCallback<T> {
60
60
  const [callbackPickupVariant, callbackPickupSubType] = optionalArgs;
61
61
 
62
62
  return (
63
- (callbackPickupVariant === undefined ||
64
- callbackPickupVariant === pickup.Variant) &&
65
- (callbackPickupSubType === undefined ||
66
- callbackPickupSubType === pickup.SubType)
63
+ (callbackPickupVariant === undefined
64
+ || callbackPickupVariant === pickup.Variant)
65
+ && (callbackPickupSubType === undefined
66
+ || callbackPickupSubType === pickup.SubType)
67
67
  );
68
68
  };
69
69
 
@@ -111,9 +111,9 @@ export class PostPurchase extends CustomCallback<T> {
111
111
  // Assume that if the player did not use an active item, card, or pill recently, then they
112
112
  // purchased an item.
113
113
  if (
114
- !wasHoldingItemOnLastFrame &&
115
- isHoldingItem &&
116
- !this.playerUsedItemRecently(player)
114
+ !wasHoldingItemOnLastFrame
115
+ && isHoldingItem
116
+ && !this.playerUsedItemRecently(player)
117
117
  ) {
118
118
  this.playerPickedUpNewItem(player);
119
119
  }
@@ -126,8 +126,8 @@ export class PostPurchase extends CustomCallback<T> {
126
126
  player,
127
127
  );
128
128
  return (
129
- gameFrameCount === usedCollectibleOnFrame ||
130
- gameFrameCount === usedCollectibleOnFrame + 1
129
+ gameFrameCount === usedCollectibleOnFrame
130
+ || gameFrameCount === usedCollectibleOnFrame + 1
131
131
  );
132
132
  }
133
133
 
@@ -55,9 +55,7 @@ export class PostTransformation extends CustomCallback<T> {
55
55
  for (const playerForm of PLAYER_FORM_VALUES) {
56
56
  const hasForm = player.HasPlayerForm(playerForm);
57
57
  let storedForm = playerTransformationsMap.get(playerForm);
58
- if (storedForm === undefined) {
59
- storedForm = false;
60
- }
58
+ storedForm ??= false;
61
59
 
62
60
  if (hasForm !== storedForm) {
63
61
  playerTransformationsMap.set(playerForm, hasForm);
@@ -55,9 +55,7 @@ export class PostTrinketBreak extends CustomCallback<ModCallbackCustom.POST_TRIN
55
55
  for (const trinketType of TRINKETS_THAT_CAN_BREAK) {
56
56
  const numTrinketsHeld = player.GetTrinketMultiplier(trinketType);
57
57
  let oldNumTrinketsHeld = trinketMap.get(trinketType);
58
- if (oldNumTrinketsHeld === undefined) {
59
- oldNumTrinketsHeld = 0;
60
- }
58
+ oldNumTrinketsHeld ??= 0;
61
59
 
62
60
  if (numTrinketsHeld >= oldNumTrinketsHeld) {
63
61
  continue;
@@ -76,8 +76,8 @@ export class PostUsePillFilter extends CustomCallback<ModCallbackCustom.POST_USE
76
76
  (pocketItem) => pocketItem.slot === PocketItemSlot.SLOT_1,
77
77
  );
78
78
  if (
79
- oldPocketItemSlot1 !== undefined &&
80
- oldPocketItemSlot1.type === PocketItemType.PILL
79
+ oldPocketItemSlot1 !== undefined
80
+ && oldPocketItemSlot1.type === PocketItemType.PILL
81
81
  ) {
82
82
  return oldPocketItemSlot1.subType;
83
83
  }
@@ -36,10 +36,10 @@ export class PreBerserkDeath extends CustomCallback<ModCallbackCustom.PRE_BERSER
36
36
 
37
37
  // If the Berserk effect will end on the next frame and we have no hearts left.
38
38
  if (
39
- berserkEffect !== undefined &&
40
- berserkEffect.Cooldown === 1 &&
41
- numHitsRemaining === 0 &&
42
- !willPlayerRevive(player)
39
+ berserkEffect !== undefined
40
+ && berserkEffect.Cooldown === 1
41
+ && numHitsRemaining === 0
42
+ && !willPlayerRevive(player)
43
43
  ) {
44
44
  this.fire(player);
45
45
  }
@@ -24,9 +24,9 @@ export class PreEntitySpawnFilter extends CustomCallback<T> {
24
24
  const [callbackEntityType, callbackVariant, callbackSubType] = optionalArgs;
25
25
 
26
26
  return (
27
- (callbackEntityType === undefined || callbackEntityType === entityType) &&
28
- (callbackVariant === undefined || callbackVariant === variant) &&
29
- (callbackSubType === undefined || callbackSubType === subType)
27
+ (callbackEntityType === undefined || callbackEntityType === entityType)
28
+ && (callbackVariant === undefined || callbackVariant === variant)
29
+ && (callbackSubType === undefined || callbackSubType === subType)
30
30
  );
31
31
  };
32
32
 
@@ -31,11 +31,11 @@ export class PreRoomEntitySpawnFilter extends CustomCallback<T> {
31
31
  ] = optionalArgs;
32
32
 
33
33
  return (
34
- (callbackEntityTypeOrGridEntityXMLType === undefined ||
35
- callbackEntityTypeOrGridEntityXMLType ===
36
- entityTypeOrGridEntityXMLType) &&
37
- (callbackVariant === undefined || callbackVariant === variant) &&
38
- (callbackSubType === undefined || callbackSubType === subType)
34
+ (callbackEntityTypeOrGridEntityXMLType === undefined
35
+ || callbackEntityTypeOrGridEntityXMLType
36
+ === entityTypeOrGridEntityXMLType)
37
+ && (callbackVariant === undefined || callbackVariant === variant)
38
+ && (callbackSubType === undefined || callbackSubType === subType)
39
39
  );
40
40
  };
41
41
 
@@ -348,7 +348,7 @@ export class CustomGridEntities extends Feature {
348
348
  * @public
349
349
  */
350
350
  @Exported
351
- public getCustomGridEntities(): Array<{
351
+ public getCustomGridEntities(): ReadonlyArray<{
352
352
  gridEntity: GridEntity;
353
353
  data: GridEntityCustomData;
354
354
  }> {
@@ -45,8 +45,8 @@ export class EsauJrDetection extends Feature {
45
45
 
46
46
  // Check to see if it is the frame after the player has used Esau Jr.
47
47
  if (
48
- v.run.usedEsauJrFrame === null ||
49
- gameFrameCount < v.run.usedEsauJrFrame + 1
48
+ v.run.usedEsauJrFrame === null
49
+ || gameFrameCount < v.run.usedEsauJrFrame + 1
50
50
  ) {
51
51
  return;
52
52
  }