isaacscript-common 2.3.0 → 3.0.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 (1035) hide show
  1. package/cachedClasses.d.ts +37 -0
  2. package/cachedClasses.lua +30 -0
  3. package/callbacks/customRevive.d.ts +1 -0
  4. package/callbacks/customRevive.lua +147 -0
  5. package/callbacks/itemPickup.d.ts +1 -0
  6. package/callbacks/itemPickup.lua +66 -0
  7. package/callbacks/postBombInitLate.d.ts +1 -0
  8. package/callbacks/postBombInitLate.lua +33 -0
  9. package/callbacks/postBoneSwing.d.ts +1 -0
  10. package/callbacks/postBoneSwing.lua +50 -0
  11. package/callbacks/postCollectibleInitFirst.d.ts +1 -0
  12. package/callbacks/postCollectibleInitFirst.lua +34 -0
  13. package/callbacks/postCursedTeleport.d.ts +1 -0
  14. package/callbacks/postCursedTeleport.lua +121 -0
  15. package/callbacks/postCustomDoorEnter.d.ts +50 -0
  16. package/callbacks/postCustomDoorEnter.lua +247 -0
  17. package/callbacks/postDoorRender.d.ts +1 -0
  18. package/callbacks/postDoorRender.lua +26 -0
  19. package/callbacks/postDoorUpdate.d.ts +1 -0
  20. package/callbacks/postDoorUpdate.lua +26 -0
  21. package/callbacks/postEffectInitLate.d.ts +1 -0
  22. package/callbacks/postEffectInitLate.lua +33 -0
  23. package/callbacks/postEffectStateChanged.d.ts +1 -0
  24. package/callbacks/postEffectStateChanged.lua +39 -0
  25. package/callbacks/postEsauJr.d.ts +1 -0
  26. package/callbacks/postEsauJr.lua +69 -0
  27. package/callbacks/postFamiliarInitLate.d.ts +1 -0
  28. package/callbacks/postFamiliarInitLate.lua +33 -0
  29. package/callbacks/postFamiliarStateChanged.d.ts +1 -0
  30. package/callbacks/postFamiliarStateChanged.lua +39 -0
  31. package/callbacks/postFlip.d.ts +1 -0
  32. package/callbacks/postFlip.lua +63 -0
  33. package/callbacks/postGreedModeWave.d.ts +1 -0
  34. package/callbacks/postGreedModeWave.lua +34 -0
  35. package/callbacks/postGridEntity.d.ts +1 -0
  36. package/callbacks/postGridEntity.lua +107 -0
  37. package/callbacks/postGridEntityCollision.d.ts +1 -0
  38. package/callbacks/postGridEntityCollision.lua +67 -0
  39. package/callbacks/postGridEntityRender.d.ts +1 -0
  40. package/callbacks/postGridEntityRender.lua +26 -0
  41. package/callbacks/postHolyMantleRemoved.d.ts +1 -0
  42. package/callbacks/postHolyMantleRemoved.lua +41 -0
  43. package/callbacks/postItemDischarged.d.ts +2 -0
  44. package/callbacks/postItemDischarged.lua +104 -0
  45. package/callbacks/postKnifeInitLate.d.ts +1 -0
  46. package/callbacks/postKnifeInitLate.lua +33 -0
  47. package/callbacks/postLaserInitLate.d.ts +1 -0
  48. package/callbacks/postLaserInitLate.lua +33 -0
  49. package/callbacks/postNPCInitLate.d.ts +1 -0
  50. package/callbacks/postNPCInitLate.lua +33 -0
  51. package/callbacks/postNPCStateChanged.d.ts +1 -0
  52. package/callbacks/postNPCStateChanged.lua +39 -0
  53. package/callbacks/postNewRoomEarly.d.ts +1 -0
  54. package/callbacks/postNewRoomEarly.lua +67 -0
  55. package/callbacks/postPickupCollect.d.ts +1 -0
  56. package/callbacks/postPickupCollect.lua +41 -0
  57. package/callbacks/postPickupInitLate.d.ts +1 -0
  58. package/callbacks/postPickupInitLate.lua +33 -0
  59. package/callbacks/postPickupStateChanged.d.ts +1 -0
  60. package/callbacks/postPickupStateChanged.lua +39 -0
  61. package/callbacks/postPitRender.d.ts +1 -0
  62. package/callbacks/postPitRender.lua +26 -0
  63. package/callbacks/postPitUpdate.d.ts +1 -0
  64. package/callbacks/postPitUpdate.lua +26 -0
  65. package/callbacks/postPlayerChangeHealth.d.ts +1 -0
  66. package/callbacks/postPlayerChangeHealth.lua +52 -0
  67. package/callbacks/postPlayerChangeType.d.ts +1 -0
  68. package/callbacks/postPlayerChangeType.lua +41 -0
  69. package/callbacks/postPlayerFatalDamage.d.ts +1 -0
  70. package/callbacks/postPlayerFatalDamage.lua +73 -0
  71. package/callbacks/postPlayerInitLate.d.ts +1 -0
  72. package/callbacks/postPlayerInitLate.lua +35 -0
  73. package/callbacks/postPlayerReordered.d.ts +1 -0
  74. package/callbacks/postPlayerReordered.lua +114 -0
  75. package/callbacks/postPoopRender.d.ts +1 -0
  76. package/callbacks/postPoopRender.lua +26 -0
  77. package/callbacks/postPoopUpdate.d.ts +1 -0
  78. package/callbacks/postPoopUpdate.lua +26 -0
  79. package/callbacks/postPressurePlateRender.d.ts +1 -0
  80. package/callbacks/postPressurePlateRender.lua +26 -0
  81. package/callbacks/postPressurePlateUpdate.d.ts +1 -0
  82. package/callbacks/postPressurePlateUpdate.lua +26 -0
  83. package/callbacks/postProjectileInitLate.d.ts +1 -0
  84. package/callbacks/postProjectileInitLate.lua +33 -0
  85. package/callbacks/postPurchase.d.ts +1 -0
  86. package/callbacks/postPurchase.lua +51 -0
  87. package/callbacks/postRockRender.d.ts +1 -0
  88. package/callbacks/postRockRender.lua +26 -0
  89. package/callbacks/postRockUpdate.d.ts +1 -0
  90. package/callbacks/postRockUpdate.lua +26 -0
  91. package/callbacks/postRoomClearChanged.d.ts +1 -0
  92. package/callbacks/postRoomClearChanged.lua +42 -0
  93. package/callbacks/postSacrifice.d.ts +1 -0
  94. package/callbacks/postSacrifice.lua +44 -0
  95. package/callbacks/postSlotInitUpdate.d.ts +1 -0
  96. package/callbacks/postSlotInitUpdate.lua +53 -0
  97. package/callbacks/postSlotRender.d.ts +1 -0
  98. package/callbacks/postSlotRender.lua +76 -0
  99. package/callbacks/postSpikesRender.d.ts +1 -0
  100. package/callbacks/postSpikesRender.lua +26 -0
  101. package/callbacks/postSpikesUpdate.d.ts +1 -0
  102. package/callbacks/postSpikesUpdate.lua +26 -0
  103. package/callbacks/postTNTRender.d.ts +1 -0
  104. package/callbacks/postTNTRender.lua +26 -0
  105. package/callbacks/postTNTUpdate.d.ts +1 -0
  106. package/callbacks/postTNTUpdate.lua +26 -0
  107. package/callbacks/postTearInitLate.d.ts +1 -0
  108. package/callbacks/postTearInitLate.lua +33 -0
  109. package/callbacks/postTearInitVeryLate.d.ts +1 -0
  110. package/callbacks/postTearInitVeryLate.lua +36 -0
  111. package/callbacks/postTransformation.d.ts +1 -0
  112. package/callbacks/postTransformation.lua +48 -0
  113. package/callbacks/postTrinketBreak.d.ts +1 -0
  114. package/callbacks/postTrinketBreak.lua +72 -0
  115. package/callbacks/preBerserkDeath.d.ts +1 -0
  116. package/callbacks/preBerserkDeath.lua +38 -0
  117. package/callbacks/preNewLevel.d.ts +1 -0
  118. package/callbacks/preNewLevel.lua +45 -0
  119. package/callbacks/reorderedCallbacks.d.ts +20 -0
  120. package/callbacks/reorderedCallbacks.lua +108 -0
  121. package/callbacks/subscriptions/postBombInitLate.d.ts +5 -0
  122. package/callbacks/subscriptions/postBombInitLate.lua +29 -0
  123. package/callbacks/subscriptions/postBoneSwing.d.ts +4 -0
  124. package/callbacks/subscriptions/postBoneSwing.lua +22 -0
  125. package/callbacks/subscriptions/postCollectibleInitFirst.d.ts +5 -0
  126. package/callbacks/subscriptions/postCollectibleInitFirst.lua +29 -0
  127. package/callbacks/subscriptions/postCursedTeleport.d.ts +4 -0
  128. package/callbacks/subscriptions/postCursedTeleport.lua +22 -0
  129. package/callbacks/subscriptions/postCustomDoorEnter.d.ts +5 -0
  130. package/callbacks/subscriptions/postCustomDoorEnter.lua +35 -0
  131. package/callbacks/subscriptions/postCustomRevive.d.ts +5 -0
  132. package/callbacks/subscriptions/postCustomRevive.lua +29 -0
  133. package/callbacks/subscriptions/postDoorRender.d.ts +5 -0
  134. package/callbacks/subscriptions/postDoorRender.lua +30 -0
  135. package/callbacks/subscriptions/postDoorUpdate.d.ts +5 -0
  136. package/callbacks/subscriptions/postDoorUpdate.lua +30 -0
  137. package/callbacks/subscriptions/postEffectInitLate.d.ts +5 -0
  138. package/callbacks/subscriptions/postEffectInitLate.lua +29 -0
  139. package/callbacks/subscriptions/postEffectStateChanged.d.ts +5 -0
  140. package/callbacks/subscriptions/postEffectStateChanged.lua +29 -0
  141. package/callbacks/subscriptions/postEsauJr.d.ts +4 -0
  142. package/callbacks/subscriptions/postEsauJr.lua +22 -0
  143. package/callbacks/subscriptions/postFamiliarInitLate.d.ts +5 -0
  144. package/callbacks/subscriptions/postFamiliarInitLate.lua +29 -0
  145. package/callbacks/subscriptions/postFamiliarStateChanged.d.ts +5 -0
  146. package/callbacks/subscriptions/postFamiliarStateChanged.lua +29 -0
  147. package/callbacks/subscriptions/postFirstEsauJr.d.ts +4 -0
  148. package/callbacks/subscriptions/postFirstEsauJr.lua +22 -0
  149. package/callbacks/subscriptions/postFirstFlip.d.ts +4 -0
  150. package/callbacks/subscriptions/postFirstFlip.lua +22 -0
  151. package/callbacks/subscriptions/postFlip.d.ts +4 -0
  152. package/callbacks/subscriptions/postFlip.lua +22 -0
  153. package/callbacks/subscriptions/postGameStartedReordered.d.ts +3 -0
  154. package/callbacks/subscriptions/postGameStartedReordered.lua +22 -0
  155. package/callbacks/subscriptions/postGreedModeWave.d.ts +4 -0
  156. package/callbacks/subscriptions/postGreedModeWave.lua +22 -0
  157. package/callbacks/subscriptions/postGridEntityBroken.d.ts +6 -0
  158. package/callbacks/subscriptions/postGridEntityBroken.lua +35 -0
  159. package/callbacks/subscriptions/postGridEntityCollision.d.ts +6 -0
  160. package/callbacks/subscriptions/postGridEntityCollision.lua +35 -0
  161. package/callbacks/subscriptions/postGridEntityInit.d.ts +6 -0
  162. package/callbacks/subscriptions/postGridEntityInit.lua +35 -0
  163. package/callbacks/subscriptions/postGridEntityRemove.d.ts +6 -0
  164. package/callbacks/subscriptions/postGridEntityRemove.lua +33 -0
  165. package/callbacks/subscriptions/postGridEntityRender.d.ts +6 -0
  166. package/callbacks/subscriptions/postGridEntityRender.lua +35 -0
  167. package/callbacks/subscriptions/postGridEntityStateChanged.d.ts +6 -0
  168. package/callbacks/subscriptions/postGridEntityStateChanged.lua +35 -0
  169. package/callbacks/subscriptions/postGridEntityUpdate.d.ts +6 -0
  170. package/callbacks/subscriptions/postGridEntityUpdate.lua +35 -0
  171. package/callbacks/subscriptions/postHolyMantleRemoved.d.ts +6 -0
  172. package/callbacks/subscriptions/postHolyMantleRemoved.lua +34 -0
  173. package/callbacks/subscriptions/postItemDischarged.d.ts +5 -0
  174. package/callbacks/subscriptions/postItemDischarged.lua +29 -0
  175. package/callbacks/subscriptions/postItemPickup.d.ts +11 -0
  176. package/callbacks/subscriptions/postItemPickup.lua +33 -0
  177. package/callbacks/subscriptions/postKnifeInitLate.d.ts +5 -0
  178. package/callbacks/subscriptions/postKnifeInitLate.lua +29 -0
  179. package/callbacks/subscriptions/postLaserInitLate.d.ts +5 -0
  180. package/callbacks/subscriptions/postLaserInitLate.lua +29 -0
  181. package/callbacks/subscriptions/postNPCInitLate.d.ts +5 -0
  182. package/callbacks/subscriptions/postNPCInitLate.lua +29 -0
  183. package/callbacks/subscriptions/postNPCStateChanged.d.ts +6 -0
  184. package/callbacks/subscriptions/postNPCStateChanged.lua +33 -0
  185. package/callbacks/subscriptions/postNewLevelReordered.d.ts +1 -0
  186. package/callbacks/subscriptions/postNewLevelReordered.lua +22 -0
  187. package/callbacks/subscriptions/postNewRoomEarly.d.ts +1 -0
  188. package/callbacks/subscriptions/postNewRoomEarly.lua +22 -0
  189. package/callbacks/subscriptions/postNewRoomReordered.d.ts +1 -0
  190. package/callbacks/subscriptions/postNewRoomReordered.lua +22 -0
  191. package/callbacks/subscriptions/postPEffectUpdateReordered.d.ts +6 -0
  192. package/callbacks/subscriptions/postPEffectUpdateReordered.lua +34 -0
  193. package/callbacks/subscriptions/postPickupCollect.d.ts +4 -0
  194. package/callbacks/subscriptions/postPickupCollect.lua +29 -0
  195. package/callbacks/subscriptions/postPickupInitLate.d.ts +3 -0
  196. package/callbacks/subscriptions/postPickupInitLate.lua +29 -0
  197. package/callbacks/subscriptions/postPickupStateChanged.d.ts +5 -0
  198. package/callbacks/subscriptions/postPickupStateChanged.lua +29 -0
  199. package/callbacks/subscriptions/postPitRender.d.ts +5 -0
  200. package/callbacks/subscriptions/postPitRender.lua +30 -0
  201. package/callbacks/subscriptions/postPitUpdate.d.ts +5 -0
  202. package/callbacks/subscriptions/postPitUpdate.lua +30 -0
  203. package/callbacks/subscriptions/postPlayerChangeHealth.d.ts +7 -0
  204. package/callbacks/subscriptions/postPlayerChangeHealth.lua +34 -0
  205. package/callbacks/subscriptions/postPlayerChangeType.d.ts +5 -0
  206. package/callbacks/subscriptions/postPlayerChangeType.lua +29 -0
  207. package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +6 -0
  208. package/callbacks/subscriptions/postPlayerFatalDamage.lua +45 -0
  209. package/callbacks/subscriptions/postPlayerInitLate.d.ts +6 -0
  210. package/callbacks/subscriptions/postPlayerInitLate.lua +34 -0
  211. package/callbacks/subscriptions/postPlayerInitReordered.d.ts +6 -0
  212. package/callbacks/subscriptions/postPlayerInitReordered.lua +34 -0
  213. package/callbacks/subscriptions/postPlayerRenderReordered.d.ts +6 -0
  214. package/callbacks/subscriptions/postPlayerRenderReordered.lua +34 -0
  215. package/callbacks/subscriptions/postPlayerUpdateReordered.d.ts +6 -0
  216. package/callbacks/subscriptions/postPlayerUpdateReordered.lua +34 -0
  217. package/callbacks/subscriptions/postPoopRender.d.ts +5 -0
  218. package/callbacks/subscriptions/postPoopRender.lua +30 -0
  219. package/callbacks/subscriptions/postPoopUpdate.d.ts +5 -0
  220. package/callbacks/subscriptions/postPoopUpdate.lua +30 -0
  221. package/callbacks/subscriptions/postPressurePlateRender.d.ts +5 -0
  222. package/callbacks/subscriptions/postPressurePlateRender.lua +30 -0
  223. package/callbacks/subscriptions/postPressurePlateUpdate.d.ts +5 -0
  224. package/callbacks/subscriptions/postPressurePlateUpdate.lua +30 -0
  225. package/callbacks/subscriptions/postProjectileInitLate.d.ts +5 -0
  226. package/callbacks/subscriptions/postProjectileInitLate.lua +29 -0
  227. package/callbacks/subscriptions/postPurchase.d.ts +6 -0
  228. package/callbacks/subscriptions/postPurchase.lua +22 -0
  229. package/callbacks/subscriptions/postRockRender.d.ts +5 -0
  230. package/callbacks/subscriptions/postRockRender.lua +30 -0
  231. package/callbacks/subscriptions/postRockUpdate.d.ts +5 -0
  232. package/callbacks/subscriptions/postRockUpdate.lua +30 -0
  233. package/callbacks/subscriptions/postRoomClearChanged.d.ts +3 -0
  234. package/callbacks/subscriptions/postRoomClearChanged.lua +22 -0
  235. package/callbacks/subscriptions/postSacrifice.d.ts +6 -0
  236. package/callbacks/subscriptions/postSacrifice.lua +34 -0
  237. package/callbacks/subscriptions/postSlotAnimationChanged.d.ts +5 -0
  238. package/callbacks/subscriptions/postSlotAnimationChanged.lua +29 -0
  239. package/callbacks/subscriptions/postSlotDestroyed.d.ts +5 -0
  240. package/callbacks/subscriptions/postSlotDestroyed.lua +29 -0
  241. package/callbacks/subscriptions/postSlotInit.d.ts +5 -0
  242. package/callbacks/subscriptions/postSlotInit.lua +29 -0
  243. package/callbacks/subscriptions/postSlotRender.d.ts +5 -0
  244. package/callbacks/subscriptions/postSlotRender.lua +29 -0
  245. package/callbacks/subscriptions/postSlotUpdate.d.ts +5 -0
  246. package/callbacks/subscriptions/postSlotUpdate.lua +29 -0
  247. package/callbacks/subscriptions/postSpikesRender.d.ts +5 -0
  248. package/callbacks/subscriptions/postSpikesRender.lua +30 -0
  249. package/callbacks/subscriptions/postSpikesUpdate.d.ts +5 -0
  250. package/callbacks/subscriptions/postSpikesUpdate.lua +30 -0
  251. package/callbacks/subscriptions/postTNTRender.d.ts +5 -0
  252. package/callbacks/subscriptions/postTNTRender.lua +30 -0
  253. package/callbacks/subscriptions/postTNTUpdate.d.ts +5 -0
  254. package/callbacks/subscriptions/postTNTUpdate.lua +30 -0
  255. package/callbacks/subscriptions/postTearInitLate.d.ts +5 -0
  256. package/callbacks/subscriptions/postTearInitLate.lua +29 -0
  257. package/callbacks/subscriptions/postTearInitVeryLate.d.ts +5 -0
  258. package/callbacks/subscriptions/postTearInitVeryLate.lua +29 -0
  259. package/callbacks/subscriptions/postTransformation.d.ts +5 -0
  260. package/callbacks/subscriptions/postTransformation.lua +29 -0
  261. package/callbacks/subscriptions/postTrinketBreak.d.ts +5 -0
  262. package/callbacks/subscriptions/postTrinketBreak.lua +29 -0
  263. package/callbacks/subscriptions/preBerserkDeath.d.ts +6 -0
  264. package/callbacks/subscriptions/preBerserkDeath.lua +35 -0
  265. package/callbacks/subscriptions/preCustomRevive.d.ts +6 -0
  266. package/callbacks/subscriptions/preCustomRevive.lua +38 -0
  267. package/callbacks/subscriptions/preItemPickup.d.ts +11 -0
  268. package/callbacks/subscriptions/preItemPickup.lua +33 -0
  269. package/callbacks/subscriptions/preNewLevel.d.ts +4 -0
  270. package/callbacks/subscriptions/preNewLevel.lua +22 -0
  271. package/classes/DefaultMap.d.ts +110 -0
  272. package/classes/DefaultMap.lua +135 -0
  273. package/classes/ModUpgraded.d.ts +23 -0
  274. package/classes/ModUpgraded.lua +43 -0
  275. package/constants.d.ts +104 -0
  276. package/constants.lua +86 -0
  277. package/constantsFirstLast.d.ts +130 -0
  278. package/constantsFirstLast.lua +113 -0
  279. package/enums/HealthType.d.ts +16 -0
  280. package/enums/HealthType.lua +24 -0
  281. package/enums/ModCallbackCustom.d.ts +860 -0
  282. package/enums/ModCallbackCustom.lua +159 -0
  283. package/enums/PocketItemType.d.ts +8 -0
  284. package/enums/PocketItemType.lua +15 -0
  285. package/enums/SerializationType.d.ts +5 -0
  286. package/enums/SerializationType.lua +9 -0
  287. package/enums/private/CopyableIsaacAPIClassType.d.ts +7 -0
  288. package/enums/private/CopyableIsaacAPIClassType.lua +8 -0
  289. package/enums/private/SaveDataKey.d.ts +7 -0
  290. package/enums/private/SaveDataKey.lua +11 -0
  291. package/enums/private/SerializationBrand.d.ts +37 -0
  292. package/enums/private/SerializationBrand.lua +17 -0
  293. package/features/characterHealthConversion.d.ts +9 -0
  294. package/features/characterHealthConversion.lua +91 -0
  295. package/features/characterStats.d.ts +19 -0
  296. package/features/characterStats.lua +54 -0
  297. package/features/debugDisplay/debugDisplay.d.ts +2 -0
  298. package/features/debugDisplay/debugDisplay.lua +181 -0
  299. package/features/debugDisplay/exports.d.ts +199 -0
  300. package/features/debugDisplay/exports.lua +223 -0
  301. package/features/debugDisplay/v.d.ts +44 -0
  302. package/features/debugDisplay/v.lua +54 -0
  303. package/features/deployJSONRoom.d.ts +65 -0
  304. package/features/deployJSONRoom.lua +519 -0
  305. package/features/disableInputs.d.ts +62 -0
  306. package/features/disableInputs.lua +134 -0
  307. package/features/disableSound.d.ts +18 -0
  308. package/features/disableSound.lua +62 -0
  309. package/features/extraConsoleCommands/commandsDisplay.d.ts +162 -0
  310. package/features/extraConsoleCommands/commandsDisplay.lua +219 -0
  311. package/features/extraConsoleCommands/commandsSubroutines.d.ts +9 -0
  312. package/features/extraConsoleCommands/commandsSubroutines.lua +129 -0
  313. package/features/extraConsoleCommands/init.d.ts +26 -0
  314. package/features/extraConsoleCommands/init.lua +265 -0
  315. package/features/extraConsoleCommands/listCommands.d.ts +349 -0
  316. package/features/extraConsoleCommands/listCommands.lua +1094 -0
  317. package/features/extraConsoleCommands/v.d.ts +13 -0
  318. package/features/extraConsoleCommands/v.lua +10 -0
  319. package/features/fadeInRemover.d.ts +14 -0
  320. package/features/fadeInRemover.lua +55 -0
  321. package/features/fastReset.d.ts +14 -0
  322. package/features/fastReset.lua +59 -0
  323. package/features/forgottenSwitch.d.ts +5 -0
  324. package/features/forgottenSwitch.lua +32 -0
  325. package/features/getCollectibleItemPoolType.d.ts +7 -0
  326. package/features/getCollectibleItemPoolType.lua +48 -0
  327. package/features/playerInventory.d.ts +23 -0
  328. package/features/playerInventory.lua +147 -0
  329. package/features/ponyDetection.d.ts +6 -0
  330. package/features/ponyDetection.lua +53 -0
  331. package/features/preventCollectibleRotation.d.ts +11 -0
  332. package/features/preventCollectibleRotation.lua +67 -0
  333. package/features/runInNFrames.d.ts +61 -0
  334. package/features/runInNFrames.lua +128 -0
  335. package/features/saveDataManager/constants.d.ts +3 -0
  336. package/features/saveDataManager/constants.lua +5 -0
  337. package/features/saveDataManager/exports.d.ts +131 -0
  338. package/features/saveDataManager/exports.lua +181 -0
  339. package/features/saveDataManager/load.d.ts +4 -0
  340. package/features/saveDataManager/load.lua +66 -0
  341. package/features/saveDataManager/main.d.ts +3 -0
  342. package/features/saveDataManager/main.lua +125 -0
  343. package/features/saveDataManager/maps.d.ts +10 -0
  344. package/features/saveDataManager/maps.lua +11 -0
  345. package/features/saveDataManager/merge.d.ts +24 -0
  346. package/features/saveDataManager/merge.lua +144 -0
  347. package/features/saveDataManager/save.d.ts +4 -0
  348. package/features/saveDataManager/save.lua +44 -0
  349. package/features/saveDataManager/serializationBrand.d.ts +1 -0
  350. package/features/saveDataManager/serializationBrand.lua +17 -0
  351. package/features/sirenHelpers.d.ts +18 -0
  352. package/features/sirenHelpers.lua +82 -0
  353. package/features/taintedLazarusPlayers.d.ts +13 -0
  354. package/features/taintedLazarusPlayers.lua +85 -0
  355. package/featuresInitialized.d.ts +1 -0
  356. package/featuresInitialized.lua +20 -0
  357. package/functions/array.d.ts +141 -0
  358. package/functions/array.lua +354 -0
  359. package/functions/benchmark.d.ts +10 -0
  360. package/functions/benchmark.lua +38 -0
  361. package/functions/bitwise.d.ts +4 -0
  362. package/functions/bitwise.lua +21 -0
  363. package/functions/boss.d.ts +56 -0
  364. package/functions/boss.lua +218 -0
  365. package/functions/cacheFlag.d.ts +8 -0
  366. package/functions/cacheFlag.lua +11 -0
  367. package/functions/cards.d.ts +95 -0
  368. package/functions/cards.lua +234 -0
  369. package/functions/challenges.d.ts +3 -0
  370. package/functions/challenges.lua +10 -0
  371. package/functions/character.d.ts +48 -0
  372. package/functions/character.lua +96 -0
  373. package/functions/charge.d.ts +54 -0
  374. package/functions/charge.lua +162 -0
  375. package/functions/chargeBar.d.ts +12 -0
  376. package/functions/chargeBar.lua +47 -0
  377. package/functions/collectibleCacheFlag.d.ts +23 -0
  378. package/functions/collectibleCacheFlag.lua +80 -0
  379. package/functions/collectibleSet.d.ts +9 -0
  380. package/functions/collectibleSet.lua +54 -0
  381. package/functions/collectibleTag.d.ts +16 -0
  382. package/functions/collectibleTag.lua +83 -0
  383. package/functions/collectibles.d.ts +211 -0
  384. package/functions/collectibles.lua +412 -0
  385. package/functions/color.d.ts +45 -0
  386. package/functions/color.lua +140 -0
  387. package/functions/debug.d.ts +27 -0
  388. package/functions/debug.lua +49 -0
  389. package/functions/deepCopy.d.ts +29 -0
  390. package/functions/deepCopy.lua +382 -0
  391. package/functions/deepCopyTests.d.ts +1 -0
  392. package/functions/deepCopyTests.lua +316 -0
  393. package/functions/direction.d.ts +4 -0
  394. package/functions/direction.lua +17 -0
  395. package/functions/doors.d.ts +117 -0
  396. package/functions/doors.lua +284 -0
  397. package/functions/easing.d.ts +30 -0
  398. package/functions/easing.lua +115 -0
  399. package/functions/eden.d.ts +3 -0
  400. package/functions/eden.lua +47 -0
  401. package/functions/entity.d.ts +131 -0
  402. package/functions/entity.lua +321 -0
  403. package/functions/entitySpecific.d.ts +264 -0
  404. package/functions/entitySpecific.lua +832 -0
  405. package/functions/entityTypes.d.ts +3 -0
  406. package/functions/entityTypes.lua +8 -0
  407. package/functions/enums.d.ts +80 -0
  408. package/functions/enums.lua +147 -0
  409. package/functions/familiars.d.ts +60 -0
  410. package/functions/familiars.lua +85 -0
  411. package/functions/flag.d.ts +99 -0
  412. package/functions/flag.lua +124 -0
  413. package/functions/flying.d.ts +19 -0
  414. package/functions/flying.lua +77 -0
  415. package/functions/globals.d.ts +14 -0
  416. package/functions/globals.lua +236 -0
  417. package/functions/gridEntity.d.ts +155 -0
  418. package/functions/gridEntity.lua +368 -0
  419. package/functions/gridEntitySpecific.d.ts +18 -0
  420. package/functions/gridEntitySpecific.lua +96 -0
  421. package/functions/input.d.ts +32 -0
  422. package/functions/input.lua +117 -0
  423. package/functions/isaacAPIClass.d.ts +23 -0
  424. package/functions/isaacAPIClass.lua +47 -0
  425. package/functions/jsonHelpers.d.ts +18 -0
  426. package/functions/jsonHelpers.lua +37 -0
  427. package/functions/jsonRoom.d.ts +12 -0
  428. package/functions/jsonRoom.lua +91 -0
  429. package/functions/kColor.d.ts +31 -0
  430. package/functions/kColor.lua +110 -0
  431. package/functions/language.d.ts +8 -0
  432. package/functions/language.lua +13 -0
  433. package/functions/level.d.ts +1 -0
  434. package/functions/level.lua +29 -0
  435. package/functions/log.d.ts +78 -0
  436. package/functions/log.lua +547 -0
  437. package/functions/map.d.ts +22 -0
  438. package/functions/map.lua +61 -0
  439. package/functions/math.d.ts +50 -0
  440. package/functions/math.lua +118 -0
  441. package/functions/mergeTests.d.ts +1 -0
  442. package/functions/mergeTests.lua +182 -0
  443. package/functions/npc.d.ts +40 -0
  444. package/functions/npc.lua +128 -0
  445. package/functions/pickupVariants.d.ts +23 -0
  446. package/functions/pickupVariants.lua +48 -0
  447. package/functions/pickups.d.ts +132 -0
  448. package/functions/pickups.lua +474 -0
  449. package/functions/pills.d.ts +69 -0
  450. package/functions/pills.lua +128 -0
  451. package/functions/player.d.ts +296 -0
  452. package/functions/player.lua +777 -0
  453. package/functions/playerDataStructures.d.ts +92 -0
  454. package/functions/playerDataStructures.lua +103 -0
  455. package/functions/playerHealth.d.ts +22 -0
  456. package/functions/playerHealth.lua +296 -0
  457. package/functions/playerIndex.d.ts +68 -0
  458. package/functions/playerIndex.lua +174 -0
  459. package/functions/pocketItems.d.ts +33 -0
  460. package/functions/pocketItems.lua +104 -0
  461. package/functions/positionVelocity.d.ts +64 -0
  462. package/functions/positionVelocity.lua +154 -0
  463. package/functions/random.d.ts +42 -0
  464. package/functions/random.lua +70 -0
  465. package/functions/revive.d.ts +31 -0
  466. package/functions/revive.lua +117 -0
  467. package/functions/rng.d.ts +53 -0
  468. package/functions/rng.lua +148 -0
  469. package/functions/roomData.d.ts +108 -0
  470. package/functions/roomData.lua +160 -0
  471. package/functions/roomGrid.d.ts +40 -0
  472. package/functions/roomGrid.lua +80 -0
  473. package/functions/roomShape.d.ts +43 -0
  474. package/functions/roomShape.lua +67 -0
  475. package/functions/rooms.d.ts +194 -0
  476. package/functions/rooms.lua +482 -0
  477. package/functions/run.d.ts +12 -0
  478. package/functions/run.lua +33 -0
  479. package/functions/seeds.d.ts +9 -0
  480. package/functions/seeds.lua +19 -0
  481. package/functions/serialization.d.ts +11 -0
  482. package/functions/serialization.lua +69 -0
  483. package/functions/set.d.ts +39 -0
  484. package/functions/set.lua +83 -0
  485. package/functions/sound.d.ts +1 -0
  486. package/functions/sound.lua +13 -0
  487. package/functions/spawnCollectible.d.ts +31 -0
  488. package/functions/spawnCollectible.lua +94 -0
  489. package/functions/sprite.d.ts +36 -0
  490. package/functions/sprite.lua +89 -0
  491. package/functions/stage.d.ts +35 -0
  492. package/functions/stage.lua +86 -0
  493. package/functions/string.d.ts +13 -0
  494. package/functions/string.lua +42 -0
  495. package/functions/table.d.ts +36 -0
  496. package/functions/table.lua +98 -0
  497. package/functions/tears.d.ts +22 -0
  498. package/functions/tears.lua +26 -0
  499. package/functions/transformations.d.ts +30 -0
  500. package/functions/transformations.lua +114 -0
  501. package/functions/trinketCacheFlag.d.ts +10 -0
  502. package/functions/trinketCacheFlag.lua +53 -0
  503. package/functions/trinketGive.d.ts +38 -0
  504. package/functions/trinketGive.lua +114 -0
  505. package/functions/trinkets.d.ts +73 -0
  506. package/functions/trinkets.lua +167 -0
  507. package/functions/tstlClass.d.ts +20 -0
  508. package/functions/tstlClass.lua +65 -0
  509. package/functions/ui.d.ts +34 -0
  510. package/functions/ui.lua +111 -0
  511. package/functions/utils.d.ts +113 -0
  512. package/functions/utils.lua +182 -0
  513. package/functions/vector.d.ts +32 -0
  514. package/functions/vector.lua +127 -0
  515. package/index.d.ts +129 -0
  516. package/index.lua +900 -0
  517. package/initCustomCallbacks.d.ts +2 -0
  518. package/initCustomCallbacks.lua +178 -0
  519. package/initFeatures.d.ts +3 -0
  520. package/initFeatures.lua +51 -0
  521. package/interfaces/AddCallbackParameterCustom.d.ts +153 -0
  522. package/interfaces/AddCallbackParameterCustom.lua +4 -0
  523. package/interfaces/ChargeBarSprites.d.ts +13 -0
  524. package/interfaces/ChargeBarSprites.lua +2 -0
  525. package/interfaces/JSONDoor.d.ts +11 -0
  526. package/interfaces/JSONDoor.lua +2 -0
  527. package/interfaces/JSONEntity.d.ts +13 -0
  528. package/interfaces/JSONEntity.lua +2 -0
  529. package/interfaces/JSONRoom.d.ts +26 -0
  530. package/interfaces/JSONRoom.lua +2 -0
  531. package/interfaces/JSONRooms.d.ts +11 -0
  532. package/interfaces/JSONRooms.lua +2 -0
  533. package/interfaces/JSONSpawn.d.ts +11 -0
  534. package/interfaces/JSONSpawn.lua +2 -0
  535. package/interfaces/PlayerHealth.d.ts +15 -0
  536. package/interfaces/PlayerHealth.lua +2 -0
  537. package/interfaces/PocketItemDescription.d.ts +8 -0
  538. package/interfaces/PocketItemDescription.lua +2 -0
  539. package/interfaces/SaveData.d.ts +29 -0
  540. package/interfaces/SaveData.lua +2 -0
  541. package/interfaces/TrinketSituation.d.ts +8 -0
  542. package/interfaces/TrinketSituation.lua +2 -0
  543. package/interfaces/private/TSTLClassMetatable.d.ts +10 -0
  544. package/interfaces/private/TSTLClassMetatable.lua +2 -0
  545. package/lualib_bundle.lua +2475 -0
  546. package/maps/cardMap.d.ts +3 -0
  547. package/maps/cardMap.lua +212 -0
  548. package/maps/characterMap.d.ts +3 -0
  549. package/maps/characterMap.lua +90 -0
  550. package/maps/collectibleDescriptionMap.d.ts +3 -0
  551. package/maps/collectibleDescriptionMap.lua +728 -0
  552. package/maps/collectibleNameMap.d.ts +3 -0
  553. package/maps/collectibleNameMap.lua +728 -0
  554. package/maps/defaultPlayerStatMap.d.ts +3 -0
  555. package/maps/defaultPlayerStatMap.lua +25 -0
  556. package/maps/gridEntityTypeToBrokenStateMap.d.ts +2 -0
  557. package/maps/gridEntityTypeToBrokenStateMap.lua +26 -0
  558. package/maps/gridEntityXMLMap.d.ts +9 -0
  559. package/maps/gridEntityXMLMap.lua +53 -0
  560. package/maps/pillEffectMap.d.ts +3 -0
  561. package/maps/pillEffectMap.lua +90 -0
  562. package/maps/roomShapeToTopLeftWallGridIndexMap.d.ts +7 -0
  563. package/maps/roomShapeToTopLeftWallGridIndexMap.lua +17 -0
  564. package/maps/roomTypeMap.d.ts +3 -0
  565. package/maps/roomTypeMap.lua +45 -0
  566. package/maps/trinketDescriptionMap.d.ts +3 -0
  567. package/maps/trinketDescriptionMap.lua +196 -0
  568. package/maps/trinketNameMap.d.ts +3 -0
  569. package/maps/trinketNameMap.lua +196 -0
  570. package/objects/LRoomShapeToRectangles.d.ts +13 -0
  571. package/objects/LRoomShapeToRectangles.lua +35 -0
  572. package/objects/callbackRegisterFunctions.d.ts +5 -0
  573. package/objects/callbackRegisterFunctions.lua +231 -0
  574. package/objects/cardDescriptions.d.ts +5 -0
  575. package/objects/cardDescriptions.lua +105 -0
  576. package/objects/cardNames.d.ts +5 -0
  577. package/objects/cardNames.lua +105 -0
  578. package/objects/cardTypes.d.ts +5 -0
  579. package/objects/cardTypes.lua +106 -0
  580. package/objects/challengeNames.d.ts +5 -0
  581. package/objects/challengeNames.lua +53 -0
  582. package/objects/characterNames.d.ts +5 -0
  583. package/objects/characterNames.lua +49 -0
  584. package/objects/coinSubTypeToValue.d.ts +5 -0
  585. package/objects/coinSubTypeToValue.lua +15 -0
  586. package/objects/colors.d.ts +17 -0
  587. package/objects/colors.lua +16 -0
  588. package/objects/directionNames.d.ts +4 -0
  589. package/objects/directionNames.lua +11 -0
  590. package/objects/directionToDegrees.d.ts +4 -0
  591. package/objects/directionToDegrees.lua +11 -0
  592. package/objects/directionToVector.d.ts +4 -0
  593. package/objects/directionToVector.lua +13 -0
  594. package/objects/doorSlotFlagToDoorSlot.d.ts +5 -0
  595. package/objects/doorSlotFlagToDoorSlot.lua +16 -0
  596. package/objects/doorSlotToDirection.d.ts +4 -0
  597. package/objects/doorSlotToDirection.lua +16 -0
  598. package/objects/isaacAPIClassTypeToBrand.d.ts +5 -0
  599. package/objects/isaacAPIClassTypeToBrand.lua +7 -0
  600. package/objects/isaacAPIClassTypeToCopyFunction.d.ts +5 -0
  601. package/objects/isaacAPIClassTypeToCopyFunction.lua +13 -0
  602. package/objects/languageNames.d.ts +4 -0
  603. package/objects/languageNames.lua +13 -0
  604. package/objects/pillEffectClasses.d.ts +5 -0
  605. package/objects/pillEffectClasses.lua +59 -0
  606. package/objects/pillEffectNames.d.ts +5 -0
  607. package/objects/pillEffectNames.lua +57 -0
  608. package/objects/pillEffectTypes.d.ts +5 -0
  609. package/objects/pillEffectTypes.lua +58 -0
  610. package/objects/roomShapeBounds.d.ts +8 -0
  611. package/objects/roomShapeBounds.lua +26 -0
  612. package/objects/roomShapeLayoutSizes.d.ts +10 -0
  613. package/objects/roomShapeLayoutSizes.lua +29 -0
  614. package/objects/roomShapeToBottomRightPosition.d.ts +8 -0
  615. package/objects/roomShapeToBottomRightPosition.lua +22 -0
  616. package/objects/roomShapeToDoorSlots.d.ts +4 -0
  617. package/objects/roomShapeToDoorSlots.lua +46 -0
  618. package/objects/roomShapeToDoorSlotsToGridIndexDelta.d.ts +8 -0
  619. package/objects/roomShapeToDoorSlotsToGridIndexDelta.lua +89 -0
  620. package/objects/roomShapeToGridWidth.d.ts +4 -0
  621. package/objects/roomShapeToGridWidth.lua +20 -0
  622. package/objects/roomShapeToTopLeftPosition.d.ts +8 -0
  623. package/objects/roomShapeToTopLeftPosition.lua +24 -0
  624. package/objects/roomShapeVolumes.d.ts +13 -0
  625. package/objects/roomShapeVolumes.lua +30 -0
  626. package/objects/roomTypeNames.d.ts +5 -0
  627. package/objects/roomTypeNames.lua +37 -0
  628. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts +4 -0
  629. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +13 -0
  630. package/objects/stageTypeToLetter.d.ts +4 -0
  631. package/objects/stageTypeToLetter.lua +12 -0
  632. package/objects/transformationNames.d.ts +5 -0
  633. package/objects/transformationNames.lua +21 -0
  634. package/package.json +3 -4
  635. package/patchErrorFunctions.d.ts +1 -0
  636. package/patchErrorFunctions.lua +58 -0
  637. package/sets/LRoomShapesSet.d.ts +2 -0
  638. package/sets/LRoomShapesSet.lua +8 -0
  639. package/sets/bossSets.d.ts +4 -0
  640. package/sets/bossSets.lua +554 -0
  641. package/sets/charactersThatStartWithAnActiveItemSet.d.ts +2 -0
  642. package/sets/charactersThatStartWithAnActiveItemSet.lua +20 -0
  643. package/sets/charactersWithBlackHeartFromEternalHeartSet.d.ts +2 -0
  644. package/sets/charactersWithBlackHeartFromEternalHeartSet.lua +8 -0
  645. package/sets/charactersWithFreeDevilDealsSet.d.ts +2 -0
  646. package/sets/charactersWithFreeDevilDealsSet.lua +8 -0
  647. package/sets/charactersWithNoRedHeartsSet.d.ts +6 -0
  648. package/sets/charactersWithNoRedHeartsSet.lua +19 -0
  649. package/sets/charactersWithNoSoulHeartsSet.d.ts +6 -0
  650. package/sets/charactersWithNoSoulHeartsSet.lua +16 -0
  651. package/sets/chestPickupVariantsSet.d.ts +2 -0
  652. package/sets/chestPickupVariantsSet.lua +21 -0
  653. package/sets/familiarsThatShootPlayerTearsSet.d.ts +2 -0
  654. package/sets/familiarsThatShootPlayerTearsSet.lua +17 -0
  655. package/sets/lostStyleCharactersSet.d.ts +6 -0
  656. package/sets/lostStyleCharactersSet.lua +16 -0
  657. package/sets/mineShaftRoomSubTypesSet.d.ts +2 -0
  658. package/sets/mineShaftRoomSubTypesSet.lua +14 -0
  659. package/sets/redHeartSubTypesSet.d.ts +2 -0
  660. package/sets/redHeartSubTypesSet.lua +8 -0
  661. package/sets/sinEntityTypesSet.d.ts +2 -0
  662. package/sets/sinEntityTypesSet.lua +16 -0
  663. package/sets/singleUseActiveCollectibleTypesSet.d.ts +2 -0
  664. package/sets/singleUseActiveCollectibleTypesSet.lua +17 -0
  665. package/sets/storyBossesSet.d.ts +2 -0
  666. package/sets/storyBossesSet.lua +22 -0
  667. package/types/AnyEntity.d.ts +2 -0
  668. package/types/AnyEntity.lua +2 -0
  669. package/types/CollectibleIndex.d.ts +16 -0
  670. package/types/CollectibleIndex.lua +2 -0
  671. package/types/PickingUpItem.d.ts +34 -0
  672. package/types/PickingUpItem.lua +34 -0
  673. package/types/PlayerIndex.d.ts +16 -0
  674. package/types/PlayerIndex.lua +2 -0
  675. package/types/private/IsaacAPIClass.d.ts +4 -0
  676. package/types/private/IsaacAPIClass.lua +2 -0
  677. package/types/private/SerializedIsaacAPIClass.d.ts +4 -0
  678. package/types/private/SerializedIsaacAPIClass.lua +2 -0
  679. package/types/private/TSTLClass.d.ts +4 -0
  680. package/types/private/TSTLClass.lua +2 -0
  681. package/upgradeMod.d.ts +23 -0
  682. package/upgradeMod.lua +51 -0
  683. package/.eslintrc.js +0 -70
  684. package/build.sh +0 -27
  685. package/docs.sh +0 -21
  686. package/lint.sh +0 -34
  687. package/project.json +0 -37
  688. package/release.sh +0 -16
  689. package/scripts/.eslintrc.js +0 -21
  690. package/scripts/docsEntryPointLint.ts +0 -135
  691. package/scripts/tsconfig.json +0 -5
  692. package/src/cachedClasses.ts +0 -39
  693. package/src/callbacks/customRevive.ts +0 -206
  694. package/src/callbacks/itemPickup.ts +0 -101
  695. package/src/callbacks/postBombInitLate.ts +0 -36
  696. package/src/callbacks/postBoneSwing.ts +0 -64
  697. package/src/callbacks/postCollectibleInitFirst.ts +0 -39
  698. package/src/callbacks/postCursedTeleport.ts +0 -183
  699. package/src/callbacks/postCustomDoorEnter.ts +0 -297
  700. package/src/callbacks/postDoorRender.ts +0 -26
  701. package/src/callbacks/postDoorUpdate.ts +0 -26
  702. package/src/callbacks/postEffectInitLate.ts +0 -36
  703. package/src/callbacks/postEffectStateChanged.ts +0 -43
  704. package/src/callbacks/postEsauJr.ts +0 -107
  705. package/src/callbacks/postFamiliarInitLate.ts +0 -36
  706. package/src/callbacks/postFamiliarStateChanged.ts +0 -43
  707. package/src/callbacks/postFlip.ts +0 -88
  708. package/src/callbacks/postGreedModeWave.ts +0 -41
  709. package/src/callbacks/postGridEntity.ts +0 -159
  710. package/src/callbacks/postGridEntityCollision.ts +0 -69
  711. package/src/callbacks/postGridEntityRender.ts +0 -26
  712. package/src/callbacks/postHolyMantleRemoved.ts +0 -55
  713. package/src/callbacks/postItemDischarged.ts +0 -149
  714. package/src/callbacks/postKnifeInitLate.ts +0 -36
  715. package/src/callbacks/postLaserInitLate.ts +0 -36
  716. package/src/callbacks/postNPCInitLate.ts +0 -36
  717. package/src/callbacks/postNPCStateChanged.ts +0 -42
  718. package/src/callbacks/postNewRoomEarly.ts +0 -90
  719. package/src/callbacks/postPickupCollect.ts +0 -48
  720. package/src/callbacks/postPickupInitLate.ts +0 -36
  721. package/src/callbacks/postPickupStateChanged.ts +0 -43
  722. package/src/callbacks/postPitRender.ts +0 -26
  723. package/src/callbacks/postPitUpdate.ts +0 -26
  724. package/src/callbacks/postPlayerChangeHealth.ts +0 -62
  725. package/src/callbacks/postPlayerChangeType.ts +0 -56
  726. package/src/callbacks/postPlayerFatalDamage.ts +0 -98
  727. package/src/callbacks/postPlayerInitLate.ts +0 -37
  728. package/src/callbacks/postPlayerReordered.ts +0 -142
  729. package/src/callbacks/postPoopRender.ts +0 -26
  730. package/src/callbacks/postPoopUpdate.ts +0 -26
  731. package/src/callbacks/postPressurePlateRender.ts +0 -26
  732. package/src/callbacks/postPressurePlateUpdate.ts +0 -26
  733. package/src/callbacks/postProjectileInitLate.ts +0 -36
  734. package/src/callbacks/postPurchase.ts +0 -64
  735. package/src/callbacks/postRockRender.ts +0 -26
  736. package/src/callbacks/postRockUpdate.ts +0 -26
  737. package/src/callbacks/postRoomClearChanged.ts +0 -52
  738. package/src/callbacks/postSacrifice.ts +0 -62
  739. package/src/callbacks/postSlotInitUpdate.ts +0 -63
  740. package/src/callbacks/postSlotRender.ts +0 -96
  741. package/src/callbacks/postSpikesRender.ts +0 -26
  742. package/src/callbacks/postSpikesUpdate.ts +0 -26
  743. package/src/callbacks/postTNTRender.ts +0 -26
  744. package/src/callbacks/postTNTUpdate.ts +0 -26
  745. package/src/callbacks/postTearInitLate.ts +0 -36
  746. package/src/callbacks/postTearInitVeryLate.ts +0 -41
  747. package/src/callbacks/postTransformation.ts +0 -59
  748. package/src/callbacks/postTrinketBreak.ts +0 -110
  749. package/src/callbacks/preBerserkDeath.ts +0 -49
  750. package/src/callbacks/preNewLevel.ts +0 -55
  751. package/src/callbacks/reorderedCallbacks.ts +0 -166
  752. package/src/callbacks/subscriptions/postBombInitLate.ts +0 -32
  753. package/src/callbacks/subscriptions/postBoneSwing.ts +0 -24
  754. package/src/callbacks/subscriptions/postCollectibleInitFirst.ts +0 -37
  755. package/src/callbacks/subscriptions/postCursedTeleport.ts +0 -24
  756. package/src/callbacks/subscriptions/postCustomDoorEnter.ts +0 -45
  757. package/src/callbacks/subscriptions/postCustomRevive.ts +0 -36
  758. package/src/callbacks/subscriptions/postDoorRender.ts +0 -35
  759. package/src/callbacks/subscriptions/postDoorUpdate.ts +0 -35
  760. package/src/callbacks/subscriptions/postEffectInitLate.ts +0 -32
  761. package/src/callbacks/subscriptions/postEffectStateChanged.ts +0 -40
  762. package/src/callbacks/subscriptions/postEsauJr.ts +0 -24
  763. package/src/callbacks/subscriptions/postFamiliarInitLate.ts +0 -32
  764. package/src/callbacks/subscriptions/postFamiliarStateChanged.ts +0 -40
  765. package/src/callbacks/subscriptions/postFirstEsauJr.ts +0 -24
  766. package/src/callbacks/subscriptions/postFirstFlip.ts +0 -24
  767. package/src/callbacks/subscriptions/postFlip.ts +0 -22
  768. package/src/callbacks/subscriptions/postGameStartedReordered.ts +0 -24
  769. package/src/callbacks/subscriptions/postGreedModeWave.ts +0 -24
  770. package/src/callbacks/subscriptions/postGridEntityBroken.ts +0 -51
  771. package/src/callbacks/subscriptions/postGridEntityCollision.ts +0 -54
  772. package/src/callbacks/subscriptions/postGridEntityInit.ts +0 -51
  773. package/src/callbacks/subscriptions/postGridEntityRemove.ts +0 -52
  774. package/src/callbacks/subscriptions/postGridEntityRender.ts +0 -51
  775. package/src/callbacks/subscriptions/postGridEntityStateChanged.ts +0 -55
  776. package/src/callbacks/subscriptions/postGridEntityUpdate.ts +0 -51
  777. package/src/callbacks/subscriptions/postHolyMantleRemoved.ts +0 -48
  778. package/src/callbacks/subscriptions/postItemDischarged.ts +0 -43
  779. package/src/callbacks/subscriptions/postItemPickup.ts +0 -64
  780. package/src/callbacks/subscriptions/postKnifeInitLate.ts +0 -32
  781. package/src/callbacks/subscriptions/postLaserInitLate.ts +0 -32
  782. package/src/callbacks/subscriptions/postNPCInitLate.ts +0 -32
  783. package/src/callbacks/subscriptions/postNPCStateChanged.ts +0 -42
  784. package/src/callbacks/subscriptions/postNewLevelReordered.ts +0 -22
  785. package/src/callbacks/subscriptions/postNewRoomEarly.ts +0 -22
  786. package/src/callbacks/subscriptions/postNewRoomReordered.ts +0 -22
  787. package/src/callbacks/subscriptions/postPEffectUpdateReordered.ts +0 -40
  788. package/src/callbacks/subscriptions/postPickupCollect.ts +0 -34
  789. package/src/callbacks/subscriptions/postPickupInitLate.ts +0 -31
  790. package/src/callbacks/subscriptions/postPickupStateChanged.ts +0 -35
  791. package/src/callbacks/subscriptions/postPitRender.ts +0 -35
  792. package/src/callbacks/subscriptions/postPitUpdate.ts +0 -35
  793. package/src/callbacks/subscriptions/postPlayerChangeHealth.ts +0 -45
  794. package/src/callbacks/subscriptions/postPlayerChangeType.ts +0 -40
  795. package/src/callbacks/subscriptions/postPlayerFatalDamage.ts +0 -67
  796. package/src/callbacks/subscriptions/postPlayerInitLate.ts +0 -40
  797. package/src/callbacks/subscriptions/postPlayerInitReordered.ts +0 -40
  798. package/src/callbacks/subscriptions/postPlayerRenderReordered.ts +0 -40
  799. package/src/callbacks/subscriptions/postPlayerUpdateReordered.ts +0 -40
  800. package/src/callbacks/subscriptions/postPoopRender.ts +0 -35
  801. package/src/callbacks/subscriptions/postPoopUpdate.ts +0 -35
  802. package/src/callbacks/subscriptions/postPressurePlateRender.ts +0 -37
  803. package/src/callbacks/subscriptions/postPressurePlateUpdate.ts +0 -37
  804. package/src/callbacks/subscriptions/postProjectileInitLate.ts +0 -35
  805. package/src/callbacks/subscriptions/postPurchase.ts +0 -31
  806. package/src/callbacks/subscriptions/postRockRender.ts +0 -35
  807. package/src/callbacks/subscriptions/postRockUpdate.ts +0 -35
  808. package/src/callbacks/subscriptions/postRoomClearChanged.ts +0 -24
  809. package/src/callbacks/subscriptions/postSacrifice.ts +0 -43
  810. package/src/callbacks/subscriptions/postSlotAnimationChanged.ts +0 -40
  811. package/src/callbacks/subscriptions/postSlotDestroyed.ts +0 -32
  812. package/src/callbacks/subscriptions/postSlotInit.ts +0 -32
  813. package/src/callbacks/subscriptions/postSlotRender.ts +0 -32
  814. package/src/callbacks/subscriptions/postSlotUpdate.ts +0 -32
  815. package/src/callbacks/subscriptions/postSpikesRender.ts +0 -35
  816. package/src/callbacks/subscriptions/postSpikesUpdate.ts +0 -35
  817. package/src/callbacks/subscriptions/postTNTRender.ts +0 -35
  818. package/src/callbacks/subscriptions/postTNTUpdate.ts +0 -35
  819. package/src/callbacks/subscriptions/postTearInitLate.ts +0 -32
  820. package/src/callbacks/subscriptions/postTearInitVeryLate.ts +0 -32
  821. package/src/callbacks/subscriptions/postTransformation.ts +0 -40
  822. package/src/callbacks/subscriptions/postTrinketBreak.ts +0 -38
  823. package/src/callbacks/subscriptions/preBerserkDeath.ts +0 -42
  824. package/src/callbacks/subscriptions/preCustomRevive.ts +0 -45
  825. package/src/callbacks/subscriptions/preItemPickup.ts +0 -64
  826. package/src/callbacks/subscriptions/preNewLevel.ts +0 -24
  827. package/src/classes/DefaultMap.ts +0 -220
  828. package/src/classes/ModUpgraded.ts +0 -83
  829. package/src/constants.ts +0 -140
  830. package/src/constantsFirstLast.ts +0 -212
  831. package/src/enums/HealthType.ts +0 -16
  832. package/src/enums/ModCallbackCustom.ts +0 -943
  833. package/src/enums/PocketItemType.ts +0 -8
  834. package/src/enums/SerializationType.ts +0 -5
  835. package/src/enums/private/CopyableIsaacAPIClassType.ts +0 -7
  836. package/src/enums/private/SaveDataKey.ts +0 -14
  837. package/src/enums/private/SerializationBrand.ts +0 -42
  838. package/src/features/characterHealthConversion.ts +0 -116
  839. package/src/features/characterStats.ts +0 -61
  840. package/src/features/debugDisplay/debugDisplay.ts +0 -221
  841. package/src/features/debugDisplay/exports.ts +0 -368
  842. package/src/features/debugDisplay/v.ts +0 -65
  843. package/src/features/deployJSONRoom.ts +0 -672
  844. package/src/features/disableInputs.ts +0 -193
  845. package/src/features/disableSound.ts +0 -77
  846. package/src/features/extraConsoleCommands/commandsDisplay.ts +0 -290
  847. package/src/features/extraConsoleCommands/commandsSubroutines.ts +0 -139
  848. package/src/features/extraConsoleCommands/init.ts +0 -334
  849. package/src/features/extraConsoleCommands/listCommands.ts +0 -1298
  850. package/src/features/extraConsoleCommands/v.ts +0 -14
  851. package/src/features/fadeInRemover.ts +0 -60
  852. package/src/features/fastReset.ts +0 -75
  853. package/src/features/forgottenSwitch.ts +0 -50
  854. package/src/features/getCollectibleItemPoolType.ts +0 -66
  855. package/src/features/playerInventory.ts +0 -187
  856. package/src/features/ponyDetection.ts +0 -74
  857. package/src/features/preventCollectibleRotation.ts +0 -113
  858. package/src/features/runInNFrames.ts +0 -148
  859. package/src/features/saveDataManager/constants.ts +0 -4
  860. package/src/features/saveDataManager/exports.ts +0 -230
  861. package/src/features/saveDataManager/load.ts +0 -90
  862. package/src/features/saveDataManager/main.ts +0 -187
  863. package/src/features/saveDataManager/maps.ts +0 -13
  864. package/src/features/saveDataManager/merge.ts +0 -182
  865. package/src/features/saveDataManager/save.ts +0 -66
  866. package/src/features/saveDataManager/serializationBrand.ts +0 -15
  867. package/src/features/sirenHelpers.ts +0 -129
  868. package/src/features/taintedLazarusPlayers.ts +0 -113
  869. package/src/featuresInitialized.ts +0 -20
  870. package/src/functions/array.ts +0 -412
  871. package/src/functions/benchmark.ts +0 -36
  872. package/src/functions/bitwise.ts +0 -24
  873. package/src/functions/boss.ts +0 -227
  874. package/src/functions/cacheFlag.ts +0 -12
  875. package/src/functions/cards.ts +0 -267
  876. package/src/functions/challenges.ts +0 -11
  877. package/src/functions/character.ts +0 -124
  878. package/src/functions/charge.ts +0 -237
  879. package/src/functions/chargeBar.ts +0 -67
  880. package/src/functions/collectibleCacheFlag.ts +0 -90
  881. package/src/functions/collectibleSet.ts +0 -57
  882. package/src/functions/collectibleTag.ts +0 -89
  883. package/src/functions/collectibles.ts +0 -610
  884. package/src/functions/color.ts +0 -149
  885. package/src/functions/debug.ts +0 -65
  886. package/src/functions/deepCopy.ts +0 -508
  887. package/src/functions/deepCopyTests.ts +0 -390
  888. package/src/functions/direction.ts +0 -16
  889. package/src/functions/doors.ts +0 -343
  890. package/src/functions/easing.ts +0 -182
  891. package/src/functions/eden.ts +0 -47
  892. package/src/functions/entity.ts +0 -352
  893. package/src/functions/entitySpecific.ts +0 -889
  894. package/src/functions/entityTypes.ts +0 -6
  895. package/src/functions/enums.ts +0 -145
  896. package/src/functions/familiars.ts +0 -106
  897. package/src/functions/flag.ts +0 -165
  898. package/src/functions/flying.ts +0 -117
  899. package/src/functions/globals.ts +0 -249
  900. package/src/functions/gridEntity.ts +0 -511
  901. package/src/functions/gridEntitySpecific.ts +0 -112
  902. package/src/functions/input.ts +0 -139
  903. package/src/functions/isaacAPIClass.ts +0 -65
  904. package/src/functions/jsonHelpers.ts +0 -45
  905. package/src/functions/jsonRoom.ts +0 -100
  906. package/src/functions/kColor.ts +0 -130
  907. package/src/functions/language.ts +0 -13
  908. package/src/functions/level.ts +0 -31
  909. package/src/functions/log.ts +0 -660
  910. package/src/functions/map.ts +0 -56
  911. package/src/functions/math.ts +0 -149
  912. package/src/functions/mergeTests.ts +0 -288
  913. package/src/functions/npc.ts +0 -148
  914. package/src/functions/pickupVariants.ts +0 -60
  915. package/src/functions/pickups.ts +0 -449
  916. package/src/functions/pills.ts +0 -182
  917. package/src/functions/player.ts +0 -975
  918. package/src/functions/playerDataStructures.ts +0 -150
  919. package/src/functions/playerHealth.ts +0 -318
  920. package/src/functions/playerIndex.ts +0 -195
  921. package/src/functions/pocketItems.ts +0 -149
  922. package/src/functions/positionVelocity.ts +0 -188
  923. package/src/functions/random.ts +0 -77
  924. package/src/functions/revive.ts +0 -201
  925. package/src/functions/rng.ts +0 -177
  926. package/src/functions/roomData.ts +0 -199
  927. package/src/functions/roomGrid.ts +0 -109
  928. package/src/functions/roomShape.ts +0 -80
  929. package/src/functions/rooms.ts +0 -667
  930. package/src/functions/run.ts +0 -36
  931. package/src/functions/seeds.ts +0 -19
  932. package/src/functions/serialization.ts +0 -97
  933. package/src/functions/set.ts +0 -95
  934. package/src/functions/sound.ts +0 -9
  935. package/src/functions/spawnCollectible.ts +0 -104
  936. package/src/functions/sprite.ts +0 -107
  937. package/src/functions/stage.ts +0 -125
  938. package/src/functions/string.ts +0 -47
  939. package/src/functions/table.ts +0 -139
  940. package/src/functions/tears.ts +0 -32
  941. package/src/functions/transformations.ts +0 -137
  942. package/src/functions/trinketCacheFlag.ts +0 -60
  943. package/src/functions/trinketGive.ts +0 -157
  944. package/src/functions/trinkets.ts +0 -215
  945. package/src/functions/tstlClass.ts +0 -91
  946. package/src/functions/ui.ts +0 -138
  947. package/src/functions/utils.ts +0 -200
  948. package/src/functions/vector.ts +0 -145
  949. package/src/index.ts +0 -162
  950. package/src/initCustomCallbacks.ts +0 -120
  951. package/src/initFeatures.ts +0 -37
  952. package/src/interfaces/AddCallbackParameterCustom.ts +0 -174
  953. package/src/interfaces/ChargeBarSprites.ts +0 -12
  954. package/src/interfaces/JSONDoor.ts +0 -13
  955. package/src/interfaces/JSONEntity.ts +0 -16
  956. package/src/interfaces/JSONRoom.ts +0 -36
  957. package/src/interfaces/JSONRooms.ts +0 -12
  958. package/src/interfaces/JSONSpawn.ts +0 -14
  959. package/src/interfaces/PlayerHealth.ts +0 -16
  960. package/src/interfaces/PocketItemDescription.ts +0 -9
  961. package/src/interfaces/SaveData.ts +0 -29
  962. package/src/interfaces/TrinketSituation.ts +0 -9
  963. package/src/interfaces/private/TSTLClassMetatable.ts +0 -8
  964. package/src/maps/cardMap.ts +0 -209
  965. package/src/maps/characterMap.ts +0 -87
  966. package/src/maps/collectibleDescriptionMap.ts +0 -732
  967. package/src/maps/collectibleNameMap.ts +0 -731
  968. package/src/maps/defaultPlayerStatMap.ts +0 -17
  969. package/src/maps/gridEntityTypeToBrokenStateMap.ts +0 -50
  970. package/src/maps/gridEntityXMLMap.ts +0 -176
  971. package/src/maps/pillEffectMap.ts +0 -88
  972. package/src/maps/roomShapeToTopLeftWallGridIndexMap.ts +0 -18
  973. package/src/maps/roomTypeMap.ts +0 -40
  974. package/src/maps/trinketDescriptionMap.ts +0 -200
  975. package/src/maps/trinketNameMap.ts +0 -198
  976. package/src/objects/LRoomShapeToRectangles.ts +0 -44
  977. package/src/objects/callbackRegisterFunctions.ts +0 -171
  978. package/src/objects/cardDescriptions.ts +0 -105
  979. package/src/objects/cardNames.ts +0 -105
  980. package/src/objects/cardTypes.ts +0 -104
  981. package/src/objects/challengeNames.ts +0 -52
  982. package/src/objects/characterNames.ts +0 -48
  983. package/src/objects/coinSubTypeToValue.ts +0 -14
  984. package/src/objects/colors.ts +0 -16
  985. package/src/objects/directionNames.ts +0 -11
  986. package/src/objects/directionToDegrees.ts +0 -11
  987. package/src/objects/directionToVector.ts +0 -12
  988. package/src/objects/doorSlotFlagToDoorSlot.ts +0 -16
  989. package/src/objects/doorSlotToDirection.ts +0 -14
  990. package/src/objects/isaacAPIClassTypeToBrand.ts +0 -11
  991. package/src/objects/isaacAPIClassTypeToCopyFunction.ts +0 -18
  992. package/src/objects/languageNames.ts +0 -13
  993. package/src/objects/pillEffectClasses.ts +0 -63
  994. package/src/objects/pillEffectNames.ts +0 -57
  995. package/src/objects/pillEffectTypes.ts +0 -62
  996. package/src/objects/roomShapeBounds.ts +0 -71
  997. package/src/objects/roomShapeLayoutSizes.ts +0 -45
  998. package/src/objects/roomShapeToBottomRightPosition.ts +0 -25
  999. package/src/objects/roomShapeToDoorSlots.ts +0 -83
  1000. package/src/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +0 -127
  1001. package/src/objects/roomShapeToGridWidth.ts +0 -21
  1002. package/src/objects/roomShapeToTopLeftPosition.ts +0 -26
  1003. package/src/objects/roomShapeVolumes.ts +0 -38
  1004. package/src/objects/roomTypeNames.ts +0 -36
  1005. package/src/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +0 -14
  1006. package/src/objects/stageTypeToLetter.ts +0 -15
  1007. package/src/objects/transformationNames.ts +0 -20
  1008. package/src/patchErrorFunctions.ts +0 -92
  1009. package/src/sets/LRoomShapesSet.ts +0 -8
  1010. package/src/sets/bossSets.ts +0 -470
  1011. package/src/sets/charactersThatStartWithAnActiveItemSet.ts +0 -16
  1012. package/src/sets/charactersWithBlackHeartFromEternalHeartSet.ts +0 -7
  1013. package/src/sets/charactersWithFreeDevilDealsSet.ts +0 -4
  1014. package/src/sets/charactersWithNoRedHeartsSet.ts +0 -17
  1015. package/src/sets/charactersWithNoSoulHeartsSet.ts +0 -14
  1016. package/src/sets/chestPickupVariantsSet.ts +0 -16
  1017. package/src/sets/familiarsThatShootPlayerTearsSet.ts +0 -13
  1018. package/src/sets/lostStyleCharactersSet.ts +0 -13
  1019. package/src/sets/mineShaftRoomSubTypesSet.ts +0 -10
  1020. package/src/sets/redHeartSubTypesSet.ts +0 -7
  1021. package/src/sets/sinEntityTypesSet.ts +0 -11
  1022. package/src/sets/singleUseActiveCollectibleTypesSet.ts +0 -13
  1023. package/src/sets/storyBossesSet.ts +0 -17
  1024. package/src/types/AnyEntity.ts +0 -12
  1025. package/src/types/AwaitingTextInput.d.ts +0 -2
  1026. package/src/types/CollectibleIndex.ts +0 -14
  1027. package/src/types/PickingUpItem.ts +0 -89
  1028. package/src/types/PlayerIndex.ts +0 -13
  1029. package/src/types/private/IsaacAPIClass.ts +0 -3
  1030. package/src/types/private/SerializedIsaacAPIClass.ts +0 -3
  1031. package/src/types/private/TSTLClass.ts +0 -3
  1032. package/src/upgradeMod.ts +0 -55
  1033. package/tsconfig.json +0 -42
  1034. package/typedoc.json +0 -158
  1035. package/website-root.md +0 -11
