isaacscript-common 18.3.0 → 18.3.2

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 (352) hide show
  1. package/dist/index.d.ts +29 -20
  2. package/dist/isaacscript-common.lua +329 -319
  3. package/dist/src/classes/ModFeature.d.ts +2 -2
  4. package/dist/src/classes/ModFeature.d.ts.map +1 -1
  5. package/dist/src/classes/ModFeature.lua +18 -17
  6. package/dist/src/classes/ModUpgradedBase.d.ts.map +1 -1
  7. package/dist/src/classes/ModUpgradedBase.lua +10 -10
  8. package/dist/src/classes/callbacks/EntityTakeDmgFilter.lua +1 -1
  9. package/dist/src/classes/callbacks/EntityTakeDmgPlayer.d.ts.map +1 -1
  10. package/dist/src/classes/callbacks/EntityTakeDmgPlayer.lua +1 -1
  11. package/dist/src/classes/callbacks/InputActionFilter.lua +1 -1
  12. package/dist/src/classes/callbacks/InputActionPlayer.lua +1 -1
  13. package/dist/src/classes/callbacks/PostAmbushFinished.lua +1 -1
  14. package/dist/src/classes/callbacks/PostAmbushStarted.lua +1 -1
  15. package/dist/src/classes/callbacks/PostBombExploded.lua +1 -1
  16. package/dist/src/classes/callbacks/PostBombInitLate.lua +1 -1
  17. package/dist/src/classes/callbacks/PostBoneSwing.lua +1 -1
  18. package/dist/src/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
  19. package/dist/src/classes/callbacks/PostCollectibleEmpty.lua +1 -1
  20. package/dist/src/classes/callbacks/PostCollectibleInitFirst.d.ts.map +1 -1
  21. package/dist/src/classes/callbacks/PostCollectibleInitFirst.lua +1 -1
  22. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts +2 -2
  23. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts.map +1 -1
  24. package/dist/src/classes/callbacks/PostCursedTeleport.lua +19 -21
  25. package/dist/src/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
  26. package/dist/src/classes/callbacks/PostDiceRoomActivated.lua +1 -1
  27. package/dist/src/classes/callbacks/PostDoorRender.lua +1 -1
  28. package/dist/src/classes/callbacks/PostDoorUpdate.lua +1 -1
  29. package/dist/src/classes/callbacks/PostEffectInitLate.lua +1 -1
  30. package/dist/src/classes/callbacks/PostEffectStateChanged.lua +1 -1
  31. package/dist/src/classes/callbacks/PostFamiliarInitLate.lua +1 -1
  32. package/dist/src/classes/callbacks/PostFamiliarStateChanged.lua +1 -1
  33. package/dist/src/classes/callbacks/PostGreedModeWave.lua +1 -1
  34. package/dist/src/classes/callbacks/PostHolyMantleRemoved.lua +1 -1
  35. package/dist/src/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
  36. package/dist/src/classes/callbacks/PostItemDischarge.lua +2 -2
  37. package/dist/src/classes/callbacks/PostKnifeInitLate.lua +1 -1
  38. package/dist/src/classes/callbacks/PostLaserInitLate.lua +1 -1
  39. package/dist/src/classes/callbacks/PostNPCDeathFilter.lua +1 -1
  40. package/dist/src/classes/callbacks/PostNPCInitFilter.lua +1 -1
  41. package/dist/src/classes/callbacks/PostNPCInitLate.lua +1 -1
  42. package/dist/src/classes/callbacks/PostNPCRenderFilter.lua +1 -1
  43. package/dist/src/classes/callbacks/PostNPCStateChanged.lua +1 -1
  44. package/dist/src/classes/callbacks/PostNPCUpdateFilter.lua +1 -1
  45. package/dist/src/classes/callbacks/PostNewRoomEarly.lua +1 -1
  46. package/dist/src/classes/callbacks/PostPickupCollect.lua +1 -1
  47. package/dist/src/classes/callbacks/PostPickupInitFirst.lua +1 -1
  48. package/dist/src/classes/callbacks/PostPickupInitLate.lua +1 -1
  49. package/dist/src/classes/callbacks/PostPickupStateChanged.lua +1 -1
  50. package/dist/src/classes/callbacks/PostPitRender.lua +1 -1
  51. package/dist/src/classes/callbacks/PostPitUpdate.lua +1 -1
  52. package/dist/src/classes/callbacks/PostPlayerChangeHealth.lua +1 -1
  53. package/dist/src/classes/callbacks/PostPlayerChangeStat.lua +1 -1
  54. package/dist/src/classes/callbacks/PostPlayerChangeType.lua +1 -1
  55. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts +1 -1
  56. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -1
  57. package/dist/src/classes/callbacks/PostPlayerFatalDamage.lua +19 -21
  58. package/dist/src/classes/callbacks/PostPlayerInitFirst.lua +1 -1
  59. package/dist/src/classes/callbacks/PostPlayerInitLate.lua +1 -1
  60. package/dist/src/classes/callbacks/PostPoopRender.lua +1 -1
  61. package/dist/src/classes/callbacks/PostPoopUpdate.lua +1 -1
  62. package/dist/src/classes/callbacks/PostPressurePlateRender.lua +1 -1
  63. package/dist/src/classes/callbacks/PostPressurePlateUpdate.lua +1 -1
  64. package/dist/src/classes/callbacks/PostProjectileInitLate.lua +1 -1
  65. package/dist/src/classes/callbacks/PostPurchase.lua +1 -1
  66. package/dist/src/classes/callbacks/PostRockRender.lua +1 -1
  67. package/dist/src/classes/callbacks/PostRockUpdate.lua +1 -1
  68. package/dist/src/classes/callbacks/PostRoomClearChanged.lua +2 -2
  69. package/dist/src/classes/callbacks/PostSacrifice.d.ts.map +1 -1
  70. package/dist/src/classes/callbacks/PostSacrifice.lua +4 -8
  71. package/dist/src/classes/callbacks/PostSlotCollision.lua +1 -1
  72. package/dist/src/classes/callbacks/PostSlotDestroyed.d.ts.map +1 -1
  73. package/dist/src/classes/callbacks/PostSlotDestroyed.lua +2 -2
  74. package/dist/src/classes/callbacks/PostSpikesRender.lua +1 -1
  75. package/dist/src/classes/callbacks/PostSpikesUpdate.lua +1 -1
  76. package/dist/src/classes/callbacks/PostTNTRender.lua +1 -1
  77. package/dist/src/classes/callbacks/PostTNTUpdate.lua +1 -1
  78. package/dist/src/classes/callbacks/PostTearInitLate.lua +1 -1
  79. package/dist/src/classes/callbacks/PostTearInitVeryLate.lua +1 -1
  80. package/dist/src/classes/callbacks/PostTransformation.lua +1 -1
  81. package/dist/src/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
  82. package/dist/src/classes/callbacks/PostTrinketBreak.lua +5 -11
  83. package/dist/src/classes/callbacks/PreBerserkDeath.lua +1 -1
  84. package/dist/src/classes/callbacks/PreGetPedestal.d.ts.map +1 -1
  85. package/dist/src/classes/callbacks/PreGetPedestal.lua +1 -1
  86. package/dist/src/classes/callbacks/PreNPCCollisionFilter.lua +1 -1
  87. package/dist/src/classes/callbacks/PreNPCUpdateFilter.lua +1 -1
  88. package/dist/src/classes/callbacks/PreNewLevel.lua +1 -1
  89. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
  90. package/dist/src/classes/features/callbackLogic/CustomGridEntities.lua +2 -2
  91. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts +2 -2
  92. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
  93. package/dist/src/classes/features/callbackLogic/CustomRevive.lua +5 -5
  94. package/dist/src/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
  95. package/dist/src/classes/features/callbackLogic/EsauJrDetection.lua +1 -1
  96. package/dist/src/classes/features/callbackLogic/FlipDetection.d.ts.map +1 -1
  97. package/dist/src/classes/features/callbackLogic/FlipDetection.lua +1 -1
  98. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
  99. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.lua +1 -1
  100. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts.map +1 -1
  101. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.lua +1 -1
  102. package/dist/src/classes/features/callbackLogic/GridEntityRenderDetection.d.ts.map +1 -1
  103. package/dist/src/classes/features/callbackLogic/GridEntityRenderDetection.lua +1 -1
  104. package/dist/src/classes/features/callbackLogic/GridEntityUpdateDetection.d.ts.map +1 -1
  105. package/dist/src/classes/features/callbackLogic/GridEntityUpdateDetection.lua +2 -2
  106. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.d.ts +1 -1
  107. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.d.ts.map +1 -1
  108. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.lua +4 -3
  109. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts +8 -3
  110. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts.map +1 -1
  111. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.lua +16 -21
  112. package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -1
  113. package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.lua +2 -2
  114. package/dist/src/classes/features/callbackLogic/SlotRenderDetection.d.ts.map +1 -1
  115. package/dist/src/classes/features/callbackLogic/SlotRenderDetection.lua +1 -1
  116. package/dist/src/classes/features/callbackLogic/SlotUpdateDetection.d.ts.map +1 -1
  117. package/dist/src/classes/features/callbackLogic/SlotUpdateDetection.lua +2 -2
  118. package/dist/src/classes/features/other/CharacterHealthConversion.d.ts.map +1 -1
  119. package/dist/src/classes/features/other/CharacterHealthConversion.lua +2 -2
  120. package/dist/src/classes/features/other/CharacterStats.lua +1 -1
  121. package/dist/src/classes/features/other/CollectibleItemPoolType.d.ts.map +1 -1
  122. package/dist/src/classes/features/other/CollectibleItemPoolType.lua +1 -1
  123. package/dist/src/classes/features/other/CustomHotkeys.lua +1 -1
  124. package/dist/src/classes/features/other/CustomItemPools.lua +1 -1
  125. package/dist/src/classes/features/other/CustomPickups.d.ts.map +1 -1
  126. package/dist/src/classes/features/other/CustomPickups.lua +1 -1
  127. package/dist/src/classes/features/other/CustomStages.d.ts.map +1 -1
  128. package/dist/src/classes/features/other/CustomStages.lua +2 -2
  129. package/dist/src/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
  130. package/dist/src/classes/features/other/CustomTrapdoors.lua +2 -2
  131. package/dist/src/classes/features/other/DisableAllSound.lua +1 -1
  132. package/dist/src/classes/features/other/DisableInputs.d.ts.map +1 -1
  133. package/dist/src/classes/features/other/DisableInputs.lua +1 -1
  134. package/dist/src/classes/features/other/ExtraConsoleCommands.d.ts +1 -1
  135. package/dist/src/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
  136. package/dist/src/classes/features/other/ExtraConsoleCommands.lua +17 -16
  137. package/dist/src/classes/features/other/FadeInRemover.lua +1 -1
  138. package/dist/src/classes/features/other/FastReset.lua +1 -1
  139. package/dist/src/classes/features/other/ModdedElementDetection.lua +1 -1
  140. package/dist/src/classes/features/other/NoSirenSteal.d.ts.map +1 -1
  141. package/dist/src/classes/features/other/NoSirenSteal.lua +1 -1
  142. package/dist/src/classes/features/other/Pause.d.ts.map +1 -1
  143. package/dist/src/classes/features/other/Pause.lua +1 -1
  144. package/dist/src/classes/features/other/PersistentEntities.lua +2 -2
  145. package/dist/src/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
  146. package/dist/src/classes/features/other/PickupIndexCreation.lua +1 -1
  147. package/dist/src/classes/features/other/PlayerInventory.lua +1 -1
  148. package/dist/src/classes/features/other/PonyDetection.lua +1 -1
  149. package/dist/src/classes/features/other/PressInput.d.ts.map +1 -1
  150. package/dist/src/classes/features/other/PressInput.lua +1 -1
  151. package/dist/src/classes/features/other/PreventChildEntities.lua +1 -1
  152. package/dist/src/classes/features/other/PreventCollectibleRotation.d.ts.map +1 -1
  153. package/dist/src/classes/features/other/PreventCollectibleRotation.lua +1 -1
  154. package/dist/src/classes/features/other/PreventGridEntityRespawn.d.ts.map +1 -1
  155. package/dist/src/classes/features/other/PreventGridEntityRespawn.lua +2 -2
  156. package/dist/src/classes/features/other/RoomClearFrame.lua +1 -1
  157. package/dist/src/classes/features/other/RoomHistory.lua +1 -1
  158. package/dist/src/classes/features/other/RunInNFrames.lua +1 -1
  159. package/dist/src/classes/features/other/RunNextRoom.lua +1 -1
  160. package/dist/src/classes/features/other/SaveDataManager.d.ts.map +1 -1
  161. package/dist/src/classes/features/other/SaveDataManager.lua +2 -2
  162. package/dist/src/classes/features/other/StageHistory.d.ts.map +1 -1
  163. package/dist/src/classes/features/other/StageHistory.lua +1 -1
  164. package/dist/src/classes/features/other/TaintedLazarusPlayers.lua +1 -1
  165. package/dist/src/classes/features/other/debugDisplay/DebugDisplayBomb.lua +1 -1
  166. package/dist/src/classes/features/other/debugDisplay/DebugDisplayDoor.lua +1 -1
  167. package/dist/src/classes/features/other/debugDisplay/DebugDisplayEffect.lua +1 -1
  168. package/dist/src/classes/features/other/debugDisplay/DebugDisplayFamiliar.lua +1 -1
  169. package/dist/src/classes/features/other/debugDisplay/DebugDisplayKnife.lua +1 -1
  170. package/dist/src/classes/features/other/debugDisplay/DebugDisplayLaser.lua +1 -1
  171. package/dist/src/classes/features/other/debugDisplay/DebugDisplayNPC.lua +1 -1
  172. package/dist/src/classes/features/other/debugDisplay/DebugDisplayPickup.lua +1 -1
  173. package/dist/src/classes/features/other/debugDisplay/DebugDisplayPit.lua +1 -1
  174. package/dist/src/classes/features/other/debugDisplay/DebugDisplayPlayer.lua +1 -1
  175. package/dist/src/classes/features/other/debugDisplay/DebugDisplayPoop.lua +1 -1
  176. package/dist/src/classes/features/other/debugDisplay/DebugDisplayPressurePlate.lua +1 -1
  177. package/dist/src/classes/features/other/debugDisplay/DebugDisplayProjectile.lua +1 -1
  178. package/dist/src/classes/features/other/debugDisplay/DebugDisplayRock.lua +1 -1
  179. package/dist/src/classes/features/other/debugDisplay/DebugDisplaySlot.lua +1 -1
  180. package/dist/src/classes/features/other/debugDisplay/DebugDisplaySpikes.lua +1 -1
  181. package/dist/src/classes/features/other/debugDisplay/DebugDisplayTNT.lua +1 -1
  182. package/dist/src/classes/features/other/debugDisplay/DebugDisplayTear.lua +1 -1
  183. package/dist/src/classes/private/CustomCallback.d.ts +2 -2
  184. package/dist/src/classes/private/CustomCallback.d.ts.map +1 -1
  185. package/dist/src/classes/private/CustomCallback.lua +7 -10
  186. package/dist/src/functions/array.d.ts +5 -1
  187. package/dist/src/functions/array.d.ts.map +1 -1
  188. package/dist/src/functions/array.lua +17 -8
  189. package/dist/src/functions/decorators.d.ts.map +1 -1
  190. package/dist/src/functions/decorators.lua +12 -22
  191. package/dist/src/functions/direction.d.ts +3 -1
  192. package/dist/src/functions/direction.d.ts.map +1 -1
  193. package/dist/src/functions/direction.lua +10 -0
  194. package/dist/src/functions/logMisc.d.ts +1 -0
  195. package/dist/src/functions/logMisc.d.ts.map +1 -1
  196. package/dist/src/functions/logMisc.lua +2 -1
  197. package/dist/src/objects/directionToMoveAction.d.ts +9 -0
  198. package/dist/src/objects/directionToMoveAction.d.ts.map +1 -0
  199. package/dist/src/objects/directionToMoveAction.lua +12 -0
  200. package/dist/src/objects/directionToShootAction.d.ts +9 -0
  201. package/dist/src/objects/directionToShootAction.d.ts.map +1 -0
  202. package/dist/src/objects/directionToShootAction.lua +12 -0
  203. package/dist/src/types/ModUpgraded.d.ts +1 -1
  204. package/dist/src/types/ModUpgraded.d.ts.map +1 -1
  205. package/dist/src/types/private/CallbackTuple.d.ts +17 -8
  206. package/dist/src/types/private/CallbackTuple.d.ts.map +1 -1
  207. package/package.json +1 -1
  208. package/src/classes/ModFeature.ts +43 -21
  209. package/src/classes/ModUpgradedBase.ts +18 -10
  210. package/src/classes/callbacks/EntityTakeDmgFilter.ts +1 -1
  211. package/src/classes/callbacks/EntityTakeDmgPlayer.ts +2 -1
  212. package/src/classes/callbacks/InputActionFilter.ts +1 -1
  213. package/src/classes/callbacks/InputActionPlayer.ts +1 -1
  214. package/src/classes/callbacks/PostAmbushFinished.ts +1 -1
  215. package/src/classes/callbacks/PostAmbushStarted.ts +1 -1
  216. package/src/classes/callbacks/PostBombExploded.ts +1 -1
  217. package/src/classes/callbacks/PostBombInitLate.ts +1 -1
  218. package/src/classes/callbacks/PostBoneSwing.ts +1 -1
  219. package/src/classes/callbacks/PostCollectibleEmpty.ts +2 -1
  220. package/src/classes/callbacks/PostCollectibleInitFirst.ts +2 -1
  221. package/src/classes/callbacks/PostCursedTeleport.ts +52 -60
  222. package/src/classes/callbacks/PostDiceRoomActivated.ts +2 -1
  223. package/src/classes/callbacks/PostDoorRender.ts +1 -1
  224. package/src/classes/callbacks/PostDoorUpdate.ts +1 -1
  225. package/src/classes/callbacks/PostEffectInitLate.ts +1 -1
  226. package/src/classes/callbacks/PostEffectStateChanged.ts +1 -1
  227. package/src/classes/callbacks/PostFamiliarInitLate.ts +1 -1
  228. package/src/classes/callbacks/PostFamiliarStateChanged.ts +1 -1
  229. package/src/classes/callbacks/PostGreedModeWave.ts +1 -1
  230. package/src/classes/callbacks/PostHolyMantleRemoved.ts +1 -1
  231. package/src/classes/callbacks/PostItemDischarge.ts +3 -2
  232. package/src/classes/callbacks/PostKnifeInitLate.ts +1 -1
  233. package/src/classes/callbacks/PostLaserInitLate.ts +1 -1
  234. package/src/classes/callbacks/PostNPCDeathFilter.ts +1 -1
  235. package/src/classes/callbacks/PostNPCInitFilter.ts +1 -1
  236. package/src/classes/callbacks/PostNPCInitLate.ts +1 -1
  237. package/src/classes/callbacks/PostNPCRenderFilter.ts +1 -1
  238. package/src/classes/callbacks/PostNPCStateChanged.ts +1 -1
  239. package/src/classes/callbacks/PostNPCUpdateFilter.ts +1 -1
  240. package/src/classes/callbacks/PostNewRoomEarly.ts +2 -2
  241. package/src/classes/callbacks/PostPickupCollect.ts +1 -1
  242. package/src/classes/callbacks/PostPickupInitFirst.ts +1 -1
  243. package/src/classes/callbacks/PostPickupInitLate.ts +1 -1
  244. package/src/classes/callbacks/PostPickupStateChanged.ts +1 -1
  245. package/src/classes/callbacks/PostPitRender.ts +1 -1
  246. package/src/classes/callbacks/PostPitUpdate.ts +1 -1
  247. package/src/classes/callbacks/PostPlayerChangeHealth.ts +1 -1
  248. package/src/classes/callbacks/PostPlayerChangeStat.ts +1 -1
  249. package/src/classes/callbacks/PostPlayerChangeType.ts +1 -1
  250. package/src/classes/callbacks/PostPlayerFatalDamage.ts +39 -48
  251. package/src/classes/callbacks/PostPlayerInitFirst.ts +2 -2
  252. package/src/classes/callbacks/PostPlayerInitLate.ts +1 -1
  253. package/src/classes/callbacks/PostPoopRender.ts +1 -1
  254. package/src/classes/callbacks/PostPoopUpdate.ts +1 -1
  255. package/src/classes/callbacks/PostPressurePlateRender.ts +1 -1
  256. package/src/classes/callbacks/PostPressurePlateUpdate.ts +1 -1
  257. package/src/classes/callbacks/PostProjectileInitLate.ts +1 -1
  258. package/src/classes/callbacks/PostPurchase.ts +1 -1
  259. package/src/classes/callbacks/PostRockRender.ts +1 -1
  260. package/src/classes/callbacks/PostRockUpdate.ts +1 -1
  261. package/src/classes/callbacks/PostRoomClearChanged.ts +2 -2
  262. package/src/classes/callbacks/PostSacrifice.ts +5 -20
  263. package/src/classes/callbacks/PostSlotCollision.ts +1 -1
  264. package/src/classes/callbacks/PostSlotDestroyed.ts +3 -2
  265. package/src/classes/callbacks/PostSpikesRender.ts +1 -1
  266. package/src/classes/callbacks/PostSpikesUpdate.ts +1 -1
  267. package/src/classes/callbacks/PostTNTRender.ts +1 -1
  268. package/src/classes/callbacks/PostTNTUpdate.ts +1 -1
  269. package/src/classes/callbacks/PostTearInitLate.ts +1 -1
  270. package/src/classes/callbacks/PostTearInitVeryLate.ts +1 -1
  271. package/src/classes/callbacks/PostTransformation.ts +1 -1
  272. package/src/classes/callbacks/PostTrinketBreak.ts +4 -18
  273. package/src/classes/callbacks/PreBerserkDeath.ts +1 -1
  274. package/src/classes/callbacks/PreGetPedestal.ts +2 -1
  275. package/src/classes/callbacks/PreNPCCollisionFilter.ts +1 -1
  276. package/src/classes/callbacks/PreNPCUpdateFilter.ts +1 -1
  277. package/src/classes/callbacks/PreNewLevel.ts +1 -1
  278. package/src/classes/features/callbackLogic/CustomGridEntities.ts +5 -3
  279. package/src/classes/features/callbackLogic/CustomRevive.ts +19 -18
  280. package/src/classes/features/callbackLogic/EsauJrDetection.ts +6 -2
  281. package/src/classes/features/callbackLogic/FlipDetection.ts +2 -1
  282. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +13 -5
  283. package/src/classes/features/callbackLogic/GridEntityCollisionDetection.ts +2 -1
  284. package/src/classes/features/callbackLogic/GridEntityRenderDetection.ts +2 -1
  285. package/src/classes/features/callbackLogic/GridEntityUpdateDetection.ts +3 -2
  286. package/src/classes/features/callbackLogic/ItemPickupDetection.ts +8 -5
  287. package/src/classes/features/callbackLogic/PlayerCollectibleDetection.ts +67 -71
  288. package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +10 -5
  289. package/src/classes/features/callbackLogic/SlotRenderDetection.ts +2 -1
  290. package/src/classes/features/callbackLogic/SlotUpdateDetection.ts +3 -2
  291. package/src/classes/features/other/CharacterHealthConversion.ts +3 -2
  292. package/src/classes/features/other/CharacterStats.ts +1 -1
  293. package/src/classes/features/other/CollectibleItemPoolType.ts +2 -1
  294. package/src/classes/features/other/CustomHotkeys.ts +1 -1
  295. package/src/classes/features/other/CustomItemPools.ts +1 -1
  296. package/src/classes/features/other/CustomPickups.ts +3 -2
  297. package/src/classes/features/other/CustomStages.ts +7 -6
  298. package/src/classes/features/other/CustomTrapdoors.ts +4 -6
  299. package/src/classes/features/other/DisableAllSound.ts +1 -1
  300. package/src/classes/features/other/DisableInputs.ts +6 -3
  301. package/src/classes/features/other/ExtraConsoleCommands.ts +32 -31
  302. package/src/classes/features/other/FadeInRemover.ts +1 -1
  303. package/src/classes/features/other/FastReset.ts +1 -1
  304. package/src/classes/features/other/ModdedElementDetection.ts +1 -1
  305. package/src/classes/features/other/NoSirenSteal.ts +2 -1
  306. package/src/classes/features/other/Pause.ts +3 -2
  307. package/src/classes/features/other/PersistentEntities.ts +2 -2
  308. package/src/classes/features/other/PickupIndexCreation.ts +3 -2
  309. package/src/classes/features/other/PlayerInventory.ts +2 -2
  310. package/src/classes/features/other/PonyDetection.ts +1 -1
  311. package/src/classes/features/other/PressInput.ts +2 -1
  312. package/src/classes/features/other/PreventChildEntities.ts +1 -1
  313. package/src/classes/features/other/PreventCollectibleRotation.ts +4 -2
  314. package/src/classes/features/other/PreventGridEntityRespawn.ts +3 -2
  315. package/src/classes/features/other/RoomClearFrame.ts +1 -1
  316. package/src/classes/features/other/RoomHistory.ts +1 -1
  317. package/src/classes/features/other/RunInNFrames.ts +2 -2
  318. package/src/classes/features/other/RunNextRoom.ts +1 -1
  319. package/src/classes/features/other/SaveDataManager.ts +6 -5
  320. package/src/classes/features/other/StageHistory.ts +1 -4
  321. package/src/classes/features/other/TaintedLazarusPlayers.ts +1 -1
  322. package/src/classes/features/other/debugDisplay/DebugDisplayBomb.ts +1 -1
  323. package/src/classes/features/other/debugDisplay/DebugDisplayDoor.ts +1 -1
  324. package/src/classes/features/other/debugDisplay/DebugDisplayEffect.ts +1 -1
  325. package/src/classes/features/other/debugDisplay/DebugDisplayFamiliar.ts +1 -1
  326. package/src/classes/features/other/debugDisplay/DebugDisplayKnife.ts +1 -1
  327. package/src/classes/features/other/debugDisplay/DebugDisplayLaser.ts +1 -1
  328. package/src/classes/features/other/debugDisplay/DebugDisplayNPC.ts +1 -1
  329. package/src/classes/features/other/debugDisplay/DebugDisplayPickup.ts +1 -1
  330. package/src/classes/features/other/debugDisplay/DebugDisplayPit.ts +1 -1
  331. package/src/classes/features/other/debugDisplay/DebugDisplayPlayer.ts +1 -1
  332. package/src/classes/features/other/debugDisplay/DebugDisplayPoop.ts +1 -1
  333. package/src/classes/features/other/debugDisplay/DebugDisplayPressurePlate.ts +1 -1
  334. package/src/classes/features/other/debugDisplay/DebugDisplayProjectile.ts +1 -1
  335. package/src/classes/features/other/debugDisplay/DebugDisplayRock.ts +1 -1
  336. package/src/classes/features/other/debugDisplay/DebugDisplaySlot.ts +1 -1
  337. package/src/classes/features/other/debugDisplay/DebugDisplaySpikes.ts +1 -1
  338. package/src/classes/features/other/debugDisplay/DebugDisplayTNT.ts +1 -1
  339. package/src/classes/features/other/debugDisplay/DebugDisplayTear.ts +1 -1
  340. package/src/classes/private/CustomCallback.ts +19 -15
  341. package/src/functions/array.ts +14 -5
  342. package/src/functions/decorators.ts +14 -20
  343. package/src/functions/direction.ts +15 -1
  344. package/src/functions/logMisc.ts +4 -1
  345. package/src/objects/directionToMoveAction.ts +10 -0
  346. package/src/objects/directionToShootAction.ts +10 -0
  347. package/src/types/ModUpgraded.ts +1 -1
  348. package/src/types/private/CallbackTuple.ts +17 -8
  349. package/dist/src/types/private/AllButFirst.d.ts +0 -5
  350. package/dist/src/types/private/AllButFirst.d.ts.map +0 -1
  351. package/dist/src/types/private/AllButFirst.lua +0 -2
  352. package/src/types/private/AllButFirst.ts +0 -6
