isaacscript-common 13.3.4 → 14.1.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 (668) hide show
  1. package/dist/index.d.ts +1644 -441
  2. package/dist/isaacscript-common.lua +19643 -16276
  3. package/dist/src/callbacks/customRevive.lua +10 -1
  4. package/dist/src/callbacks/postAmbush.d.ts.map +1 -1
  5. package/dist/src/callbacks/postAmbush.lua +7 -12
  6. package/dist/src/callbacks/postBombExploded.lua +3 -3
  7. package/dist/src/callbacks/postDoorRender.lua +2 -2
  8. package/dist/src/callbacks/postEffectStateChanged.lua +3 -3
  9. package/dist/src/callbacks/postFamiliarStateChanged.lua +3 -3
  10. package/dist/src/callbacks/postFlip.lua +1 -1
  11. package/dist/src/callbacks/postGridEntity.lua +2 -2
  12. package/dist/src/callbacks/postNPCStateChanged.lua +3 -3
  13. package/dist/src/callbacks/postPickupStateChanged.lua +3 -3
  14. package/dist/src/callbacks/postPlayerCollectible.d.ts.map +1 -1
  15. package/dist/src/callbacks/postPlayerCollectible.lua +5 -9
  16. package/dist/src/callbacks/postRoomClearChanged.d.ts.map +1 -1
  17. package/dist/src/callbacks/postRoomClearChanged.lua +3 -5
  18. package/dist/src/callbacks/reorderedCallbacks.lua +7 -7
  19. package/dist/src/callbacks/subscriptions/{postBoneExploded.d.ts → postBombExploded.d.ts} +1 -1
  20. package/dist/src/callbacks/subscriptions/{postBoneExploded.d.ts.map → postBombExploded.d.ts.map} +1 -1
  21. package/dist/src/callbacks/subscriptions/{postBoneExploded.lua → postBombExploded.lua} +0 -0
  22. package/dist/src/callbacks/subscriptions/postCollectibleEmpty.d.ts +1 -1
  23. package/dist/src/callbacks/subscriptions/postCollectibleEmpty.d.ts.map +1 -1
  24. package/dist/src/callbacks/subscriptions/postCollectibleInitFirst.d.ts +1 -1
  25. package/dist/src/callbacks/subscriptions/postCollectibleInitFirst.d.ts.map +1 -1
  26. package/dist/src/callbacks/subscriptions/postCursedTeleport.d.ts +4 -2
  27. package/dist/src/callbacks/subscriptions/postCursedTeleport.d.ts.map +1 -1
  28. package/dist/src/callbacks/subscriptions/postCursedTeleport.lua +13 -1
  29. package/dist/src/callbacks/subscriptions/postGridEntityBroken.d.ts +1 -1
  30. package/dist/src/callbacks/subscriptions/postGridEntityBroken.d.ts.map +1 -1
  31. package/dist/src/callbacks/subscriptions/postGridEntityBroken.lua +3 -3
  32. package/dist/src/callbacks/subscriptions/postGridEntityInit.d.ts +1 -1
  33. package/dist/src/callbacks/subscriptions/postGridEntityInit.d.ts.map +1 -1
  34. package/dist/src/callbacks/subscriptions/postGridEntityInit.lua +3 -3
  35. package/dist/src/callbacks/subscriptions/postGridEntityRemove.d.ts +3 -3
  36. package/dist/src/callbacks/subscriptions/postGridEntityRemove.d.ts.map +1 -1
  37. package/dist/src/callbacks/subscriptions/postGridEntityRemove.lua +4 -4
  38. package/dist/src/callbacks/subscriptions/postGridEntityRender.d.ts +1 -1
  39. package/dist/src/callbacks/subscriptions/postGridEntityRender.d.ts.map +1 -1
  40. package/dist/src/callbacks/subscriptions/postGridEntityRender.lua +3 -3
  41. package/dist/src/callbacks/subscriptions/postGridEntityStateChanged.d.ts +1 -1
  42. package/dist/src/callbacks/subscriptions/postGridEntityStateChanged.d.ts.map +1 -1
  43. package/dist/src/callbacks/subscriptions/postGridEntityStateChanged.lua +3 -3
  44. package/dist/src/callbacks/subscriptions/postGridEntityUpdate.d.ts +1 -1
  45. package/dist/src/callbacks/subscriptions/postGridEntityUpdate.d.ts.map +1 -1
  46. package/dist/src/callbacks/subscriptions/postGridEntityUpdate.lua +3 -3
  47. package/dist/src/callbacks/subscriptions/postHolyMantleRemoved.d.ts.map +1 -1
  48. package/dist/src/callbacks/subscriptions/postHolyMantleRemoved.lua +2 -2
  49. package/dist/src/callbacks/subscriptions/postPEffectUpdateReordered.d.ts.map +1 -1
  50. package/dist/src/callbacks/subscriptions/postPEffectUpdateReordered.lua +2 -2
  51. package/dist/src/callbacks/subscriptions/postRockRender.d.ts +1 -1
  52. package/dist/src/callbacks/subscriptions/postRockRender.d.ts.map +1 -1
  53. package/dist/src/callbacks/subscriptions/postRockRender.lua +3 -3
  54. package/dist/src/callbacks/subscriptions/postRockUpdate.d.ts +1 -1
  55. package/dist/src/callbacks/subscriptions/postRockUpdate.d.ts.map +1 -1
  56. package/dist/src/callbacks/subscriptions/postRockUpdate.lua +3 -3
  57. package/dist/src/callbacks/subscriptions/postSpikesRender.d.ts +1 -1
  58. package/dist/src/callbacks/subscriptions/postSpikesRender.d.ts.map +1 -1
  59. package/dist/src/callbacks/subscriptions/postSpikesRender.lua +3 -3
  60. package/dist/src/callbacks/subscriptions/postSpikesUpdate.d.ts +1 -1
  61. package/dist/src/callbacks/subscriptions/postSpikesUpdate.d.ts.map +1 -1
  62. package/dist/src/callbacks/subscriptions/postSpikesUpdate.lua +3 -3
  63. package/dist/src/callbacks/subscriptions/postTNTRender.d.ts +1 -1
  64. package/dist/src/callbacks/subscriptions/postTNTRender.d.ts.map +1 -1
  65. package/dist/src/callbacks/subscriptions/postTNTRender.lua +3 -3
  66. package/dist/src/callbacks/subscriptions/postTNTUpdate.d.ts +1 -1
  67. package/dist/src/callbacks/subscriptions/postTNTUpdate.d.ts.map +1 -1
  68. package/dist/src/callbacks/subscriptions/postTNTUpdate.lua +3 -3
  69. package/dist/src/callbacks.d.ts +106 -0
  70. package/dist/src/callbacks.d.ts.map +1 -0
  71. package/dist/src/callbacks.lua +176 -0
  72. package/dist/src/classes/DefaultMap.d.ts.map +1 -1
  73. package/dist/src/classes/ModFeature.d.ts +11 -0
  74. package/dist/src/classes/ModFeature.d.ts.map +1 -0
  75. package/dist/src/classes/ModFeature.lua +13 -0
  76. package/dist/src/classes/ModUpgraded.d.ts +49 -11
  77. package/dist/src/classes/ModUpgraded.d.ts.map +1 -1
  78. package/dist/src/classes/ModUpgraded.lua +118 -16
  79. package/dist/src/classes/callbacks/PostAmbushFinished.d.ts +12 -0
  80. package/dist/src/classes/callbacks/PostAmbushFinished.d.ts.map +1 -0
  81. package/dist/src/classes/callbacks/PostAmbushFinished.lua +37 -0
  82. package/dist/src/classes/callbacks/PostAmbushStarted.d.ts +12 -0
  83. package/dist/src/classes/callbacks/PostAmbushStarted.d.ts.map +1 -0
  84. package/dist/src/classes/callbacks/PostAmbushStarted.lua +37 -0
  85. package/dist/src/classes/callbacks/PostBombExploded.d.ts +7 -0
  86. package/dist/src/classes/callbacks/PostBombExploded.d.ts.map +1 -0
  87. package/dist/src/classes/callbacks/PostBombExploded.lua +24 -0
  88. package/dist/src/classes/callbacks/PostBombInitLate.d.ts +12 -0
  89. package/dist/src/classes/callbacks/PostBombInitLate.d.ts.map +1 -0
  90. package/dist/src/classes/callbacks/PostBombInitLate.lua +27 -0
  91. package/dist/src/classes/callbacks/PostBoneSwing.d.ts +14 -0
  92. package/dist/src/classes/callbacks/PostBoneSwing.d.ts.map +1 -0
  93. package/dist/src/classes/callbacks/PostBoneSwing.lua +43 -0
  94. package/dist/src/classes/callbacks/PostCollectibleEmpty.d.ts +17 -0
  95. package/dist/src/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -0
  96. package/dist/src/classes/callbacks/PostCollectibleEmpty.lua +47 -0
  97. package/dist/src/classes/callbacks/PostCollectibleInitFirst.d.ts +13 -0
  98. package/dist/src/classes/callbacks/PostCollectibleInitFirst.d.ts.map +1 -0
  99. package/dist/src/classes/callbacks/PostCollectibleInitFirst.lua +32 -0
  100. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts +20 -0
  101. package/dist/src/classes/callbacks/PostCursedTeleport.d.ts.map +1 -0
  102. package/dist/src/classes/callbacks/PostCursedTeleport.lua +113 -0
  103. package/dist/src/classes/callbacks/PostCustomRevive.d.ts +6 -0
  104. package/dist/src/classes/callbacks/PostCustomRevive.d.ts.map +1 -0
  105. package/dist/src/classes/callbacks/PostCustomRevive.lua +17 -0
  106. package/dist/src/classes/callbacks/PostDiceRoomActivated.d.ts +15 -0
  107. package/dist/src/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -0
  108. package/dist/src/classes/callbacks/PostDiceRoomActivated.lua +44 -0
  109. package/dist/src/classes/callbacks/PostDoorRender.d.ts +7 -0
  110. package/dist/src/classes/callbacks/PostDoorRender.d.ts.map +1 -0
  111. package/dist/src/classes/callbacks/PostDoorRender.lua +24 -0
  112. package/dist/src/classes/callbacks/PostDoorUpdate.d.ts +7 -0
  113. package/dist/src/classes/callbacks/PostDoorUpdate.d.ts.map +1 -0
  114. package/dist/src/classes/callbacks/PostDoorUpdate.lua +24 -0
  115. package/dist/src/classes/callbacks/PostEffectInitLate.d.ts +12 -0
  116. package/dist/src/classes/callbacks/PostEffectInitLate.d.ts.map +1 -0
  117. package/dist/src/classes/callbacks/PostEffectInitLate.lua +27 -0
  118. package/dist/src/classes/callbacks/PostEffectStateChanged.d.ts +13 -0
  119. package/dist/src/classes/callbacks/PostEffectStateChanged.d.ts.map +1 -0
  120. package/dist/src/classes/callbacks/PostEffectStateChanged.lua +33 -0
  121. package/dist/src/classes/callbacks/PostEsauJr.d.ts +6 -0
  122. package/dist/src/classes/callbacks/PostEsauJr.d.ts.map +1 -0
  123. package/dist/src/classes/callbacks/PostEsauJr.lua +17 -0
  124. package/dist/src/classes/callbacks/PostFamiliarInitLate.d.ts +12 -0
  125. package/dist/src/classes/callbacks/PostFamiliarInitLate.d.ts.map +1 -0
  126. package/dist/src/classes/callbacks/PostFamiliarInitLate.lua +27 -0
  127. package/dist/src/classes/callbacks/PostFamiliarStateChanged.d.ts +13 -0
  128. package/dist/src/classes/callbacks/PostFamiliarStateChanged.d.ts.map +1 -0
  129. package/dist/src/classes/callbacks/PostFamiliarStateChanged.lua +33 -0
  130. package/dist/src/classes/callbacks/PostFirstEsauJr.d.ts +6 -0
  131. package/dist/src/classes/callbacks/PostFirstEsauJr.d.ts.map +1 -0
  132. package/dist/src/classes/callbacks/PostFirstEsauJr.lua +17 -0
  133. package/dist/src/classes/callbacks/PostFirstFlip.d.ts +6 -0
  134. package/dist/src/classes/callbacks/PostFirstFlip.d.ts.map +1 -0
  135. package/dist/src/classes/callbacks/PostFirstFlip.lua +17 -0
  136. package/dist/src/classes/callbacks/PostFlip.d.ts +6 -0
  137. package/dist/src/classes/callbacks/PostFlip.d.ts.map +1 -0
  138. package/dist/src/classes/callbacks/PostFlip.lua +17 -0
  139. package/dist/src/classes/callbacks/PostGameStartedReordered.d.ts +6 -0
  140. package/dist/src/classes/callbacks/PostGameStartedReordered.d.ts.map +1 -0
  141. package/dist/src/classes/callbacks/PostGameStartedReordered.lua +17 -0
  142. package/dist/src/classes/callbacks/PostGameStartedReorderedLast.d.ts +6 -0
  143. package/dist/src/classes/callbacks/PostGameStartedReorderedLast.d.ts.map +1 -0
  144. package/dist/src/classes/callbacks/PostGameStartedReorderedLast.lua +17 -0
  145. package/dist/src/classes/callbacks/PostGreedModeWave.d.ts +12 -0
  146. package/dist/src/classes/callbacks/PostGreedModeWave.d.ts.map +1 -0
  147. package/dist/src/classes/callbacks/PostGreedModeWave.lua +34 -0
  148. package/dist/src/classes/callbacks/PostGridEntityBroken.d.ts +6 -0
  149. package/dist/src/classes/callbacks/PostGridEntityBroken.d.ts.map +1 -0
  150. package/dist/src/classes/callbacks/PostGridEntityBroken.lua +17 -0
  151. package/dist/src/classes/callbacks/PostGridEntityCollision.d.ts +9 -0
  152. package/dist/src/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -0
  153. package/dist/src/classes/callbacks/PostGridEntityCollision.lua +36 -0
  154. package/dist/src/classes/callbacks/PostGridEntityCustomBroken.d.ts +6 -0
  155. package/dist/src/classes/callbacks/PostGridEntityCustomBroken.d.ts.map +1 -0
  156. package/dist/src/classes/callbacks/PostGridEntityCustomBroken.lua +17 -0
  157. package/dist/src/classes/callbacks/PostGridEntityCustomCollision.d.ts +9 -0
  158. package/dist/src/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -0
  159. package/dist/src/classes/callbacks/PostGridEntityCustomCollision.lua +31 -0
  160. package/dist/src/classes/callbacks/PostGridEntityCustomInit.d.ts +6 -0
  161. package/dist/src/classes/callbacks/PostGridEntityCustomInit.d.ts.map +1 -0
  162. package/dist/src/classes/callbacks/PostGridEntityCustomInit.lua +17 -0
  163. package/dist/src/classes/callbacks/PostGridEntityCustomRemove.d.ts +9 -0
  164. package/dist/src/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -0
  165. package/dist/src/classes/callbacks/PostGridEntityCustomRemove.lua +25 -0
  166. package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.d.ts +6 -0
  167. package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.d.ts.map +1 -0
  168. package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.lua +17 -0
  169. package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.d.ts +6 -0
  170. package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.d.ts.map +1 -0
  171. package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.lua +17 -0
  172. package/dist/src/classes/callbacks/PostGridEntityInit.d.ts +6 -0
  173. package/dist/src/classes/callbacks/PostGridEntityInit.d.ts.map +1 -0
  174. package/dist/src/classes/callbacks/PostGridEntityInit.lua +17 -0
  175. package/dist/src/classes/callbacks/PostGridEntityRemove.d.ts +9 -0
  176. package/dist/src/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -0
  177. package/dist/src/classes/callbacks/PostGridEntityRemove.lua +28 -0
  178. package/dist/src/classes/callbacks/PostGridEntityStateChanged.d.ts +6 -0
  179. package/dist/src/classes/callbacks/PostGridEntityStateChanged.d.ts.map +1 -0
  180. package/dist/src/classes/callbacks/PostGridEntityStateChanged.lua +17 -0
  181. package/dist/src/classes/callbacks/PostGridEntityUpdate.d.ts +6 -0
  182. package/dist/src/classes/callbacks/PostGridEntityUpdate.d.ts.map +1 -0
  183. package/dist/src/classes/callbacks/PostGridEntityUpdate.lua +17 -0
  184. package/dist/src/classes/callbacks/PostHolyMantleRemoved.d.ts +14 -0
  185. package/dist/src/classes/callbacks/PostHolyMantleRemoved.d.ts.map +1 -0
  186. package/dist/src/classes/callbacks/PostHolyMantleRemoved.lua +35 -0
  187. package/dist/src/classes/callbacks/PostKnifeInitLate.d.ts +12 -0
  188. package/dist/src/classes/callbacks/PostKnifeInitLate.d.ts.map +1 -0
  189. package/dist/src/classes/callbacks/PostKnifeInitLate.lua +27 -0
  190. package/dist/src/classes/callbacks/PostNewLevelReordered.d.ts +6 -0
  191. package/dist/src/classes/callbacks/PostNewLevelReordered.d.ts.map +1 -0
  192. package/dist/src/classes/callbacks/PostNewLevelReordered.lua +17 -0
  193. package/dist/src/classes/callbacks/PostNewRoomEarly.d.ts +13 -0
  194. package/dist/src/classes/callbacks/PostNewRoomEarly.d.ts.map +1 -0
  195. package/dist/src/classes/callbacks/PostNewRoomEarly.lua +65 -0
  196. package/dist/src/classes/callbacks/PostNewRoomReordered.d.ts +6 -0
  197. package/dist/src/classes/callbacks/PostNewRoomReordered.d.ts.map +1 -0
  198. package/dist/src/classes/callbacks/PostNewRoomReordered.lua +17 -0
  199. package/dist/src/classes/callbacks/PostPEffectUpdateReordered.d.ts +6 -0
  200. package/dist/src/classes/callbacks/PostPEffectUpdateReordered.d.ts.map +1 -0
  201. package/dist/src/classes/callbacks/PostPEffectUpdateReordered.lua +17 -0
  202. package/dist/src/classes/callbacks/PostPitRender.d.ts +7 -0
  203. package/dist/src/classes/callbacks/PostPitRender.d.ts.map +1 -0
  204. package/dist/src/classes/callbacks/PostPitRender.lua +24 -0
  205. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts +15 -0
  206. package/dist/src/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -0
  207. package/dist/src/classes/callbacks/PostPlayerFatalDamage.lua +87 -0
  208. package/dist/src/classes/callbacks/PostPlayerRenderReordered.d.ts +6 -0
  209. package/dist/src/classes/callbacks/PostPlayerRenderReordered.d.ts.map +1 -0
  210. package/dist/src/classes/callbacks/PostPlayerRenderReordered.lua +17 -0
  211. package/dist/src/classes/callbacks/PostPlayerUpdateReordered.d.ts +6 -0
  212. package/dist/src/classes/callbacks/PostPlayerUpdateReordered.d.ts.map +1 -0
  213. package/dist/src/classes/callbacks/PostPlayerUpdateReordered.lua +17 -0
  214. package/dist/src/classes/callbacks/PostRoomClearChanged.d.ts +13 -0
  215. package/dist/src/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -0
  216. package/dist/src/classes/callbacks/PostRoomClearChanged.lua +33 -0
  217. package/dist/src/classes/callbacks/PostSpikesRender.d.ts +7 -0
  218. package/dist/src/classes/callbacks/PostSpikesRender.d.ts.map +1 -0
  219. package/dist/src/classes/callbacks/PostSpikesRender.lua +24 -0
  220. package/dist/src/classes/callbacks/PreBerserkDeath.d.ts +7 -0
  221. package/dist/src/classes/callbacks/PreBerserkDeath.d.ts.map +1 -0
  222. package/dist/src/classes/callbacks/PreBerserkDeath.lua +36 -0
  223. package/dist/src/classes/callbacks/PreCustomRevive.d.ts +6 -0
  224. package/dist/src/classes/callbacks/PreCustomRevive.d.ts.map +1 -0
  225. package/dist/src/classes/callbacks/PreCustomRevive.lua +17 -0
  226. package/dist/src/classes/callbacks/validation/CustomCallbackAmbush.d.ts +10 -0
  227. package/dist/src/classes/callbacks/validation/CustomCallbackAmbush.d.ts.map +1 -0
  228. package/dist/src/classes/callbacks/validation/CustomCallbackAmbush.lua +19 -0
  229. package/dist/src/classes/callbacks/validation/CustomCallbackBomb.d.ts +10 -0
  230. package/dist/src/classes/callbacks/validation/CustomCallbackBomb.d.ts.map +1 -0
  231. package/dist/src/classes/callbacks/validation/CustomCallbackBomb.lua +19 -0
  232. package/dist/src/classes/callbacks/validation/CustomCallbackCollectible.d.ts +10 -0
  233. package/dist/src/classes/callbacks/validation/CustomCallbackCollectible.d.ts.map +1 -0
  234. package/dist/src/classes/callbacks/validation/CustomCallbackCollectible.lua +19 -0
  235. package/dist/src/classes/callbacks/validation/CustomCallbackDoor.d.ts +10 -0
  236. package/dist/src/classes/callbacks/validation/CustomCallbackDoor.d.ts.map +1 -0
  237. package/dist/src/classes/callbacks/validation/CustomCallbackDoor.lua +20 -0
  238. package/dist/src/classes/callbacks/validation/CustomCallbackEffect.d.ts +11 -0
  239. package/dist/src/classes/callbacks/validation/CustomCallbackEffect.d.ts.map +1 -0
  240. package/dist/src/classes/callbacks/validation/CustomCallbackEffect.lua +19 -0
  241. package/dist/src/classes/callbacks/validation/CustomCallbackFamiliar.d.ts +11 -0
  242. package/dist/src/classes/callbacks/validation/CustomCallbackFamiliar.d.ts.map +1 -0
  243. package/dist/src/classes/callbacks/validation/CustomCallbackFamiliar.lua +19 -0
  244. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntity.d.ts +11 -0
  245. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntity.d.ts.map +1 -0
  246. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntity.lua +24 -0
  247. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.d.ts +10 -0
  248. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.d.ts.map +1 -0
  249. package/dist/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.lua +19 -0
  250. package/dist/src/classes/callbacks/validation/CustomCallbackKnife.d.ts +10 -0
  251. package/dist/src/classes/callbacks/validation/CustomCallbackKnife.d.ts.map +1 -0
  252. package/dist/src/classes/callbacks/validation/CustomCallbackKnife.lua +19 -0
  253. package/dist/src/classes/callbacks/validation/CustomCallbackPit.d.ts +10 -0
  254. package/dist/src/classes/callbacks/validation/CustomCallbackPit.d.ts.map +1 -0
  255. package/dist/src/classes/callbacks/validation/CustomCallbackPit.lua +20 -0
  256. package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.d.ts +10 -0
  257. package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.d.ts.map +1 -0
  258. package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.lua +23 -0
  259. package/dist/src/classes/callbacks/validation/CustomCallbackRevive.d.ts +11 -0
  260. package/dist/src/classes/callbacks/validation/CustomCallbackRevive.d.ts.map +1 -0
  261. package/dist/src/classes/callbacks/validation/CustomCallbackRevive.lua +19 -0
  262. package/dist/src/classes/callbacks/validation/CustomCallbackSpikes.d.ts +10 -0
  263. package/dist/src/classes/callbacks/validation/CustomCallbackSpikes.d.ts.map +1 -0
  264. package/dist/src/classes/callbacks/validation/CustomCallbackSpikes.lua +20 -0
  265. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts +134 -0
  266. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -0
  267. package/dist/src/classes/features/callbackLogic/CustomGridEntities.lua +220 -0
  268. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts +39 -0
  269. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -0
  270. package/dist/src/classes/features/callbackLogic/CustomRevive.lua +140 -0
  271. package/dist/src/classes/features/callbackLogic/EsauJrDetection.d.ts +19 -0
  272. package/dist/src/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -0
  273. package/dist/src/classes/features/callbackLogic/EsauJrDetection.lua +52 -0
  274. package/dist/src/classes/features/callbackLogic/FlipDetection.d.ts +16 -0
  275. package/dist/src/classes/features/callbackLogic/FlipDetection.d.ts.map +1 -0
  276. package/dist/src/classes/features/callbackLogic/FlipDetection.lua +58 -0
  277. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts +27 -0
  278. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -0
  279. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.lua +108 -0
  280. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts +19 -0
  281. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts.map +1 -0
  282. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.lua +69 -0
  283. package/dist/src/classes/features/callbackLogic/GridEntityDetection.d.ts +46 -0
  284. package/dist/src/classes/features/callbackLogic/GridEntityDetection.d.ts.map +1 -0
  285. package/dist/src/classes/features/callbackLogic/GridEntityDetection.lua +126 -0
  286. package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +24 -0
  287. package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -0
  288. package/dist/src/classes/features/callbackLogic/PlayerReorderedCallbacks.lua +72 -0
  289. package/dist/src/classes/features/other/RunInNFrames.d.ts +123 -0
  290. package/dist/src/classes/features/other/RunInNFrames.d.ts.map +1 -0
  291. package/dist/src/classes/features/other/RunInNFrames.lua +109 -0
  292. package/dist/src/classes/private/CustomCallback.d.ts +26 -0
  293. package/dist/src/classes/private/CustomCallback.d.ts.map +1 -0
  294. package/dist/src/classes/private/CustomCallback.lua +63 -0
  295. package/dist/src/classes/private/Feature.d.ts +19 -0
  296. package/dist/src/classes/private/Feature.d.ts.map +1 -0
  297. package/dist/src/classes/private/Feature.lua +16 -0
  298. package/dist/src/core/upgradeMod.d.ts +18 -1
  299. package/dist/src/core/upgradeMod.d.ts.map +1 -1
  300. package/dist/src/core/upgradeMod.lua +44 -9
  301. package/dist/src/decorators.d.ts +9 -0
  302. package/dist/src/decorators.d.ts.map +1 -0
  303. package/dist/src/decorators.lua +12 -0
  304. package/dist/src/enums/ISCFeature.d.ts +12 -0
  305. package/dist/src/enums/ISCFeature.d.ts.map +1 -0
  306. package/dist/src/enums/ISCFeature.lua +12 -0
  307. package/dist/src/enums/LadderSubTypeCustom.d.ts +17 -0
  308. package/dist/src/enums/LadderSubTypeCustom.d.ts.map +1 -0
  309. package/dist/src/enums/LadderSubTypeCustom.lua +19 -0
  310. package/dist/src/enums/ModCallbackCustom.d.ts +399 -327
  311. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  312. package/dist/src/enums/ModCallbackCustom.lua +85 -87
  313. package/dist/src/enums/ModCallbackCustom2.d.ts +53 -0
  314. package/dist/src/enums/ModCallbackCustom2.d.ts.map +1 -0
  315. package/dist/src/enums/ModCallbackCustom2.lua +102 -0
  316. package/dist/src/features/customGridEntity.d.ts.map +1 -1
  317. package/dist/src/features/customGridEntity.lua +6 -8
  318. package/dist/src/features/{setHotkey.d.ts → customHotkeys.d.ts} +1 -1
  319. package/dist/src/features/customHotkeys.d.ts.map +1 -0
  320. package/dist/src/features/{setHotkey.lua → customHotkeys.lua} +2 -2
  321. package/dist/src/features/customPickup.d.ts.map +1 -1
  322. package/dist/src/features/customPickup.lua +6 -2
  323. package/dist/src/features/customStage/backdrop.d.ts.map +1 -1
  324. package/dist/src/features/customStage/backdrop.lua +3 -1
  325. package/dist/src/features/customStage/shadows.d.ts.map +1 -1
  326. package/dist/src/features/customStage/shadows.lua +3 -1
  327. package/dist/src/features/customTrapdoor/init.lua +1 -7
  328. package/dist/src/features/customTrapdoor/touched.lua +1 -1
  329. package/dist/src/features/deployJSONRoom.d.ts.map +1 -1
  330. package/dist/src/features/deployJSONRoom.lua +6 -8
  331. package/dist/src/features/firstLast.d.ts.map +1 -1
  332. package/dist/src/features/firstLast.lua +3 -3
  333. package/dist/src/features/saveDataManager/constants.d.ts +1 -1
  334. package/dist/src/features/saveDataManager/constants.d.ts.map +1 -1
  335. package/dist/src/features/saveDataManager/exports.d.ts +5 -0
  336. package/dist/src/features/saveDataManager/exports.d.ts.map +1 -1
  337. package/dist/src/features/saveDataManager/exports.lua +16 -0
  338. package/dist/src/features/saveDataManager/main.d.ts +8 -2
  339. package/dist/src/features/saveDataManager/main.d.ts.map +1 -1
  340. package/dist/src/features/saveDataManager/main.lua +3 -5
  341. package/dist/src/features/saveDataManager/save.lua +2 -3
  342. package/dist/src/features.d.ts +34 -0
  343. package/dist/src/features.d.ts.map +1 -0
  344. package/dist/src/features.lua +68 -0
  345. package/dist/src/functions/ambush.d.ts +6 -0
  346. package/dist/src/functions/ambush.d.ts.map +1 -1
  347. package/dist/src/functions/ambush.lua +31 -0
  348. package/dist/src/functions/characters.lua +3 -3
  349. package/dist/src/functions/charge.d.ts +30 -8
  350. package/dist/src/functions/charge.d.ts.map +1 -1
  351. package/dist/src/functions/charge.lua +38 -2
  352. package/dist/src/functions/chargeBar.d.ts +6 -0
  353. package/dist/src/functions/chargeBar.d.ts.map +1 -1
  354. package/dist/src/functions/chargeBar.lua +6 -0
  355. package/dist/src/functions/decorators.d.ts +19 -0
  356. package/dist/src/functions/decorators.d.ts.map +1 -0
  357. package/dist/src/functions/decorators.lua +32 -0
  358. package/dist/src/functions/flying.lua +4 -4
  359. package/dist/src/functions/gridEntities.lua +5 -5
  360. package/dist/src/functions/gridEntitiesSpecific.lua +12 -12
  361. package/dist/src/functions/itemPool.lua +2 -2
  362. package/dist/src/functions/minimap.d.ts +4 -0
  363. package/dist/src/functions/minimap.d.ts.map +1 -1
  364. package/dist/src/functions/minimap.lua +4 -0
  365. package/dist/src/functions/playerHealth.lua +6 -6
  366. package/dist/src/functions/playerIndex.lua +2 -2
  367. package/dist/src/functions/players.d.ts +14 -3
  368. package/dist/src/functions/players.d.ts.map +1 -1
  369. package/dist/src/functions/players.lua +35 -16
  370. package/dist/src/functions/pocketItems.lua +1 -1
  371. package/dist/src/functions/roomTransition.d.ts +3 -4
  372. package/dist/src/functions/roomTransition.d.ts.map +1 -1
  373. package/dist/src/functions/roomTransition.lua +4 -32
  374. package/dist/src/functions/rooms.d.ts +1 -1
  375. package/dist/src/functions/rooms.d.ts.map +1 -1
  376. package/dist/src/functions/rooms.lua +1 -1
  377. package/dist/src/functions/run.d.ts +5 -0
  378. package/dist/src/functions/run.d.ts.map +1 -1
  379. package/dist/src/functions/run.lua +6 -0
  380. package/dist/src/functions/spawnCollectible.d.ts +24 -5
  381. package/dist/src/functions/spawnCollectible.d.ts.map +1 -1
  382. package/dist/src/functions/spawnCollectible.lua +44 -4
  383. package/dist/src/functions/table.d.ts +2 -0
  384. package/dist/src/functions/table.d.ts.map +1 -1
  385. package/dist/src/functions/table.lua +7 -0
  386. package/dist/src/functions/trinkets.lua +1 -1
  387. package/dist/src/functions/tstlClass.d.ts +21 -9
  388. package/dist/src/functions/tstlClass.d.ts.map +1 -1
  389. package/dist/src/functions/tstlClass.lua +49 -24
  390. package/dist/src/functions/utils.d.ts +44 -2
  391. package/dist/src/functions/utils.d.ts.map +1 -1
  392. package/dist/src/functions/utils.lua +43 -2
  393. package/dist/src/index.d.ts +15 -2
  394. package/dist/src/index.d.ts.map +1 -1
  395. package/dist/src/index.lua +42 -10
  396. package/dist/src/initCustomCallbacks.d.ts.map +1 -1
  397. package/dist/src/initCustomCallbacks.lua +0 -3
  398. package/dist/src/initFeatures.lua +3 -3
  399. package/dist/src/interfaces/SaveData.d.ts.map +1 -1
  400. package/dist/src/interfaces/{private/TSTLClassMetatable.d.ts → TSTLClassMetatable.d.ts} +0 -0
  401. package/dist/src/interfaces/TSTLClassMetatable.d.ts.map +1 -0
  402. package/dist/src/interfaces/{private/TSTLClassMetatable.lua → TSTLClassMetatable.lua} +0 -0
  403. package/dist/src/interfaces/private/{AddCallbackParameterCustom.d.ts → AddCallbackParametersCustom.d.ts} +3 -5
  404. package/dist/src/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -0
  405. package/dist/src/interfaces/private/{AddCallbackParameterCustom.lua → AddCallbackParametersCustom.lua} +3 -0
  406. package/dist/src/interfaces/private/AddCallbackParametersCustom2.d.ts +201 -0
  407. package/dist/src/interfaces/private/AddCallbackParametersCustom2.d.ts.map +1 -0
  408. package/dist/src/interfaces/private/AddCallbackParametersCustom2.lua +7 -0
  409. package/dist/src/maps/characterNameToTypeMap.lua +12 -12
  410. package/dist/src/objects/callbackRegisterFunctions.d.ts +1 -1
  411. package/dist/src/objects/callbackRegisterFunctions.d.ts.map +1 -1
  412. package/dist/src/objects/callbackRegisterFunctions.lua +2 -5
  413. package/dist/src/objects/characterDamageMultipliers.lua +6 -6
  414. package/dist/src/objects/characterNames.lua +6 -6
  415. package/dist/src/objects/playerNamePNGFileNames.lua +6 -6
  416. package/dist/src/objects/playerPortraitPNGFileNames.lua +6 -6
  417. package/dist/src/sets/charactersThatStartWithAnActiveItemSet.lua +1 -1
  418. package/dist/src/sets/charactersWithFreeDevilDealsSet.d.ts.map +1 -1
  419. package/dist/src/sets/charactersWithFreeDevilDealsSet.lua +1 -1
  420. package/dist/src/sets/charactersWithNoRedHeartsSet.lua +3 -3
  421. package/dist/src/sets/charactersWithNoSoulHeartsSet.lua +2 -2
  422. package/dist/src/sets/lostStyleCharactersSet.lua +4 -4
  423. package/dist/src/types/AllButFirst.d.ts +5 -0
  424. package/dist/src/types/AllButFirst.d.ts.map +1 -0
  425. package/dist/src/types/AllButFirst.lua +2 -0
  426. package/dist/src/types/AllButLast.d.ts +2 -0
  427. package/dist/src/types/AllButLast.d.ts.map +1 -0
  428. package/dist/src/types/AllButLast.lua +2 -0
  429. package/dist/src/types/Constructor.d.ts +2 -0
  430. package/dist/src/types/Constructor.d.ts.map +1 -0
  431. package/dist/src/types/Constructor.lua +2 -0
  432. package/dist/src/types/FunctionTuple.d.ts +5 -0
  433. package/dist/src/types/FunctionTuple.d.ts.map +1 -0
  434. package/dist/src/types/FunctionTuple.lua +2 -0
  435. package/dist/src/types/HasAllEnumKeys.d.ts +26 -0
  436. package/dist/src/types/HasAllEnumKeys.d.ts.map +1 -0
  437. package/dist/src/types/HasAllEnumKeys.lua +2 -0
  438. package/dist/src/types/LowercaseKeys.d.ts +3 -0
  439. package/dist/src/types/LowercaseKeys.d.ts.map +1 -0
  440. package/dist/src/types/LowercaseKeys.lua +2 -0
  441. package/dist/src/types/StartsWithLowercase.d.ts +2 -0
  442. package/dist/src/types/StartsWithLowercase.d.ts.map +1 -0
  443. package/dist/src/types/StartsWithLowercase.lua +2 -0
  444. package/dist/src/types/StartsWithUppercase.d.ts +2 -0
  445. package/dist/src/types/StartsWithUppercase.d.ts.map +1 -0
  446. package/dist/src/types/StartsWithUppercase.lua +2 -0
  447. package/dist/src/types/UnionToIntersection.d.ts +3 -0
  448. package/dist/src/types/UnionToIntersection.d.ts.map +1 -0
  449. package/dist/src/types/UnionToIntersection.lua +2 -0
  450. package/dist/src/types/UppercaseKeys.d.ts +3 -0
  451. package/dist/src/types/UppercaseKeys.d.ts.map +1 -0
  452. package/dist/src/types/UppercaseKeys.lua +2 -0
  453. package/dist/src/types/private/AllButFirst.d.ts +5 -0
  454. package/dist/src/types/private/AllButFirst.d.ts.map +1 -0
  455. package/dist/src/types/private/AllButFirst.lua +2 -0
  456. package/dist/src/types/private/CallbackTuple.d.ts +20 -0
  457. package/dist/src/types/private/CallbackTuple.d.ts.map +1 -0
  458. package/dist/src/types/private/CallbackTuple.lua +2 -0
  459. package/dist/src/types/private/MatchingCallbackCustom.d.ts +16 -0
  460. package/dist/src/types/private/MatchingCallbackCustom.d.ts.map +1 -0
  461. package/dist/src/types/private/MatchingCallbackCustom.lua +2 -0
  462. package/package.json +2 -2
  463. package/src/callbacks/customRevive.ts +13 -1
  464. package/src/callbacks/postAmbush.ts +7 -14
  465. package/src/callbacks/postBombExploded.ts +1 -1
  466. package/src/callbacks/postBoneSwing.ts +2 -1
  467. package/src/callbacks/postCollectibleEmpty.ts +2 -0
  468. package/src/callbacks/postCollectibleInitFirst.ts +2 -0
  469. package/src/callbacks/postDoorRender.ts +2 -2
  470. package/src/callbacks/postEffectStateChanged.ts +3 -6
  471. package/src/callbacks/postFamiliarStateChanged.ts +3 -3
  472. package/src/callbacks/postFlip.ts +2 -2
  473. package/src/callbacks/postGridEntity.ts +3 -7
  474. package/src/callbacks/postNPCStateChanged.ts +3 -3
  475. package/src/callbacks/postNewRoomEarly.ts +1 -1
  476. package/src/callbacks/postPickupStateChanged.ts +3 -6
  477. package/src/callbacks/postPlayerCollectible.ts +8 -12
  478. package/src/callbacks/postRoomClearChanged.ts +3 -7
  479. package/src/callbacks/reorderedCallbacks.ts +6 -6
  480. package/src/callbacks/subscriptions/{postBoneExploded.ts → postBombExploded.ts} +0 -0
  481. package/src/callbacks/subscriptions/postCollectibleEmpty.ts +1 -1
  482. package/src/callbacks/subscriptions/postCollectibleInitFirst.ts +1 -1
  483. package/src/callbacks/subscriptions/postCursedTeleport.ts +24 -1
  484. package/src/callbacks/subscriptions/postGridEntityBroken.ts +4 -7
  485. package/src/callbacks/subscriptions/postGridEntityCollision.ts +4 -4
  486. package/src/callbacks/subscriptions/postGridEntityInit.ts +4 -7
  487. package/src/callbacks/subscriptions/postGridEntityRemove.ts +10 -9
  488. package/src/callbacks/subscriptions/postGridEntityRender.ts +4 -7
  489. package/src/callbacks/subscriptions/postGridEntityStateChanged.ts +4 -7
  490. package/src/callbacks/subscriptions/postGridEntityUpdate.ts +4 -7
  491. package/src/callbacks/subscriptions/postHolyMantleRemoved.ts +9 -2
  492. package/src/callbacks/subscriptions/postPEffectUpdateReordered.ts +9 -2
  493. package/src/callbacks/subscriptions/postRockRender.ts +6 -7
  494. package/src/callbacks/subscriptions/postRockUpdate.ts +6 -7
  495. package/src/callbacks/subscriptions/postSpikesRender.ts +4 -7
  496. package/src/callbacks/subscriptions/postSpikesUpdate.ts +4 -7
  497. package/src/callbacks/subscriptions/postTNTRender.ts +4 -7
  498. package/src/callbacks/subscriptions/postTNTUpdate.ts +4 -7
  499. package/src/callbacks.ts +134 -0
  500. package/src/classes/DefaultMap.ts +3 -3
  501. package/src/classes/ModFeature.ts +14 -0
  502. package/src/classes/ModUpgraded.ts +205 -45
  503. package/src/classes/callbacks/PostAmbushFinished.ts +39 -0
  504. package/src/classes/callbacks/PostAmbushStarted.ts +39 -0
  505. package/src/classes/callbacks/PostBombExploded.ts +21 -0
  506. package/src/classes/callbacks/PostBombInitLate.ts +28 -0
  507. package/src/classes/callbacks/PostBoneSwing.ts +61 -0
  508. package/src/classes/callbacks/PostCollectibleEmpty.ts +72 -0
  509. package/src/classes/callbacks/PostCollectibleInitFirst.ts +37 -0
  510. package/src/classes/callbacks/PostCursedTeleport.ts +186 -0
  511. package/src/classes/callbacks/PostCustomRevive.ts +11 -0
  512. package/src/classes/callbacks/PostDiceRoomActivated.ts +68 -0
  513. package/src/classes/callbacks/PostDoorRender.ts +19 -0
  514. package/src/classes/callbacks/PostDoorUpdate.ts +19 -0
  515. package/src/classes/callbacks/PostEffectInitLate.ts +28 -0
  516. package/src/classes/callbacks/PostEffectStateChanged.ts +35 -0
  517. package/src/classes/callbacks/PostEsauJr.ts +11 -0
  518. package/src/classes/callbacks/PostFamiliarInitLate.ts +28 -0
  519. package/src/classes/callbacks/PostFamiliarStateChanged.ts +35 -0
  520. package/src/classes/callbacks/PostFirstEsauJr.ts +11 -0
  521. package/src/classes/callbacks/PostFirstFlip.ts +11 -0
  522. package/src/classes/callbacks/PostFlip.ts +11 -0
  523. package/src/classes/callbacks/PostGameStartedReordered.ts +11 -0
  524. package/src/classes/callbacks/PostGameStartedReorderedLast.ts +11 -0
  525. package/src/classes/callbacks/PostGreedModeWave.ts +37 -0
  526. package/src/classes/callbacks/PostGridEntityBroken.ts +11 -0
  527. package/src/classes/callbacks/PostGridEntityCollision.ts +65 -0
  528. package/src/classes/callbacks/PostGridEntityCustomBroken.ts +11 -0
  529. package/src/classes/callbacks/PostGridEntityCustomCollision.ts +53 -0
  530. package/src/classes/callbacks/PostGridEntityCustomInit.ts +11 -0
  531. package/src/classes/callbacks/PostGridEntityCustomRemove.ts +32 -0
  532. package/src/classes/callbacks/PostGridEntityCustomStateChanged.ts +11 -0
  533. package/src/classes/callbacks/PostGridEntityCustomUpdate.ts +11 -0
  534. package/src/classes/callbacks/PostGridEntityInit.ts +11 -0
  535. package/src/classes/callbacks/PostGridEntityRemove.ts +39 -0
  536. package/src/classes/callbacks/PostGridEntityStateChanged.ts +11 -0
  537. package/src/classes/callbacks/PostGridEntityUpdate.ts +11 -0
  538. package/src/classes/callbacks/PostHolyMantleRemoved.ts +45 -0
  539. package/src/classes/callbacks/PostKnifeInitLate.ts +28 -0
  540. package/src/classes/callbacks/PostNewLevelReordered.ts +11 -0
  541. package/src/classes/callbacks/PostNewRoomEarly.ts +93 -0
  542. package/src/classes/callbacks/PostNewRoomReordered.ts +11 -0
  543. package/src/classes/callbacks/PostPEffectUpdateReordered.ts +11 -0
  544. package/src/classes/callbacks/PostPitRender.ts +21 -0
  545. package/src/classes/callbacks/PostPlayerFatalDamage.ts +127 -0
  546. package/src/classes/callbacks/PostPlayerRenderReordered.ts +11 -0
  547. package/src/classes/callbacks/PostPlayerUpdateReordered.ts +11 -0
  548. package/src/classes/callbacks/PostRoomClearChanged.ts +40 -0
  549. package/src/classes/callbacks/PostSpikesRender.ts +21 -0
  550. package/src/classes/callbacks/PreBerserkDeath.ts +42 -0
  551. package/src/classes/callbacks/PreCustomRevive.ts +11 -0
  552. package/src/classes/callbacks/validation/CustomCallbackAmbush.ts +28 -0
  553. package/src/classes/callbacks/validation/CustomCallbackBomb.ts +27 -0
  554. package/src/classes/callbacks/validation/CustomCallbackCollectible.ts +30 -0
  555. package/src/classes/callbacks/validation/CustomCallbackDoor.ts +28 -0
  556. package/src/classes/callbacks/validation/CustomCallbackEffect.ts +29 -0
  557. package/src/classes/callbacks/validation/CustomCallbackFamiliar.ts +30 -0
  558. package/src/classes/callbacks/validation/CustomCallbackGridEntity.ts +42 -0
  559. package/src/classes/callbacks/validation/CustomCallbackGridEntityCustom.ts +36 -0
  560. package/src/classes/callbacks/validation/CustomCallbackKnife.ts +27 -0
  561. package/src/classes/callbacks/validation/CustomCallbackPit.ts +28 -0
  562. package/src/classes/callbacks/validation/CustomCallbackPlayer.ts +47 -0
  563. package/src/classes/callbacks/validation/CustomCallbackRevive.ts +27 -0
  564. package/src/classes/callbacks/validation/CustomCallbackSpikes.ts +28 -0
  565. package/src/classes/features/callbackLogic/CustomGridEntities.ts +398 -0
  566. package/src/classes/features/callbackLogic/CustomRevive.ts +214 -0
  567. package/src/classes/features/callbackLogic/EsauJrDetection.ts +98 -0
  568. package/src/classes/features/callbackLogic/FlipDetection.ts +82 -0
  569. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +160 -0
  570. package/src/classes/features/callbackLogic/GridEntityCollisionDetection.ts +90 -0
  571. package/src/classes/features/callbackLogic/GridEntityDetection.ts +231 -0
  572. package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +126 -0
  573. package/src/classes/features/other/RunInNFrames.ts +256 -0
  574. package/src/classes/private/CustomCallback.ts +82 -0
  575. package/src/classes/private/Feature.ts +24 -0
  576. package/src/core/upgradeMod.ts +77 -17
  577. package/src/decorators.ts +13 -0
  578. package/src/enums/ISCFeature.ts +47 -0
  579. package/src/enums/LadderSubTypeCustom.ts +17 -0
  580. package/src/enums/ModCallbackCustom.ts +314 -243
  581. package/src/enums/ModCallbackCustom2.ts +57 -0
  582. package/src/features/customGridEntity.ts +3 -7
  583. package/src/features/{setHotkey.ts → customHotkeys.ts} +2 -2
  584. package/src/features/customPickup.ts +4 -2
  585. package/src/features/customStage/backdrop.ts +2 -1
  586. package/src/features/customStage/shadows.ts +2 -1
  587. package/src/features/customTrapdoor/init.ts +0 -1
  588. package/src/features/customTrapdoor/touched.ts +1 -1
  589. package/src/features/deployJSONRoom.ts +3 -7
  590. package/src/features/extraConsoleCommands/listCommands.ts +1 -1
  591. package/src/features/firstLast.ts +3 -7
  592. package/src/features/saveDataManager/constants.ts +1 -1
  593. package/src/features/saveDataManager/exports.ts +27 -0
  594. package/src/features/saveDataManager/main.ts +30 -21
  595. package/src/features/saveDataManager/save.ts +2 -2
  596. package/src/features.ts +90 -0
  597. package/src/functions/ambush.ts +26 -1
  598. package/src/functions/characters.ts +3 -3
  599. package/src/functions/charge.ts +30 -8
  600. package/src/functions/chargeBar.ts +6 -0
  601. package/src/functions/decorators.ts +45 -0
  602. package/src/functions/flying.ts +4 -4
  603. package/src/functions/gridEntities.ts +5 -5
  604. package/src/functions/gridEntitiesSpecific.ts +12 -12
  605. package/src/functions/itemPool.ts +2 -2
  606. package/src/functions/minimap.ts +4 -0
  607. package/src/functions/playerHealth.ts +6 -6
  608. package/src/functions/playerIndex.ts +2 -2
  609. package/src/functions/players.ts +26 -7
  610. package/src/functions/pocketItems.ts +1 -1
  611. package/src/functions/roomTransition.ts +3 -27
  612. package/src/functions/rooms.ts +1 -1
  613. package/src/functions/run.ts +12 -0
  614. package/src/functions/spawnCollectible.ts +44 -4
  615. package/src/functions/table.ts +11 -0
  616. package/src/functions/trinkets.ts +1 -1
  617. package/src/functions/tstlClass.ts +48 -24
  618. package/src/functions/utils.ts +56 -2
  619. package/src/index.ts +15 -2
  620. package/src/initCustomCallbacks.ts +1 -2
  621. package/src/initFeatures.ts +2 -2
  622. package/src/interfaces/SaveData.ts +4 -2
  623. package/src/interfaces/{private/TSTLClassMetatable.ts → TSTLClassMetatable.ts} +0 -0
  624. package/src/interfaces/private/{AddCallbackParameterCustom.ts → AddCallbackParametersCustom.ts} +4 -23
  625. package/src/interfaces/private/AddCallbackParametersCustom2.ts +343 -0
  626. package/src/maps/characterNameToTypeMap.ts +12 -12
  627. package/src/objects/callbackRegisterFunctions.ts +2 -4
  628. package/src/objects/characterDamageMultipliers.ts +6 -6
  629. package/src/objects/characterNames.ts +6 -6
  630. package/src/objects/playerNamePNGFileNames.ts +6 -6
  631. package/src/objects/playerPortraitPNGFileNames.ts +6 -6
  632. package/src/sets/charactersThatStartWithAnActiveItemSet.ts +1 -1
  633. package/src/sets/charactersWithFreeDevilDealsSet.ts +1 -1
  634. package/src/sets/charactersWithNoRedHeartsSet.ts +3 -3
  635. package/src/sets/charactersWithNoSoulHeartsSet.ts +2 -2
  636. package/src/sets/lostStyleCharactersSet.ts +4 -4
  637. package/src/types/AllButFirst.ts +6 -0
  638. package/src/types/AllButLast.ts +3 -0
  639. package/src/types/Constructor.ts +2 -0
  640. package/src/types/FunctionTuple.ts +4 -0
  641. package/src/types/HasAllEnumKeys.ts +25 -0
  642. package/src/types/LowercaseKeys.ts +3 -0
  643. package/src/types/StartsWithLowercase.ts +3 -0
  644. package/src/types/StartsWithUppercase.ts +3 -0
  645. package/src/types/UnionToIntersection.ts +6 -0
  646. package/src/types/UppercaseKeys.ts +3 -0
  647. package/src/types/private/AllButFirst.ts +6 -0
  648. package/src/types/private/CallbackTuple.ts +21 -0
  649. package/src/types/private/MatchingCallbackCustom.ts +32 -0
  650. package/dist/src/callbacks/postCustomDoorEnter.d.ts +0 -6
  651. package/dist/src/callbacks/postCustomDoorEnter.d.ts.map +0 -1
  652. package/dist/src/callbacks/postCustomDoorEnter.lua +0 -199
  653. package/dist/src/callbacks/subscriptions/postCustomDoorEnter.d.ts +0 -9
  654. package/dist/src/callbacks/subscriptions/postCustomDoorEnter.d.ts.map +0 -1
  655. package/dist/src/callbacks/subscriptions/postCustomDoorEnter.lua +0 -29
  656. package/dist/src/classes/CustomCallback.d.ts +0 -8
  657. package/dist/src/classes/CustomCallback.d.ts.map +0 -1
  658. package/dist/src/classes/CustomCallback.lua +0 -28
  659. package/dist/src/features/customDoor.d.ts +0 -51
  660. package/dist/src/features/customDoor.d.ts.map +0 -1
  661. package/dist/src/features/customDoor.lua +0 -53
  662. package/dist/src/features/setHotkey.d.ts.map +0 -1
  663. package/dist/src/interfaces/private/AddCallbackParameterCustom.d.ts.map +0 -1
  664. package/dist/src/interfaces/private/TSTLClassMetatable.d.ts.map +0 -1
  665. package/src/callbacks/postCustomDoorEnter.ts +0 -250
  666. package/src/callbacks/subscriptions/postCustomDoorEnter.ts +0 -42
  667. package/src/classes/CustomCallback.ts +0 -23
  668. package/src/features/customDoor.ts +0 -66