@@ -0,0 +1,860 @@
1
+ /**
2
+ * - The Isaac API offers a lot of callbacks, but a lot of times there isn't one for the specific
3
+ * thing that you are looking to do. So, `isaacscript-common` adds a bunch of new callbacks that
4
+ * you can use.
5
+ * - The extra callbacks are efficient such that no code is executed until there is one or more
6
+ * subscriptions.
7
+ * - You must upgrade your mod with the `upgradeMod` helper function before using a custom callback.
8
+ */
9
+ export declare enum ModCallbackCustom {
10
+ /**
11
+ * Fires on the first `MC_POST_BOMB_UPDATE` frame for each bomb.
12
+ *
13
+ * This callback is useful because many attributes cannot be set or retrieved properly in the
14
+ * normal `MC_POST_BOMB_INIT` callback.
15
+ *
16
+ * When registering the callback, takes an optional second argument that will make the callback
17
+ * only fire if the bomb variant matches the `BombVariant` provided.
18
+ *
19
+ * ```ts
20
+ * function postBombInitLate(bomb: EntityBomb): void {}
21
+ * ```
22
+ */
23
+ POST_BOMB_INIT_LATE = 0,
24
+ /**
25
+ * Fires from the `MC_POST_RENDER` callback when one of Forgotten's bone clubs is swung or thrown.
26
+ *
27
+ * ```ts
28
+ * function postBoneSwing(boneClub: EntityKnife): void {}
29
+ * ```
30
+ */
31
+ POST_BONE_SWING = 1,
32
+ /**
33
+ * Fires from the `MC_POST_PICKUP_INIT` callback on the first time that a player has seen the
34
+ * respective collectible on the run. For more details on how this is calculated, see the
35
+ * documentation for the `getCollectibleIndex` helper function.
36
+ *
37
+ * This callback is useful because collectibles will despawn upon leaving the room and respawn
38
+ * upon re-entering the room. Additionally, when playing as Tainted Isaac, the
39
+ * `MC_POST_PICKUP_INIT` callback will fire every time the item shifts.
40
+ *
41
+ * When registering the callback, takes an optional second argument that will make the callback
42
+ * only fire if the collectible type matches the `CollectibleType` provided.
43
+ *
44
+ * ```ts
45
+ * function postCollectibleInitLate(collectible: EntityPickup): void {}
46
+ * ```
47
+ */
48
+ POST_COLLECTIBLE_INIT_FIRST = 2,
49
+ /**
50
+ * Fires from the `MC_POST_PLAYER_RENDER` callback on the first frame that the "TeleportUp"
51
+ * animation begins playing after a player triggers a Cursed Eye teleport or a Cursed Skull
52
+ * teleport. (Both of these have the same effect in causing Isaac to be teleported to a random
53
+ * room.)
54
+ *
55
+ * ```ts
56
+ * function postCursedTeleport(player: EntityPlayer): void {}
57
+ * ```
58
+ */
59
+ POST_CURSED_TELEPORT = 3,
60
+ /**
61
+ * Fires from the `MC_POST_PEFFECT_UPDATE` callback when a player enters the loading zone of a
62
+ * custom door created with the `spawnCustomDoor` helper function.
63
+ *
64
+ * When registering the callback, takes an optional second argument that will make the callback
65
+ * only fire if it matches the `DoorVariant` provided.
66
+ *
67
+ * ```ts
68
+ * function postCustomDoorEnter(
69
+ * player: EntityPlayer,
70
+ * effectVariant: int,
71
+ * doorSlot: DoorSlot,
72
+ * direction: Direction,
73
+ * ): void {}
74
+ * ```
75
+ */
76
+ POST_CUSTOM_DOOR_ENTER = 4,
77
+ /**
78
+ * Fires from the `MC_POST_PLAYER_UPDATE` callback after the player has finished the death
79
+ * animation, has teleported to the previous room, and is ready to play the animation for the
80
+ * modded revival item. The `revivalType` will match the value returned from the
81
+ * `MC_PRE_CUSTOM_REVIVE` callback.
82
+ *
83
+ * In this callback, you must play an animation with something along the lines of
84
+ * `player.AnimateCollectible(CollectibleTypeCustom.COLLECTIBLE_MY_REVIVAL_ITEM);`, otherwise the
85
+ * animation for a 1-Up will play.
86
+ *
87
+ * When registering the callback, takes an optional second argument that will make the callback
88
+ * only fire if the revival type matches the one provided.
89
+ *
90
+ * ```ts
91
+ * function postCustomRevive(player: EntityPlayer, revivalType: int) {}
92
+ * ```
93
+ */
94
+ POST_CUSTOM_REVIVE = 5,
95
+ POST_DOOR_RENDER = 6,
96
+ POST_DOOR_UPDATE = 7,
97
+ /**
98
+ * Fires on the first `MC_POST_EFFECT_UPDATE` frame for each effect.
99
+ *
100
+ * This callback is useful because many attributes cannot be set or retrieved properly in the
101
+ * normal `MC_POST_EFFECT_INIT` callback.
102
+ *
103
+ * When registering the callback, takes an optional second argument that will make the callback
104
+ * only fire if the effect variant matches the `EffectVariant` provided.
105
+ *
106
+ * ```ts
107
+ * function postEffectInitLate(effect: EntityEffect): void {}
108
+ * ```
109
+ */
110
+ POST_EFFECT_INIT_LATE = 8,
111
+ /**
112
+ * Fires from the `MC_POST_EFFECT_UPDATE` callback when an effect's state has changed from what it
113
+ * was on the previous frame.
114
+ *
115
+ * When registering the callback, takes an optional second argument that will make the callback
116
+ * only fire if it matches the `EffectVariant` provided.
117
+ *
118
+ * ```ts
119
+ * function postEffectStateChanged(
120
+ * effect: EntityEffect,
121
+ * previousState: int,
122
+ * currentState: int,
123
+ * ): void {}
124
+ * ```
125
+ */
126
+ POST_EFFECT_STATE_CHANGED = 9,
127
+ /**
128
+ * Fires one `MC_POST_UPDATE` frame after the player has used the Esau Jr. item. (The player is
129
+ * not updated to the new character until a game frame has passed.)
130
+ *
131
+ * ```ts
132
+ * function postEsauJr(player: EntityPlayer): void {}
133
+ * ```
134
+ */
135
+ POST_ESAU_JR = 10,
136
+ /**
137
+ * Fires on the first `MC_FAMILIAR_UPDATE` frame for each familiar.
138
+ *
139
+ * This callback is useful because many attributes cannot be set or retrieved properly in the
140
+ * normal `MC_POST_TEAR_INIT` callback.
141
+ *
142
+ * When registering the callback, takes an optional second argument that will make the callback
143
+ * only fire if the familiar variant matches the `FamiliarVariant` provided.
144
+ *
145
+ * ```ts
146
+ * function postTearInitLate(familiar: EntityFamiliar): void {}
147
+ * ```
148
+ */
149
+ POST_FAMILIAR_INIT_LATE = 11,
150
+ /**
151
+ * Fires from the `MC_POST_FAMILIAR_UPDATE` callback when a familiar's state has changed from what
152
+ * it was on the previous frame.
153
+ *
154
+ * When registering the callback, takes an optional second argument that will make the callback
155
+ * only fire if it matches the `FamiliarVariant` provided.
156
+ *
157
+ * ```ts
158
+ * function postFamiliarStateChanged(
159
+ * familiar: EntityFamiliar,
160
+ * previousState: int,
161
+ * currentState: int,
162
+ * ): void {}
163
+ * ```
164
+ */
165
+ POST_FAMILIAR_STATE_CHANGED = 12,
166
+ /**
167
+ * Fires one `MC_POST_UPDATE` frame after the player has first used the Esau Jr. item. (The player
168
+ * is not updated to the new character until a game frame has passed.)
169
+ *
170
+ * This callback is useful because there is no way to get access to the Esau Jr. character entity
171
+ * before the player has actually used the Esau Jr. item.
172
+ *
173
+ * ```ts
174
+ * function postFirstEsauJr(player: EntityPlayer): void {}
175
+ * ```
176
+ */
177
+ POST_FIRST_ESAU_JR = 13,
178
+ /**
179
+ * Fires after the player has used the Flip item for the first time. Unlike the vanilla
180
+ * `MC_USE_ITEM` callback, this callback will return the player object for the new Lazarus (not
181
+ * the one who used the Flip item).
182
+ *
183
+ * This callback is useful because there is no way to get access to the "flipped" character entity
184
+ * before the player has actually used the Flip item.
185
+ *
186
+ * ```ts
187
+ * function postFirstFlip(player: EntityPlayer): void {}
188
+ * ```
189
+ */
190
+ POST_FIRST_FLIP = 14,
191
+ /**
192
+ * Fires after the player has used the Flip item. Unlike the vanilla `MC_USE_ITEM` callback, this
193
+ * callback will return the player object for the new Lazarus (not the one who used the Flip
194
+ * item).
195
+ *
196
+ * This callback is useful because there is no way to get access to the "flipped" character entity
197
+ * before the player has actually used the Flip item.
198
+ *
199
+ * ```ts
200
+ * function postFlip(player: EntityPlayer): void {}
201
+ * ```
202
+ */
203
+ POST_FLIP = 15,
204
+ /**
205
+ * Similar to the vanilla callback of the same name, but fires in the correct order with respect
206
+ * to the `MC_POST_NEW_LEVEL` and the `MC_POST_NEW_ROOM` callbacks:
207
+ *
208
+ * `MC_POST_GAME_STARTED_REORDERED` --> `MC_POST_NEW_LEVEL_REORDERED` -->
209
+ * `MC_POST_NEW_ROOM_REORDERED`
210
+ *
211
+ * ```ts
212
+ * function postGameStartedReordered(isContinued: boolean): void {}
213
+ * ```
214
+ */
215
+ POST_GAME_STARTED_REORDERED = 16,
216
+ /**
217
+ * Fires from the `POST_UPDATE` callback when the Greed Mode wave increases.
218
+ *
219
+ * ```ts
220
+ * function postGreedModeWave(oldWave: int, newWave: int) {}
221
+ * ```
222
+ */
223
+ POST_GREED_MODE_WAVE = 17,
224
+ /**
225
+ * Fires from the `MC_POST_UPDATE` update when a grid entity changes to a state that corresponds
226
+ * to the broken state for the respective grid entity type.
227
+ *
228
+ * When registering the callback, takes an optional second argument that will make the callback
229
+ * only fire if it matches the `GridEntityType` provided.
230
+ *
231
+ * ```ts
232
+ * function postGridEntityBroken(gridEntity: GridEntity): void {}
233
+ * ```
234
+ */
235
+ POST_GRID_ENTITY_BROKEN = 18,
236
+ /**
237
+ * Fires from the `MC_POST_UPDATE` callback when a new entity collides with a grid entity.
238
+ *
239
+ * When registering the callback, takes an optional second argument that will make the callback
240
+ * only fire if it matches the `GridEntityType` provided.
241
+ *
242
+ * ```ts
243
+ * function postGridEntityCollision(
244
+ * gridEntity: GridEntity,
245
+ * entity: Entity,
246
+ * ): void {}
247
+ * ```
248
+ */
249
+ POST_GRID_ENTITY_COLLISION = 19,
250
+ /**
251
+ * Fires when a new grid entity is initialized. Specifically, this is either:
252
+ *
253
+ * - in the `MC_POST_NEW_ROOM` callback (firing every time a room is entered, even if the entity
254
+ * was previously there on a previous room entry)
255
+ * - in the `MC_POST_UPDATE` callback (if the entity appeared mid-way through the room, like when
256
+ * the trapdoor appears after defeating It Lives!)
257
+ *
258
+ * When registering the callback, takes an optional second argument that will make the callback
259
+ * only fire if it matches the `GridEntityType` provided.
260
+ *
261
+ * ```ts
262
+ * function postGridEntityInit(gridEntity: GridEntity): void {}
263
+ * ```
264
+ */
265
+ POST_GRID_ENTITY_INIT = 20,
266
+ /**
267
+ * Fires from the `MC_POST_UPDATE` callback when a new grid entity is removed. Specifically, this
268
+ * on the frame after it no longer exists (where it did exist a frame ago).
269
+ *
270
+ * When registering the callback, takes an optional second argument that will make the callback
271
+ * only fire if it matches the `GridEntityType` provided.
272
+ *
273
+ * ```ts
274
+ * function postGridEntityRemove(
275
+ * gridIndex: int,
276
+ * gridEntityType: GridEntityType,
277
+ * ): void {}
278
+ * ```
279
+ */
280
+ POST_GRID_ENTITY_REMOVE = 21,
281
+ POST_GRID_ENTITY_RENDER = 22,
282
+ /**
283
+ * Fires from the `MC_POST_UPDATE` callback when a grid entity changes its state.
284
+ *
285
+ * When registering the callback, takes an optional second argument that will make the callback
286
+ * only fire if it matches the `GridEntityType` provided.
287
+ *
288
+ * ```ts
289
+ * function postGridEntityStateChanged(
290
+ * gridEntity: GridEntity,
291
+ * oldState: int,
292
+ * newState: int,
293
+ * ): void {}
294
+ * ```
295
+ */
296
+ POST_GRID_ENTITY_STATE_CHANGED = 23,
297
+ /**
298
+ * Fires from the `MC_POST_UPDATE` callback on every frame that a grid entity exists.
299
+ *
300
+ * When registering the callback, takes an optional second argument that will make the callback
301
+ * only fire if it matches the `GridEntityType` provided.
302
+ *
303
+ * ```ts
304
+ * function postGridEntityUpdate(gridEntity: GridEntity): void {}
305
+ * ```
306
+ */
307
+ POST_GRID_ENTITY_UPDATE = 24,
308
+ /**
309
+ * Fires from the `POST_PEFFECT_UPDATE` callback when the player loses a Holy Mantle temporary
310
+ * collectible effect.
311
+ *
312
+ * This callback is useful because you might want to have code that happens when the player is hit
313
+ * from an enemy. Normally, you would accomplish this via the `ENTITY_TAKE_DMG` callback, but that
314
+ * callback never fires if the player has a Holy Mantle shield.
315
+ *
316
+ * - When registering the callback, takes an optional second argument that will make the callback
317
+ * only fire if the player matches the `PlayerVariant` provided.
318
+ * - When registering the callback, takes an optional third argument that will make the callback
319
+ * only fire if the player matches the `PlayerType` provided.
320
+ *
321
+ * ```ts
322
+ * function postPlayerInitReordered(
323
+ * player: EntityPlayer,
324
+ * oldNumHolyMantles: int,
325
+ * newNumHolyMantles: int,
326
+ * ): void {}
327
+ * ```
328
+ */
329
+ POST_HOLY_MANTLE_REMOVED = 25,
330
+ /**
331
+ * Fires from `MC_POST_PEFFECT_UPDATE` callback when the player loses charge on their active
332
+ * collectible item, implying that the item was just used.
333
+ *
334
+ * This callback is useful because the `MC_USE_ITEM` callback does not fire when The Candle, Red
335
+ * Candle, and Bob's Rotten Brain are discharged.
336
+ *
337
+ * Note that this callback will not fire if the active item is both discharged and swapped for
338
+ * another item / discharged on the same frame, like in the case of Alabaster Box.
339
+ *
340
+ * When registering the callback, takes an optional second argument that will make the callback
341
+ * only fire if it matches the `CollectibleType` provided.
342
+ *
343
+ * ```ts
344
+ * function postItemDischarge(
345
+ * player: EntityPlayer,
346
+ * collectibleType: CollectibleType | int,
347
+ * activeSlot: ActiveSlot,
348
+ * ): void {}
349
+ * ```
350
+ */
351
+ POST_ITEM_DISCHARGE = 26,
352
+ /**
353
+ * Fires from the `MC_POST_PEFFECT_UPDATE` callback when an item is no longer queued (i.e. when
354
+ * the animation of the player holding the item above their head is finished and the item is
355
+ * actually added to the player's inventory).
356
+ *
357
+ * Note that this callback will only fire once per Forgotten/Soul pair.
358
+ *
359
+ * - When registering the callback, takes an optional second argument that will make the callback
360
+ * only fire if it matches the `ItemType` provided.
361
+ * - When registering the callback, takes an optional third argument that will make the callback
362
+ * only fire if the `CollectibleType` or the `TrinketType` matches the ID provided.
363
+ *
364
+ * ```ts
365
+ * function postItemPickup(
366
+ * player: EntityPlayer,
367
+ * pickingUpItem: PickingUpItem,
368
+ * ): void {}
369
+ * ```
370
+ */
371
+ POST_ITEM_PICKUP = 27,
372
+ /**
373
+ * Fires on the first `MC_POST_KNIFE_UPDATE` frame for each knife.
374
+ *
375
+ * This callback is useful because many attributes cannot be set or retrieved properly in the
376
+ * normal `MC_POST_KNIFE_INIT` callback.
377
+ *
378
+ * When registering the callback, takes an optional second argument that will make the callback
379
+ * only fire if the knife variant matches the `KnifeVariant` provided.
380
+ *
381
+ * ```ts
382
+ * function postKnifeInitLate(knife: EntityKnife): void {}
383
+ * ```
384
+ */
385
+ POST_KNIFE_INIT_LATE = 28,
386
+ /**
387
+ * Fires on the first `MC_POST_LASER_UPDATE` frame for each laser.
388
+ *
389
+ * This callback is useful because many attributes cannot be set or retrieved properly in the
390
+ * normal `MC_POST_LASER_INIT` callback.
391
+ *
392
+ * When registering the callback, takes an optional second argument that will make the callback
393
+ * only fire if the laser variant matches the `LaserVariant` provided.
394
+ *
395
+ * ```ts
396
+ * function postLaserInitLate(laser: EntityLaser): void {}
397
+ * ```
398
+ */
399
+ POST_LASER_INIT_LATE = 29,
400
+ /**
401
+ * The same as the vanilla callback of the same name, but fires in the correct order with respect
402
+ * to the `MC_POST_GAME_STARTED` and the `MC_POST_NEW_ROOM` callbacks:
403
+ *
404
+ * `MC_POST_GAME_STARTED_REORDERED` --> `MC_POST_NEW_LEVEL_REORDERED` -->
405
+ * `MC_POST_NEW_ROOM_REORDERED`
406
+ *
407
+ * If some specific cases, mods can change the current level during run initialization (on the 0th
408
+ * frame). However, due to how the callback reordering works, the custom
409
+ * `MC_POST_NEW_LEVEL_REORDERED` callback will never fire on the 0th frame. To get around this,
410
+ * call the `forceNewLevelCallback()` function before changing levels to temporarily force the
411
+ * callback to fire.
412
+ *
413
+ * ```ts
414
+ * function postNewLevelReordered(): void {}
415
+ * ```
416
+ */
417
+ POST_NEW_LEVEL_REORDERED = 30,
418
+ /**
419
+ * Fires on the first `MC_POST_NEW_ROOM` or `MC_PRE_ENTITY_SPAWN` callback where being in a new
420
+ * room is detected. This is useful because the vanilla `MC_POST_NEW_ROOM` callback fires only
421
+ * after entities in the room have been initialized and updated once, which means that it is
422
+ * possible for entity-related code to run before room-related-initialization has been performed.
423
+ *
424
+ * ```ts
425
+ * function postNewRoomEarly(): void {}
426
+ * ```
427
+ */
428
+ POST_NEW_ROOM_EARLY = 31,
429
+ /**
430
+ * The same as the vanilla callback of the same name, but fires in the correct order with respect
431
+ * to the `MC_POST_GAME_STARTED` and the `MC_POST_NEW_LEVEL` callbacks:
432
+ *
433
+ * `MC_POST_GAME_STARTED_REORDERED` --> `MC_POST_NEW_LEVEL_REORDERED` -->
434
+ * `MC_POST_NEW_ROOM_REORDERED`
435
+ *
436
+ * If some specific cases, mods can change the current room during run initialization (on the 0th
437
+ * frame). However, due to how the callback reordering works, the custom
438
+ * `MC_POST_NEW_ROOM_REORDERED` callback will never fire on the 0th frame. To get around this,
439
+ * call the `forceNewRoomCallback()` function before changing levels to temporarily force the
440
+ * callback to fire.
441
+ *
442
+ * ```ts
443
+ * function postNewRoomReordered(): void {}
444
+ * ```
445
+ */
446
+ POST_NEW_ROOM_REORDERED = 32,
447
+ /**
448
+ * Fires on the first `MC_NPC_UPDATE` frame for each NPC.
449
+ *
450
+ * This callback is useful because many attributes cannot be set or retrieved properly in the
451
+ * normal `MC_POST_NPC_INIT` callback.
452
+ *
453
+ * When registering the callback, takes an optional second argument that will make the callback
454
+ * only fire if the NPC's entity type matches the entity type provided.
455
+ *
456
+ * ```ts
457
+ * function postNPCInitLate(npc: EntityNPC): void {}
458
+ * ```
459
+ */
460
+ POST_NPC_INIT_LATE = 33,
461
+ /**
462
+ * Fires from the `MC_POST_NPC_UPDATE` callback when an NPC's state has changed from what it was
463
+ * on the previous frame.
464
+ *
465
+ * - When registering the callback, takes an optional second argument that will make the callback
466
+ * only fire if it matches the `EntityType` provided.
467
+ * - When registering the callback, takes an optional third argument that will make the callback
468
+ * only fire if it matches the variant provided.
469
+ *
470
+ * ```ts
471
+ * function postNPCStateChanged(
472
+ * npc: EntityNPC,
473
+ * previousState: int,
474
+ * currentState: int,
475
+ * ): void {}
476
+ * ```
477
+ */
478
+ POST_NPC_STATE_CHANGED = 34,
479
+ POST_PEFFECT_UPDATE_REORDERED = 35,
480
+ /**
481
+ * Fires on the first `MC_POST_RENDER` frame that a pickup plays the "Collect" animation.
482
+ *
483
+ * Use this callback to know when a pickup is added to the player's inventory or health.
484
+ *
485
+ * When registering the callback, takes an optional second argument that will make the callback
486
+ * only fire if the pickup variant matches the `PickupVariant` provided.
487
+ *
488
+ * ```ts
489
+ * function postPickupCollect(pickup: EntityPickup, player: EntityPlayer): void {}
490
+ * ```
491
+ */
492
+ POST_PICKUP_COLLECT = 36,
493
+ /**
494
+ * Fires on the first `MC_POST_PICKUP_UPDATE` frame for each pickup.
495
+ *
496
+ * This callback is useful because many attributes cannot be set or retrieved properly in the
497
+ * normal `MC_POST_PICKUP_INIT` callback.
498
+ *
499
+ * When registering the callback, takes an optional second argument that will make the callback
500
+ * only fire if the pickup variant matches the `PickupVariant` provided.
501
+ *
502
+ * ```ts
503
+ * function postPickupInitLate(pickup: EntityPickup): void {}
504
+ * ```
505
+ */
506
+ POST_PICKUP_INIT_LATE = 37,
507
+ /**
508
+ * Fires from the `MC_POST_PICKUP_UPDATE` callback when a pickup's state has changed from what it
509
+ * was on the previous frame.
510
+ *
511
+ * When registering the callback, takes an optional second argument that will make the callback
512
+ * only fire if it matches the `PickupVariant` provided.
513
+ *
514
+ * ```ts
515
+ * function postPickupStateChanged(
516
+ * pickup: EntityPickup,
517
+ * previousState: int,
518
+ * currentState: int,
519
+ * ): void {}
520
+ * ```
521
+ */
522
+ POST_PICKUP_STATE_CHANGED = 38,
523
+ POST_PIT_RENDER = 39,
524
+ POST_PIT_UPDATE = 40,
525
+ /**
526
+ * Fires from the `MC_POST_PEFFECT_UPDATE` callback when a player entity gains or loses any health
527
+ * (i.e. hearts). For more information, see the `PlayerHealth` enum.
528
+ *
529
+ * When registering the callback, takes an optional second argument that will make the callback
530
+ * only fire if it matches the `PlayerVariant` provided.
531
+ *
532
+ * ```ts
533
+ * function postPlayerChangeHealth(
534
+ * player: EntityPlayer,
535
+ * healthType: HealthType,
536
+ * amount: int,
537
+ * ) {}
538
+ * ```
539
+ */
540
+ POST_PLAYER_CHANGE_HEALTH = 41,
541
+ /**
542
+ * Fires from the `MC_POST_PEFFECT_UPDATE` callback when a player entity changes its player type
543
+ * (i.e. character). For example, it will fire after using Clicker, after dying with the Judas'
544
+ * Shadow collectible, etc.
545
+ *
546
+ * Notably, it does not fire after the player uses the Flip item or the Esau Jr. item, because
547
+ * those items cause separate player entities to be created. Use the `MC_POST_FLIP` and
548
+ * `MC_POST_ESAU_JR` callbacks to handle those situations.
549
+ *
550
+ * ```ts
551
+ * function postPlayerChangeType(
552
+ * player: EntityPlayer,
553
+ * oldCharacter: PlayerType | int,
554
+ * newCharacter: PlayerType | int,
555
+ * ) {}
556
+ * ```
557
+ */
558
+ POST_PLAYER_CHANGE_TYPE = 42,
559
+ /**
560
+ * Fires from the `MC_ENTITY_TAKE_DMG` callback when a player takes fatal damage. Return false to
561
+ * prevent the fatal damage.
562
+ *
563
+ * Note that:
564
+ *
565
+ * - This function does properly take into account Guppy's Collar, Broken Ankh, Spirit Shackles,
566
+ * and Mysterious Paper.
567
+ *
568
+ * When registering the callback, takes an optional second argument that will make the callback
569
+ * only fire if it matches the `PlayerVariant` provided.
570
+ *
571
+ * ```ts
572
+ * function postPlayerFatalDamage(player: EntityPlayer) {}
573
+ * ```
574
+ */
575
+ POST_PLAYER_FATAL_DAMAGE = 43,
576
+ /**
577
+ * Fires on the first `MC_POST_PLAYER_UPDATE` frame for each player.
578
+ *
579
+ * This callback is useful because many attributes cannot be set or retrieved properly in the
580
+ * normal `MC_POST_PLAYER_INIT` callback.
581
+ *
582
+ * When registering the callback, takes an optional second argument that will make the callback
583
+ * only fire if the player variant matches the `PlayerVariant` provided.
584
+ *
585
+ * ```ts
586
+ * function postPlayerInitLate(pickup: EntityPickup): void {}
587
+ * ```
588
+ */
589
+ POST_PLAYER_INIT_LATE = 44,
590
+ /**
591
+ * Similar to the vanilla callback of the same name, but fires after the `MC_POST_GAME_STARTED`
592
+ * callback fires (if the player is spawning on the 0th game frame of the run).
593
+ *
594
+ * This callback is useful for two reasons:
595
+ *
596
+ * 1. Normally, `MC_POST_PLAYER_UPDATE` fires before `MC_POST_GAME_STARTED`. Since mod variables
597
+ * are often initialized at the beginning of the `MC_POST_GAME_STARTED` callback, this can
598
+ * cause problems.
599
+ * 1. Some functions do not work (or crash the game) when called before the `MC_POST_NEW_ROOM`
600
+ * callback. For example, since the level is not generated yet, you will not be able to access
601
+ * any rooms.
602
+ *
603
+ * When registering the callback, takes an optional second argument that will make the callback
604
+ * only fire if the player matches the `PlayerVariant` provided.
605
+ *
606
+ * ```ts
607
+ * function postPlayerInitReordered(player: EntityPlayer): void {}
608
+ * ```
609
+ */
610
+ POST_PLAYER_INIT_REORDERED = 45,
611
+ POST_PLAYER_RENDER_REORDERED = 46,
612
+ /**
613
+ * Similar to the vanilla callback of the same name, but fires after the `MC_POST_GAME_STARTED`
614
+ * callback fires (if the player is being updated on the 0th game frame of the run).
615
+ *
616
+ * This callback is useful for two reasons:
617
+ *
618
+ * 1. Normally, PostPlayerUpdate fires before `MC_POST_GAME_STARTED`. Since mod variables are
619
+ * often initialized at the beginning of the `MC_POST_GAME_STARTED` callback, this can cause
620
+ * problems.
621
+ * 1. Some functions do not work (or crash the game) when called before the `MC_POST_NEW_ROOM`
622
+ * callback. For example, since the level is not generated yet, you will not be able to access
623
+ * any rooms.
624
+ *
625
+ * When registering the callback, takes an optional second argument that will make the callback
626
+ * only fire if the player matches the `PlayerVariant` provided.
627
+ *
628
+ * ```ts
629
+ * function postPlayerUpdateReordered(player: EntityPlayer): void {}
630
+ * ```
631
+ */
632
+ POST_PLAYER_UPDATE_REORDERED = 47,
633
+ POST_POOP_RENDER = 48,
634
+ POST_POOP_UPDATE = 49,
635
+ POST_PRESSURE_PLATE_RENDER = 50,
636
+ POST_PRESSURE_PLATE_UPDATE = 51,
637
+ /**
638
+ * Fires on the first `MC_POST_PROJECTILE_UPDATE` frame for each projectile.
639
+ *
640
+ * This callback is useful because many attributes cannot be set or retrieved properly in the
641
+ * normal `MC_POST_PROJECTILE_INIT` callback.
642
+ *
643
+ * When registering the callback, takes an optional second argument that will make the callback
644
+ * only fire if the projectile variant matches the `ProjectileVariant` provided.
645
+ *
646
+ * ```ts
647
+ * function postProjectileInitLate(projectile: EntityProjectile): void {}
648
+ * ```
649
+ */
650
+ POST_PROJECTILE_INIT_LATE = 52,
651
+ /**
652
+ * Fires from the `MC_POST_PEFFECT_UPDATE` callback when a player first picks up a new item. The
653
+ * pickup returned in the callback is assumed to be the first pickup that no longer exists.
654
+ *
655
+ * - When registering the callback, takes an optional second argument that will make the callback
656
+ * only fire if it matches the `PickupVariant` provided.
657
+ * - When registering the callback, takes an optional third argument that will make the callback
658
+ * only fire if it matches the sub-type provided.
659
+ *
660
+ * ```ts
661
+ * function postPurchase(player: EntityPlayer, pickup: EntityPickup): void {}
662
+ * ```
663
+ */
664
+ POST_PURCHASE = 53,
665
+ POST_ROCK_RENDER = 54,
666
+ POST_ROCK_UPDATE = 55,
667
+ POST_ROOM_CLEAR_CHANGED = 56,
668
+ /**
669
+ * Fires from the `MC_ENTITY_TAKE_DMG` callback when a player takes damage from spikes in a
670
+ * Sacrifice Room.
671
+ *
672
+ * ```ts
673
+ * function postSacrifice(player: EntityPlayer, numSacrifices: int): void {}
674
+ * ```
675
+ */
676
+ POST_SACRIFICE = 57,
677
+ /**
678
+ * Fires from the `MC_POST_RENDER` callback when a slot entity's animation changes.
679
+ *
680
+ * When registering the callback, takes an optional second argument that will make the callback
681
+ * only fire if it matches the `SlotVariant` provided.
682
+ *
683
+ * ```ts
684
+ * function postSlotAnimationChanged(slot: Entity): void {}
685
+ * ```
686
+ */
687
+ POST_SLOT_ANIMATION_CHANGED = 58,
688
+ /**
689
+ * Fires from the `MC_POST_RENDER` callback when a slot plays the animation that indicates that it
690
+ * has broken.
691
+ *
692
+ * When registering the callback, takes an optional second argument that will make the callback
693
+ * only fire if it matches the `SlotVariant` provided.
694
+ *
695
+ * ```ts
696
+ * function postSlotDestroyed(slot: Entity): void {}
697
+ * ```
698
+ */
699
+ POST_SLOT_DESTROYED = 59,
700
+ /**
701
+ * Fires when a new slot entity is initialized. Specifically, this is either:
702
+ *
703
+ * - in the `MC_POST_NEW_ROOM` callback (firing every time a room is entered, even if the entity
704
+ * was previously there on a previous room entry)
705
+ * - in the `MC_POST_UPDATE` callback (if the entity appeared mid-way through the room, like when
706
+ * a Wheel of Fortune card is used)
707
+ *
708
+ * When registering the callback, takes an optional second argument that will make the callback
709
+ * only fire if it matches the `SlotVariant` provided.
710
+ *
711
+ * ```ts
712
+ * function postSlotInit(slot: Entity): void {}
713
+ * ```
714
+ */
715
+ POST_SLOT_INIT = 60,
716
+ /**
717
+ * Fires from the `MC_POST_RENDER` callback on every frame that a slot entity exists.
718
+ *
719
+ * When registering the callback, takes an optional second argument that will make the callback
720
+ * only fire if it matches the `SlotVariant` provided.
721
+ *
722
+ * ```ts
723
+ * function postSlotRender(slot: Entity): void {}
724
+ * ```
725
+ */
726
+ POST_SLOT_RENDER = 61,
727
+ /**
728
+ * Fires from the `MC_POST_UPDATE` callback on every frame that a slot entity exists.
729
+ *
730
+ * When registering the callback, takes an optional second argument that will make the callback
731
+ * only fire if it matches the `SlotVariant` provided.
732
+ *
733
+ * ```ts
734
+ * function postSlotUpdate(slot: Entity): void {}
735
+ * ```
736
+ */
737
+ POST_SLOT_UPDATE = 62,
738
+ POST_SPIKES_RENDER = 63,
739
+ POST_SPIKES_UPDATE = 64,
740
+ /**
741
+ * Fires on the first `MC_POST_TEAR_UPDATE` frame for each tear.
742
+ *
743
+ * This callback is useful because many attributes cannot be set or retrieved properly in the
744
+ * normal `MC_POST_TEAR_INIT` callback.
745
+ *
746
+ * When registering the callback, takes an optional second argument that will make the callback
747
+ * only fire if the tear variant matches the `TearVariant` provided.
748
+ *
749
+ * ```ts
750
+ * function postTearInitLate(tear: EntityTear): void {}
751
+ * ```
752
+ */
753
+ POST_TEAR_INIT_LATE = 65,
754
+ /**
755
+ * Fires on the second `MC_POST_TEAR_UPDATE` frame for each tear (i.e. frame 1).
756
+ *
757
+ * This callback is useful because Incubus tears are not distinguishable until the second frame.
758
+ *
759
+ * When registering the callback, takes an optional second argument that will make the callback
760
+ * only fire if the tear variant matches the `TearVariant` provided.
761
+ *
762
+ * ```ts
763
+ * function postTearInitVeryLate(tear: EntityTear): void {}
764
+ * ```
765
+ */
766
+ POST_TEAR_INIT_VERY_LATE = 66,
767
+ POST_TNT_RENDER = 67,
768
+ POST_TNT_UPDATE = 68,
769
+ /**
770
+ * Fires from the `MC_POST_PEFFECT_UPDATE` callback when a player gains or loses a new
771
+ * transformation.
772
+ *
773
+ * Note that this callback will only fire once per Forgotten/Soul pair.
774
+ *
775
+ * When registering the callback, takes an optional second argument that will make the callback
776
+ * only fire if it matches the `PlayerForm` provided.
777
+ *
778
+ * ```ts
779
+ * function postTransformation(
780
+ * player: EntityPlayer,
781
+ * playerForm: PlayerForm,
782
+ * hasForm: boolean,
783
+ * ): void {}
784
+ * ```
785
+ */
786
+ POST_TRANSFORMATION = 69,
787
+ /**
788
+ * Fires from `MC_ENTITY_TAKE_DMG` callback when a Wishbone or a Walnut breaks.
789
+ *
790
+ * When registering the callback, takes an optional second argument that will make the callback
791
+ * only fire if it matches the `TrinketType` provided.
792
+ *
793
+ * ```ts
794
+ * function postTrinketBreak(
795
+ * player: EntityPlayer,
796
+ * trinketType: TrinketType | int,
797
+ * ): void {}
798
+ * ```
799
+ */
800
+ POST_TRINKET_BREAK = 70,
801
+ /**
802
+ * Fires from the `MC_POST_PEFFECT_UPDATE` callback on the frame before a Berserk! effect ends
803
+ * when the player is predicted to die (e.g. they currently have no health left or they took
804
+ * damage in a "Lost" form).
805
+ *
806
+ * When registering the callback, takes an optional second argument that will make the callback
807
+ * only fire if it matches the `PlayerVariant` provided.
808
+ *
809
+ * ```ts
810
+ * function preBerserkDeath(player: EntityPlayer) {}
811
+ * ```
812
+ */
813
+ PRE_BERSERK_DEATH = 71,
814
+ /**
815
+ * Fires from the `MC_POST_PLAYER_FATAL_DAMAGE` callback when a player is about to die. If you
816
+ * want to initiate a custom revival, return an integer that corresponds to the item or type of
817
+ * revival that you are doing. Otherwise, return undefined to continue the fatal damage.
818
+ *
819
+ * This callback is useful because reviving the player after the game things that player should
820
+ * have died will result in the save data for the run getting deleted.
821
+ *
822
+ * ```ts
823
+ * function preCustomRevive(player: EntityPlayer) {}
824
+ * ```
825
+ */
826
+ PRE_CUSTOM_REVIVE = 72,
827
+ /**
828
+ * Fires from the `MC_POST_PEFFECT_UPDATE` callback when an item becomes queued (i.e. when the
829
+ * player begins to hold the item above their head).
830
+ *
831
+ * Note that this callback will only fire once per Forgotten/Soul pair.
832
+ *
833
+ * - When registering the callback, takes an optional second argument that will make the callback
834
+ * only fire if it matches the `ItemType` provided.
835
+ * - When registering the callback, takes an optional third argument that will make the callback
836
+ * only fire if the `CollectibleType` or the `TrinketType` matches the ID provided.
837
+ *
838
+ * ```ts
839
+ * function preItemPickup(
840
+ * player: EntityPlayer,
841
+ * pickingUpItem: PickingUpItem,
842
+ * ): void {}
843
+ * ```
844
+ */
845
+ PRE_ITEM_PICKUP = 73,
846
+ /**
847
+ * Fires on the `MC_POST_RENDER` frame before the player is taken to a new floor. Only fires when
848
+ * a player jumps into a trapdoor or enters a heaven door (beam of light). Does not fire on the
849
+ * first floor of the run. Does not fire when the player reloads/reseeds the current floor (i.e.
850
+ * Forget Me Now, 5-pip dice room).
851
+ *
852
+ * This callback passes the `EntityPlayer` object for the player who jumped into the trapdoor or
853
+ * entered the heaven door, if needed.
854
+ *
855
+ * ```ts
856
+ * function preNewLevel(player: EntityPlayer): void {}
857
+ * ```
858
+ */
859
+ PRE_NEW_LEVEL = 74
860
+ }