package/dist/index.d.ts CHANGED
@@ -81,10 +81,6 @@ import { TrapdoorVariant } from 'isaac-typescript-definitions';
81
81
  import { TrinketType } from 'isaac-typescript-definitions';
82
82
  import { UseFlag } from 'isaac-typescript-definitions';
83
83
 
84
- export declare const ADD_CALLBACK_ARGS_KEY = "__addCallbackArgs";
85
-
86
- export declare const ADD_CALLBACK_CUSTOM_ARGS_KEY = "__addCallbackCustomArgs";
87
-
88
84
  declare interface AddCallbackParametersCustom {
89
85
  [ModCallbackCustom.ENTITY_TAKE_DMG_FILTER]: [
90
86
  callback: (entity: Entity, amount: float, damageFlags: BitFlags<DamageFlag>, source: EntityRef, countdownFrames: int) => boolean | undefined,
@@ -740,11 +736,6 @@ unknown,
740
736
  ...infer Tail
741
737
  ] ? Tail : unknown[];
742
738
 
743
- declare type AllButFirst_2<T extends unknown[]> = T extends [
744
- unknown,
745
- ...infer Tail
746
- ] ? Tail : unknown[];
747
-
748
739
  /** Helper type to create a new tuple containing all but the last element of another tuple. */
749
740
  export declare type AllButLast<T extends unknown[]> = T extends [...infer Head, unknown] ? Head : unknown[];
750
741
 
@@ -1506,7 +1497,7 @@ export declare function countSetBits(n: int): int;
1506
1497
  */
1507
1498
  declare abstract class CustomCallback<T extends ModCallbackCustom> extends Feature {
1508
1499
  private subscriptions;
1509
- addSubscriber(...args: AddCallbackParametersCustom[T]): void;
1500
+ addSubscriber(callbackFunc: AddCallbackParametersCustom[T][0], ...optionalArgs: AllButFirst<AddCallbackParametersCustom[T]>): void;
1510
1501
  /**
1511
1502
  * If the submitted function does not match any of the existing subscriptions, this method will do
1512
1503
  * nothing.
@@ -1827,9 +1818,9 @@ declare class CustomRevive extends Feature {
1827
1818
  private runInNFrames;
1828
1819
  constructor(preCustomRevive: PreCustomRevive, postCustomRevive: PostCustomRevive, runInNFrames: RunInNFrames);
1829
1820
  private postRender;
1830
- private postPEffectUpdate;
1831
- private checkWaitingForItemAnimation;
1832
1821
  private postNewRoomReordered;
1822
+ private postPEffectUpdateReordered;
1823
+ private checkWaitingForItemAnimation;
1833
1824
  private postPlayerFatalDamage;
1834
1825
  private preBerserkDeath;
1835
1826
  /**
@@ -3097,6 +3088,10 @@ export declare const DICE_FLOOR_TRIGGER_SQUARE_SIZE = 75;
3097
3088
 
3098
3089
  export declare function directionToDegrees(direction: Direction): int;
3099
3090
 
3091
+ export declare function directionToMoveAction(direction: Direction): ButtonAction | undefined;
3092
+
3093
+ export declare function directionToShootAction(direction: Direction): ButtonAction | undefined;
3094
+
3100
3095
  export declare function directionToVector(direction: Direction): Readonly<Vector>;
3101
3096
 
3102
3097
  declare class DisableAllSound extends Feature {
@@ -3584,10 +3579,10 @@ declare class ExtraConsoleCommands extends Feature {
3584
3579
  private evaluateCacheFireDelay;
3585
3580
  private evaluateCacheSpeed;
3586
3581
  private evaluateCacheFlying;
3587
- private entityTakeDmgPlayer;
3588
3582
  private postCurseEval;
3589
3583
  private executeCmd;
3590
3584
  private postFireTear;
3585
+ private entityTakeDmgPlayer;
3591
3586
  /**
3592
3587
  * Helper function to add a custom console command.
3593
3588
  *
@@ -7102,8 +7097,12 @@ export declare function isAngelRoomDoor(door: GridEntityDoor): boolean;
7102
7097
  *
7103
7098
  * - the table contains all numerical indexes that are contiguous, starting at 1
7104
7099
  * - the table has no keys (i.e. an "empty" table)
7100
+ *
7101
+ * @param object The object to analyze.
7102
+ * @param ensureContiguousValues Optional. Whether or not the Lua table has to have all contiguous
7103
+ * keys in order to be considered an array. Default is true.
7105
7104
  */
7106
- export declare function isArray(object: unknown): object is unknown[];
7105
+ export declare function isArray(object: unknown, ensureContiguousValues?: boolean): object is unknown[];
7107
7106
 
7108
7107
  /**
7109
7108
  * Helper function to see if every element in the array is N + 1.
@@ -7286,7 +7285,7 @@ declare type ISCFeatureTuple<T extends readonly ISCFeature[]> = ISCFeature exten
7286
7285
  * same private fields will cause a `never` type.
7287
7286
  */
7288
7287
  declare type ISCFeatureTupleToClassTuple<T extends ISCFeature[]> = {
7289
- [K in keyof T]: PublicInterface<ISCFeatureToClass[T[K]]>;
7288
+ [Key in keyof T]: PublicInterface<ISCFeatureToClass[T[Key]]>;
7290
7289
  };
7291
7290
 
7292
7291
  /**
@@ -8012,7 +8011,7 @@ declare class ItemPickupDetection extends Feature {
8012
8011
  private postItemPickup;
8013
8012
  private preItemPickup;
8014
8013
  constructor(postItemPickup: PostItemPickup, preItemPickup: PreItemPickup);
8015
- private postPEffectUpdate;
8014
+ private postPEffectUpdateReordered;
8016
8015
  private queueEmpty;
8017
8016
  private queueNotEmpty;
8018
8017
  }
@@ -8342,6 +8341,7 @@ export declare function logAllEntities(includeBackgroundEffects: boolean, entity
8342
8341
  */
8343
8342
  export declare function logAllGridEntities(includeWalls?: boolean, gridEntityTypeFilter?: GridEntityType): void;
8344
8343
 
8344
+ /** Helper function to enumerate all of the values in an array. */
8345
8345
  export declare function logArray<T>(array: T[] | readonly T[]): void;
8346
8346
 
8347
8347
  export declare function logCollectibleTypes(collectibleTypes: CollectibleType[]): void;
@@ -8619,6 +8619,10 @@ export declare const MIN_PLAYER_SPEED_STAT = 0.1;
8619
8619
 
8620
8620
  export declare const MINUTE_IN_MILLISECONDS: number;
8621
8621
 
8622
+ export declare const MOD_FEATURE_CALLBACKS_KEY = "__callbacks";
8623
+
8624
+ export declare const MOD_FEATURE_CUSTOM_CALLBACKS_KEY = "__customCallbacks";
8625
+
8622
8626
  /**
8623
8627
  * - The Isaac API offers a lot of callbacks, but a lot of times there isn't one for the specific
8624
8628
  * thing that you are looking to do. So, `isaacscript-common` adds a bunch of new callbacks that
@@ -11552,7 +11556,7 @@ export declare function openAllDoors(): void;
11552
11556
  */
11553
11557
  export declare function openDoorFast(door: GridEntityDoor): void;
11554
11558
 
11555
- declare type OptionalArgs<T extends ModCallbackCustom> = AllButFirst_2<AddCallbackParametersCustom[T]>;
11559
+ declare type OptionalArgs<T extends ModCallbackCustom> = AllButFirst<AddCallbackParametersCustom[T]>;
11556
11560
 
11557
11561
  /**
11558
11562
  * Helper function to parse a string that contains an entity type, a variant, and a sub-type,
@@ -11775,7 +11779,14 @@ declare class PlayerCollectibleDetection extends Feature {
11775
11779
  */
11776
11780
  private updateCollectibleMapAndFire;
11777
11781
  private useItemD4;
11778
- private postPEffectUpdate;
11782
+ /** We need to handle the case of Tainted Eden taking damage. */
11783
+ private entityTakeDmgPlayer;
11784
+ /**
11785
+ * We need to handle TMTRAINER collectibles, since they do not cause the player's collectible
11786
+ * count to change.
11787
+ */
11788
+ private postItemPickup;
11789
+ private postPEffectUpdateReordered;
11779
11790
  /**
11780
11791
  * Checking for collectible count will work to detect when a player swaps their active item for
11781
11792
  * another active item. This is because the collectible count will decrement by 1 when the item is
@@ -11786,8 +11797,6 @@ declare class PlayerCollectibleDetection extends Feature {
11786
11797
  * collectible on the same frame, since doing so is cheap.
11787
11798
  */
11788
11799
  private checkActiveItemsChanged;
11789
- private entityTakeDmgPlayer;
11790
- private postItemPickup;
11791
11800
  }
11792
11801
 
11793
11802
  export declare function playerConvertBlackHeartsToSoulHearts(player: EntityPlayer): void;