@@ -11,8 +11,9 @@ export declare enum ModCallbackCustom {
11
11
  * Fires from the `POST_UPDATE` callback when a Challenge Room or Boss Rush is started.
12
12
  * Specifically, this happens on the first frame that `Room.IsAmbushDone` is true.
13
13
  *
14
- * When registering the callback, takes an optional second argument that will make the callback
15
- * only fire if for the `AmbushType` provided.
14
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
15
+ * an optional third argument that will make the callback only fire if it matches the `AmbushType`
16
+ * provided.
16
17
  *
17
18
  * ```ts
18
19
  * function postAmbushFinished(ambushType: AmbushType): void {}
@@ -23,8 +24,9 @@ export declare enum ModCallbackCustom {
23
24
  * Fires from the `POST_UPDATE` callback when a Challenge Room or Boss Rush is completed.
24
25
  * Specifically, this happens on the first frame that `Room.IsAmbushActive` is true.
25
26
  *
26
- * When registering the callback, takes an optional second argument that will make the callback
27
- * only fire if for the `AmbushType` provided.
27
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
28
+ * an optional third argument that will make the callback only fire if it matches the `AmbushType`
29
+ * provided.
28
30
  *
29
31
  * ```ts
30
32
  * function postAmbushStarted(ambushType: AmbushType): void {}
@@ -34,8 +36,9 @@ export declare enum ModCallbackCustom {
34
36
  /**
35
37
  * Fires on the `POST_BOMB_UPDATE` callback that it explodes.
36
38
  *
37
- * When registering the callback, takes an optional second argument that will make the callback
38
- * only fire if the bomb variant matches the `BombVariant` provided.
39
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
40
+ * an optional third argument that will make the callback only fire if it matches the
41
+ * `BombVariant` provided.
39
42
  *
40
43
  * ```ts
41
44
  * function postBombDetonated(bomb: EntityBomb): void {}
@@ -48,8 +51,9 @@ export declare enum ModCallbackCustom {
48
51
  * This callback is useful because many attributes cannot be set or retrieved properly in the
49
52
  * normal `POST_BOMB_INIT` callback.
50
53
  *
51
- * When registering the callback, takes an optional second argument that will make the callback
52
- * only fire if the bomb variant matches the `BombVariant` provided.
54
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
55
+ * an optional third argument that will make the callback only fire if it matches the
56
+ * `BombVariant` provided.
53
57
  *
54
58
  * ```ts
55
59
  * function postBombInitLate(bomb: EntityBomb): void {}
@@ -68,8 +72,9 @@ export declare enum ModCallbackCustom {
68
72
  * Fires from the `POST_PICKUP_UPDATE` callback when a collectible goes from a non-zero sub-type
69
73
  * to `CollectibleType.NULL` (i.e. an "empty" pedestal).
70
74
  *
71
- * When registering the callback, takes an optional second argument that will make the callback
72
- * only fire if the collectible type changed from the `CollectibleType` provided.
75
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
76
+ * an optional third argument that will make the callback only fire if the pedestal changed from
77
+ * the `CollectibleType` provided.
73
78
  *
74
79
  * ```ts
75
80
  * function postCollectibleEmpty(
@@ -88,11 +93,12 @@ export declare enum ModCallbackCustom {
88
93
  * upon re-entering the room. Additionally, when playing as Tainted Isaac, the `POST_PICKUP_INIT`
89
94
  * callback will fire every time the item shifts.
90
95
  *
91
- * When registering the callback, takes an optional second argument that will make the callback
92
- * only fire if the collectible type matches the `CollectibleType` provided.
96
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
97
+ * an optional third argument that will make the callback only fire if it matches the
98
+ * `CollectibleType` provided.
93
99
  *
94
100
  * ```ts
95
- * function postCollectibleInitLate(collectible: EntityPickup): void {}
101
+ * function postCollectibleInitLate(collectible: EntityPickupCollectible): void {}
96
102
  * ```
97
103
  */
98
104
  POST_COLLECTIBLE_INIT_FIRST = 6,
@@ -101,28 +107,17 @@ export declare enum ModCallbackCustom {
101
107
  * begins playing after a player triggers a Cursed Eye teleport or a Cursed Skull teleport. (Both
102
108
  * of these have the same effect in causing Isaac to be teleported to a random room.)
103
109
  *
110
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
111
+ * - You can provide an optional third argument that will make the callback only fire if it
112
+ * matches the `PlayerVariant` provided.
113
+ * - You can provide an optional fourth argument that will make the callback only fire if it
114
+ * matches the `PlayerType` provided.
115
+ *
104
116
  * ```ts
105
117
  * function postCursedTeleport(player: EntityPlayer): void {}
106
118
  * ```
107
119
  */
108
120
  POST_CURSED_TELEPORT = 7,
109
- /**
110
- * Fires from the `POST_PEFFECT_UPDATE` callback when a player enters the loading zone of a custom
111
- * door created with the `spawnCustomDoor` helper function.
112
- *
113
- * When registering the callback, takes an optional second argument that will make the callback
114
- * only fire if it matches the `DoorVariant` provided.
115
- *
116
- * ```ts
117
- * function postCustomDoorEnter(
118
- * player: EntityPlayer,
119
- * effectVariant: int,
120
- * doorSlot: DoorSlot,
121
- * direction: Direction,
122
- * ): void {}
123
- * ```
124
- */
125
- POST_CUSTOM_DOOR_ENTER = 8,
126
121
  /**
127
122
  * Fires from the `POST_PLAYER_UPDATE` callback after the player has finished the death animation,
128
123
  * has teleported to the previous room, and is ready to play the animation for the modded revival
@@ -132,20 +127,22 @@ export declare enum ModCallbackCustom {
132
127
  * `player.AnimateCollectible(CollectibleTypeCustom.COLLECTIBLE_MY_REVIVAL_ITEM);`, otherwise the
133
128
  * animation for a 1-Up will play.
134
129
  *
135
- * When registering the callback, takes an optional second argument that will make the callback
136
- * only fire if the revival type matches the one provided.
130
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
131
+ * an optional third argument that will make the callback only fire if the revival type matches
132
+ * the one provided.
137
133
  *
138
134
  * ```ts
139
135
  * function postCustomRevive(player: EntityPlayer, revivalType: int): void {}
140
136
  * ```
141
137
  */
142
- POST_CUSTOM_REVIVE = 9,
138
+ POST_CUSTOM_REVIVE = 8,
143
139
  /**
144
140
  * Fires from the `EFFECT_POST_UPDATE` callback after a player has entered the range of a Dice
145
141
  * Room floor.
146
142
  *
147
- * When registering the callback, takes an optional second argument that will make the callback
148
- * only fire if the `DiceFloorSubType` type matches the one provided.
143
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
144
+ * an optional third argument that will make the callback only fire if it matches the
145
+ * `DiceFloorSubType` provided.
149
146
  *
150
147
  * ```ts
151
148
  * function postDiceRoomActivated(
@@ -154,49 +151,53 @@ export declare enum ModCallbackCustom {
154
151
  * ): void {}
155
152
  * ```
156
153
  */
157
- POST_DICE_ROOM_ACTIVATED = 10,
154
+ POST_DICE_ROOM_ACTIVATED = 9,
158
155
  /**
159
156
  * Fires from the `POST_RENDER` callback on every frame that a door exists.
160
157
  *
161
- * When registering the callback, takes an optional second argument that will make the callback
162
- * only fire if it matches the variant provided.
158
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
159
+ * an optional third argument that will make the callback only fire if it matches the variant
160
+ * provided.
163
161
  *
164
162
  * ```ts
165
163
  * function postDoorRender(door: GridEntityDoor): void {}
166
164
  * ```
167
165
  */
168
- POST_DOOR_RENDER = 11,
166
+ POST_DOOR_RENDER = 10,
169
167
  /**
170
168
  * Fires from the `POST_UPDATE` callback on every frame that a door exists.
171
169
  *
172
- * When registering the callback, takes an optional second argument that will make the callback
173
- * only fire if it matches the variant provided.
170
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
171
+ * an optional third argument that will make the callback only fire if it matches the variant
172
+ * provided.
174
173
  *
175
174
  * ```ts
176
175
  * function postDoorUpdate(door: GridEntityDoor): void {}
177
176
  * ```
178
177
  */
179
- POST_DOOR_UPDATE = 12,
178
+ POST_DOOR_UPDATE = 11,
180
179
  /**
181
180
  * Fires on the first `POST_EFFECT_UPDATE` frame for each effect.
182
181
  *
183
182
  * This callback is useful because many attributes cannot be set or retrieved properly in the
184
183
  * normal `POST_EFFECT_INIT` callback.
185
184
  *
186
- * When registering the callback, takes an optional second argument that will make the callback
187
- * only fire if the effect variant matches the `EffectVariant` provided.
185
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
186
+ * an optional third argument that will make the callback only fire if it matches the
187
+ * `EffectVariant` provided.
188
188
  *
189
189
  * ```ts
190
190
  * function postEffectInitLate(effect: EntityEffect): void {}
191
191
  * ```
192
192
  */
193
- POST_EFFECT_INIT_LATE = 13,
193
+ POST_EFFECT_INIT_LATE = 12,
194
194
  /**
195
195
  * Fires from the `POST_EFFECT_UPDATE` callback when an effect's state has changed from what it
196
196
  * was on the previous frame. (In this context, "state" refers to the `EntityEffect.State` field.)
197
197
  *
198
- * When registering the callback, takes an optional second argument that will make the callback
199
- * only fire if it matches the `EffectVariant` provided.
198
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
199
+ * an optional third argument that will make the callback only fire if it matches the
200
+ * `EffectVariant` provided.
200
201
  *
201
202
  * ```ts
202
203
  * function postEffectStateChanged(
@@ -206,7 +207,7 @@ export declare enum ModCallbackCustom {
206
207
  * ): void {}
207
208
  * ```
208
209
  */
209
- POST_EFFECT_STATE_CHANGED = 14,
210
+ POST_EFFECT_STATE_CHANGED = 13,
210
211
  /**
211
212
  * Fires one `POST_UPDATE` frame after the player has used the Esau Jr. item. (The player is not
212
213
  * updated to the new character until a game frame has passed.)
@@ -215,28 +216,30 @@ export declare enum ModCallbackCustom {
215
216
  * function postEsauJr(player: EntityPlayer): void {}
216
217
  * ```
217
218
  */
218
- POST_ESAU_JR = 15,
219
+ POST_ESAU_JR = 14,
219
220
  /**
220
221
  * Fires on the first `FAMILIAR_UPDATE` frame for each familiar.
221
222
  *
222
223
  * This callback is useful because many attributes cannot be set or retrieved properly in the
223
224
  * normal `POST_TEAR_INIT` callback.
224
225
  *
225
- * When registering the callback, takes an optional second argument that will make the callback
226
- * only fire if the familiar variant matches the `FamiliarVariant` provided.
226
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
227
+ * an optional third argument that will make the callback only fire if it matches the
228
+ * `FamiliarVariant` provided.
227
229
  *
228
230
  * ```ts
229
231
  * function postFamiliarInitLate(familiar: EntityFamiliar): void {}
230
232
  * ```
231
233
  */
232
- POST_FAMILIAR_INIT_LATE = 16,
234
+ POST_FAMILIAR_INIT_LATE = 15,
233
235
  /**
234
236
  * Fires from the `POST_FAMILIAR_UPDATE` callback when a familiar's state has changed from what it
235
237
  * was on the previous frame. (In this context, "state" refers to the `EntityFamiliar.State`
236
238
  * field.)
237
239
  *
238
- * When registering the callback, takes an optional second argument that will make the callback
239
- * only fire if it matches the `FamiliarVariant` provided.
240
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
241
+ * an optional third argument that will make the callback only fire if it matches the
242
+ * `FamiliarVariant` provided.
240
243
  *
241
244
  * ```ts
242
245
  * function postFamiliarStateChanged(
@@ -246,7 +249,7 @@ export declare enum ModCallbackCustom {
246
249
  * ): void {}
247
250
  * ```
248
251
  */
249
- POST_FAMILIAR_STATE_CHANGED = 17,
252
+ POST_FAMILIAR_STATE_CHANGED = 16,
250
253
  /**
251
254
  * Fires one `POST_UPDATE` frame after the player has first used the Esau Jr. item. (The player is
252
255
  * not updated to the new character until a game frame has passed.)
@@ -258,7 +261,7 @@ export declare enum ModCallbackCustom {
258
261
  * function postFirstEsauJr(player: EntityPlayer): void {}
259
262
  * ```
260
263
  */
261
- POST_FIRST_ESAU_JR = 18,
264
+ POST_FIRST_ESAU_JR = 17,
262
265
  /**
263
266
  * Fires after the player has used the Flip item for the first time. Unlike the vanilla `USE_ITEM`
264
267
  * callback, this callback will return the player object for the new Lazarus (not the one who used
@@ -271,7 +274,7 @@ export declare enum ModCallbackCustom {
271
274
  * function postFirstFlip(newLazarus: EntityPlayer, oldLazarus: EntityPlayer): void {}
272
275
  * ```
273
276
  */
274
- POST_FIRST_FLIP = 19,
277
+ POST_FIRST_FLIP = 18,
275
278
  /**
276
279
  * Fires after the player has used the Flip item. Unlike the vanilla `USE_ITEM` callback, this
277
280
  * callback will return the player object for the new Lazarus (not the one who used the Flip
@@ -284,7 +287,7 @@ export declare enum ModCallbackCustom {
284
287
  * function postFlip(newLazarus: EntityPlayer, oldLazarus: EntityPlayer): void {}
285
288
  * ```
286
289
  */
287
- POST_FLIP = 20,
290
+ POST_FLIP = 19,
288
291
  /**
289
292
  * Similar to the vanilla callback of the same name, but fires in the correct order with respect
290
293
  * to the `POST_NEW_LEVEL` and the `POST_NEW_ROOM` callbacks:
@@ -295,7 +298,7 @@ export declare enum ModCallbackCustom {
295
298
  * function postGameStartedReordered(isContinued: boolean): void {}
296
299
  * ```
297
300
  */
298
- POST_GAME_STARTED_REORDERED = 21,
301
+ POST_GAME_STARTED_REORDERED = 20,
299
302
  /**
300
303
  * Similar to the `POST_GAME_STARTED_REORDERED` callback, but fires after all of the subscribed
301
304
  * callbacks have finished firing. Thus, you can use this callback to do perform things after a
@@ -306,7 +309,7 @@ export declare enum ModCallbackCustom {
306
309
  * function postGameStartedReorderedLast(isContinued: boolean): void {}
307
310
  * ```
308
311
  */
309
- POST_GAME_STARTED_REORDERED_LAST = 22,
312
+ POST_GAME_STARTED_REORDERED_LAST = 21,
310
313
  /**
311
314
  * Fires from the `POST_UPDATE` callback when the Greed Mode wave increases.
312
315
  *
@@ -314,7 +317,7 @@ export declare enum ModCallbackCustom {
314
317
  * function postGreedModeWave(oldWave: int, newWave: int): void {}
315
318
  * ```
316
319
  */
317
- POST_GREED_MODE_WAVE = 23,
320
+ POST_GREED_MODE_WAVE = 22,
318
321
  /**
319
322
  * Fires from the `POST_UPDATE` callback when a grid entity changes to a state that corresponds to
320
323
  * the broken state for the respective grid entity type. (For example, this will fire for a
@@ -323,16 +326,17 @@ export declare enum ModCallbackCustom {
323
326
  * For grid entities created with `spawnCustomGridEntity`, use the
324
327
  * `POST_GRID_ENTITY_CUSTOM_BROKEN` callback instead.
325
328
  *
326
- * - When registering the callback, takes an optional second argument that will make the callback
327
- * only fire if it matches the `GridEntityType` provided.
328
- * - When registering the callback, takes an optional third argument that will make the callback
329
- * only fire if it matches the variant provided.
329
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
330
+ * - You can provide an optional third argument that will make the callback only fire if it
331
+ * matches the `GridEntityType` provided.
332
+ * - You can provide an optional fourth argument that will make the callback only fire if it
333
+ * matches the variant provided.
330
334
  *
331
335
  * ```ts
332
336
  * function postGridEntityBroken(gridEntity: GridEntity): void {}
333
337
  * ```
334
338
  */
335
- POST_GRID_ENTITY_BROKEN = 24,
339
+ POST_GRID_ENTITY_BROKEN = 23,
336
340
  /**
337
341
  * Fires from the `POST_UPDATE` callback when a new entity collides with a grid entity. (After
338
342
  * this, the callback will not continue to fire. It will only fire again once the entity moves out
@@ -341,14 +345,15 @@ export declare enum ModCallbackCustom {
341
345
  * For grid entities created with `spawnCustomGridEntity`, use the
342
346
  * `POST_GRID_ENTITY_CUSTOM_COLLISION` callback instead.
343
347
  *
344
- * - When registering the callback, takes an optional second argument that will make the callback
345
- * only fire if it matches the `GridEntityType` provided.
346
- * - When registering the callback, takes an optional third argument that will make the callback
347
- * only fire if it matches the variant provided (for the grid entity).
348
- * - When registering the callback, takes an optional fourth argument that will make the callback
349
- * only fire if the colliding entity matches the `EntityType` provided.
350
- * - When registering the callback, takes an optional fifth argument that will make the callback
351
- * only fire if the colliding entity matches the variant provided.
348
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
349
+ * - You can provide an optional third argument that will make the callback only fire if it
350
+ * matches the `GridEntityType` provided.
351
+ * - You can provide an optional fourth argument that will make the callback only fire if it
352
+ * matches the variant provided (for the grid entity).
353
+ * - You can provide an optional fifth argument that will make the callback only fire if the
354
+ * colliding entity matches the `EntityType` provided.
355
+ * - You can provide an optional sixth argument that will make the callback only fire if the
356
+ * colliding entity matches the variant provided.
352
357
  *
353
358
  * ```ts
354
359
  * function postGridEntityCollision(
@@ -357,14 +362,15 @@ export declare enum ModCallbackCustom {
357
362
  * ): void {}
358
363
  * ```
359
364
  */
360
- POST_GRID_ENTITY_COLLISION = 25,
365
+ POST_GRID_ENTITY_COLLISION = 24,
361
366
  /**
362
367
  * The same as the `POST_GRID_ENTITY_BROKEN` callback, but only fires for grid entities created
363
368
  * with the `spawnCustomGridEntity` helper function.
364
369
  *
365
- * When registering the callback, takes an optional second argument that will make the callback
366
- * only fire if it matches the `GridEntityType` provided. (Custom grid entities do not have
367
- * variants, so there is no need for an optional third argument to filter by variant.)
370
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
371
+ * an optional third argument that will make the callback only fire if it matches the custom
372
+ * `GridEntityType` provided. (Custom grid entities do not have variants, so there is no need for
373
+ * an optional argument to filter by variant.)
368
374
  *
369
375
  * ```ts
370
376
  * function postGridEntityCustomBroken(
@@ -373,18 +379,19 @@ export declare enum ModCallbackCustom {
373
379
  * ): void {}
374
380
  * ```
375
381
  */
376
- POST_GRID_ENTITY_CUSTOM_BROKEN = 26,
382
+ POST_GRID_ENTITY_CUSTOM_BROKEN = 25,
377
383
  /**
378
384
  * The same as the `POST_GRID_ENTITY_COLLISION` callback, but only fires for grid entities created
379
385
  * with the `spawnCustomGridEntity` helper function.
380
386
  *
381
- * - When registering the callback, takes an optional second argument that will make the callback
382
- * only fire if it matches the `GridEntityType` provided. (Custom grid entities do not have
383
- * variants, so there is no need for an optional third argument to filter by variant.)
384
- * - When registering the callback, takes an optional third argument that will make the callback
385
- * only fire if the the colliding entity matches the `EntityType` provided.
386
- * - When registering the callback, takes an optional fourth argument that will make the callback
387
- * only fire if the the colliding entity matches the variant provided.
387
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
388
+ * - You can provide an optional third argument that will make the callback only fire if it
389
+ * matches the custom `GridEntityType` provided. (Custom grid entities do not have variants, so
390
+ * there is no need for an optional argument to filter by variant.)
391
+ * - You can provide an optional fourth argument that will make the callback only fire if the
392
+ * colliding entity matches the `EntityType` provided.
393
+ * - You can provide an optional fifth argument that will make the callback only fire if the
394
+ * colliding entity matches the variant provided.
388
395
  *
389
396
  * ```ts
390
397
  * function postGridEntityCustomCollision(
@@ -394,14 +401,15 @@ export declare enum ModCallbackCustom {
394
401
  * ): void {}
395
402
  * ```
396
403
  */
397
- POST_GRID_ENTITY_CUSTOM_COLLISION = 27,
404
+ POST_GRID_ENTITY_CUSTOM_COLLISION = 26,
398
405
  /**
399
406
  * The same as the `POST_GRID_ENTITY_INIT` callback, but only fires for grid entities created with
400
407
  * the `spawnCustomGridEntity` helper function.
401
408
  *
402
- * When registering the callback, takes an optional second argument that will make the callback
403
- * only fire if it matches the `GridEntityType` provided. (Custom grid entities do not have
404
- * variants, so there is no need for an optional third argument to filter by variant.)
409
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
410
+ * an optional third argument that will make the callback only fire if it matches the custom
411
+ * `GridEntityType` provided. (Custom grid entities do not have variants, so there is no need for
412
+ * an optional argument to filter by variant.)
405
413
  *
406
414
  * ```ts
407
415
  * function postGridEntityCustomInit(
@@ -410,14 +418,15 @@ export declare enum ModCallbackCustom {
410
418
  * ): void {}
411
419
  * ```
412
420
  */
413
- POST_GRID_ENTITY_CUSTOM_INIT = 28,
421
+ POST_GRID_ENTITY_CUSTOM_INIT = 27,
414
422
  /**
415
423
  * The same as the `POST_GRID_ENTITY_REMOVE` callback, but only fires for grid entities created
416
424
  * with the `spawnCustomGridEntity` helper function.
417
425
  *
418
- * When registering the callback, takes an optional second argument that will make the callback
419
- * only fire if it matches the `GridEntityType` provided. (Custom grid entities do not have
420
- * variants, so there is no need for an optional third argument to filter by variant.)
426
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
427
+ * an optional third argument that will make the callback only fire if it matches the custom
428
+ * `GridEntityType` provided. (Custom grid entities do not have variants, so there is no need for
429
+ * an optional argument to filter by variant.)
421
430
  *
422
431
  * ```ts
423
432
  * function postGridEntityCustomRemove(
@@ -426,14 +435,15 @@ export declare enum ModCallbackCustom {
426
435
  * ): void {}
427
436
  * ```
428
437
  */
429
- POST_GRID_ENTITY_CUSTOM_REMOVE = 29,
438
+ POST_GRID_ENTITY_CUSTOM_REMOVE = 28,
430
439
  /**
431
440
  * The same as the `POST_GRID_ENTITY_RENDER` callback, but only fires for grid entities created
432
441
  * with the `spawnCustomGridEntity` helper function.
433
442
  *
434
- * When registering the callback, takes an optional second argument that will make the callback
435
- * only fire if it matches the `GridEntityType` provided. (Custom grid entities do not have
436
- * variants, so there is no need for an optional third argument to filter by variant.)
443
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
444
+ * an optional third argument that will make the callback only fire if it matches the custom
445
+ * `GridEntityType` provided. (Custom grid entities do not have variants, so there is no need for
446
+ * an optional argument to filter by variant.)
437
447
  *
438
448
  * ```ts
439
449
  * function postGridEntityCustomRender(
@@ -442,14 +452,15 @@ export declare enum ModCallbackCustom {
442
452
  * ): void {}
443
453
  * ```
444
454
  */
445
- POST_GRID_ENTITY_CUSTOM_RENDER = 30,
455
+ POST_GRID_ENTITY_CUSTOM_RENDER = 29,
446
456
  /**
447
457
  * The same as the `POST_GRID_ENTITY_STATE_CHANGED` callback, but only fires for grid entities
448
458
  * created with the `spawnCustomGridEntity` helper function.
449
459
  *
450
- * When registering the callback, takes an optional second argument that will make the callback
451
- * only fire if it matches the `GridEntityType` provided. (Custom grid entities do not have
452
- * variants, so there is no need for an optional third argument to filter by variant.)
460
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
461
+ * an optional third argument that will make the callback only fire if it matches the custom
462
+ * `GridEntityType` provided. (Custom grid entities do not have variants, so there is no need for
463
+ * an optional argument to filter by variant.)
453
464
  *
454
465
  * ```ts
455
466
  * function postGridEntityCustomStateChanged(
@@ -460,14 +471,15 @@ export declare enum ModCallbackCustom {
460
471
  * ): void {}
461
472
  * ```
462
473
  */
463
- POST_GRID_ENTITY_CUSTOM_STATE_CHANGED = 31,
474
+ POST_GRID_ENTITY_CUSTOM_STATE_CHANGED = 30,
464
475
  /**
465
476
  * The same as the `POST_GRID_ENTITY_UPDATE` callback, but only fires for grid entities created
466
477
  * with the `spawnCustomGridEntity` helper function.
467
478
  *
468
- * When registering the callback, takes an optional second argument that will make the callback
469
- * only fire if it matches the `GridEntityType` provided. (Custom grid entities do not have
470
- * variants, so there is no need for an optional third argument to filter by variant.)
479
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
480
+ * an optional third argument that will make the callback only fire if it matches the custom
481
+ * `GridEntityType` provided. (Custom grid entities do not have variants, so there is no need for
482
+ * an optional argument to filter by variant.)
471
483
  *
472
484
  * ```ts
473
485
  * function postGridEntityCustomUpdate(
@@ -476,7 +488,7 @@ export declare enum ModCallbackCustom {
476
488
  * ): void {}
477
489
  * ```
478
490
  */
479
- POST_GRID_ENTITY_CUSTOM_UPDATE = 32,
491
+ POST_GRID_ENTITY_CUSTOM_UPDATE = 31,
480
492
  /**
481
493
  * Fires when a new grid entity is initialized. Specifically, this is either:
482
494
  *
@@ -488,16 +500,17 @@ export declare enum ModCallbackCustom {
488
500
  * For grid entities created with `spawnCustomGridEntity`, use the `POST_GRID_ENTITY_CUSTOM_INIT`
489
501
  * callback instead.
490
502
  *
491
- * - When registering the callback, takes an optional second argument that will make the callback
492
- * only fire if it matches the `GridEntityType` provided.
493
- * - When registering the callback, takes an optional third argument that will make the callback
494
- * only fire if it matches the variant provided.
503
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
504
+ * - You can provide an optional third argument that will make the callback only fire if it
505
+ * matches the `GridEntityType` provided.
506
+ * - You can provide an optional fourth argument that will make the callback only fire if it
507
+ * matches the variant provided.
495
508
  *
496
509
  * ```ts
497
510
  * function postGridEntityInit(gridEntity: GridEntity): void {}
498
511
  * ```
499
512
  */
500
- POST_GRID_ENTITY_INIT = 33,
513
+ POST_GRID_ENTITY_INIT = 32,
501
514
  /**
502
515
  * Fires from the `POST_UPDATE` callback when a new grid entity is removed. Specifically, this on
503
516
  * the frame after it no longer exists (where it did exist a frame ago).
@@ -509,10 +522,11 @@ export declare enum ModCallbackCustom {
509
522
  * For grid entities created with `spawnCustomGridEntity`, use the
510
523
  * `POST_GRID_ENTITY_CUSTOM_REMOVE` callback instead.
511
524
  *
512
- * - When registering the callback, takes an optional second argument that will make the callback
513
- * only fire if it matches the `GridEntityType` provided.
514
- * - When registering the callback, takes an optional third argument that will make the callback
515
- * only fire if it matches the variant provided.
525
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
526
+ * - You can provide an optional third argument that will make the callback only fire if it
527
+ * matches the `GridEntityType` provided.
528
+ * - You can provide an optional fourth argument that will make the callback only fire if it
529
+ * matches the variant provided.
516
530
  *
517
531
  * ```ts
518
532
  * function postGridEntityRemove(
@@ -521,23 +535,24 @@ export declare enum ModCallbackCustom {
521
535
  * ): void {}
522
536
  * ```
523
537
  */
524
- POST_GRID_ENTITY_REMOVE = 34,
538
+ POST_GRID_ENTITY_REMOVE = 33,
525
539
  /**
526
540
  * Fires from the `POST_RENDER` callback on every frame that a grid entity exists.
527
541
  *
528
542
  * For grid entities created with `spawnCustomGridEntity`, use the
529
543
  * `POST_GRID_ENTITY_CUSTOM_RENDER` callback instead.
530
544
  *
531
- * - When registering the callback, takes an optional second argument that will make the callback
532
- * only fire if it matches the `GridEntityType` provided.
533
- * - When registering the callback, takes an optional third argument that will make the callback
534
- * only fire if it matches the variant provided.
545
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
546
+ * - You can provide an optional third argument that will make the callback only fire if it
547
+ * matches the `GridEntityType` provided.
548
+ * - You can provide an optional fourth argument that will make the callback only fire if it
549
+ * matches the variant provided.
535
550
  *
536
551
  * ```ts
537
552
  * function postGridEntityRender(gridEntity: GridEntity): void {}
538
553
  * ```
539
554
  */
540
- POST_GRID_ENTITY_RENDER = 35,
555
+ POST_GRID_ENTITY_RENDER = 34,
541
556
  /**
542
557
  * Fires from the `POST_UPDATE` callback when a grid entity changes its state. (In this context,
543
558
  * "state" refers to the `GridEntity.State` field.)
@@ -545,10 +560,11 @@ export declare enum ModCallbackCustom {
545
560
  * For grid entities created with `spawnCustomGridEntity`, use the
546
561
  * `POST_GRID_ENTITY_CUSTOM_STATE_CHANGED` callback instead.
547
562
  *
548
- * - When registering the callback, takes an optional second argument that will make the callback
549
- * only fire if it matches the `GridEntityType` provided.
550
- * - When registering the callback, takes an optional third argument that will make the callback
551
- * only fire if it matches the variant provided.
563
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
564
+ * - You can provide an optional third argument that will make the callback only fire if it
565
+ * matches the `GridEntityType` provided.
566
+ * - You can provide an optional fourth argument that will make the callback only fire if it
567
+ * matches the variant provided.
552
568
  *
553
569
  * ```ts
554
570
  * function postGridEntityStateChanged(
@@ -558,23 +574,24 @@ export declare enum ModCallbackCustom {
558
574
  * ): void {}
559
575
  * ```
560
576
  */
561
- POST_GRID_ENTITY_STATE_CHANGED = 36,
577
+ POST_GRID_ENTITY_STATE_CHANGED = 35,
562
578
  /**
563
579
  * Fires from the `POST_UPDATE` callback on every frame that a grid entity exists.
564
580
  *
565
581
  * For grid entities created with `spawnCustomGridEntity`, use the
566
582
  * `POST_GRID_ENTITY_CUSTOM_UPDATE` callback instead.
567
583
  *
568
- * - When registering the callback, takes an optional second argument that will make the callback
569
- * only fire if it matches the `GridEntityType` provided.
570
- * - When registering the callback, takes an optional third argument that will make the callback
571
- * only fire if it matches the variant provided.
584
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
585
+ * - You can provide an optional third argument that will make the callback only fire if it
586
+ * matches the `GridEntityType` provided.
587
+ * - You can provide an optional fourth argument that will make the callback only fire if it
588
+ * matches the variant provided.
572
589
  *
573
590
  * ```ts
574
591
  * function postGridEntityUpdate(gridEntity: GridEntity): void {}
575
592
  * ```
576
593
  */
577
- POST_GRID_ENTITY_UPDATE = 37,
594
+ POST_GRID_ENTITY_UPDATE = 36,
578
595
  /**
579
596
  * Fires from the `POST_PEFFECT_UPDATE` callback when the player loses a Holy Mantle temporary
580
597
  * collectible effect.
@@ -583,10 +600,11 @@ export declare enum ModCallbackCustom {
583
600
  * from an enemy. Normally, you would accomplish this via the `ENTITY_TAKE_DMG` callback, but that
584
601
  * callback never fires if the player has a Holy Mantle shield.
585
602
  *
586
- * - When registering the callback, takes an optional second argument that will make the callback
587
- * only fire if the player matches the `PlayerVariant` provided.
588
- * - When registering the callback, takes an optional third argument that will make the callback
589
- * only fire if the player matches the `PlayerType` provided.
603
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
604
+ * - You can provide an optional third argument that will make the callback only fire if it
605
+ * matches the `PlayerVariant` provided.
606
+ * - You can provide an optional fourth argument that will make the callback only fire if it
607
+ * matches the `PlayerType` provided.
590
608
  *
591
609
  * ```ts
592
610
  * function postPlayerInitReordered(
@@ -596,7 +614,7 @@ export declare enum ModCallbackCustom {
596
614
  * ): void {}
597
615
  * ```
598
616
  */
599
- POST_HOLY_MANTLE_REMOVED = 38,
617
+ POST_HOLY_MANTLE_REMOVED = 37,
600
618
  /**
601
619
  * Fires from `POST_PEFFECT_UPDATE` callback when the player loses charge on their active
602
620
  * collectible item, implying that the item was just used.
@@ -607,8 +625,9 @@ export declare enum ModCallbackCustom {
607
625
  * Note that this callback will not fire if the active item is both discharged and swapped for
608
626
  * another item / discharged on the same frame, like in the case of Alabaster Box.
609
627
  *
610
- * When registering the callback, takes an optional second argument that will make the callback
611
- * only fire if it matches the `CollectibleType` provided.
628
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
629
+ * an optional third argument that will make the callback only fire if it matches the
630
+ * `CollectibleType` provided.
612
631
  *
613
632
  * ```ts
614
633
  * function postItemDischarge(
@@ -618,7 +637,7 @@ export declare enum ModCallbackCustom {
618
637
  * ): void {}
619
638
  * ```
620
639
  */
621
- POST_ITEM_DISCHARGE = 39,
640
+ POST_ITEM_DISCHARGE = 38,
622
641
  /**
623
642
  * Fires from the `POST_PEFFECT_UPDATE` callback when an item is no longer queued (i.e. when the
624
643
  * animation of the player holding the item above their head is finished and the item is actually
@@ -626,10 +645,11 @@ export declare enum ModCallbackCustom {
626
645
  *
627
646
  * Note that this callback will only fire once per Forgotten/Soul pair.
628
647
  *
629
- * - When registering the callback, takes an optional second argument that will make the callback
630
- * only fire if it matches the `ItemType` provided.
631
- * - When registering the callback, takes an optional third argument that will make the callback
632
- * only fire if the `CollectibleType` or the `TrinketType` matches the sub-type provided.
648
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
649
+ * - You can provide an optional third argument that will make the callback only fire if it
650
+ * matches the `ItemType` provided.
651
+ * - You can provide an optional fourth argument that will make the callback only fire if the
652
+ * sub-type matches the `CollectibleType` or the `TrinketType` provided.
633
653
  *
634
654
  * ```ts
635
655
  * function postItemPickup(
@@ -638,35 +658,37 @@ export declare enum ModCallbackCustom {
638
658
  * ): void {}
639
659
  * ```
640
660
  */
641
- POST_ITEM_PICKUP = 40,
661
+ POST_ITEM_PICKUP = 39,
642
662
  /**
643
663
  * Fires on the first `POST_KNIFE_UPDATE` frame for each knife.
644
664
  *
645
665
  * This callback is useful because many attributes cannot be set or retrieved properly in the
646
666
  * normal `POST_KNIFE_INIT` callback.
647
667
  *
648
- * When registering the callback, takes an optional second argument that will make the callback
649
- * only fire if the knife variant matches the `KnifeVariant` provided.
668
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
669
+ * an optional third argument that will make the callback only fire if it matches the
670
+ * `KnifeVariant` provided.
650
671
  *
651
672
  * ```ts
652
673
  * function postKnifeInitLate(knife: EntityKnife): void {}
653
674
  * ```
654
675
  */
655
- POST_KNIFE_INIT_LATE = 41,
676
+ POST_KNIFE_INIT_LATE = 40,
656
677
  /**
657
678
  * Fires on the first `POST_LASER_UPDATE` frame for each laser.
658
679
  *
659
680
  * This callback is useful because many attributes cannot be set or retrieved properly in the
660
681
  * normal `POST_LASER_INIT` callback.
661
682
  *
662
- * When registering the callback, takes an optional second argument that will make the callback
663
- * only fire if the laser variant matches the `LaserVariant` provided.
683
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
684
+ * an optional third argument that will make the callback only fire if it matches the
685
+ * `LaserVariant` provided.
664
686
  *
665
687
  * ```ts
666
688
  * function postLaserInitLate(laser: EntityLaser): void {}
667
689
  * ```
668
690
  */
669
- POST_LASER_INIT_LATE = 42,
691
+ POST_LASER_INIT_LATE = 41,
670
692
  /**
671
693
  * The same as the vanilla callback of the same name, but fires in the correct order with respect
672
694
  * to the `POST_GAME_STARTED` and the `POST_NEW_ROOM` callbacks:
@@ -683,7 +705,7 @@ export declare enum ModCallbackCustom {
683
705
  * function postNewLevelReordered(): void {}
684
706
  * ```
685
707
  */
686
- POST_NEW_LEVEL_REORDERED = 43,
708
+ POST_NEW_LEVEL_REORDERED = 42,
687
709
  /**
688
710
  * Fires on the first `POST_NEW_ROOM` or `PRE_ENTITY_SPAWN` callback where being in a new room is
689
711
  * detected. This is useful because the vanilla `POST_NEW_ROOM` callback fires only after entities
@@ -694,7 +716,7 @@ export declare enum ModCallbackCustom {
694
716
  * function postNewRoomEarly(): void {}
695
717
  * ```
696
718
  */
697
- POST_NEW_ROOM_EARLY = 44,
719
+ POST_NEW_ROOM_EARLY = 43,
698
720
  /**
699
721
  * The same as the vanilla callback of the same name, but fires in the correct order with respect
700
722
  * to the `POST_GAME_STARTED` and the `POST_NEW_LEVEL` callbacks:
@@ -711,29 +733,31 @@ export declare enum ModCallbackCustom {
711
733
  * function postNewRoomReordered(): void {}
712
734
  * ```
713
735
  */
714
- POST_NEW_ROOM_REORDERED = 45,
736
+ POST_NEW_ROOM_REORDERED = 44,
715
737
  /**
716
738
  * Fires on the first `NPC_UPDATE` frame for each NPC.
717
739
  *
718
740
  * This callback is useful because many attributes cannot be set or retrieved properly in the
719
741
  * normal `POST_NPC_INIT` callback.
720
742
  *
721
- * When registering the callback, takes an optional second argument that will make the callback
722
- * only fire if the NPC's entity type matches the entity type provided.
743
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
744
+ * an optional third argument that will make the callback only fire if it matches the `EntityType`
745
+ * provided.
723
746
  *
724
747
  * ```ts
725
748
  * function postNPCInitLate(npc: EntityNPC): void {}
726
749
  * ```
727
750
  */
728
- POST_NPC_INIT_LATE = 46,
751
+ POST_NPC_INIT_LATE = 45,
729
752
  /**
730
753
  * Fires from the `POST_NPC_UPDATE` callback when an NPC's state has changed from what it was on
731
754
  * the previous frame. (In this context, "state" refers to the `EntityNPC.State` field.)
732
755
  *
733
- * - When registering the callback, takes an optional second argument that will make the callback
734
- * only fire if it matches the `EntityType` provided.
735
- * - When registering the callback, takes an optional third argument that will make the callback
736
- * only fire if it matches the variant provided.
756
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
757
+ * - You can provide an optional third argument that will make the callback only fire if it
758
+ * matches the `EntityType` provided.
759
+ * - You can provide an optional fourth argument that will make the callback only fire if it
760
+ * matches the variant provided.
737
761
  *
738
762
  * ```ts
739
763
  * function postNPCStateChanged(
@@ -743,7 +767,7 @@ export declare enum ModCallbackCustom {
743
767
  * ): void {}
744
768
  * ```
745
769
  */
746
- POST_NPC_STATE_CHANGED = 47,
770
+ POST_NPC_STATE_CHANGED = 46,
747
771
  /**
748
772
  * Similar to the vanilla callback of the same name, but fires after the
749
773
  * `POST_GAME_STARTED_REORDERED` callback fires (if the player is being updated on the 0th game
@@ -758,29 +782,31 @@ export declare enum ModCallbackCustom {
758
782
  * callback. For example, since the level is not generated yet, you will not be able to access
759
783
  * any rooms.
760
784
  *
761
- * - When registering the callback, takes an optional second argument that will make the callback
762
- * only fire if the player matches the `PlayerVariant` provided.
763
- * - When registering the callback, takes an optional third argument that will make the callback
764
- * only fire if the player matches the `PlayerType` provided.
785
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
786
+ * - You can provide an optional third argument that will make the callback only fire if it
787
+ * matches the `PlayerVariant` provided.
788
+ * - You can provide an optional fourth argument that will make the callback only fire if it
789
+ * matches the `PlayerType` provided.
765
790
  *
766
791
  * ```ts
767
792
  * function postPEffectUpdateReordered(player: EntityPlayer): void {}
768
793
  * ```
769
794
  */
770
- POST_PEFFECT_UPDATE_REORDERED = 48,
795
+ POST_PEFFECT_UPDATE_REORDERED = 47,
771
796
  /**
772
797
  * Fires on the first `POST_RENDER` frame that a pickup plays the "Collect" animation.
773
798
  *
774
799
  * Use this callback to know when a pickup is added to the player's inventory or health.
775
800
  *
776
- * When registering the callback, takes an optional second argument that will make the callback
777
- * only fire if the pickup variant matches the `PickupVariant` provided.
801
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
802
+ * an optional third argument that will make the callback only fire if it matches the
803
+ * `PickupVariant` provided.
778
804
  *
779
805
  * ```ts
780
806
  * function postPickupCollect(pickup: EntityPickup, player: EntityPlayer): void {}
781
807
  * ```
782
808
  */
783
- POST_PICKUP_COLLECT = 49,
809
+ POST_PICKUP_COLLECT = 48,
784
810
  /**
785
811
  * Fires from the `POST_PICKUP_INIT` callback on the first time that a player has seen the
786
812
  * respective pickup on the run.
@@ -788,34 +814,37 @@ export declare enum ModCallbackCustom {
788
814
  * This callback is useful because pickups will despawn upon leaving the room and respawn upon
789
815
  * re-entering the room.
790
816
  *
791
- * When registering the callback, takes an optional second argument that will make the callback
792
- * only fire if the collectible type matches the `PickupVariant` provided.
817
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
818
+ * an optional third argument that will make the callback only fire if it matches the
819
+ * `PickupVariant` provided.
793
820
  *
794
821
  * ```ts
795
822
  * function postPickupInitFirst(pickup: EntityPickup): void {}
796
823
  * ```
797
824
  */
798
- POST_PICKUP_INIT_FIRST = 50,
825
+ POST_PICKUP_INIT_FIRST = 49,
799
826
  /**
800
827
  * Fires on the first `POST_PICKUP_UPDATE` frame for each pickup.
801
828
  *
802
829
  * This callback is useful because many attributes cannot be set or retrieved properly in the
803
830
  * normal `POST_PICKUP_INIT` callback.
804
831
  *
805
- * When registering the callback, takes an optional second argument that will make the callback
806
- * only fire if the pickup variant matches the `PickupVariant` provided.
832
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
833
+ * an optional third argument that will make the callback only fire if it matches the
834
+ * `PickupVariant` provided.
807
835
  *
808
836
  * ```ts
809
837
  * function postPickupInitLate(pickup: EntityPickup): void {}
810
838
  * ```
811
839
  */
812
- POST_PICKUP_INIT_LATE = 51,
840
+ POST_PICKUP_INIT_LATE = 50,
813
841
  /**
814
842
  * Fires from the `POST_PICKUP_UPDATE` callback when a pickup's state has changed from what it was
815
843
  * on the previous frame. (In this context, "state" refers to the `EntityPickup.State` field.)
816
844
  *
817
- * When registering the callback, takes an optional second argument that will make the callback
818
- * only fire if it matches the `PickupVariant` provided.
845
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
846
+ * an optional third argument that will make the callback only fire if it matches the
847
+ * `PickupVariant` provided.
819
848
  *
820
849
  * ```ts
821
850
  * function postPickupStateChanged(
@@ -825,37 +854,40 @@ export declare enum ModCallbackCustom {
825
854
  * ): void {}
826
855
  * ```
827
856
  */
828
- POST_PICKUP_STATE_CHANGED = 52,
857
+ POST_PICKUP_STATE_CHANGED = 51,
829
858
  /**
830
859
  * Fires from the `POST_RENDER` callback on every frame that a pit exists.
831
860
  *
832
- * When registering the callback, takes an optional second argument that will make the callback
833
- * only fire if it matches the variant provided.
861
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
862
+ * an optional third argument that will make the callback only fire if it matches the variant
863
+ * provided.
834
864
  *
835
865
  * ```ts
836
866
  * function postPitRender(pit: GridEntityPit): void {}
837
867
  * ```
838
868
  */
839
- POST_PIT_RENDER = 53,
869
+ POST_PIT_RENDER = 52,
840
870
  /**
841
871
  * Fires from the `POST_UPDATE` callback on every frame that a pit exists.
842
872
  *
843
- * When registering the callback, takes an optional second argument that will make the callback
844
- * only fire if it matches the variant provided.
873
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
874
+ * an optional third argument that will make the callback only fire if it matches the variant
875
+ * provided.
845
876
  *
846
877
  * ```ts
847
878
  * function postPitUpdate(pit: GridEntityPit): void {}
848
879
  * ```
849
880
  */
850
- POST_PIT_UPDATE = 54,
881
+ POST_PIT_UPDATE = 53,
851
882
  /**
852
883
  * Fires from the `POST_PEFFECT_UPDATE` callback when a player's health (i.e. hearts) is different
853
884
  * than what it was on the previous frame. For more information, see the `PlayerHealth` enum.
854
885
  *
855
- * - When registering the callback, takes an optional second argument that will make the callback
856
- * only fire if the player matches the `PlayerVariant` provided.
857
- * - When registering the callback, takes an optional third argument that will make the callback
858
- * only fire if the player matches the `PlayerType` provided.
886
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
887
+ * - You can provide an optional third argument that will make the callback only fire if it
888
+ * matches the `PlayerVariant` provided.
889
+ * - You can provide an optional fourth argument that will make the callback only fire if it
890
+ * matches the `PlayerType` provided.
859
891
  *
860
892
  * ```ts
861
893
  * function postPlayerChangeHealth(
@@ -867,7 +899,7 @@ export declare enum ModCallbackCustom {
867
899
  * ): void {}
868
900
  * ```
869
901
  */
870
- POST_PLAYER_CHANGE_HEALTH = 55,
902
+ POST_PLAYER_CHANGE_HEALTH = 54,
871
903
  /**
872
904
  * Fires from the `POST_PEFFECT_UPDATE` callback when one of the player's stats change from what
873
905
  * they were on the previous frame.
@@ -881,10 +913,11 @@ export declare enum ModCallbackCustom {
881
913
  * numbers. (For these cases, you should examine the `oldValue` and `newValue` arguments
882
914
  * accordingly.)
883
915
  *
884
- * - When registering the callback, takes an optional second argument that will make the callback
885
- * only fire if the player matches the `PlayerVariant` provided.
886
- * - When registering the callback, takes an optional third argument that will make the callback
887
- * only fire if the player matches the `PlayerType` provided.
916
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
917
+ * - You can provide an optional third argument that will make the callback only fire if it
918
+ * matches the `PlayerVariant` provided.
919
+ * - You can provide an optional fourth argument that will make the callback only fire if it
920
+ * matches the `PlayerType` provided.
888
921
  *
889
922
  * ```ts
890
923
  * function postPlayerChangeStat(
@@ -896,7 +929,7 @@ export declare enum ModCallbackCustom {
896
929
  * ): void {}
897
930
  * ```
898
931
  */
899
- POST_PLAYER_CHANGE_STAT = 56,
932
+ POST_PLAYER_CHANGE_STAT = 55,
900
933
  /**
901
934
  * Fires from the `POST_PEFFECT_UPDATE` callback when a player entity changes its player type
902
935
  * (i.e. character) from what it was on the previous frame. For example, it will fire after using
@@ -906,6 +939,10 @@ export declare enum ModCallbackCustom {
906
939
  * those items cause separate player entities to be created. Use the `POST_FLIP` and
907
940
  * `POST_ESAU_JR` callbacks to handle those situations.
908
941
  *
942
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
943
+ * an optional third argument that will make the callback only fire if it matches the
944
+ * `PlayerVariant` provided.
945
+ *
909
946
  * ```ts
910
947
  * function postPlayerChangeType(
911
948
  * player: EntityPlayer,
@@ -914,14 +951,15 @@ export declare enum ModCallbackCustom {
914
951
  * ): void {}
915
952
  * ```
916
953
  */
917
- POST_PLAYER_CHANGE_TYPE = 57,
954
+ POST_PLAYER_CHANGE_TYPE = 56,
918
955
  /**
919
956
  * Fires from the `POST_PEFFECT_UPDATE` callback when a player's collectible count is higher than
920
957
  * what it was on the previous frame, or when the active items change, or when the build is
921
958
  * rerolled.
922
959
  *
923
- * When registering the callback, takes an optional second argument that will make the callback
924
- * only fire if the collectible matches the `CollectibleType` provided.
960
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
961
+ * an optional third argument that will make the callback only fire if the collectible matches the
962
+ * `CollectibleType` provided.
925
963
  *
926
964
  * ```ts
927
965
  * function postPlayerCollectibleAdded(
@@ -930,14 +968,15 @@ export declare enum ModCallbackCustom {
930
968
  * ): void {}
931
969
  * ```
932
970
  */
933
- POST_PLAYER_COLLECTIBLE_ADDED = 58,
971
+ POST_PLAYER_COLLECTIBLE_ADDED = 57,
934
972
  /**
935
973
  * Fires from the `POST_PEFFECT_UPDATE` callback when a player's collectible count is lower than
936
974
  * what it was on the previous frame, or when the active items change, or when the build is
937
975
  * rerolled.
938
976
  *
939
- * When registering the callback, takes an optional second argument that will make the callback
940
- * only fire if the collectible matches the `CollectibleType` provided.
977
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
978
+ * an optional third argument that will make the callback only fire if the collectible matches the
979
+ * `CollectibleType` provided.
941
980
  *
942
981
  * ```ts
943
982
  * function postPlayerCollectibleRemoved(
@@ -946,7 +985,7 @@ export declare enum ModCallbackCustom {
946
985
  * ): void {}
947
986
  * ```
948
987
  */
949
- POST_PLAYER_COLLECTIBLE_REMOVED = 59,
988
+ POST_PLAYER_COLLECTIBLE_REMOVED = 58,
950
989
  /**
951
990
  * Fires from the `ENTITY_TAKE_DMG` callback when a player takes fatal damage. Return false to
952
991
  * prevent the fatal damage.
@@ -954,16 +993,17 @@ export declare enum ModCallbackCustom {
954
993
  * Note that this function does properly take into account Guppy's Collar, Broken Ankh, Spirit
955
994
  * Shackles, and Mysterious Paper. It also takes into account using The Bible on Satan.
956
995
  *
957
- * - When registering the callback, takes an optional second argument that will make the callback
958
- * only fire if the player matches the `PlayerVariant` provided.
959
- * - When registering the callback, takes an optional third argument that will make the callback
960
- * only fire if the player matches the `PlayerType` provided.
996
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
997
+ * - You can provide an optional third argument that will make the callback only fire if it
998
+ * matches the `PlayerVariant` provided.
999
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1000
+ * matches the `PlayerType` provided.
961
1001
  *
962
1002
  * ```ts
963
1003
  * function postPlayerFatalDamage(player: EntityPlayer): boolean | undefined {}
964
1004
  * ```
965
1005
  */
966
- POST_PLAYER_FATAL_DAMAGE = 60,
1006
+ POST_PLAYER_FATAL_DAMAGE = 59,
967
1007
  /**
968
1008
  * Fires on the first `POST_PEFFECT_UPDATE_REORDERED` frame for each player, similar to the
969
1009
  * `POST_PLAYER_INIT_LATE` callback, with two changes:
@@ -975,16 +1015,17 @@ export declare enum ModCallbackCustom {
975
1015
  * character their starting items for the run. (You do not want to use the vanilla
976
1016
  * `POST_PLAYER_INIT` callback for this because it fires when a run is continued.)
977
1017
  *
978
- * - When registering the callback, takes an optional second argument that will make the callback
979
- * only fire if the player matches the `PlayerVariant` provided.
980
- * - When registering the callback, takes an optional third argument that will make the callback
981
- * only fire if the player matches the `PlayerType` provided.
1018
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1019
+ * - You can provide an optional third argument that will make the callback only fire if it
1020
+ * matches the `PlayerVariant` provided.
1021
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1022
+ * matches the `PlayerType` provided.
982
1023
  *
983
1024
  * ```ts
984
1025
  * function postPlayerInitFirst(player: EntityPlayer): void {}
985
1026
  * ```
986
1027
  */
987
- POST_PLAYER_INIT_FIRST = 61,
1028
+ POST_PLAYER_INIT_FIRST = 60,
988
1029
  /**
989
1030
  * Fires on the first `POST_PEFFECT_UPDATE_REORDERED` frame for each player.
990
1031
  *
@@ -994,16 +1035,17 @@ export declare enum ModCallbackCustom {
994
1035
  * For initializing a player with custom items and so forth, use the `POST_PLAYER_INIT_FIRST`
995
1036
  * callback instead to handle the case of a Genesis room.
996
1037
  *
997
- * - When registering the callback, takes an optional second argument that will make the callback
998
- * only fire if the player matches the `PlayerVariant` provided.
999
- * - When registering the callback, takes an optional third argument that will make the callback
1000
- * only fire if the player matches the `PlayerType` provided.
1038
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1039
+ * - You can provide an optional third argument that will make the callback only fire if it
1040
+ * matches the `PlayerVariant` provided.
1041
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1042
+ * matches the `PlayerType` provided.
1001
1043
  *
1002
1044
  * ```ts
1003
1045
  * function postPlayerInitLate(pickup: EntityPickup): void {}
1004
1046
  * ```
1005
1047
  */
1006
- POST_PLAYER_INIT_LATE = 62,
1048
+ POST_PLAYER_INIT_LATE = 61,
1007
1049
  /**
1008
1050
  * Similar to the vanilla callback of the same name, but fires after the `POST_GAME_STARTED`
1009
1051
  * callback fires (if the player is spawning on the 0th game frame of the run).
@@ -1017,16 +1059,17 @@ export declare enum ModCallbackCustom {
1017
1059
  * callback. For example, since the level is not generated yet, you will not be able to access
1018
1060
  * any rooms.
1019
1061
  *
1020
- * - When registering the callback, takes an optional second argument that will make the callback
1021
- * only fire if the player matches the `PlayerVariant` provided.
1022
- * - When registering the callback, takes an optional third argument that will make the callback
1023
- * only fire if the player matches the `PlayerType` provided.
1062
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1063
+ * - You can provide an optional third argument that will make the callback only fire if it
1064
+ * matches the `PlayerVariant` provided.
1065
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1066
+ * matches the `PlayerType` provided.
1024
1067
  *
1025
1068
  * ```ts
1026
1069
  * function postPlayerRenderReordered(player: EntityPlayer): void {}
1027
1070
  * ```
1028
1071
  */
1029
- POST_PLAYER_RENDER_REORDERED = 63,
1072
+ POST_PLAYER_RENDER_REORDERED = 62,
1030
1073
  /**
1031
1074
  * Similar to the vanilla callback of the same name, but fires after the
1032
1075
  * `POST_GAME_STARTED_REORDERED` callback fires (if the player is being updated on the 0th game
@@ -1041,147 +1084,159 @@ export declare enum ModCallbackCustom {
1041
1084
  * callback. For example, since the level is not generated yet, you will not be able to access
1042
1085
  * any rooms.
1043
1086
  *
1044
- * - When registering the callback, takes an optional second argument that will make the callback
1045
- * only fire if the player matches the `PlayerVariant` provided.
1046
- * - When registering the callback, takes an optional third argument that will make the callback
1047
- * only fire if the player matches the `PlayerType` provided.
1087
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1088
+ * - You can provide an optional third argument that will make the callback only fire if it
1089
+ * matches the `PlayerVariant` provided.
1090
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1091
+ * matches the `PlayerType` provided.
1048
1092
  *
1049
1093
  * ```ts
1050
1094
  * function postPlayerUpdateReordered(player: EntityPlayer): void {}
1051
1095
  * ```
1052
1096
  */
1053
- POST_PLAYER_UPDATE_REORDERED = 64,
1097
+ POST_PLAYER_UPDATE_REORDERED = 63,
1054
1098
  /**
1055
1099
  * Fires from the `POST_RENDER` callback on every frame that a poop exists.
1056
1100
  *
1057
- * When registering the callback, takes an optional second argument that will make the callback
1058
- * only fire if it matches the variant provided.
1101
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1102
+ * an optional third argument that will make the callback only fire if it matches the variant
1103
+ * provided.
1059
1104
  *
1060
1105
  * ```ts
1061
1106
  * function postPoopRender(poop: GridEntityPoop): void {}
1062
1107
  * ```
1063
1108
  */
1064
- POST_POOP_RENDER = 65,
1109
+ POST_POOP_RENDER = 64,
1065
1110
  /**
1066
1111
  * Fires from the `POST_UPDATE` callback on every frame that a poop exists.
1067
1112
  *
1068
- * When registering the callback, takes an optional second argument that will make the callback
1069
- * only fire if it matches the variant provided.
1113
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1114
+ * an optional third argument that will make the callback only fire if it matches the variant
1115
+ * provided.
1070
1116
  *
1071
1117
  * ```ts
1072
1118
  * function postPoopUpdate(poop: GridEntityPoop): void {}
1073
1119
  * ```
1074
1120
  */
1075
- POST_POOP_UPDATE = 66,
1121
+ POST_POOP_UPDATE = 65,
1076
1122
  /**
1077
1123
  * Fires from the `POST_RENDER` callback on every frame that a pressure plate exists.
1078
1124
  *
1079
- * When registering the callback, takes an optional second argument that will make the callback
1080
- * only fire if it matches the variant provided.
1125
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1126
+ * an optional third argument that will make the callback only fire if it matches the variant
1127
+ * provided.
1081
1128
  *
1082
1129
  * ```ts
1083
1130
  * function postPressurePlateRender(pressurePlate: GridEntityPressurePlate): void {}
1084
1131
  * ```
1085
1132
  */
1086
- POST_PRESSURE_PLATE_RENDER = 67,
1133
+ POST_PRESSURE_PLATE_RENDER = 66,
1087
1134
  /**
1088
1135
  * Fires from the `POST_UPDATE` callback on every frame that a pressure plate exists.
1089
1136
  *
1090
- * When registering the callback, takes an optional second argument that will make the callback
1091
- * only fire if it matches the variant provided.
1137
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1138
+ * an optional third argument that will make the callback only fire if it matches the variant
1139
+ * provided.
1092
1140
  *
1093
1141
  * ```ts
1094
1142
  * function postPressurePlateUpdate(pressurePlate: GridEntityPressurePlate): void {}
1095
1143
  * ```
1096
1144
  */
1097
- POST_PRESSURE_PLATE_UPDATE = 68,
1145
+ POST_PRESSURE_PLATE_UPDATE = 67,
1098
1146
  /**
1099
1147
  * Fires on the first `POST_PROJECTILE_UPDATE` frame for each projectile.
1100
1148
  *
1101
1149
  * This callback is useful because many attributes cannot be set or retrieved properly in the
1102
1150
  * normal `POST_PROJECTILE_INIT` callback.
1103
1151
  *
1104
- * When registering the callback, takes an optional second argument that will make the callback
1105
- * only fire if the projectile variant matches the `ProjectileVariant` provided.
1152
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1153
+ * an optional third argument that will make the callback only fire if matches the
1154
+ * `ProjectileVariant` provided.
1106
1155
  *
1107
1156
  * ```ts
1108
1157
  * function postProjectileInitLate(projectile: EntityProjectile): void {}
1109
1158
  * ```
1110
1159
  */
1111
- POST_PROJECTILE_INIT_LATE = 69,
1160
+ POST_PROJECTILE_INIT_LATE = 68,
1112
1161
  /**
1113
1162
  * Fires from the `POST_PEFFECT_UPDATE` callback when a player first picks up a new item. The
1114
1163
  * pickup returned in the callback is assumed to be the first pickup that no longer exists.
1115
1164
  *
1116
- * - When registering the callback, takes an optional second argument that will make the callback
1117
- * only fire if it matches the `PickupVariant` provided.
1118
- * - When registering the callback, takes an optional third argument that will make the callback
1119
- * only fire if it matches the sub-type provided.
1165
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1166
+ * - You can provide an optional third argument that will make the callback only fire if it
1167
+ * matches the `PickupVariant` provided.
1168
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1169
+ * matches the sub-type provided.
1120
1170
  *
1121
1171
  * ```ts
1122
1172
  * function postPurchase(player: EntityPlayer, pickup: EntityPickup): void {}
1123
1173
  * ```
1124
1174
  */
1125
- POST_PURCHASE = 70,
1175
+ POST_PURCHASE = 69,
1126
1176
  /**
1127
1177
  * Fires from the `POST_RENDER` callback on every frame that a rock exists.
1128
1178
  *
1129
- * When registering the callback, takes an optional second argument that will make the callback
1130
- * only fire if it matches the variant provided.
1179
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1180
+ * an optional third argument that will make the callback only fire if it matches the variant
1181
+ * provided.
1131
1182
  *
1132
1183
  * ```ts
1133
1184
  * function postRockRender(rock: GridEntityRock): void {}
1134
1185
  * ```
1135
1186
  */
1136
- POST_ROCK_RENDER = 71,
1187
+ POST_ROCK_RENDER = 70,
1137
1188
  /**
1138
1189
  * Fires from the `POST_UPDATE` callback on every frame that a rock exists.
1139
1190
  *
1140
- * When registering the callback, takes an optional second argument that will make the callback
1141
- * only fire if it matches the variant provided.
1191
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1192
+ * an optional third argument that will make the callback only fire if it matches the variant
1193
+ * provided.
1142
1194
  *
1143
1195
  * ```ts
1144
1196
  * function postRockUpdate(rock: GridEntityRock): void {}
1145
1197
  * ```
1146
1198
  */
1147
- POST_ROCK_UPDATE = 72,
1199
+ POST_ROCK_UPDATE = 71,
1148
1200
  /**
1149
1201
  * Fires from the `POST_UPDATE` callback when the clear state of a room changes (as according to
1150
1202
  * the `Room.IsClear` method).
1151
1203
  *
1152
- * When registering the callback, takes an optional second argument that will make the callback
1153
- * only fire if the room clear state matches the boolean provided.
1204
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1205
+ * an optional third argument that will make the callback only fire if the room clear state
1206
+ * matches the boolean provided.
1154
1207
  *
1155
1208
  * ```ts
1156
1209
  * function postRoomClearChanged(roomClear: boolean): void {}
1157
1210
  * ```
1158
1211
  */
1159
- POST_ROOM_CLEAR_CHANGED = 73,
1212
+ POST_ROOM_CLEAR_CHANGED = 72,
1160
1213
  /**
1161
1214
  * Fires from the `ENTITY_TAKE_DMG` callback when a player takes damage from spikes in a Sacrifice
1162
1215
  * Room.
1163
1216
  *
1164
- * - When registering the callback, takes an optional second argument that will make the callback
1165
- * only fire if the player matches the `PlayerVariant` provided.
1166
- * - When registering the callback, takes an optional third argument that will make the callback
1167
- * only fire if the player matches the `PlayerType` provided.
1217
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1218
+ * - You can provide an optional third argument that will make the callback only fire if it
1219
+ * matches the `PlayerVariant` provided.
1220
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1221
+ * matches the `PlayerType` provided.
1168
1222
  *
1169
1223
  * ```ts
1170
1224
  * function postSacrifice(player: EntityPlayer, numSacrifices: int): void {}
1171
1225
  * ```
1172
1226
  */
1173
- POST_SACRIFICE = 74,
1227
+ POST_SACRIFICE = 73,
1174
1228
  /**
1175
1229
  * Fires from the `POST_RENDER` callback when a slot entity's animation changes.
1176
1230
  *
1177
- * When registering the callback, takes an optional second argument that will make the callback
1178
- * only fire if it matches the `SlotVariant` provided.
1231
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1232
+ * an optional third argument that will make the callback only fire if it matches the
1233
+ * `SlotVariant` provided.
1179
1234
  *
1180
1235
  * ```ts
1181
1236
  * function postSlotAnimationChanged(slot: Entity): void {}
1182
1237
  * ```
1183
1238
  */
1184
- POST_SLOT_ANIMATION_CHANGED = 75,
1239
+ POST_SLOT_ANIMATION_CHANGED = 74,
1185
1240
  /**
1186
1241
  * Fires from the `PRE_PLAYER_COLLISION` callback when when a player collides with a slot entity.
1187
1242
  * (It will not fire if any other type of entity collides with the slot entity.)
@@ -1190,9 +1245,10 @@ export declare enum ModCallbackCustom {
1190
1245
  * colliding with it on every frame. Thus, you should only perform actions in this callback under
1191
1246
  * certain conditions, like if the slot entity is playing the "Idle" animation, and so on.
1192
1247
  *
1193
- * When registering the callback, takes an optional second argument that will make the callback
1194
- * only fire if it matches the `SlotVariant` provided. (There is no need for any additional
1195
- * arguments, since only players will cause this callback to fire.)
1248
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1249
+ * an optional third argument that will make the callback only fire if it matches the
1250
+ * `SlotVariant` provided. (Only players will cause this callback to fire, so there is no need for
1251
+ * an optional argument to filter by `EntityType`.)
1196
1252
  *
1197
1253
  * ```ts
1198
1254
  * function postSlotCollision(
@@ -1201,21 +1257,22 @@ export declare enum ModCallbackCustom {
1201
1257
  * ): void {}
1202
1258
  * ```
1203
1259
  */
1204
- POST_SLOT_COLLISION = 76,
1260
+ POST_SLOT_COLLISION = 75,
1205
1261
  /**
1206
1262
  * Fires from the `POST_RENDER` callback when a slot plays the animation that indicates that it
1207
1263
  * has broken.
1208
1264
  *
1209
- * - When registering the callback, takes an optional second argument that will make the callback
1210
- * only fire if it matches the `SlotVariant` provided.
1211
- * - When registering the callback, takes an optional third argument that will make the callback
1212
- * only fire if the destruction type matches the `SlotDestructionType` provided.
1265
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1266
+ * - You can provide an optional third argument that will make the callback only fire if it
1267
+ * matches the `SlotVariant` provided.
1268
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1269
+ * matches the `SlotDestructionType` provided.
1213
1270
  *
1214
1271
  * ```ts
1215
1272
  * function postSlotDestroyed(slot: Entity, slotDestructionType: SlotDestructionType): void {}
1216
1273
  * ```
1217
1274
  */
1218
- POST_SLOT_DESTROYED = 77,
1275
+ POST_SLOT_DESTROYED = 76,
1219
1276
  /**
1220
1277
  * Fires when a new slot entity is initialized. Specifically, this is either:
1221
1278
  *
@@ -1224,58 +1281,63 @@ export declare enum ModCallbackCustom {
1224
1281
  * - in the `POST_UPDATE` callback (if the entity appeared mid-way through the room, like when a
1225
1282
  * Wheel of Fortune card is used)
1226
1283
  *
1227
- * When registering the callback, takes an optional second argument that will make the callback
1228
- * only fire if it matches the `SlotVariant` provided.
1284
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1285
+ * an optional third argument that will make the callback only fire if it matches the
1286
+ * `SlotVariant` provided.
1229
1287
  *
1230
1288
  * ```ts
1231
1289
  * function postSlotInit(slot: Entity): void {}
1232
1290
  * ```
1233
1291
  */
1234
- POST_SLOT_INIT = 78,
1292
+ POST_SLOT_INIT = 77,
1235
1293
  /**
1236
1294
  * Fires from the `POST_RENDER` callback on every frame that a slot entity exists.
1237
1295
  *
1238
- * When registering the callback, takes an optional second argument that will make the callback
1239
- * only fire if it matches the `SlotVariant` provided.
1296
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1297
+ * an optional third argument that will make the callback only fire if it matches the
1298
+ * `SlotVariant` provided.
1240
1299
  *
1241
1300
  * ```ts
1242
1301
  * function postSlotRender(slot: Entity): void {}
1243
1302
  * ```
1244
1303
  */
1245
- POST_SLOT_RENDER = 79,
1304
+ POST_SLOT_RENDER = 78,
1246
1305
  /**
1247
1306
  * Fires from the `POST_UPDATE` callback on every frame that a slot entity exists.
1248
1307
  *
1249
- * When registering the callback, takes an optional second argument that will make the callback
1250
- * only fire if it matches the `SlotVariant` provided.
1308
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1309
+ * an optional third argument that will make the callback only fire if it matches the
1310
+ * `SlotVariant` provided.
1251
1311
  *
1252
1312
  * ```ts
1253
1313
  * function postSlotUpdate(slot: Entity): void {}
1254
1314
  * ```
1255
1315
  */
1256
- POST_SLOT_UPDATE = 80,
1316
+ POST_SLOT_UPDATE = 79,
1257
1317
  /**
1258
1318
  * Fires from the `POST_RENDER` callback on every frame that spikes exist.
1259
1319
  *
1260
- * When registering the callback, takes an optional second argument that will make the callback
1261
- * only fire if it matches the variant provided.
1320
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1321
+ * an optional third argument that will make the callback only fire if it matches the variant
1322
+ * provided.
1262
1323
  *
1263
1324
  * ```ts
1264
1325
  * function postSpikesRender(spikes: GridEntitySpikes): void {}
1265
1326
  * ```
1266
1327
  */
1267
- POST_SPIKES_RENDER = 81,
1328
+ POST_SPIKES_RENDER = 80,
1268
1329
  /**
1269
1330
  * Fires from the `POST_UPDATE` callback on every frame that spikes exist.
1270
1331
  *
1271
- * When registering the callback, takes an optional second argument that will make the callback
1272
- * only fire if it matches the variant provided.
1332
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1333
+ * an optional third argument that will make the callback only fire if it matches the variant
1334
+ * provided.
1273
1335
  *
1274
1336
  * ```ts
1275
1337
  * function postSpikesUpdate(spikes: GridEntitySpikes): void {}
1276
1338
  * ```
1277
1339
  */
1278
- POST_SPIKES_UPDATE = 82,
1340
+ POST_SPIKES_UPDATE = 81,
1279
1341
  /**
1280
1342
  * Fires on the first `POST_TEAR_UPDATE` frame for each tear (which is when
1281
1343
  * `EntityTear.FrameCount` is equal to 0).
@@ -1283,58 +1345,63 @@ export declare enum ModCallbackCustom {
1283
1345
  * This callback is useful because many attributes cannot be set or retrieved properly in the
1284
1346
  * normal `POST_TEAR_INIT` callback.
1285
1347
  *
1286
- * When registering the callback, takes an optional second argument that will make the callback
1287
- * only fire if the tear variant matches the `TearVariant` provided.
1348
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1349
+ * an optional third argument that will make the callback only fire if it matches the
1350
+ * `TearVariant` provided.
1288
1351
  *
1289
1352
  * ```ts
1290
1353
  * function postTearInitLate(tear: EntityTear): void {}
1291
1354
  * ```
1292
1355
  */
1293
- POST_TEAR_INIT_LATE = 83,
1356
+ POST_TEAR_INIT_LATE = 82,
1294
1357
  /**
1295
1358
  * Fires on the second `POST_TEAR_UPDATE` frame for each tear (which is when
1296
1359
  * `EntityTear.FrameCount` is equal to 1).
1297
1360
  *
1298
1361
  * This callback is useful because Incubus tears are not distinguishable until the second frame.
1299
1362
  *
1300
- * When registering the callback, takes an optional second argument that will make the callback
1301
- * only fire if the tear variant matches the `TearVariant` provided.
1363
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1364
+ * an optional third argument that will make the callback only fire if it matches the
1365
+ * `TearVariant` provided.
1302
1366
  *
1303
1367
  * ```ts
1304
1368
  * function postTearInitVeryLate(tear: EntityTear): void {}
1305
1369
  * ```
1306
1370
  */
1307
- POST_TEAR_INIT_VERY_LATE = 84,
1371
+ POST_TEAR_INIT_VERY_LATE = 83,
1308
1372
  /**
1309
1373
  * Fires from the `POST_RENDER` callback on every frame that a TNT exists.
1310
1374
  *
1311
- * When registering the callback, takes an optional second argument that will make the callback
1312
- * only fire if it matches the variant provided.
1375
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1376
+ * an optional third argument that will make the callback only fire if it matches the variant
1377
+ * provided.
1313
1378
  *
1314
1379
  * ```ts
1315
1380
  * function postTNTRender(tnt: GridEntityTNT): void {}
1316
1381
  * ```
1317
1382
  */
1318
- POST_TNT_RENDER = 85,
1383
+ POST_TNT_RENDER = 84,
1319
1384
  /**
1320
1385
  * Fires from the `POST_UPDATE` callback on every frame that a TNT exists.
1321
1386
  *
1322
- * When registering the callback, takes an optional second argument that will make the callback
1323
- * only fire if it matches the variant provided.
1387
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1388
+ * an optional third argument that will make the callback only fire if it matches the variant
1389
+ * provided.
1324
1390
  *
1325
1391
  * ```ts
1326
1392
  * function postTNTUpdate(tnt: GridEntityTNT): void {}
1327
1393
  * ```
1328
1394
  */
1329
- POST_TNT_UPDATE = 86,
1395
+ POST_TNT_UPDATE = 85,
1330
1396
  /**
1331
1397
  * Fires from the `POST_PEFFECT_UPDATE` callback when a player gains or loses a new
1332
1398
  * transformation.
1333
1399
  *
1334
1400
  * Note that this callback will only fire once per Forgotten/Soul pair.
1335
1401
  *
1336
- * When registering the callback, takes an optional second argument that will make the callback
1337
- * only fire if it matches the `PlayerForm` provided.
1402
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1403
+ * an optional third argument that will make the callback only fire if it matches the `PlayerForm`
1404
+ * provided.
1338
1405
  *
1339
1406
  * ```ts
1340
1407
  * function postTransformation(
@@ -1344,12 +1411,13 @@ export declare enum ModCallbackCustom {
1344
1411
  * ): void {}
1345
1412
  * ```
1346
1413
  */
1347
- POST_TRANSFORMATION = 87,
1414
+ POST_TRANSFORMATION = 86,
1348
1415
  /**
1349
1416
  * Fires from `ENTITY_TAKE_DMG` callback when a Wishbone or a Walnut breaks.
1350
1417
  *
1351
- * When registering the callback, takes an optional second argument that will make the callback
1352
- * only fire if it matches the `TrinketType` provided.
1418
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method, you can provide
1419
+ * an optional third argument that will make the callback only fire if it matches the
1420
+ * `TrinketType` provided.
1353
1421
  *
1354
1422
  * ```ts
1355
1423
  * function postTrinketBreak(
@@ -1358,22 +1426,23 @@ export declare enum ModCallbackCustom {
1358
1426
  * ): void {}
1359
1427
  * ```
1360
1428
  */
1361
- POST_TRINKET_BREAK = 88,
1429
+ POST_TRINKET_BREAK = 87,
1362
1430
  /**
1363
1431
  * Fires from the `POST_PEFFECT_UPDATE` callback on the frame before a Berserk effect ends when
1364
1432
  * the player is predicted to die (e.g. they currently have no health left or they took damage in
1365
1433
  * a "Lost" form).
1366
1434
  *
1367
- * - When registering the callback, takes an optional second argument that will make the callback
1368
- * only fire if the player matches the `PlayerVariant` provided.
1369
- * - When registering the callback, takes an optional third argument that will make the callback
1370
- * only fire if the player matches the `PlayerType` provided.
1435
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1436
+ * - You can provide an optional third argument that will make the callback only fire if it
1437
+ * matches the `PlayerVariant` provided.
1438
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1439
+ * matches the `PlayerType` provided.
1371
1440
  *
1372
1441
  * ```ts
1373
1442
  * function preBerserkDeath(player: EntityPlayer): void {}
1374
1443
  * ```
1375
1444
  */
1376
- PRE_BERSERK_DEATH = 89,
1445
+ PRE_BERSERK_DEATH = 88,
1377
1446
  /**
1378
1447
  * Fires from the `POST_PLAYER_FATAL_DAMAGE` callback when a player is about to die. If you want
1379
1448
  * to initiate a custom revival, return an integer that corresponds to the item or type of revival
@@ -1382,16 +1451,17 @@ export declare enum ModCallbackCustom {
1382
1451
  * This callback is useful because reviving the player after the game things that player should
1383
1452
  * have died will result in the save data for the run getting deleted.
1384
1453
  *
1385
- * - When registering the callback, takes an optional second argument that will make the callback
1386
- * only fire if the player matches the `PlayerVariant` provided.
1387
- * - When registering the callback, takes an optional third argument that will make the callback
1388
- * only fire if the player matches the `PlayerType` provided.
1454
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1455
+ * - You can provide an optional third argument that will make the callback only fire if it
1456
+ * matches the `PlayerVariant` provided.
1457
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1458
+ * matches the `PlayerType` provided.
1389
1459
  *
1390
1460
  * ```ts
1391
1461
  * function preCustomRevive(player: EntityPlayer): int | undefined {}
1392
1462
  * ```
1393
1463
  */
1394
- PRE_CUSTOM_REVIVE = 90,
1464
+ PRE_CUSTOM_REVIVE = 89,
1395
1465
  /**
1396
1466
  * Fires from the `PRE_PICKUP_COLLISION` callback when a player touches a collectible pedestal and
1397
1467
  * meets all of the conditions to pick it up.
@@ -1401,26 +1471,28 @@ export declare enum ModCallbackCustom {
1401
1471
  * note that this callback will continue to fire for every frame that the player touches the
1402
1472
  * pedestal, so you would need to continue returning false.)
1403
1473
  *
1404
- * - When registering the callback, takes an optional second argument that will make the callback
1405
- * only fire if the player matches the `PlayerVariant` provided.
1406
- * - When registering the callback, takes an optional third argument that will make the callback
1407
- * only fire if the player matches the `PlayerType` provided.
1474
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1475
+ * - You can provide an optional third argument that will make the callback only fire if it
1476
+ * matches the `PlayerVariant` provided.
1477
+ * - You can provide an optional fourth argument that will make the callback only fire if it
1478
+ * matches the `PlayerType` provided.
1408
1479
  *
1409
1480
  * ```ts
1410
1481
  * function preGetPedestal(player: EntityPlayer, collectible: EntityPickupCollectible): void {}
1411
1482
  * ```
1412
1483
  */
1413
- PRE_GET_PEDESTAL = 91,
1484
+ PRE_GET_PEDESTAL = 90,
1414
1485
  /**
1415
1486
  * Fires from the `POST_PEFFECT_UPDATE` callback when an item becomes queued (i.e. when the player
1416
1487
  * begins to hold the item above their head).
1417
1488
  *
1418
1489
  * Note that this callback will only fire once per Forgotten/Soul pair.
1419
1490
  *
1420
- * - When registering the callback, takes an optional second argument that will make the callback
1421
- * only fire if it matches the `ItemType` provided.
1422
- * - When registering the callback, takes an optional third argument that will make the callback
1423
- * only fire if the `CollectibleType` or the `TrinketType` matches the ID provided.
1491
+ * When registering the callback with the `ModUpgraded.AddCallbackCustom` method:
1492
+ * - You can provide an optional third argument that will make the callback only fire if it
1493
+ * matches the `ItemType` provided.
1494
+ * - You can provide an optional fourth argument that will make the callback only fire if the
1495
+ * sub-type matches the `CollectibleType` or the `TrinketType` provided.
1424
1496
  *
1425
1497
  * ```ts
1426
1498
  * function preItemPickup(
@@ -1429,7 +1501,7 @@ export declare enum ModCallbackCustom {
1429
1501
  * ): void {}
1430
1502
  * ```
1431
1503
  */
1432
- PRE_ITEM_PICKUP = 92,
1504
+ PRE_ITEM_PICKUP = 91,
1433
1505
  /**
1434
1506
  * Fires on the `POST_RENDER` frame before the player is taken to a new floor. Only fires when a
1435
1507
  * player jumps into a trapdoor or enters a heaven door (beam of light). Does not fire on the
@@ -1443,6 +1515,6 @@ export declare enum ModCallbackCustom {
1443
1515
  * function preNewLevel(player: EntityPlayer): void {}
1444
1516
  * ```
1445
1517
  */
1446
- PRE_NEW_LEVEL = 93
1518
+ PRE_NEW_LEVEL = 92
1447
1519
  }
1448
1520
  //# sourceMappingURL=ModCallbackCustom.d.ts.map