isaacscript-common 87.9.5 → 87.9.7

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 (1307) hide show
  1. package/dist/classes/DefaultMap.d.ts.map +1 -1
  2. package/dist/classes/ModFeature.d.ts.map +1 -1
  3. package/dist/classes/ModUpgraded.d.ts +19 -19
  4. package/dist/classes/ModUpgraded.d.ts.map +1 -1
  5. package/dist/classes/ModUpgraded.js +107 -106
  6. package/dist/classes/ModUpgraded.lua +99 -99
  7. package/dist/classes/callbacks/EntityTakeDmgFilter.d.ts +2 -2
  8. package/dist/classes/callbacks/EntityTakeDmgFilter.d.ts.map +1 -1
  9. package/dist/classes/callbacks/EntityTakeDmgFilter.js +3 -3
  10. package/dist/classes/callbacks/EntityTakeDmgFilter.lua +1 -1
  11. package/dist/classes/callbacks/EntityTakeDmgPlayer.d.ts +2 -2
  12. package/dist/classes/callbacks/EntityTakeDmgPlayer.d.ts.map +1 -1
  13. package/dist/classes/callbacks/EntityTakeDmgPlayer.js +9 -9
  14. package/dist/classes/callbacks/EntityTakeDmgPlayer.lua +1 -1
  15. package/dist/classes/callbacks/InputActionFilter.d.ts +2 -2
  16. package/dist/classes/callbacks/InputActionFilter.d.ts.map +1 -1
  17. package/dist/classes/callbacks/InputActionFilter.js +9 -9
  18. package/dist/classes/callbacks/InputActionFilter.lua +1 -1
  19. package/dist/classes/callbacks/InputActionPlayer.d.ts +2 -2
  20. package/dist/classes/callbacks/InputActionPlayer.d.ts.map +1 -1
  21. package/dist/classes/callbacks/InputActionPlayer.js +18 -18
  22. package/dist/classes/callbacks/InputActionPlayer.lua +6 -6
  23. package/dist/classes/callbacks/PostAmbushFinished.d.ts +2 -2
  24. package/dist/classes/callbacks/PostAmbushFinished.d.ts.map +1 -1
  25. package/dist/classes/callbacks/PostAmbushFinished.js +9 -9
  26. package/dist/classes/callbacks/PostAmbushFinished.lua +2 -2
  27. package/dist/classes/callbacks/PostAmbushStarted.d.ts +2 -2
  28. package/dist/classes/callbacks/PostAmbushStarted.d.ts.map +1 -1
  29. package/dist/classes/callbacks/PostAmbushStarted.js +9 -9
  30. package/dist/classes/callbacks/PostAmbushStarted.lua +2 -2
  31. package/dist/classes/callbacks/PostBombExploded.d.ts +2 -2
  32. package/dist/classes/callbacks/PostBombExploded.d.ts.map +1 -1
  33. package/dist/classes/callbacks/PostBombExploded.js +7 -7
  34. package/dist/classes/callbacks/PostBombExploded.lua +1 -1
  35. package/dist/classes/callbacks/PostBombInitFilter.d.ts +2 -2
  36. package/dist/classes/callbacks/PostBombInitFilter.d.ts.map +1 -1
  37. package/dist/classes/callbacks/PostBombInitFilter.js +5 -5
  38. package/dist/classes/callbacks/PostBombInitFilter.lua +1 -1
  39. package/dist/classes/callbacks/PostBombInitLate.d.ts +2 -2
  40. package/dist/classes/callbacks/PostBombInitLate.d.ts.map +1 -1
  41. package/dist/classes/callbacks/PostBombInitLate.js +9 -9
  42. package/dist/classes/callbacks/PostBombInitLate.lua +2 -2
  43. package/dist/classes/callbacks/PostBombRenderFilter.d.ts +2 -2
  44. package/dist/classes/callbacks/PostBombRenderFilter.d.ts.map +1 -1
  45. package/dist/classes/callbacks/PostBombRenderFilter.js +5 -5
  46. package/dist/classes/callbacks/PostBombRenderFilter.lua +1 -1
  47. package/dist/classes/callbacks/PostBombUpdateFilter.d.ts +2 -2
  48. package/dist/classes/callbacks/PostBombUpdateFilter.d.ts.map +1 -1
  49. package/dist/classes/callbacks/PostBombUpdateFilter.js +5 -5
  50. package/dist/classes/callbacks/PostBombUpdateFilter.lua +1 -1
  51. package/dist/classes/callbacks/PostBoneSwing.d.ts +1 -1
  52. package/dist/classes/callbacks/PostBoneSwing.d.ts.map +1 -1
  53. package/dist/classes/callbacks/PostBoneSwing.js +8 -8
  54. package/dist/classes/callbacks/PostBoneSwing.lua +1 -1
  55. package/dist/classes/callbacks/PostCollectibleEmpty.d.ts +2 -2
  56. package/dist/classes/callbacks/PostCollectibleEmpty.d.ts.map +1 -1
  57. package/dist/classes/callbacks/PostCollectibleEmpty.js +18 -18
  58. package/dist/classes/callbacks/PostCollectibleEmpty.lua +6 -6
  59. package/dist/classes/callbacks/PostCursedTeleport.d.ts +2 -2
  60. package/dist/classes/callbacks/PostCursedTeleport.d.ts.map +1 -1
  61. package/dist/classes/callbacks/PostCursedTeleport.js +29 -32
  62. package/dist/classes/callbacks/PostCursedTeleport.lua +4 -7
  63. package/dist/classes/callbacks/PostCustomRevive.d.ts +1 -1
  64. package/dist/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
  65. package/dist/classes/callbacks/PostCustomRevive.js +4 -4
  66. package/dist/classes/callbacks/PostDiceRoomActivated.d.ts +2 -2
  67. package/dist/classes/callbacks/PostDiceRoomActivated.d.ts.map +1 -1
  68. package/dist/classes/callbacks/PostDiceRoomActivated.js +21 -19
  69. package/dist/classes/callbacks/PostDiceRoomActivated.lua +8 -7
  70. package/dist/classes/callbacks/PostDoorRender.d.ts +2 -2
  71. package/dist/classes/callbacks/PostDoorRender.d.ts.map +1 -1
  72. package/dist/classes/callbacks/PostDoorRender.js +7 -7
  73. package/dist/classes/callbacks/PostDoorRender.lua +1 -1
  74. package/dist/classes/callbacks/PostDoorUpdate.d.ts +2 -2
  75. package/dist/classes/callbacks/PostDoorUpdate.d.ts.map +1 -1
  76. package/dist/classes/callbacks/PostDoorUpdate.js +7 -7
  77. package/dist/classes/callbacks/PostDoorUpdate.lua +1 -1
  78. package/dist/classes/callbacks/PostEffectInitFilter.d.ts +2 -2
  79. package/dist/classes/callbacks/PostEffectInitFilter.d.ts.map +1 -1
  80. package/dist/classes/callbacks/PostEffectInitFilter.js +5 -5
  81. package/dist/classes/callbacks/PostEffectInitFilter.lua +1 -1
  82. package/dist/classes/callbacks/PostEffectInitLate.d.ts +2 -2
  83. package/dist/classes/callbacks/PostEffectInitLate.d.ts.map +1 -1
  84. package/dist/classes/callbacks/PostEffectInitLate.js +9 -9
  85. package/dist/classes/callbacks/PostEffectInitLate.lua +2 -2
  86. package/dist/classes/callbacks/PostEffectRenderFilter.d.ts +2 -2
  87. package/dist/classes/callbacks/PostEffectRenderFilter.d.ts.map +1 -1
  88. package/dist/classes/callbacks/PostEffectRenderFilter.js +5 -5
  89. package/dist/classes/callbacks/PostEffectRenderFilter.lua +1 -1
  90. package/dist/classes/callbacks/PostEffectStateChanged.d.ts +2 -2
  91. package/dist/classes/callbacks/PostEffectStateChanged.d.ts.map +1 -1
  92. package/dist/classes/callbacks/PostEffectStateChanged.js +9 -9
  93. package/dist/classes/callbacks/PostEffectStateChanged.lua +2 -2
  94. package/dist/classes/callbacks/PostEffectUpdateFilter.d.ts +2 -2
  95. package/dist/classes/callbacks/PostEffectUpdateFilter.d.ts.map +1 -1
  96. package/dist/classes/callbacks/PostEffectUpdateFilter.js +5 -5
  97. package/dist/classes/callbacks/PostEffectUpdateFilter.lua +1 -1
  98. package/dist/classes/callbacks/PostEntityKillFilter.d.ts +2 -2
  99. package/dist/classes/callbacks/PostEntityKillFilter.d.ts.map +1 -1
  100. package/dist/classes/callbacks/PostEntityKillFilter.js +5 -5
  101. package/dist/classes/callbacks/PostEntityKillFilter.lua +1 -1
  102. package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts +2 -2
  103. package/dist/classes/callbacks/PostEntityRemoveFilter.d.ts.map +1 -1
  104. package/dist/classes/callbacks/PostEntityRemoveFilter.js +5 -5
  105. package/dist/classes/callbacks/PostEntityRemoveFilter.lua +1 -1
  106. package/dist/classes/callbacks/PostFamiliarInitFilter.d.ts +2 -2
  107. package/dist/classes/callbacks/PostFamiliarInitFilter.d.ts.map +1 -1
  108. package/dist/classes/callbacks/PostFamiliarInitFilter.js +5 -5
  109. package/dist/classes/callbacks/PostFamiliarInitFilter.lua +1 -1
  110. package/dist/classes/callbacks/PostFamiliarInitLate.d.ts +2 -2
  111. package/dist/classes/callbacks/PostFamiliarInitLate.d.ts.map +1 -1
  112. package/dist/classes/callbacks/PostFamiliarInitLate.js +9 -9
  113. package/dist/classes/callbacks/PostFamiliarInitLate.lua +2 -2
  114. package/dist/classes/callbacks/PostFamiliarRenderFilter.d.ts +2 -2
  115. package/dist/classes/callbacks/PostFamiliarRenderFilter.d.ts.map +1 -1
  116. package/dist/classes/callbacks/PostFamiliarRenderFilter.js +5 -5
  117. package/dist/classes/callbacks/PostFamiliarRenderFilter.lua +1 -1
  118. package/dist/classes/callbacks/PostFamiliarStateChanged.d.ts +2 -2
  119. package/dist/classes/callbacks/PostFamiliarStateChanged.d.ts.map +1 -1
  120. package/dist/classes/callbacks/PostFamiliarStateChanged.js +9 -9
  121. package/dist/classes/callbacks/PostFamiliarStateChanged.lua +2 -2
  122. package/dist/classes/callbacks/PostFamiliarUpdateFilter.d.ts +2 -2
  123. package/dist/classes/callbacks/PostFamiliarUpdateFilter.d.ts.map +1 -1
  124. package/dist/classes/callbacks/PostFamiliarUpdateFilter.js +5 -5
  125. package/dist/classes/callbacks/PostFamiliarUpdateFilter.lua +1 -1
  126. package/dist/classes/callbacks/PostGameEndFilter.d.ts +2 -2
  127. package/dist/classes/callbacks/PostGameEndFilter.d.ts.map +1 -1
  128. package/dist/classes/callbacks/PostGameEndFilter.js +5 -5
  129. package/dist/classes/callbacks/PostGameEndFilter.lua +1 -1
  130. package/dist/classes/callbacks/PostGameStartedReordered.d.ts +1 -1
  131. package/dist/classes/callbacks/PostGameStartedReordered.d.ts.map +1 -1
  132. package/dist/classes/callbacks/PostGameStartedReordered.js +1 -1
  133. package/dist/classes/callbacks/PostGameStartedReorderedLast.d.ts +1 -1
  134. package/dist/classes/callbacks/PostGameStartedReorderedLast.d.ts.map +1 -1
  135. package/dist/classes/callbacks/PostGameStartedReorderedLast.js +1 -1
  136. package/dist/classes/callbacks/PostGreedModeWave.d.ts +1 -1
  137. package/dist/classes/callbacks/PostGreedModeWave.d.ts.map +1 -1
  138. package/dist/classes/callbacks/PostGreedModeWave.js +8 -8
  139. package/dist/classes/callbacks/PostGreedModeWave.lua +1 -1
  140. package/dist/classes/callbacks/PostGridEntityBroken.d.ts +1 -1
  141. package/dist/classes/callbacks/PostGridEntityBroken.d.ts.map +1 -1
  142. package/dist/classes/callbacks/PostGridEntityBroken.js +1 -1
  143. package/dist/classes/callbacks/PostGridEntityCollision.d.ts +1 -1
  144. package/dist/classes/callbacks/PostGridEntityCollision.d.ts.map +1 -1
  145. package/dist/classes/callbacks/PostGridEntityCollision.js +4 -4
  146. package/dist/classes/callbacks/PostGridEntityCustomBroken.d.ts +1 -1
  147. package/dist/classes/callbacks/PostGridEntityCustomBroken.d.ts.map +1 -1
  148. package/dist/classes/callbacks/PostGridEntityCustomBroken.js +1 -1
  149. package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts +1 -1
  150. package/dist/classes/callbacks/PostGridEntityCustomCollision.d.ts.map +1 -1
  151. package/dist/classes/callbacks/PostGridEntityCustomCollision.js +4 -4
  152. package/dist/classes/callbacks/PostGridEntityCustomInit.d.ts +1 -1
  153. package/dist/classes/callbacks/PostGridEntityCustomInit.d.ts.map +1 -1
  154. package/dist/classes/callbacks/PostGridEntityCustomInit.js +1 -1
  155. package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts +1 -1
  156. package/dist/classes/callbacks/PostGridEntityCustomRemove.d.ts.map +1 -1
  157. package/dist/classes/callbacks/PostGridEntityCustomRemove.js +4 -4
  158. package/dist/classes/callbacks/PostGridEntityCustomRender.d.ts +1 -1
  159. package/dist/classes/callbacks/PostGridEntityCustomRender.d.ts.map +1 -1
  160. package/dist/classes/callbacks/PostGridEntityCustomRender.js +1 -1
  161. package/dist/classes/callbacks/PostGridEntityCustomStateChanged.d.ts +1 -1
  162. package/dist/classes/callbacks/PostGridEntityCustomStateChanged.d.ts.map +1 -1
  163. package/dist/classes/callbacks/PostGridEntityCustomStateChanged.js +1 -1
  164. package/dist/classes/callbacks/PostGridEntityCustomUpdate.d.ts +1 -1
  165. package/dist/classes/callbacks/PostGridEntityCustomUpdate.d.ts.map +1 -1
  166. package/dist/classes/callbacks/PostGridEntityCustomUpdate.js +1 -1
  167. package/dist/classes/callbacks/PostGridEntityInit.d.ts +1 -1
  168. package/dist/classes/callbacks/PostGridEntityInit.d.ts.map +1 -1
  169. package/dist/classes/callbacks/PostGridEntityInit.js +1 -1
  170. package/dist/classes/callbacks/PostGridEntityRemove.d.ts +1 -1
  171. package/dist/classes/callbacks/PostGridEntityRemove.d.ts.map +1 -1
  172. package/dist/classes/callbacks/PostGridEntityRemove.js +4 -4
  173. package/dist/classes/callbacks/PostGridEntityRender.d.ts +1 -1
  174. package/dist/classes/callbacks/PostGridEntityRender.d.ts.map +1 -1
  175. package/dist/classes/callbacks/PostGridEntityRender.js +1 -1
  176. package/dist/classes/callbacks/PostGridEntityStateChanged.d.ts +1 -1
  177. package/dist/classes/callbacks/PostGridEntityStateChanged.d.ts.map +1 -1
  178. package/dist/classes/callbacks/PostGridEntityStateChanged.js +1 -1
  179. package/dist/classes/callbacks/PostGridEntityUpdate.d.ts +1 -1
  180. package/dist/classes/callbacks/PostGridEntityUpdate.d.ts.map +1 -1
  181. package/dist/classes/callbacks/PostGridEntityUpdate.js +1 -1
  182. package/dist/classes/callbacks/PostHolyMantleRemoved.d.ts +2 -2
  183. package/dist/classes/callbacks/PostHolyMantleRemoved.d.ts.map +1 -1
  184. package/dist/classes/callbacks/PostHolyMantleRemoved.js +11 -11
  185. package/dist/classes/callbacks/PostHolyMantleRemoved.lua +2 -2
  186. package/dist/classes/callbacks/PostItemDischarge.d.ts +3 -3
  187. package/dist/classes/callbacks/PostItemDischarge.d.ts.map +1 -1
  188. package/dist/classes/callbacks/PostItemDischarge.js +42 -42
  189. package/dist/classes/callbacks/PostItemDischarge.lua +9 -9
  190. package/dist/classes/callbacks/PostItemPickup.d.ts +1 -1
  191. package/dist/classes/callbacks/PostItemPickup.d.ts.map +1 -1
  192. package/dist/classes/callbacks/PostItemPickup.js +1 -1
  193. package/dist/classes/callbacks/PostKeyboardChanged.d.ts +2 -2
  194. package/dist/classes/callbacks/PostKeyboardChanged.d.ts.map +1 -1
  195. package/dist/classes/callbacks/PostKeyboardChanged.js +18 -17
  196. package/dist/classes/callbacks/PostKeyboardChanged.lua +13 -9
  197. package/dist/classes/callbacks/PostKnifeInitFilter.d.ts +2 -2
  198. package/dist/classes/callbacks/PostKnifeInitFilter.d.ts.map +1 -1
  199. package/dist/classes/callbacks/PostKnifeInitFilter.js +5 -5
  200. package/dist/classes/callbacks/PostKnifeInitFilter.lua +1 -1
  201. package/dist/classes/callbacks/PostKnifeInitLate.d.ts +2 -2
  202. package/dist/classes/callbacks/PostKnifeInitLate.d.ts.map +1 -1
  203. package/dist/classes/callbacks/PostKnifeInitLate.js +9 -9
  204. package/dist/classes/callbacks/PostKnifeInitLate.lua +2 -2
  205. package/dist/classes/callbacks/PostKnifeRenderFilter.d.ts +2 -2
  206. package/dist/classes/callbacks/PostKnifeRenderFilter.d.ts.map +1 -1
  207. package/dist/classes/callbacks/PostKnifeRenderFilter.js +5 -5
  208. package/dist/classes/callbacks/PostKnifeRenderFilter.lua +1 -1
  209. package/dist/classes/callbacks/PostKnifeUpdateFilter.d.ts +2 -2
  210. package/dist/classes/callbacks/PostKnifeUpdateFilter.d.ts.map +1 -1
  211. package/dist/classes/callbacks/PostKnifeUpdateFilter.js +5 -5
  212. package/dist/classes/callbacks/PostKnifeUpdateFilter.lua +1 -1
  213. package/dist/classes/callbacks/PostLaserInitFilter.d.ts +2 -2
  214. package/dist/classes/callbacks/PostLaserInitFilter.d.ts.map +1 -1
  215. package/dist/classes/callbacks/PostLaserInitFilter.js +5 -5
  216. package/dist/classes/callbacks/PostLaserInitFilter.lua +1 -1
  217. package/dist/classes/callbacks/PostLaserInitLate.d.ts +2 -2
  218. package/dist/classes/callbacks/PostLaserInitLate.d.ts.map +1 -1
  219. package/dist/classes/callbacks/PostLaserInitLate.js +9 -9
  220. package/dist/classes/callbacks/PostLaserInitLate.lua +2 -2
  221. package/dist/classes/callbacks/PostLaserRenderFilter.d.ts +2 -2
  222. package/dist/classes/callbacks/PostLaserRenderFilter.d.ts.map +1 -1
  223. package/dist/classes/callbacks/PostLaserRenderFilter.js +5 -5
  224. package/dist/classes/callbacks/PostLaserRenderFilter.lua +1 -1
  225. package/dist/classes/callbacks/PostLaserUpdateFilter.d.ts +2 -2
  226. package/dist/classes/callbacks/PostLaserUpdateFilter.d.ts.map +1 -1
  227. package/dist/classes/callbacks/PostLaserUpdateFilter.js +5 -5
  228. package/dist/classes/callbacks/PostLaserUpdateFilter.lua +1 -1
  229. package/dist/classes/callbacks/PostNPCDeathFilter.d.ts +2 -2
  230. package/dist/classes/callbacks/PostNPCDeathFilter.d.ts.map +1 -1
  231. package/dist/classes/callbacks/PostNPCDeathFilter.js +5 -5
  232. package/dist/classes/callbacks/PostNPCDeathFilter.lua +1 -1
  233. package/dist/classes/callbacks/PostNPCInitFilter.d.ts +2 -2
  234. package/dist/classes/callbacks/PostNPCInitFilter.d.ts.map +1 -1
  235. package/dist/classes/callbacks/PostNPCInitFilter.js +5 -5
  236. package/dist/classes/callbacks/PostNPCInitFilter.lua +1 -1
  237. package/dist/classes/callbacks/PostNPCInitLate.d.ts +2 -2
  238. package/dist/classes/callbacks/PostNPCInitLate.d.ts.map +1 -1
  239. package/dist/classes/callbacks/PostNPCInitLate.js +9 -9
  240. package/dist/classes/callbacks/PostNPCInitLate.lua +2 -2
  241. package/dist/classes/callbacks/PostNPCRenderFilter.d.ts +2 -2
  242. package/dist/classes/callbacks/PostNPCRenderFilter.d.ts.map +1 -1
  243. package/dist/classes/callbacks/PostNPCRenderFilter.js +5 -5
  244. package/dist/classes/callbacks/PostNPCRenderFilter.lua +1 -1
  245. package/dist/classes/callbacks/PostNPCStateChanged.d.ts +2 -2
  246. package/dist/classes/callbacks/PostNPCStateChanged.d.ts.map +1 -1
  247. package/dist/classes/callbacks/PostNPCStateChanged.js +9 -9
  248. package/dist/classes/callbacks/PostNPCStateChanged.lua +2 -2
  249. package/dist/classes/callbacks/PostNPCUpdateFilter.d.ts +2 -2
  250. package/dist/classes/callbacks/PostNPCUpdateFilter.d.ts.map +1 -1
  251. package/dist/classes/callbacks/PostNPCUpdateFilter.js +5 -5
  252. package/dist/classes/callbacks/PostNPCUpdateFilter.lua +1 -1
  253. package/dist/classes/callbacks/PostNewLevelReordered.d.ts +1 -1
  254. package/dist/classes/callbacks/PostNewLevelReordered.d.ts.map +1 -1
  255. package/dist/classes/callbacks/PostNewLevelReordered.js +1 -1
  256. package/dist/classes/callbacks/PostNewRoomEarly.d.ts +2 -2
  257. package/dist/classes/callbacks/PostNewRoomEarly.d.ts.map +1 -1
  258. package/dist/classes/callbacks/PostNewRoomEarly.js +15 -14
  259. package/dist/classes/callbacks/PostNewRoomEarly.lua +6 -5
  260. package/dist/classes/callbacks/PostNewRoomReordered.d.ts +1 -1
  261. package/dist/classes/callbacks/PostNewRoomReordered.d.ts.map +1 -1
  262. package/dist/classes/callbacks/PostNewRoomReordered.js +1 -1
  263. package/dist/classes/callbacks/PostPEffectUpdateReordered.d.ts +1 -1
  264. package/dist/classes/callbacks/PostPEffectUpdateReordered.d.ts.map +1 -1
  265. package/dist/classes/callbacks/PostPEffectUpdateReordered.js +1 -1
  266. package/dist/classes/callbacks/PostPickupChanged.d.ts +1 -1
  267. package/dist/classes/callbacks/PostPickupChanged.d.ts.map +1 -1
  268. package/dist/classes/callbacks/PostPickupChanged.js +1 -1
  269. package/dist/classes/callbacks/PostPickupCollect.d.ts +2 -2
  270. package/dist/classes/callbacks/PostPickupCollect.d.ts.map +1 -1
  271. package/dist/classes/callbacks/PostPickupCollect.js +9 -9
  272. package/dist/classes/callbacks/PostPickupCollect.lua +2 -2
  273. package/dist/classes/callbacks/PostPickupInitFilter.d.ts +2 -2
  274. package/dist/classes/callbacks/PostPickupInitFilter.d.ts.map +1 -1
  275. package/dist/classes/callbacks/PostPickupInitFilter.js +5 -5
  276. package/dist/classes/callbacks/PostPickupInitFilter.lua +1 -1
  277. package/dist/classes/callbacks/PostPickupInitFirst.d.ts +2 -2
  278. package/dist/classes/callbacks/PostPickupInitFirst.d.ts.map +1 -1
  279. package/dist/classes/callbacks/PostPickupInitFirst.js +10 -10
  280. package/dist/classes/callbacks/PostPickupInitFirst.lua +3 -3
  281. package/dist/classes/callbacks/PostPickupInitLate.d.ts +2 -2
  282. package/dist/classes/callbacks/PostPickupInitLate.d.ts.map +1 -1
  283. package/dist/classes/callbacks/PostPickupInitLate.js +9 -9
  284. package/dist/classes/callbacks/PostPickupInitLate.lua +2 -2
  285. package/dist/classes/callbacks/PostPickupRenderFilter.d.ts +2 -2
  286. package/dist/classes/callbacks/PostPickupRenderFilter.d.ts.map +1 -1
  287. package/dist/classes/callbacks/PostPickupRenderFilter.js +5 -5
  288. package/dist/classes/callbacks/PostPickupRenderFilter.lua +1 -1
  289. package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts +2 -2
  290. package/dist/classes/callbacks/PostPickupSelectionFilter.d.ts.map +1 -1
  291. package/dist/classes/callbacks/PostPickupSelectionFilter.js +9 -9
  292. package/dist/classes/callbacks/PostPickupSelectionFilter.lua +1 -1
  293. package/dist/classes/callbacks/PostPickupStateChanged.d.ts +2 -2
  294. package/dist/classes/callbacks/PostPickupStateChanged.d.ts.map +1 -1
  295. package/dist/classes/callbacks/PostPickupStateChanged.js +9 -9
  296. package/dist/classes/callbacks/PostPickupStateChanged.lua +2 -2
  297. package/dist/classes/callbacks/PostPickupUpdateFilter.d.ts +2 -2
  298. package/dist/classes/callbacks/PostPickupUpdateFilter.d.ts.map +1 -1
  299. package/dist/classes/callbacks/PostPickupUpdateFilter.js +5 -5
  300. package/dist/classes/callbacks/PostPickupUpdateFilter.lua +1 -1
  301. package/dist/classes/callbacks/PostPitRender.d.ts +2 -2
  302. package/dist/classes/callbacks/PostPitRender.d.ts.map +1 -1
  303. package/dist/classes/callbacks/PostPitRender.js +7 -7
  304. package/dist/classes/callbacks/PostPitRender.lua +1 -1
  305. package/dist/classes/callbacks/PostPitUpdate.d.ts +2 -2
  306. package/dist/classes/callbacks/PostPitUpdate.d.ts.map +1 -1
  307. package/dist/classes/callbacks/PostPitUpdate.js +7 -7
  308. package/dist/classes/callbacks/PostPitUpdate.lua +1 -1
  309. package/dist/classes/callbacks/PostPlayerChangeHealth.d.ts +2 -2
  310. package/dist/classes/callbacks/PostPlayerChangeHealth.d.ts.map +1 -1
  311. package/dist/classes/callbacks/PostPlayerChangeHealth.js +11 -11
  312. package/dist/classes/callbacks/PostPlayerChangeHealth.lua +2 -2
  313. package/dist/classes/callbacks/PostPlayerChangeStat.d.ts +2 -2
  314. package/dist/classes/callbacks/PostPlayerChangeStat.d.ts.map +1 -1
  315. package/dist/classes/callbacks/PostPlayerChangeStat.js +11 -11
  316. package/dist/classes/callbacks/PostPlayerChangeStat.lua +2 -2
  317. package/dist/classes/callbacks/PostPlayerChangeType.d.ts +2 -2
  318. package/dist/classes/callbacks/PostPlayerChangeType.d.ts.map +1 -1
  319. package/dist/classes/callbacks/PostPlayerChangeType.js +10 -10
  320. package/dist/classes/callbacks/PostPlayerChangeType.lua +2 -2
  321. package/dist/classes/callbacks/PostPlayerCollectibleAdded.d.ts +1 -1
  322. package/dist/classes/callbacks/PostPlayerCollectibleAdded.d.ts.map +1 -1
  323. package/dist/classes/callbacks/PostPlayerCollectibleAdded.js +1 -1
  324. package/dist/classes/callbacks/PostPlayerCollectibleRemoved.d.ts +1 -1
  325. package/dist/classes/callbacks/PostPlayerCollectibleRemoved.d.ts.map +1 -1
  326. package/dist/classes/callbacks/PostPlayerCollectibleRemoved.js +1 -1
  327. package/dist/classes/callbacks/PostPlayerFatalDamage.d.ts +7 -7
  328. package/dist/classes/callbacks/PostPlayerFatalDamage.d.ts.map +1 -1
  329. package/dist/classes/callbacks/PostPlayerFatalDamage.js +12 -12
  330. package/dist/classes/callbacks/PostPlayerFatalDamage.lua +2 -2
  331. package/dist/classes/callbacks/PostPlayerInitFirst.d.ts +2 -2
  332. package/dist/classes/callbacks/PostPlayerInitFirst.d.ts.map +1 -1
  333. package/dist/classes/callbacks/PostPlayerInitFirst.js +8 -8
  334. package/dist/classes/callbacks/PostPlayerInitFirst.lua +1 -1
  335. package/dist/classes/callbacks/PostPlayerInitLate.d.ts +2 -2
  336. package/dist/classes/callbacks/PostPlayerInitLate.d.ts.map +1 -1
  337. package/dist/classes/callbacks/PostPlayerInitLate.js +9 -8
  338. package/dist/classes/callbacks/PostPlayerInitLate.lua +6 -5
  339. package/dist/classes/callbacks/PostPlayerRenderReordered.d.ts +1 -1
  340. package/dist/classes/callbacks/PostPlayerRenderReordered.d.ts.map +1 -1
  341. package/dist/classes/callbacks/PostPlayerRenderReordered.js +1 -1
  342. package/dist/classes/callbacks/PostPlayerUpdateReordered.d.ts +1 -1
  343. package/dist/classes/callbacks/PostPlayerUpdateReordered.d.ts.map +1 -1
  344. package/dist/classes/callbacks/PostPlayerUpdateReordered.js +1 -1
  345. package/dist/classes/callbacks/PostPoopRender.d.ts +2 -2
  346. package/dist/classes/callbacks/PostPoopRender.d.ts.map +1 -1
  347. package/dist/classes/callbacks/PostPoopRender.js +7 -7
  348. package/dist/classes/callbacks/PostPoopRender.lua +1 -1
  349. package/dist/classes/callbacks/PostPoopUpdate.d.ts +2 -2
  350. package/dist/classes/callbacks/PostPoopUpdate.d.ts.map +1 -1
  351. package/dist/classes/callbacks/PostPoopUpdate.js +7 -7
  352. package/dist/classes/callbacks/PostPoopUpdate.lua +1 -1
  353. package/dist/classes/callbacks/PostPressurePlateRender.d.ts +2 -2
  354. package/dist/classes/callbacks/PostPressurePlateRender.d.ts.map +1 -1
  355. package/dist/classes/callbacks/PostPressurePlateRender.js +7 -7
  356. package/dist/classes/callbacks/PostPressurePlateRender.lua +1 -1
  357. package/dist/classes/callbacks/PostPressurePlateUpdate.d.ts +2 -2
  358. package/dist/classes/callbacks/PostPressurePlateUpdate.d.ts.map +1 -1
  359. package/dist/classes/callbacks/PostPressurePlateUpdate.js +7 -7
  360. package/dist/classes/callbacks/PostPressurePlateUpdate.lua +1 -1
  361. package/dist/classes/callbacks/PostProjectileInitFilter.d.ts +2 -2
  362. package/dist/classes/callbacks/PostProjectileInitFilter.d.ts.map +1 -1
  363. package/dist/classes/callbacks/PostProjectileInitFilter.js +5 -5
  364. package/dist/classes/callbacks/PostProjectileInitFilter.lua +1 -1
  365. package/dist/classes/callbacks/PostProjectileInitLate.d.ts +2 -2
  366. package/dist/classes/callbacks/PostProjectileInitLate.d.ts.map +1 -1
  367. package/dist/classes/callbacks/PostProjectileInitLate.js +9 -9
  368. package/dist/classes/callbacks/PostProjectileInitLate.lua +2 -2
  369. package/dist/classes/callbacks/PostProjectileKill.d.ts +4 -4
  370. package/dist/classes/callbacks/PostProjectileKill.d.ts.map +1 -1
  371. package/dist/classes/callbacks/PostProjectileKill.js +13 -13
  372. package/dist/classes/callbacks/PostProjectileKill.lua +2 -2
  373. package/dist/classes/callbacks/PostProjectileRenderFilter.d.ts +2 -2
  374. package/dist/classes/callbacks/PostProjectileRenderFilter.d.ts.map +1 -1
  375. package/dist/classes/callbacks/PostProjectileRenderFilter.js +5 -5
  376. package/dist/classes/callbacks/PostProjectileRenderFilter.lua +1 -1
  377. package/dist/classes/callbacks/PostProjectileUpdateFilter.d.ts +2 -2
  378. package/dist/classes/callbacks/PostProjectileUpdateFilter.d.ts.map +1 -1
  379. package/dist/classes/callbacks/PostProjectileUpdateFilter.js +5 -5
  380. package/dist/classes/callbacks/PostProjectileUpdateFilter.lua +1 -1
  381. package/dist/classes/callbacks/PostPurchase.d.ts +5 -5
  382. package/dist/classes/callbacks/PostPurchase.d.ts.map +1 -1
  383. package/dist/classes/callbacks/PostPurchase.js +26 -26
  384. package/dist/classes/callbacks/PostPurchase.lua +6 -6
  385. package/dist/classes/callbacks/PostRockRender.d.ts +2 -2
  386. package/dist/classes/callbacks/PostRockRender.d.ts.map +1 -1
  387. package/dist/classes/callbacks/PostRockRender.js +7 -7
  388. package/dist/classes/callbacks/PostRockRender.lua +1 -1
  389. package/dist/classes/callbacks/PostRockUpdate.d.ts +2 -2
  390. package/dist/classes/callbacks/PostRockUpdate.d.ts.map +1 -1
  391. package/dist/classes/callbacks/PostRockUpdate.js +7 -7
  392. package/dist/classes/callbacks/PostRockUpdate.lua +1 -1
  393. package/dist/classes/callbacks/PostRoomClearChanged.d.ts +3 -3
  394. package/dist/classes/callbacks/PostRoomClearChanged.d.ts.map +1 -1
  395. package/dist/classes/callbacks/PostRoomClearChanged.js +16 -16
  396. package/dist/classes/callbacks/PostRoomClearChanged.lua +6 -6
  397. package/dist/classes/callbacks/PostSacrifice.d.ts +2 -2
  398. package/dist/classes/callbacks/PostSacrifice.d.ts.map +1 -1
  399. package/dist/classes/callbacks/PostSacrifice.js +9 -9
  400. package/dist/classes/callbacks/PostSacrifice.lua +3 -3
  401. package/dist/classes/callbacks/PostSlotAnimationChanged.d.ts +1 -1
  402. package/dist/classes/callbacks/PostSlotAnimationChanged.d.ts.map +1 -1
  403. package/dist/classes/callbacks/PostSlotAnimationChanged.js +1 -1
  404. package/dist/classes/callbacks/PostSlotCollision.d.ts +2 -2
  405. package/dist/classes/callbacks/PostSlotCollision.d.ts.map +1 -1
  406. package/dist/classes/callbacks/PostSlotCollision.js +8 -8
  407. package/dist/classes/callbacks/PostSlotCollision.lua +1 -1
  408. package/dist/classes/callbacks/PostSlotDestroyed.d.ts +1 -1
  409. package/dist/classes/callbacks/PostSlotDestroyed.d.ts.map +1 -1
  410. package/dist/classes/callbacks/PostSlotDestroyed.js +1 -1
  411. package/dist/classes/callbacks/PostSlotInit.d.ts +1 -1
  412. package/dist/classes/callbacks/PostSlotInit.d.ts.map +1 -1
  413. package/dist/classes/callbacks/PostSlotInit.js +1 -1
  414. package/dist/classes/callbacks/PostSlotRender.d.ts +1 -1
  415. package/dist/classes/callbacks/PostSlotRender.d.ts.map +1 -1
  416. package/dist/classes/callbacks/PostSlotRender.js +1 -1
  417. package/dist/classes/callbacks/PostSlotUpdate.d.ts +1 -1
  418. package/dist/classes/callbacks/PostSlotUpdate.d.ts.map +1 -1
  419. package/dist/classes/callbacks/PostSlotUpdate.js +1 -1
  420. package/dist/classes/callbacks/PostSpikesRender.d.ts +2 -2
  421. package/dist/classes/callbacks/PostSpikesRender.d.ts.map +1 -1
  422. package/dist/classes/callbacks/PostSpikesRender.js +7 -7
  423. package/dist/classes/callbacks/PostSpikesRender.lua +1 -1
  424. package/dist/classes/callbacks/PostSpikesUpdate.d.ts +2 -2
  425. package/dist/classes/callbacks/PostSpikesUpdate.d.ts.map +1 -1
  426. package/dist/classes/callbacks/PostSpikesUpdate.js +7 -7
  427. package/dist/classes/callbacks/PostSpikesUpdate.lua +1 -1
  428. package/dist/classes/callbacks/PostTNTRender.d.ts +2 -2
  429. package/dist/classes/callbacks/PostTNTRender.d.ts.map +1 -1
  430. package/dist/classes/callbacks/PostTNTRender.js +7 -7
  431. package/dist/classes/callbacks/PostTNTRender.lua +1 -1
  432. package/dist/classes/callbacks/PostTNTUpdate.d.ts +2 -2
  433. package/dist/classes/callbacks/PostTNTUpdate.d.ts.map +1 -1
  434. package/dist/classes/callbacks/PostTNTUpdate.js +7 -7
  435. package/dist/classes/callbacks/PostTNTUpdate.lua +1 -1
  436. package/dist/classes/callbacks/PostTearInitFilter.d.ts +2 -2
  437. package/dist/classes/callbacks/PostTearInitFilter.d.ts.map +1 -1
  438. package/dist/classes/callbacks/PostTearInitFilter.js +5 -5
  439. package/dist/classes/callbacks/PostTearInitFilter.lua +1 -1
  440. package/dist/classes/callbacks/PostTearInitLate.d.ts +2 -2
  441. package/dist/classes/callbacks/PostTearInitLate.d.ts.map +1 -1
  442. package/dist/classes/callbacks/PostTearInitLate.js +9 -9
  443. package/dist/classes/callbacks/PostTearInitLate.lua +2 -2
  444. package/dist/classes/callbacks/PostTearInitVeryLate.d.ts +2 -2
  445. package/dist/classes/callbacks/PostTearInitVeryLate.d.ts.map +1 -1
  446. package/dist/classes/callbacks/PostTearInitVeryLate.js +9 -9
  447. package/dist/classes/callbacks/PostTearInitVeryLate.lua +2 -2
  448. package/dist/classes/callbacks/PostTearKill.d.ts +4 -4
  449. package/dist/classes/callbacks/PostTearKill.d.ts.map +1 -1
  450. package/dist/classes/callbacks/PostTearKill.js +13 -13
  451. package/dist/classes/callbacks/PostTearKill.lua +2 -2
  452. package/dist/classes/callbacks/PostTearRenderFilter.d.ts +2 -2
  453. package/dist/classes/callbacks/PostTearRenderFilter.d.ts.map +1 -1
  454. package/dist/classes/callbacks/PostTearRenderFilter.js +5 -5
  455. package/dist/classes/callbacks/PostTearRenderFilter.lua +1 -1
  456. package/dist/classes/callbacks/PostTearUpdateFilter.d.ts +2 -2
  457. package/dist/classes/callbacks/PostTearUpdateFilter.d.ts.map +1 -1
  458. package/dist/classes/callbacks/PostTearUpdateFilter.js +5 -5
  459. package/dist/classes/callbacks/PostTearUpdateFilter.lua +1 -1
  460. package/dist/classes/callbacks/PostTransformation.d.ts +2 -2
  461. package/dist/classes/callbacks/PostTransformation.d.ts.map +1 -1
  462. package/dist/classes/callbacks/PostTransformation.js +15 -15
  463. package/dist/classes/callbacks/PostTransformation.lua +6 -6
  464. package/dist/classes/callbacks/PostTrinketBreak.d.ts +3 -3
  465. package/dist/classes/callbacks/PostTrinketBreak.d.ts.map +1 -1
  466. package/dist/classes/callbacks/PostTrinketBreak.js +12 -12
  467. package/dist/classes/callbacks/PostTrinketBreak.lua +2 -2
  468. package/dist/classes/callbacks/PostUsePillFilter.d.ts +2 -2
  469. package/dist/classes/callbacks/PostUsePillFilter.d.ts.map +1 -1
  470. package/dist/classes/callbacks/PostUsePillFilter.js +9 -9
  471. package/dist/classes/callbacks/PostUsePillFilter.lua +1 -1
  472. package/dist/classes/callbacks/PreBerserkDeath.d.ts +2 -2
  473. package/dist/classes/callbacks/PreBerserkDeath.d.ts.map +1 -1
  474. package/dist/classes/callbacks/PreBerserkDeath.js +12 -12
  475. package/dist/classes/callbacks/PreBerserkDeath.lua +2 -2
  476. package/dist/classes/callbacks/PreBombCollisionFilter.d.ts +2 -2
  477. package/dist/classes/callbacks/PreBombCollisionFilter.d.ts.map +1 -1
  478. package/dist/classes/callbacks/PreBombCollisionFilter.js +3 -3
  479. package/dist/classes/callbacks/PreBombCollisionFilter.lua +1 -1
  480. package/dist/classes/callbacks/PreCustomRevive.d.ts +1 -1
  481. package/dist/classes/callbacks/PreCustomRevive.d.ts.map +1 -1
  482. package/dist/classes/callbacks/PreCustomRevive.js +1 -1
  483. package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts +2 -2
  484. package/dist/classes/callbacks/PreEntitySpawnFilter.d.ts.map +1 -1
  485. package/dist/classes/callbacks/PreEntitySpawnFilter.js +9 -9
  486. package/dist/classes/callbacks/PreEntitySpawnFilter.lua +5 -5
  487. package/dist/classes/callbacks/PreFamiliarCollisionFilter.d.ts +2 -2
  488. package/dist/classes/callbacks/PreFamiliarCollisionFilter.d.ts.map +1 -1
  489. package/dist/classes/callbacks/PreFamiliarCollisionFilter.js +3 -3
  490. package/dist/classes/callbacks/PreFamiliarCollisionFilter.lua +1 -1
  491. package/dist/classes/callbacks/PreGetPedestal.d.ts +2 -2
  492. package/dist/classes/callbacks/PreGetPedestal.d.ts.map +1 -1
  493. package/dist/classes/callbacks/PreGetPedestal.js +12 -12
  494. package/dist/classes/callbacks/PreGetPedestal.lua +1 -1
  495. package/dist/classes/callbacks/PreItemPickup.d.ts +1 -1
  496. package/dist/classes/callbacks/PreItemPickup.d.ts.map +1 -1
  497. package/dist/classes/callbacks/PreItemPickup.js +1 -1
  498. package/dist/classes/callbacks/PreKnifeCollisionFilter.d.ts +2 -2
  499. package/dist/classes/callbacks/PreKnifeCollisionFilter.d.ts.map +1 -1
  500. package/dist/classes/callbacks/PreKnifeCollisionFilter.js +3 -3
  501. package/dist/classes/callbacks/PreKnifeCollisionFilter.lua +1 -1
  502. package/dist/classes/callbacks/PreNPCCollisionFilter.d.ts +2 -2
  503. package/dist/classes/callbacks/PreNPCCollisionFilter.d.ts.map +1 -1
  504. package/dist/classes/callbacks/PreNPCCollisionFilter.js +3 -3
  505. package/dist/classes/callbacks/PreNPCCollisionFilter.lua +1 -1
  506. package/dist/classes/callbacks/PreNPCUpdateFilter.d.ts +2 -2
  507. package/dist/classes/callbacks/PreNPCUpdateFilter.d.ts.map +1 -1
  508. package/dist/classes/callbacks/PreNPCUpdateFilter.js +3 -3
  509. package/dist/classes/callbacks/PreNPCUpdateFilter.lua +1 -1
  510. package/dist/classes/callbacks/PreNewLevel.d.ts +1 -1
  511. package/dist/classes/callbacks/PreNewLevel.d.ts.map +1 -1
  512. package/dist/classes/callbacks/PreNewLevel.js +10 -10
  513. package/dist/classes/callbacks/PreNewLevel.lua +1 -1
  514. package/dist/classes/callbacks/PreProjectileCollisionFilter.d.ts +2 -2
  515. package/dist/classes/callbacks/PreProjectileCollisionFilter.d.ts.map +1 -1
  516. package/dist/classes/callbacks/PreProjectileCollisionFilter.js +3 -3
  517. package/dist/classes/callbacks/PreProjectileCollisionFilter.lua +1 -1
  518. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts +2 -2
  519. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.d.ts.map +1 -1
  520. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.js +9 -9
  521. package/dist/classes/callbacks/PreRoomEntitySpawnFilter.lua +5 -5
  522. package/dist/classes/callbacks/PreTearCollisionFilter.d.ts +2 -2
  523. package/dist/classes/callbacks/PreTearCollisionFilter.d.ts.map +1 -1
  524. package/dist/classes/callbacks/PreTearCollisionFilter.js +3 -3
  525. package/dist/classes/callbacks/PreTearCollisionFilter.lua +1 -1
  526. package/dist/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
  527. package/dist/classes/features/callbackLogic/CustomGridEntities.js +23 -20
  528. package/dist/classes/features/callbackLogic/CustomGridEntities.lua +1 -1
  529. package/dist/classes/features/callbackLogic/CustomRevive.d.ts +9 -9
  530. package/dist/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
  531. package/dist/classes/features/callbackLogic/CustomRevive.js +36 -36
  532. package/dist/classes/features/callbackLogic/CustomRevive.lua +1 -1
  533. package/dist/classes/features/callbackLogic/EsauJrDetection.d.ts +4 -4
  534. package/dist/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
  535. package/dist/classes/features/callbackLogic/EsauJrDetection.js +16 -16
  536. package/dist/classes/features/callbackLogic/EsauJrDetection.lua +1 -1
  537. package/dist/classes/features/callbackLogic/FlipDetection.d.ts +3 -3
  538. package/dist/classes/features/callbackLogic/FlipDetection.d.ts.map +1 -1
  539. package/dist/classes/features/callbackLogic/FlipDetection.js +10 -10
  540. package/dist/classes/features/callbackLogic/FlipDetection.lua +1 -1
  541. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
  542. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.js +34 -34
  543. package/dist/classes/features/callbackLogic/GameReorderedCallbacks.lua +4 -4
  544. package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts +4 -4
  545. package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts.map +1 -1
  546. package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.js +11 -11
  547. package/dist/classes/features/callbackLogic/GridEntityCollisionDetection.lua +1 -1
  548. package/dist/classes/features/callbackLogic/GridEntityRenderDetection.d.ts +1 -1
  549. package/dist/classes/features/callbackLogic/GridEntityRenderDetection.d.ts.map +1 -1
  550. package/dist/classes/features/callbackLogic/GridEntityRenderDetection.js +10 -10
  551. package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.d.ts +8 -8
  552. package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.d.ts.map +1 -1
  553. package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.js +26 -26
  554. package/dist/classes/features/callbackLogic/GridEntityUpdateDetection.lua +1 -1
  555. package/dist/classes/features/callbackLogic/ItemPickupDetection.d.ts +3 -3
  556. package/dist/classes/features/callbackLogic/ItemPickupDetection.d.ts.map +1 -1
  557. package/dist/classes/features/callbackLogic/ItemPickupDetection.js +12 -12
  558. package/dist/classes/features/callbackLogic/ItemPickupDetection.lua +1 -1
  559. package/dist/classes/features/callbackLogic/PickupChangeDetection.d.ts +3 -3
  560. package/dist/classes/features/callbackLogic/PickupChangeDetection.d.ts.map +1 -1
  561. package/dist/classes/features/callbackLogic/PickupChangeDetection.js +11 -11
  562. package/dist/classes/features/callbackLogic/PickupChangeDetection.lua +1 -1
  563. package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts +13 -13
  564. package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts.map +1 -1
  565. package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.js +66 -66
  566. package/dist/classes/features/callbackLogic/PlayerCollectibleDetection.lua +2 -2
  567. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts +9 -9
  568. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.d.ts.map +1 -1
  569. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.js +28 -25
  570. package/dist/classes/features/callbackLogic/PlayerReorderedCallbacks.lua +1 -1
  571. package/dist/classes/features/callbackLogic/SlotDestroyedDetection.d.ts +4 -4
  572. package/dist/classes/features/callbackLogic/SlotDestroyedDetection.d.ts.map +1 -1
  573. package/dist/classes/features/callbackLogic/SlotDestroyedDetection.js +31 -30
  574. package/dist/classes/features/callbackLogic/SlotDestroyedDetection.lua +7 -6
  575. package/dist/classes/features/callbackLogic/SlotRenderDetection.d.ts +3 -3
  576. package/dist/classes/features/callbackLogic/SlotRenderDetection.d.ts.map +1 -1
  577. package/dist/classes/features/callbackLogic/SlotRenderDetection.js +8 -8
  578. package/dist/classes/features/callbackLogic/SlotRenderDetection.lua +1 -1
  579. package/dist/classes/features/callbackLogic/SlotUpdateDetection.d.ts +4 -4
  580. package/dist/classes/features/callbackLogic/SlotUpdateDetection.d.ts.map +1 -1
  581. package/dist/classes/features/callbackLogic/SlotUpdateDetection.js +14 -14
  582. package/dist/classes/features/callbackLogic/SlotUpdateDetection.lua +1 -1
  583. package/dist/classes/features/other/CharacterHealthConversion.d.ts.map +1 -1
  584. package/dist/classes/features/other/CharacterHealthConversion.js +20 -20
  585. package/dist/classes/features/other/CharacterHealthConversion.lua +2 -2
  586. package/dist/classes/features/other/CharacterStats.d.ts.map +1 -1
  587. package/dist/classes/features/other/CharacterStats.js +8 -8
  588. package/dist/classes/features/other/CollectibleItemPoolType.d.ts.map +1 -1
  589. package/dist/classes/features/other/CollectibleItemPoolType.js +11 -11
  590. package/dist/classes/features/other/CollectibleItemPoolType.lua +1 -1
  591. package/dist/classes/features/other/CustomHotkeys.d.ts.map +1 -1
  592. package/dist/classes/features/other/CustomHotkeys.js +8 -8
  593. package/dist/classes/features/other/CustomItemPools.d.ts.map +1 -1
  594. package/dist/classes/features/other/CustomItemPools.js +5 -5
  595. package/dist/classes/features/other/CustomItemPools.lua +1 -1
  596. package/dist/classes/features/other/CustomPickups.d.ts.map +1 -1
  597. package/dist/classes/features/other/CustomPickups.js +14 -14
  598. package/dist/classes/features/other/CustomStages.d.ts +3 -3
  599. package/dist/classes/features/other/CustomStages.d.ts.map +1 -1
  600. package/dist/classes/features/other/CustomStages.js +78 -73
  601. package/dist/classes/features/other/CustomStages.lua +1 -1
  602. package/dist/classes/features/other/CustomTrapdoors.d.ts +2 -2
  603. package/dist/classes/features/other/CustomTrapdoors.d.ts.map +1 -1
  604. package/dist/classes/features/other/CustomTrapdoors.js +38 -37
  605. package/dist/classes/features/other/CustomTrapdoors.lua +10 -9
  606. package/dist/classes/features/other/DebugDisplay.d.ts +1 -1
  607. package/dist/classes/features/other/DebugDisplay.d.ts.map +1 -1
  608. package/dist/classes/features/other/DebugDisplay.js +13 -16
  609. package/dist/classes/features/other/DebugDisplay.lua +13 -12
  610. package/dist/classes/features/other/DeployJSONRoom.d.ts.map +1 -1
  611. package/dist/classes/features/other/DeployJSONRoom.js +5 -1
  612. package/dist/classes/features/other/DisableAllSound.d.ts.map +1 -1
  613. package/dist/classes/features/other/DisableAllSound.js +8 -8
  614. package/dist/classes/features/other/DisableAllSound.lua +1 -1
  615. package/dist/classes/features/other/DisableInputs.d.ts.map +1 -1
  616. package/dist/classes/features/other/DisableInputs.js +6 -6
  617. package/dist/classes/features/other/DisableInputs.lua +1 -1
  618. package/dist/classes/features/other/EdenStartingStatsHealth.d.ts +2 -2
  619. package/dist/classes/features/other/EdenStartingStatsHealth.d.ts.map +1 -1
  620. package/dist/classes/features/other/EdenStartingStatsHealth.js +26 -26
  621. package/dist/classes/features/other/EdenStartingStatsHealth.lua +1 -1
  622. package/dist/classes/features/other/ExtraConsoleCommands.d.ts.map +1 -1
  623. package/dist/classes/features/other/ExtraConsoleCommands.js +58 -57
  624. package/dist/classes/features/other/ExtraConsoleCommands.lua +5 -4
  625. package/dist/classes/features/other/FadeInRemover.d.ts.map +1 -1
  626. package/dist/classes/features/other/FadeInRemover.js +6 -6
  627. package/dist/classes/features/other/FastReset.d.ts.map +1 -1
  628. package/dist/classes/features/other/FastReset.js +7 -7
  629. package/dist/classes/features/other/ForgottenSwitch.d.ts.map +1 -1
  630. package/dist/classes/features/other/ForgottenSwitch.js +1 -1
  631. package/dist/classes/features/other/ItemPoolDetection.js +11 -7
  632. package/dist/classes/features/other/ItemPoolDetection.lua +5 -1
  633. package/dist/classes/features/other/ModdedElementDetection.d.ts.map +1 -1
  634. package/dist/classes/features/other/ModdedElementDetection.js +4 -4
  635. package/dist/classes/features/other/NoSirenSteal.d.ts.map +1 -1
  636. package/dist/classes/features/other/NoSirenSteal.js +5 -5
  637. package/dist/classes/features/other/NoSirenSteal.lua +1 -1
  638. package/dist/classes/features/other/Pause.d.ts +1 -1
  639. package/dist/classes/features/other/Pause.d.ts.map +1 -1
  640. package/dist/classes/features/other/Pause.js +27 -27
  641. package/dist/classes/features/other/Pause.lua +1 -1
  642. package/dist/classes/features/other/PersistentEntities.d.ts +5 -5
  643. package/dist/classes/features/other/PersistentEntities.d.ts.map +1 -1
  644. package/dist/classes/features/other/PersistentEntities.js +34 -31
  645. package/dist/classes/features/other/PersistentEntities.lua +6 -6
  646. package/dist/classes/features/other/PickupIndexCreation.d.ts +1 -1
  647. package/dist/classes/features/other/PickupIndexCreation.d.ts.map +1 -1
  648. package/dist/classes/features/other/PickupIndexCreation.js +11 -11
  649. package/dist/classes/features/other/PickupIndexCreation.lua +1 -1
  650. package/dist/classes/features/other/PlayerCollectibleTracking.d.ts.map +1 -1
  651. package/dist/classes/features/other/PlayerCollectibleTracking.js +10 -10
  652. package/dist/classes/features/other/PlayerCollectibleTracking.lua +1 -1
  653. package/dist/classes/features/other/PonyDetection.d.ts.map +1 -1
  654. package/dist/classes/features/other/PonyDetection.js +12 -12
  655. package/dist/classes/features/other/PonyDetection.lua +1 -1
  656. package/dist/classes/features/other/PressInput.d.ts.map +1 -1
  657. package/dist/classes/features/other/PressInput.js +18 -15
  658. package/dist/classes/features/other/PressInput.lua +1 -1
  659. package/dist/classes/features/other/PreventChildEntities.d.ts.map +1 -1
  660. package/dist/classes/features/other/PreventChildEntities.js +10 -10
  661. package/dist/classes/features/other/PreventChildEntities.lua +1 -1
  662. package/dist/classes/features/other/PreventGridEntityRespawn.d.ts.map +1 -1
  663. package/dist/classes/features/other/PreventGridEntityRespawn.js +19 -19
  664. package/dist/classes/features/other/PreventGridEntityRespawn.lua +1 -1
  665. package/dist/classes/features/other/RerunDetection.d.ts.map +1 -1
  666. package/dist/classes/features/other/RerunDetection.js +13 -13
  667. package/dist/classes/features/other/RerunDetection.lua +1 -1
  668. package/dist/classes/features/other/RoomClearFrame.d.ts.map +1 -1
  669. package/dist/classes/features/other/RoomClearFrame.js +11 -11
  670. package/dist/classes/features/other/RoomClearFrame.lua +1 -1
  671. package/dist/classes/features/other/RoomHistory.d.ts.map +1 -1
  672. package/dist/classes/features/other/RoomHistory.js +9 -9
  673. package/dist/classes/features/other/RoomHistory.lua +1 -1
  674. package/dist/classes/features/other/RunInNFrames.d.ts +1 -1
  675. package/dist/classes/features/other/RunInNFrames.d.ts.map +1 -1
  676. package/dist/classes/features/other/RunInNFrames.js +20 -21
  677. package/dist/classes/features/other/RunInNFrames.lua +10 -7
  678. package/dist/classes/features/other/RunNextRoom.d.ts +1 -1
  679. package/dist/classes/features/other/RunNextRoom.d.ts.map +1 -1
  680. package/dist/classes/features/other/RunNextRoom.js +7 -7
  681. package/dist/classes/features/other/RunNextRoom.lua +2 -2
  682. package/dist/classes/features/other/RunNextRun.d.ts +1 -1
  683. package/dist/classes/features/other/RunNextRun.d.ts.map +1 -1
  684. package/dist/classes/features/other/RunNextRun.js +8 -8
  685. package/dist/classes/features/other/RunNextRun.lua +2 -2
  686. package/dist/classes/features/other/SaveDataManager.d.ts +4 -4
  687. package/dist/classes/features/other/SaveDataManager.d.ts.map +1 -1
  688. package/dist/classes/features/other/SaveDataManager.js +40 -39
  689. package/dist/classes/features/other/SaveDataManager.lua +11 -11
  690. package/dist/classes/features/other/StageHistory.d.ts.map +1 -1
  691. package/dist/classes/features/other/StageHistory.js +15 -12
  692. package/dist/classes/features/other/StageHistory.lua +6 -6
  693. package/dist/classes/features/other/TaintedLazarusPlayers.d.ts +1 -1
  694. package/dist/classes/features/other/TaintedLazarusPlayers.d.ts.map +1 -1
  695. package/dist/classes/features/other/TaintedLazarusPlayers.js +13 -11
  696. package/dist/classes/features/other/TaintedLazarusPlayers.lua +2 -2
  697. package/dist/classes/features/other/UnlockAchievementsDetection.d.ts.map +1 -1
  698. package/dist/classes/features/other/UnlockAchievementsDetection.js +6 -6
  699. package/dist/classes/features/other/UnlockAchievementsDetection.lua +1 -1
  700. package/dist/classes/features/other/customStages/backdrop.d.ts.map +1 -1
  701. package/dist/classes/features/other/customStages/backdrop.js +2 -2
  702. package/dist/classes/features/other/customStages/backdrop.lua +2 -2
  703. package/dist/classes/features/other/customStages/gridEntities.d.ts.map +1 -1
  704. package/dist/classes/features/other/customStages/gridEntities.js +1 -0
  705. package/dist/classes/features/other/customStages/versusScreen.d.ts.map +1 -1
  706. package/dist/classes/features/other/customStages/versusScreen.js +14 -5
  707. package/dist/classes/features/other/customStages/versusScreen.lua +2 -2
  708. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts +1 -1
  709. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.d.ts.map +1 -1
  710. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.js +5 -5
  711. package/dist/classes/features/other/debugDisplay/DebugDisplayBomb.lua +1 -1
  712. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts +1 -1
  713. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.d.ts.map +1 -1
  714. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.js +5 -5
  715. package/dist/classes/features/other/debugDisplay/DebugDisplayDoor.lua +1 -1
  716. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts +1 -1
  717. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.d.ts.map +1 -1
  718. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.js +5 -5
  719. package/dist/classes/features/other/debugDisplay/DebugDisplayEffect.lua +1 -1
  720. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts +1 -1
  721. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.d.ts.map +1 -1
  722. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.js +5 -5
  723. package/dist/classes/features/other/debugDisplay/DebugDisplayFamiliar.lua +1 -1
  724. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts +1 -1
  725. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.d.ts.map +1 -1
  726. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.js +5 -5
  727. package/dist/classes/features/other/debugDisplay/DebugDisplayKnife.lua +1 -1
  728. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts +1 -1
  729. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.d.ts.map +1 -1
  730. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.js +5 -5
  731. package/dist/classes/features/other/debugDisplay/DebugDisplayLaser.lua +1 -1
  732. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts +1 -1
  733. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.d.ts.map +1 -1
  734. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.js +5 -5
  735. package/dist/classes/features/other/debugDisplay/DebugDisplayNPC.lua +1 -1
  736. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts +1 -1
  737. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.d.ts.map +1 -1
  738. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.js +5 -5
  739. package/dist/classes/features/other/debugDisplay/DebugDisplayPickup.lua +1 -1
  740. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts +1 -1
  741. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.d.ts.map +1 -1
  742. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.js +5 -5
  743. package/dist/classes/features/other/debugDisplay/DebugDisplayPit.lua +1 -1
  744. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts +1 -1
  745. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.d.ts.map +1 -1
  746. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.js +5 -5
  747. package/dist/classes/features/other/debugDisplay/DebugDisplayPlayer.lua +1 -1
  748. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts +1 -1
  749. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.d.ts.map +1 -1
  750. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.js +5 -5
  751. package/dist/classes/features/other/debugDisplay/DebugDisplayPoop.lua +1 -1
  752. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts +1 -1
  753. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.d.ts.map +1 -1
  754. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.js +5 -5
  755. package/dist/classes/features/other/debugDisplay/DebugDisplayPressurePlate.lua +1 -1
  756. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts +1 -1
  757. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.d.ts.map +1 -1
  758. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.js +5 -5
  759. package/dist/classes/features/other/debugDisplay/DebugDisplayProjectile.lua +1 -1
  760. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts +1 -1
  761. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.d.ts.map +1 -1
  762. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.js +5 -5
  763. package/dist/classes/features/other/debugDisplay/DebugDisplayRock.lua +1 -1
  764. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts +1 -1
  765. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.d.ts.map +1 -1
  766. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.js +5 -5
  767. package/dist/classes/features/other/debugDisplay/DebugDisplaySlot.lua +1 -1
  768. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts +1 -1
  769. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.d.ts.map +1 -1
  770. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.js +5 -5
  771. package/dist/classes/features/other/debugDisplay/DebugDisplaySpikes.lua +1 -1
  772. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts +1 -1
  773. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.d.ts.map +1 -1
  774. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.js +5 -5
  775. package/dist/classes/features/other/debugDisplay/DebugDisplayTNT.lua +1 -1
  776. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts +1 -1
  777. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.d.ts.map +1 -1
  778. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.js +5 -5
  779. package/dist/classes/features/other/debugDisplay/DebugDisplayTear.lua +1 -1
  780. package/dist/classes/features/other/extraConsoleCommands/commands.d.ts +14 -14
  781. package/dist/classes/features/other/extraConsoleCommands/commands.d.ts.map +1 -1
  782. package/dist/classes/features/other/extraConsoleCommands/commands.js +39 -40
  783. package/dist/classes/features/other/extraConsoleCommands/commands.lua +33 -30
  784. package/dist/classes/private/CustomCallback.d.ts +6 -6
  785. package/dist/classes/private/CustomCallback.d.ts.map +1 -1
  786. package/dist/classes/private/CustomCallback.js +21 -21
  787. package/dist/core/cachedClasses.d.ts.map +1 -1
  788. package/dist/core/cachedClasses.js +1 -0
  789. package/dist/core/constants.d.ts +1 -1
  790. package/dist/core/constants.d.ts.map +1 -1
  791. package/dist/core/constants.js +1 -1
  792. package/dist/core/constants.lua +1 -1
  793. package/dist/decorators.d.ts.map +1 -1
  794. package/dist/features.d.ts +57 -57
  795. package/dist/features.d.ts.map +1 -1
  796. package/dist/features.js +1 -0
  797. package/dist/functions/array.d.ts +13 -13
  798. package/dist/functions/array.d.ts.map +1 -1
  799. package/dist/functions/array.js +47 -45
  800. package/dist/functions/array.lua +58 -53
  801. package/dist/functions/arrayLua.js +1 -1
  802. package/dist/functions/bitSet128.d.ts +1 -1
  803. package/dist/functions/bitSet128.d.ts.map +1 -1
  804. package/dist/functions/bitwise.d.ts.map +1 -1
  805. package/dist/functions/bitwise.js +1 -0
  806. package/dist/functions/bitwise.lua +2 -2
  807. package/dist/functions/bosses.d.ts +12 -12
  808. package/dist/functions/bosses.d.ts.map +1 -1
  809. package/dist/functions/bosses.js +41 -41
  810. package/dist/functions/bosses.lua +58 -57
  811. package/dist/functions/challenges.d.ts.map +1 -1
  812. package/dist/functions/challenges.js +10 -8
  813. package/dist/functions/challenges.lua +10 -8
  814. package/dist/functions/characters.js +1 -1
  815. package/dist/functions/characters.lua +1 -1
  816. package/dist/functions/charge.d.ts +11 -11
  817. package/dist/functions/charge.d.ts.map +1 -1
  818. package/dist/functions/charge.js +32 -32
  819. package/dist/functions/charge.lua +9 -9
  820. package/dist/functions/collectibles.d.ts +5 -5
  821. package/dist/functions/collectibles.d.ts.map +1 -1
  822. package/dist/functions/collectibles.js +12 -12
  823. package/dist/functions/collectibles.lua +1 -1
  824. package/dist/functions/color.d.ts +1 -1
  825. package/dist/functions/color.d.ts.map +1 -1
  826. package/dist/functions/decorators.d.ts.map +1 -1
  827. package/dist/functions/decorators.js +23 -1
  828. package/dist/functions/deepCopy.js +105 -104
  829. package/dist/functions/deepCopy.lua +170 -173
  830. package/dist/functions/deepCopyTests.js +218 -224
  831. package/dist/functions/deepCopyTests.lua +217 -217
  832. package/dist/functions/doors.d.ts +12 -12
  833. package/dist/functions/doors.d.ts.map +1 -1
  834. package/dist/functions/doors.js +49 -48
  835. package/dist/functions/doors.lua +30 -26
  836. package/dist/functions/easing.d.ts +58 -58
  837. package/dist/functions/easing.d.ts.map +1 -1
  838. package/dist/functions/easing.js +160 -161
  839. package/dist/functions/easing.lua +93 -93
  840. package/dist/functions/emptyRoom.d.ts.map +1 -1
  841. package/dist/functions/emptyRoom.js +22 -22
  842. package/dist/functions/emptyRoom.lua +23 -23
  843. package/dist/functions/entities.d.ts.map +1 -1
  844. package/dist/functions/entities.js +19 -18
  845. package/dist/functions/entities.lua +30 -30
  846. package/dist/functions/flag.js +1 -1
  847. package/dist/functions/flag.lua +1 -1
  848. package/dist/functions/globals.d.ts.map +1 -1
  849. package/dist/functions/globals.js +7 -6
  850. package/dist/functions/globals.lua +5 -1
  851. package/dist/functions/gridEntities.d.ts +10 -10
  852. package/dist/functions/gridEntities.d.ts.map +1 -1
  853. package/dist/functions/gridEntities.js +254 -251
  854. package/dist/functions/gridEntities.lua +225 -225
  855. package/dist/functions/gridEntitiesSpecific.d.ts +18 -18
  856. package/dist/functions/gridEntitiesSpecific.d.ts.map +1 -1
  857. package/dist/functions/gridEntitiesSpecific.js +40 -40
  858. package/dist/functions/gridEntitiesSpecific.lua +41 -41
  859. package/dist/functions/hash.lua +1 -1
  860. package/dist/functions/hex.js +25 -5
  861. package/dist/functions/isaacAPIClass.d.ts +7 -7
  862. package/dist/functions/isaacAPIClass.d.ts.map +1 -1
  863. package/dist/functions/isaacAPIClass.js +14 -14
  864. package/dist/functions/isaacAPIClass.lua +13 -13
  865. package/dist/functions/jsonHelpers.d.ts.map +1 -1
  866. package/dist/functions/jsonHelpers.js +6 -6
  867. package/dist/functions/jsonHelpers.lua +3 -2
  868. package/dist/functions/jsonRoom.js +9 -9
  869. package/dist/functions/jsonRoom.lua +17 -17
  870. package/dist/functions/kColor.d.ts +1 -1
  871. package/dist/functions/kColor.d.ts.map +1 -1
  872. package/dist/functions/levelGrid.d.ts.map +1 -1
  873. package/dist/functions/levelGrid.js +1 -4
  874. package/dist/functions/levelGrid.lua +1 -3
  875. package/dist/functions/logEntities.d.ts.map +1 -1
  876. package/dist/functions/logEntities.js +75 -75
  877. package/dist/functions/logEntities.lua +41 -41
  878. package/dist/functions/logMisc.d.ts.map +1 -1
  879. package/dist/functions/logMisc.js +13 -11
  880. package/dist/functions/logMisc.lua +13 -5
  881. package/dist/functions/map.d.ts +1 -1
  882. package/dist/functions/map.d.ts.map +1 -1
  883. package/dist/functions/map.js +1 -6
  884. package/dist/functions/map.lua +1 -7
  885. package/dist/functions/math.d.ts +1 -1
  886. package/dist/functions/math.js +1 -1
  887. package/dist/functions/math.lua +1 -1
  888. package/dist/functions/merge.js +33 -33
  889. package/dist/functions/merge.lua +38 -38
  890. package/dist/functions/mergeTests.js +108 -150
  891. package/dist/functions/mergeTests.lua +99 -99
  892. package/dist/functions/nextStage.d.ts.map +1 -1
  893. package/dist/functions/nextStage.js +4 -4
  894. package/dist/functions/nextStage.lua +3 -3
  895. package/dist/functions/pickupVariants.js +1 -1
  896. package/dist/functions/playerHealth.d.ts.map +1 -1
  897. package/dist/functions/playerHealth.js +25 -24
  898. package/dist/functions/playerHealth.lua +26 -26
  899. package/dist/functions/playerIndex.d.ts.map +1 -1
  900. package/dist/functions/playerIndex.js +9 -9
  901. package/dist/functions/playerIndex.lua +7 -7
  902. package/dist/functions/playerTrinkets.d.ts +5 -5
  903. package/dist/functions/playerTrinkets.d.ts.map +1 -1
  904. package/dist/functions/playerTrinkets.js +12 -12
  905. package/dist/functions/playerTrinkets.lua +13 -13
  906. package/dist/functions/players.d.ts.map +1 -1
  907. package/dist/functions/players.js +6 -5
  908. package/dist/functions/players.lua +5 -1
  909. package/dist/functions/revive.d.ts.map +1 -1
  910. package/dist/functions/revive.js +4 -7
  911. package/dist/functions/revive.lua +3 -6
  912. package/dist/functions/rng.d.ts +1 -1
  913. package/dist/functions/rng.d.ts.map +1 -1
  914. package/dist/functions/rng.js +6 -5
  915. package/dist/functions/rng.lua +8 -4
  916. package/dist/functions/roomData.d.ts.map +1 -1
  917. package/dist/functions/roomData.js +4 -3
  918. package/dist/functions/roomData.lua +5 -1
  919. package/dist/functions/roomGrid.d.ts.map +1 -1
  920. package/dist/functions/roomGrid.js +14 -14
  921. package/dist/functions/roomGrid.lua +6 -6
  922. package/dist/functions/roomShapeWalls.d.ts.map +1 -1
  923. package/dist/functions/roomShapeWalls.js +18 -18
  924. package/dist/functions/rooms.d.ts +6 -6
  925. package/dist/functions/rooms.d.ts.map +1 -1
  926. package/dist/functions/rooms.js +9 -9
  927. package/dist/functions/rooms.lua +6 -6
  928. package/dist/functions/serialization.d.ts.map +1 -1
  929. package/dist/functions/serialization.js +12 -12
  930. package/dist/functions/serialization.lua +1 -1
  931. package/dist/functions/set.d.ts +1 -1
  932. package/dist/functions/set.d.ts.map +1 -1
  933. package/dist/functions/set.js +1 -6
  934. package/dist/functions/set.lua +1 -5
  935. package/dist/functions/spawnCollectible.js +2 -2
  936. package/dist/functions/spawnCollectible.lua +1 -1
  937. package/dist/functions/string.d.ts.map +1 -1
  938. package/dist/functions/string.js +5 -1
  939. package/dist/functions/trinkets.d.ts.map +1 -1
  940. package/dist/functions/types.d.ts.map +1 -1
  941. package/dist/functions/types.js +2 -0
  942. package/dist/functions/ui.d.ts +11 -11
  943. package/dist/functions/ui.d.ts.map +1 -1
  944. package/dist/functions/ui.js +28 -28
  945. package/dist/functions/ui.lua +23 -23
  946. package/dist/functions/utils.d.ts +11 -11
  947. package/dist/functions/utils.d.ts.map +1 -1
  948. package/dist/functions/utils.js +16 -14
  949. package/dist/functions/utils.lua +11 -11
  950. package/dist/functions/vector.d.ts +1 -1
  951. package/dist/functions/vector.d.ts.map +1 -1
  952. package/dist/functions/vector.js +1 -1
  953. package/dist/index.rollup.d.ts +538 -527
  954. package/dist/interfaces/ChargeBarSprites.d.ts +5 -5
  955. package/dist/interfaces/ChargeBarSprites.d.ts.map +1 -1
  956. package/dist/interfaces/CustomStageTSConfig.d.ts +63 -63
  957. package/dist/interfaces/CustomStageTSConfig.d.ts.map +1 -1
  958. package/dist/interfaces/GridEntityCustomData.d.ts +6 -6
  959. package/dist/interfaces/GridEntityCustomData.d.ts.map +1 -1
  960. package/dist/interfaces/JSONRoomsFile.d.ts +27 -27
  961. package/dist/interfaces/JSONRoomsFile.d.ts.map +1 -1
  962. package/dist/interfaces/PlayerHealth.d.ts +11 -11
  963. package/dist/interfaces/PlayerHealth.d.ts.map +1 -1
  964. package/dist/interfaces/PlayerStats.d.ts +13 -13
  965. package/dist/interfaces/PlayerStats.d.ts.map +1 -1
  966. package/dist/interfaces/PocketItemDescription.d.ts +3 -3
  967. package/dist/interfaces/PocketItemDescription.d.ts.map +1 -1
  968. package/dist/interfaces/RoomDescription.d.ts +12 -12
  969. package/dist/interfaces/RoomDescription.d.ts.map +1 -1
  970. package/dist/interfaces/SaveData.d.ts.map +1 -1
  971. package/dist/interfaces/TSTLClassMetatable.d.ts +5 -5
  972. package/dist/interfaces/TSTLClassMetatable.d.ts.map +1 -1
  973. package/dist/interfaces/TrinketSituation.d.ts +4 -4
  974. package/dist/interfaces/TrinketSituation.d.ts.map +1 -1
  975. package/dist/interfaces/private/AddCallbackParametersCustom.d.ts +153 -145
  976. package/dist/interfaces/private/AddCallbackParametersCustom.d.ts.map +1 -1
  977. package/dist/interfaces/private/CustomStage.d.ts +1 -1
  978. package/dist/interfaces/private/CustomStage.d.ts.map +1 -1
  979. package/dist/interfaces/private/CustomTrapdoorDescription.d.ts +4 -4
  980. package/dist/interfaces/private/CustomTrapdoorDescription.d.ts.map +1 -1
  981. package/dist/interfaces/private/ModUpgradedInterface.d.ts +2 -2
  982. package/dist/interfaces/private/ModUpgradedInterface.d.ts.map +1 -1
  983. package/dist/isaacscript-common.lua +1949 -1838
  984. package/dist/lib/jsonLua.js +11 -11
  985. package/dist/lualib_bundle.lua +117 -46
  986. package/dist/objects/isaacAPIClassTypeToFunctions.d.ts +15 -15
  987. package/dist/objects/isaacAPIClassTypeToFunctions.d.ts.map +1 -1
  988. package/dist/patchErrorFunctions.d.ts.map +1 -1
  989. package/dist/patchErrorFunctions.js +3 -0
  990. package/dist/sets/entitiesWithArmorSet.d.ts.map +1 -1
  991. package/dist/sets/entitiesWithArmorSet.js +1 -1
  992. package/dist/sets/entitiesWithArmorSet.lua +2 -1
  993. package/dist/shouldFire.d.ts +1 -1
  994. package/dist/shouldFire.d.ts.map +1 -1
  995. package/dist/shouldFire.js +8 -15
  996. package/dist/shouldFire.lua +5 -5
  997. package/dist/tsdoc-metadata.json +1 -1
  998. package/dist/types/AllButFirst.d.ts +1 -1
  999. package/dist/types/AllButFirst.d.ts.map +1 -1
  1000. package/dist/types/AllButLast.d.ts +4 -1
  1001. package/dist/types/AllButLast.d.ts.map +1 -1
  1002. package/dist/types/Immutable.d.ts.map +1 -1
  1003. package/dist/types/PickingUpItem.d.ts.map +1 -1
  1004. package/dist/types/PickingUpItem.js +1 -5
  1005. package/dist/types/PossibleStatType.d.ts.map +1 -1
  1006. package/package.json +6 -7
  1007. package/src/classes/DefaultMap.ts +1 -2
  1008. package/src/classes/ModFeature.ts +2 -4
  1009. package/src/classes/ModUpgraded.ts +149 -150
  1010. package/src/classes/callbacks/EntityTakeDmgFilter.ts +11 -11
  1011. package/src/classes/callbacks/EntityTakeDmgPlayer.ts +15 -15
  1012. package/src/classes/callbacks/InputActionFilter.ts +14 -14
  1013. package/src/classes/callbacks/InputActionPlayer.ts +23 -23
  1014. package/src/classes/callbacks/PostAmbushFinished.ts +13 -13
  1015. package/src/classes/callbacks/PostAmbushStarted.ts +13 -13
  1016. package/src/classes/callbacks/PostBombExploded.ts +9 -9
  1017. package/src/classes/callbacks/PostBombInitFilter.ts +7 -7
  1018. package/src/classes/callbacks/PostBombInitLate.ts +11 -11
  1019. package/src/classes/callbacks/PostBombRenderFilter.ts +10 -10
  1020. package/src/classes/callbacks/PostBombUpdateFilter.ts +7 -7
  1021. package/src/classes/callbacks/PostBoneSwing.ts +9 -9
  1022. package/src/classes/callbacks/PostCollectibleEmpty.ts +27 -27
  1023. package/src/classes/callbacks/PostCursedTeleport.ts +47 -49
  1024. package/src/classes/callbacks/PostCustomRevive.ts +6 -6
  1025. package/src/classes/callbacks/PostDiceRoomActivated.ts +31 -29
  1026. package/src/classes/callbacks/PostDoorRender.ts +9 -9
  1027. package/src/classes/callbacks/PostDoorUpdate.ts +9 -9
  1028. package/src/classes/callbacks/PostEffectInitFilter.ts +7 -7
  1029. package/src/classes/callbacks/PostEffectInitLate.ts +11 -11
  1030. package/src/classes/callbacks/PostEffectRenderFilter.ts +10 -10
  1031. package/src/classes/callbacks/PostEffectStateChanged.ts +13 -13
  1032. package/src/classes/callbacks/PostEffectUpdateFilter.ts +7 -7
  1033. package/src/classes/callbacks/PostEntityKillFilter.ts +7 -7
  1034. package/src/classes/callbacks/PostEntityRemoveFilter.ts +7 -7
  1035. package/src/classes/callbacks/PostFamiliarInitFilter.ts +7 -7
  1036. package/src/classes/callbacks/PostFamiliarInitLate.ts +11 -11
  1037. package/src/classes/callbacks/PostFamiliarRenderFilter.ts +10 -10
  1038. package/src/classes/callbacks/PostFamiliarStateChanged.ts +13 -13
  1039. package/src/classes/callbacks/PostFamiliarUpdateFilter.ts +7 -7
  1040. package/src/classes/callbacks/PostGameEndFilter.ts +7 -7
  1041. package/src/classes/callbacks/PostGameStartedReordered.ts +1 -2
  1042. package/src/classes/callbacks/PostGameStartedReorderedLast.ts +1 -2
  1043. package/src/classes/callbacks/PostGreedModeWave.ts +11 -11
  1044. package/src/classes/callbacks/PostGridEntityBroken.ts +1 -2
  1045. package/src/classes/callbacks/PostGridEntityCollision.ts +6 -6
  1046. package/src/classes/callbacks/PostGridEntityCustomBroken.ts +1 -2
  1047. package/src/classes/callbacks/PostGridEntityCustomCollision.ts +6 -6
  1048. package/src/classes/callbacks/PostGridEntityCustomInit.ts +1 -2
  1049. package/src/classes/callbacks/PostGridEntityCustomRemove.ts +6 -6
  1050. package/src/classes/callbacks/PostGridEntityCustomRender.ts +1 -2
  1051. package/src/classes/callbacks/PostGridEntityCustomStateChanged.ts +1 -2
  1052. package/src/classes/callbacks/PostGridEntityCustomUpdate.ts +1 -2
  1053. package/src/classes/callbacks/PostGridEntityInit.ts +1 -2
  1054. package/src/classes/callbacks/PostGridEntityRemove.ts +6 -6
  1055. package/src/classes/callbacks/PostGridEntityRender.ts +1 -2
  1056. package/src/classes/callbacks/PostGridEntityStateChanged.ts +1 -2
  1057. package/src/classes/callbacks/PostGridEntityUpdate.ts +1 -2
  1058. package/src/classes/callbacks/PostHolyMantleRemoved.ts +15 -15
  1059. package/src/classes/callbacks/PostItemDischarge.ts +63 -63
  1060. package/src/classes/callbacks/PostItemPickup.ts +1 -2
  1061. package/src/classes/callbacks/PostKeyboardChanged.ts +28 -26
  1062. package/src/classes/callbacks/PostKnifeInitFilter.ts +7 -7
  1063. package/src/classes/callbacks/PostKnifeInitLate.ts +11 -11
  1064. package/src/classes/callbacks/PostKnifeRenderFilter.ts +10 -10
  1065. package/src/classes/callbacks/PostKnifeUpdateFilter.ts +7 -7
  1066. package/src/classes/callbacks/PostLaserInitFilter.ts +7 -7
  1067. package/src/classes/callbacks/PostLaserInitLate.ts +11 -11
  1068. package/src/classes/callbacks/PostLaserRenderFilter.ts +10 -10
  1069. package/src/classes/callbacks/PostLaserUpdateFilter.ts +7 -7
  1070. package/src/classes/callbacks/PostNPCDeathFilter.ts +7 -7
  1071. package/src/classes/callbacks/PostNPCInitFilter.ts +7 -7
  1072. package/src/classes/callbacks/PostNPCInitLate.ts +11 -11
  1073. package/src/classes/callbacks/PostNPCRenderFilter.ts +7 -7
  1074. package/src/classes/callbacks/PostNPCStateChanged.ts +13 -13
  1075. package/src/classes/callbacks/PostNPCUpdateFilter.ts +7 -7
  1076. package/src/classes/callbacks/PostNewLevelReordered.ts +1 -2
  1077. package/src/classes/callbacks/PostNewRoomEarly.ts +22 -20
  1078. package/src/classes/callbacks/PostNewRoomReordered.ts +1 -2
  1079. package/src/classes/callbacks/PostPEffectUpdateReordered.ts +1 -2
  1080. package/src/classes/callbacks/PostPickupChanged.ts +1 -2
  1081. package/src/classes/callbacks/PostPickupCollect.ts +13 -13
  1082. package/src/classes/callbacks/PostPickupInitFilter.ts +7 -7
  1083. package/src/classes/callbacks/PostPickupInitFirst.ts +13 -13
  1084. package/src/classes/callbacks/PostPickupInitLate.ts +11 -11
  1085. package/src/classes/callbacks/PostPickupRenderFilter.ts +10 -10
  1086. package/src/classes/callbacks/PostPickupSelectionFilter.ts +14 -14
  1087. package/src/classes/callbacks/PostPickupStateChanged.ts +13 -13
  1088. package/src/classes/callbacks/PostPickupUpdateFilter.ts +7 -7
  1089. package/src/classes/callbacks/PostPitRender.ts +9 -9
  1090. package/src/classes/callbacks/PostPitUpdate.ts +9 -9
  1091. package/src/classes/callbacks/PostPlayerChangeHealth.ts +15 -15
  1092. package/src/classes/callbacks/PostPlayerChangeStat.ts +15 -15
  1093. package/src/classes/callbacks/PostPlayerChangeType.ts +15 -15
  1094. package/src/classes/callbacks/PostPlayerCollectibleAdded.ts +1 -2
  1095. package/src/classes/callbacks/PostPlayerCollectibleRemoved.ts +1 -2
  1096. package/src/classes/callbacks/PostPlayerFatalDamage.ts +17 -17
  1097. package/src/classes/callbacks/PostPlayerInitFirst.ts +11 -11
  1098. package/src/classes/callbacks/PostPlayerInitLate.ts +12 -10
  1099. package/src/classes/callbacks/PostPlayerRenderReordered.ts +1 -2
  1100. package/src/classes/callbacks/PostPlayerUpdateReordered.ts +1 -2
  1101. package/src/classes/callbacks/PostPoopRender.ts +9 -9
  1102. package/src/classes/callbacks/PostPoopUpdate.ts +9 -9
  1103. package/src/classes/callbacks/PostPressurePlateRender.ts +9 -9
  1104. package/src/classes/callbacks/PostPressurePlateUpdate.ts +9 -9
  1105. package/src/classes/callbacks/PostProjectileInitFilter.ts +7 -7
  1106. package/src/classes/callbacks/PostProjectileInitLate.ts +13 -13
  1107. package/src/classes/callbacks/PostProjectileKill.ts +19 -19
  1108. package/src/classes/callbacks/PostProjectileRenderFilter.ts +10 -10
  1109. package/src/classes/callbacks/PostProjectileUpdateFilter.ts +7 -7
  1110. package/src/classes/callbacks/PostPurchase.ts +39 -39
  1111. package/src/classes/callbacks/PostRockRender.ts +9 -9
  1112. package/src/classes/callbacks/PostRockUpdate.ts +9 -9
  1113. package/src/classes/callbacks/PostRoomClearChanged.ts +25 -25
  1114. package/src/classes/callbacks/PostSacrifice.ts +13 -13
  1115. package/src/classes/callbacks/PostSlotAnimationChanged.ts +1 -2
  1116. package/src/classes/callbacks/PostSlotCollision.ts +11 -11
  1117. package/src/classes/callbacks/PostSlotDestroyed.ts +1 -2
  1118. package/src/classes/callbacks/PostSlotInit.ts +1 -2
  1119. package/src/classes/callbacks/PostSlotRender.ts +1 -2
  1120. package/src/classes/callbacks/PostSlotUpdate.ts +1 -2
  1121. package/src/classes/callbacks/PostSpikesRender.ts +9 -9
  1122. package/src/classes/callbacks/PostSpikesUpdate.ts +9 -9
  1123. package/src/classes/callbacks/PostTNTRender.ts +9 -9
  1124. package/src/classes/callbacks/PostTNTUpdate.ts +9 -9
  1125. package/src/classes/callbacks/PostTearInitFilter.ts +7 -7
  1126. package/src/classes/callbacks/PostTearInitLate.ts +11 -11
  1127. package/src/classes/callbacks/PostTearInitVeryLate.ts +13 -13
  1128. package/src/classes/callbacks/PostTearKill.ts +19 -19
  1129. package/src/classes/callbacks/PostTearRenderFilter.ts +10 -10
  1130. package/src/classes/callbacks/PostTearUpdateFilter.ts +7 -7
  1131. package/src/classes/callbacks/PostTransformation.ts +25 -25
  1132. package/src/classes/callbacks/PostTrinketBreak.ts +16 -16
  1133. package/src/classes/callbacks/PostUsePillFilter.ts +15 -15
  1134. package/src/classes/callbacks/PreBerserkDeath.ts +15 -15
  1135. package/src/classes/callbacks/PreBombCollisionFilter.ts +9 -9
  1136. package/src/classes/callbacks/PreCustomRevive.ts +1 -2
  1137. package/src/classes/callbacks/PreEntitySpawnFilter.ts +23 -23
  1138. package/src/classes/callbacks/PreFamiliarCollisionFilter.ts +9 -9
  1139. package/src/classes/callbacks/PreGetPedestal.ts +15 -15
  1140. package/src/classes/callbacks/PreItemPickup.ts +1 -2
  1141. package/src/classes/callbacks/PreKnifeCollisionFilter.ts +9 -9
  1142. package/src/classes/callbacks/PreNPCCollisionFilter.ts +9 -9
  1143. package/src/classes/callbacks/PreNPCUpdateFilter.ts +4 -5
  1144. package/src/classes/callbacks/PreNewLevel.ts +13 -13
  1145. package/src/classes/callbacks/PreProjectileCollisionFilter.ts +9 -9
  1146. package/src/classes/callbacks/PreRoomEntitySpawnFilter.ts +23 -23
  1147. package/src/classes/callbacks/PreTearCollisionFilter.ts +9 -9
  1148. package/src/classes/features/callbackLogic/CustomGridEntities.ts +29 -26
  1149. package/src/classes/features/callbackLogic/CustomRevive.ts +51 -51
  1150. package/src/classes/features/callbackLogic/EsauJrDetection.ts +21 -21
  1151. package/src/classes/features/callbackLogic/FlipDetection.ts +14 -14
  1152. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +48 -48
  1153. package/src/classes/features/callbackLogic/GridEntityCollisionDetection.ts +19 -19
  1154. package/src/classes/features/callbackLogic/GridEntityRenderDetection.ts +14 -14
  1155. package/src/classes/features/callbackLogic/GridEntityUpdateDetection.ts +33 -33
  1156. package/src/classes/features/callbackLogic/ItemPickupDetection.ts +16 -16
  1157. package/src/classes/features/callbackLogic/PickupChangeDetection.ts +19 -19
  1158. package/src/classes/features/callbackLogic/PlayerCollectibleDetection.ts +88 -88
  1159. package/src/classes/features/callbackLogic/PlayerReorderedCallbacks.ts +41 -38
  1160. package/src/classes/features/callbackLogic/SlotDestroyedDetection.ts +38 -36
  1161. package/src/classes/features/callbackLogic/SlotRenderDetection.ts +10 -10
  1162. package/src/classes/features/callbackLogic/SlotUpdateDetection.ts +17 -17
  1163. package/src/classes/features/other/CharacterHealthConversion.ts +23 -23
  1164. package/src/classes/features/other/CharacterStats.ts +10 -10
  1165. package/src/classes/features/other/CollectibleItemPoolType.ts +15 -15
  1166. package/src/classes/features/other/CustomHotkeys.ts +10 -10
  1167. package/src/classes/features/other/CustomItemPools.ts +6 -6
  1168. package/src/classes/features/other/CustomPickups.ts +23 -19
  1169. package/src/classes/features/other/CustomStages.ts +106 -102
  1170. package/src/classes/features/other/CustomTrapdoors.ts +48 -46
  1171. package/src/classes/features/other/DebugDisplay.ts +20 -23
  1172. package/src/classes/features/other/DeployJSONRoom.ts +3 -0
  1173. package/src/classes/features/other/DisableAllSound.ts +11 -11
  1174. package/src/classes/features/other/DisableInputs.ts +21 -21
  1175. package/src/classes/features/other/EdenStartingStatsHealth.ts +34 -34
  1176. package/src/classes/features/other/ExtraConsoleCommands.ts +74 -73
  1177. package/src/classes/features/other/FadeInRemover.ts +7 -7
  1178. package/src/classes/features/other/FastReset.ts +9 -9
  1179. package/src/classes/features/other/ForgottenSwitch.ts +2 -2
  1180. package/src/classes/features/other/ItemPoolDetection.ts +12 -7
  1181. package/src/classes/features/other/ModdedElementDetection.ts +5 -5
  1182. package/src/classes/features/other/NoSirenSteal.ts +6 -6
  1183. package/src/classes/features/other/Pause.ts +45 -45
  1184. package/src/classes/features/other/PersistentEntities.ts +57 -54
  1185. package/src/classes/features/other/PickupIndexCreation.ts +17 -18
  1186. package/src/classes/features/other/PlayerCollectibleTracking.ts +19 -19
  1187. package/src/classes/features/other/PonyDetection.ts +15 -15
  1188. package/src/classes/features/other/PressInput.ts +21 -18
  1189. package/src/classes/features/other/PreventChildEntities.ts +13 -13
  1190. package/src/classes/features/other/PreventGridEntityRespawn.ts +25 -25
  1191. package/src/classes/features/other/RerunDetection.ts +16 -16
  1192. package/src/classes/features/other/RoomClearFrame.ts +13 -13
  1193. package/src/classes/features/other/RoomHistory.ts +12 -12
  1194. package/src/classes/features/other/RunInNFrames.ts +34 -34
  1195. package/src/classes/features/other/RunNextRoom.ts +9 -9
  1196. package/src/classes/features/other/RunNextRun.ts +10 -10
  1197. package/src/classes/features/other/SaveDataManager.ts +51 -50
  1198. package/src/classes/features/other/StageHistory.ts +17 -14
  1199. package/src/classes/features/other/TaintedLazarusPlayers.ts +17 -15
  1200. package/src/classes/features/other/UnlockAchievementsDetection.ts +11 -11
  1201. package/src/classes/features/other/customStages/backdrop.ts +3 -2
  1202. package/src/classes/features/other/customStages/gridEntities.ts +1 -0
  1203. package/src/classes/features/other/customStages/versusScreen.ts +15 -5
  1204. package/src/classes/features/other/debugDisplay/DebugDisplayBomb.ts +6 -6
  1205. package/src/classes/features/other/debugDisplay/DebugDisplayDoor.ts +6 -6
  1206. package/src/classes/features/other/debugDisplay/DebugDisplayEffect.ts +6 -6
  1207. package/src/classes/features/other/debugDisplay/DebugDisplayFamiliar.ts +6 -6
  1208. package/src/classes/features/other/debugDisplay/DebugDisplayKnife.ts +6 -6
  1209. package/src/classes/features/other/debugDisplay/DebugDisplayLaser.ts +6 -6
  1210. package/src/classes/features/other/debugDisplay/DebugDisplayNPC.ts +6 -6
  1211. package/src/classes/features/other/debugDisplay/DebugDisplayPickup.ts +6 -6
  1212. package/src/classes/features/other/debugDisplay/DebugDisplayPit.ts +6 -6
  1213. package/src/classes/features/other/debugDisplay/DebugDisplayPlayer.ts +6 -6
  1214. package/src/classes/features/other/debugDisplay/DebugDisplayPoop.ts +6 -6
  1215. package/src/classes/features/other/debugDisplay/DebugDisplayPressurePlate.ts +8 -8
  1216. package/src/classes/features/other/debugDisplay/DebugDisplayProjectile.ts +6 -6
  1217. package/src/classes/features/other/debugDisplay/DebugDisplayRock.ts +6 -6
  1218. package/src/classes/features/other/debugDisplay/DebugDisplaySlot.ts +6 -6
  1219. package/src/classes/features/other/debugDisplay/DebugDisplaySpikes.ts +6 -6
  1220. package/src/classes/features/other/debugDisplay/DebugDisplayTNT.ts +6 -6
  1221. package/src/classes/features/other/debugDisplay/DebugDisplayTear.ts +6 -6
  1222. package/src/classes/features/other/extraConsoleCommands/commands.ts +44 -54
  1223. package/src/classes/private/CustomCallback.ts +40 -40
  1224. package/src/core/cachedClasses.ts +2 -0
  1225. package/src/core/constants.ts +2 -4
  1226. package/src/decorators.ts +3 -5
  1227. package/src/features.ts +59 -57
  1228. package/src/functions/array.ts +58 -55
  1229. package/src/functions/arrayLua.ts +1 -1
  1230. package/src/functions/bitSet128.ts +1 -1
  1231. package/src/functions/bitwise.ts +1 -0
  1232. package/src/functions/bosses.ts +55 -55
  1233. package/src/functions/challenges.ts +16 -12
  1234. package/src/functions/characters.ts +1 -1
  1235. package/src/functions/charge.ts +38 -38
  1236. package/src/functions/collectibles.ts +14 -16
  1237. package/src/functions/color.ts +1 -1
  1238. package/src/functions/decorators.ts +4 -6
  1239. package/src/functions/deepCopy.ts +207 -210
  1240. package/src/functions/deepCopyTests.ts +307 -314
  1241. package/src/functions/doors.ts +57 -55
  1242. package/src/functions/easing.ts +150 -145
  1243. package/src/functions/emptyRoom.ts +28 -28
  1244. package/src/functions/entities.ts +30 -40
  1245. package/src/functions/flag.ts +1 -1
  1246. package/src/functions/globals.ts +10 -8
  1247. package/src/functions/gridEntities.ts +372 -369
  1248. package/src/functions/gridEntitiesSpecific.ts +54 -54
  1249. package/src/functions/hex.ts +25 -5
  1250. package/src/functions/isaacAPIClass.ts +19 -20
  1251. package/src/functions/jsonHelpers.ts +8 -8
  1252. package/src/functions/jsonRoom.ts +18 -18
  1253. package/src/functions/kColor.ts +1 -1
  1254. package/src/functions/levelGrid.ts +3 -8
  1255. package/src/functions/logEntities.ts +87 -87
  1256. package/src/functions/logMisc.ts +15 -11
  1257. package/src/functions/map.ts +2 -8
  1258. package/src/functions/math.ts +1 -1
  1259. package/src/functions/merge.ts +53 -53
  1260. package/src/functions/mergeTests.ts +152 -176
  1261. package/src/functions/nextStage.ts +4 -3
  1262. package/src/functions/pickupVariants.ts +1 -1
  1263. package/src/functions/playerHealth.ts +28 -26
  1264. package/src/functions/playerIndex.ts +15 -15
  1265. package/src/functions/playerTrinkets.ts +17 -17
  1266. package/src/functions/players.ts +7 -5
  1267. package/src/functions/revive.ts +5 -8
  1268. package/src/functions/rng.ts +8 -6
  1269. package/src/functions/roomData.ts +5 -17
  1270. package/src/functions/roomGrid.ts +24 -24
  1271. package/src/functions/roomShapeWalls.ts +29 -29
  1272. package/src/functions/rooms.ts +9 -9
  1273. package/src/functions/serialization.ts +18 -18
  1274. package/src/functions/set.ts +2 -8
  1275. package/src/functions/spawnCollectible.ts +2 -2
  1276. package/src/functions/string.ts +5 -1
  1277. package/src/functions/trinkets.ts +1 -2
  1278. package/src/functions/types.ts +2 -0
  1279. package/src/functions/ui.ts +31 -31
  1280. package/src/functions/utils.ts +18 -18
  1281. package/src/functions/vector.ts +2 -2
  1282. package/src/interfaces/ChargeBarSprites.ts +6 -5
  1283. package/src/interfaces/CustomStageTSConfig.ts +63 -63
  1284. package/src/interfaces/GridEntityCustomData.ts +6 -6
  1285. package/src/interfaces/JSONRoomsFile.ts +27 -27
  1286. package/src/interfaces/PlayerHealth.ts +11 -11
  1287. package/src/interfaces/PlayerStats.ts +13 -13
  1288. package/src/interfaces/PocketItemDescription.ts +3 -3
  1289. package/src/interfaces/RoomDescription.ts +12 -12
  1290. package/src/interfaces/SaveData.ts +1 -0
  1291. package/src/interfaces/TSTLClassMetatable.ts +5 -5
  1292. package/src/interfaces/TrinketSituation.ts +4 -4
  1293. package/src/interfaces/private/AddCallbackParametersCustom.ts +156 -148
  1294. package/src/interfaces/private/CustomStage.ts +4 -1
  1295. package/src/interfaces/private/CustomTrapdoorDescription.ts +5 -4
  1296. package/src/interfaces/private/ModUpgradedInterface.ts +3 -2
  1297. package/src/lib/jsonLua.js +11 -11
  1298. package/src/objects/isaacAPIClassTypeToFunctions.ts +15 -15
  1299. package/src/patchErrorFunctions.ts +3 -0
  1300. package/src/sets/entitiesWithArmorSet.ts +2 -1
  1301. package/src/shouldFire.ts +13 -20
  1302. package/src/types/AllButFirst.ts +1 -1
  1303. package/src/types/AllButLast.ts +4 -1
  1304. package/src/types/CompositionTypeSatisfiesEnum.ts +6 -6
  1305. package/src/types/Immutable.ts +1 -6
  1306. package/src/types/PickingUpItem.ts +3 -3
  1307. package/src/types/PossibleStatType.ts +1 -5
@@ -91,181 +91,185 @@ export declare type Add<A extends number, B extends number> = Length<[
91
91
  ]>;
92
92
 
93
93
  declare interface AddCallbackParametersCustom {
94
- [ModCallbackCustom.ENTITY_TAKE_DMG_FILTER]: [
94
+ readonly [ModCallbackCustom.ENTITY_TAKE_DMG_FILTER]: readonly [
95
95
  callback: (entity: Entity, amount: float, damageFlags: BitFlags<DamageFlag>, source: EntityRef, countdownFrames: int) => boolean | undefined,
96
96
  entityType?: EntityType,
97
97
  variant?: number,
98
98
  subType?: number
99
99
  ];
100
- [ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER]: [
100
+ readonly [ModCallbackCustom.ENTITY_TAKE_DMG_PLAYER]: readonly [
101
101
  callback: (player: EntityPlayer, amount: float, damageFlags: BitFlags<DamageFlag>, source: EntityRef, countdownFrames: int) => boolean | undefined,
102
102
  playerVariant?: PlayerVariant,
103
103
  character?: PlayerType
104
104
  ];
105
- [ModCallbackCustom.INPUT_ACTION_FILTER]: [
105
+ readonly [ModCallbackCustom.INPUT_ACTION_FILTER]: readonly [
106
106
  callback: (entity: Entity | undefined, inputHook: InputHook, buttonAction: ButtonAction) => boolean | float | undefined,
107
107
  inputHook?: InputHook,
108
108
  buttonAction?: ButtonAction
109
109
  ];
110
- [ModCallbackCustom.INPUT_ACTION_PLAYER]: [
110
+ readonly [ModCallbackCustom.INPUT_ACTION_PLAYER]: readonly [
111
111
  callback: (player: EntityPlayer, inputHook: InputHook, buttonAction: ButtonAction) => boolean | float | undefined,
112
112
  playerVariant?: PlayerVariant,
113
113
  character?: PlayerType,
114
114
  inputHook?: InputHook,
115
115
  buttonAction?: ButtonAction
116
116
  ];
117
- [ModCallbackCustom.POST_AMBUSH_FINISHED]: [
117
+ readonly [ModCallbackCustom.POST_AMBUSH_FINISHED]: readonly [
118
118
  callback: (ambushType: AmbushType) => void,
119
119
  ambushType?: AmbushType
120
120
  ];
121
- [ModCallbackCustom.POST_AMBUSH_STARTED]: [
121
+ readonly [ModCallbackCustom.POST_AMBUSH_STARTED]: readonly [
122
122
  callback: (ambushType: AmbushType) => void,
123
123
  ambushType?: AmbushType
124
124
  ];
125
- [ModCallbackCustom.POST_BOMB_EXPLODED]: [
125
+ readonly [ModCallbackCustom.POST_BOMB_EXPLODED]: readonly [
126
126
  callback: (bomb: EntityBomb) => void,
127
127
  bombVariant?: BombVariant,
128
128
  subType?: int
129
129
  ];
130
- [ModCallbackCustom.POST_BOMB_INIT_FILTER]: [
130
+ readonly [ModCallbackCustom.POST_BOMB_INIT_FILTER]: readonly [
131
131
  callback: (bomb: EntityBomb) => void,
132
132
  bombVariant?: BombVariant,
133
133
  subType?: int
134
134
  ];
135
- [ModCallbackCustom.POST_BOMB_INIT_LATE]: [
135
+ readonly [ModCallbackCustom.POST_BOMB_INIT_LATE]: readonly [
136
136
  callback: (bomb: EntityBomb) => void,
137
137
  bombVariant?: BombVariant,
138
138
  subType?: int
139
139
  ];
140
- [ModCallbackCustom.POST_BOMB_RENDER_FILTER]: [
140
+ readonly [ModCallbackCustom.POST_BOMB_RENDER_FILTER]: readonly [
141
141
  callback: (bomb: EntityBomb, renderOffset: Vector) => void,
142
142
  bombVariant?: BombVariant,
143
143
  subType?: int
144
144
  ];
145
- [ModCallbackCustom.POST_BOMB_UPDATE_FILTER]: [
145
+ readonly [ModCallbackCustom.POST_BOMB_UPDATE_FILTER]: readonly [
146
146
  callback: (bomb: EntityBomb) => void,
147
147
  bombVariant?: BombVariant,
148
148
  subType?: int
149
149
  ];
150
- [ModCallbackCustom.POST_BONE_SWING]: [callback: (knife: EntityKnife) => void];
151
- [ModCallbackCustom.POST_COLLECTIBLE_EMPTY]: [
150
+ readonly [ModCallbackCustom.POST_BONE_SWING]: readonly [
151
+ callback: (knife: EntityKnife) => void
152
+ ];
153
+ readonly [ModCallbackCustom.POST_COLLECTIBLE_EMPTY]: readonly [
152
154
  callback: (collectible: EntityPickupCollectible, oldCollectibleType: CollectibleType) => void,
153
155
  collectibleType?: CollectibleType
154
156
  ];
155
- [ModCallbackCustom.POST_CURSED_TELEPORT]: [
157
+ readonly [ModCallbackCustom.POST_CURSED_TELEPORT]: readonly [
156
158
  callback: (player: EntityPlayer) => void,
157
159
  playerVariant?: PlayerVariant,
158
160
  character?: PlayerType
159
161
  ];
160
- [ModCallbackCustom.POST_CUSTOM_REVIVE]: [
162
+ readonly [ModCallbackCustom.POST_CUSTOM_REVIVE]: readonly [
161
163
  callback: (player: EntityPlayer, revivalType: int) => void,
162
164
  revivalType?: int
163
165
  ];
164
- [ModCallbackCustom.POST_DICE_ROOM_ACTIVATED]: [
166
+ readonly [ModCallbackCustom.POST_DICE_ROOM_ACTIVATED]: readonly [
165
167
  callback: (player: EntityPlayer, diceFloorSubType: DiceFloorSubType) => void,
166
168
  diceFloorSubType?: DiceFloorSubType
167
169
  ];
168
- [ModCallbackCustom.POST_DOOR_RENDER]: [
170
+ readonly [ModCallbackCustom.POST_DOOR_RENDER]: readonly [
169
171
  callback: (door: GridEntityDoor) => void,
170
172
  doorVariant?: DoorVariant
171
173
  ];
172
- [ModCallbackCustom.POST_DOOR_UPDATE]: [
174
+ readonly [ModCallbackCustom.POST_DOOR_UPDATE]: readonly [
173
175
  callback: (door: GridEntityDoor) => void,
174
176
  doorVariant?: DoorVariant
175
177
  ];
176
- [ModCallbackCustom.POST_EFFECT_INIT_FILTER]: [
178
+ readonly [ModCallbackCustom.POST_EFFECT_INIT_FILTER]: readonly [
177
179
  callback: (effect: EntityEffect) => void,
178
180
  effectVariant?: EffectVariant,
179
181
  subType?: int
180
182
  ];
181
- [ModCallbackCustom.POST_EFFECT_INIT_LATE]: [
183
+ readonly [ModCallbackCustom.POST_EFFECT_INIT_LATE]: readonly [
182
184
  callback: (effect: EntityEffect) => void,
183
185
  effectVariant?: EffectVariant,
184
186
  subType?: int
185
187
  ];
186
- [ModCallbackCustom.POST_EFFECT_RENDER_FILTER]: [
188
+ readonly [ModCallbackCustom.POST_EFFECT_RENDER_FILTER]: readonly [
187
189
  callback: (effect: EntityEffect, renderOffset: Vector) => void,
188
190
  effectVariant?: EffectVariant,
189
191
  subType?: int
190
192
  ];
191
- [ModCallbackCustom.POST_EFFECT_STATE_CHANGED]: [
193
+ readonly [ModCallbackCustom.POST_EFFECT_STATE_CHANGED]: readonly [
192
194
  callback: (effect: EntityEffect, previousState: int, currentState: int) => void,
193
195
  effectVariant?: EffectVariant,
194
196
  subType?: int
195
197
  ];
196
- [ModCallbackCustom.POST_EFFECT_UPDATE_FILTER]: [
198
+ readonly [ModCallbackCustom.POST_EFFECT_UPDATE_FILTER]: readonly [
197
199
  callback: (effect: EntityEffect) => void,
198
200
  effectVariant?: EffectVariant,
199
201
  subType?: int
200
202
  ];
201
- [ModCallbackCustom.POST_ENTITY_KILL_FILTER]: [
203
+ readonly [ModCallbackCustom.POST_ENTITY_KILL_FILTER]: readonly [
202
204
  callback: (entity: Entity) => void,
203
205
  entityType?: EntityType,
204
206
  variant?: int,
205
207
  subType?: int
206
208
  ];
207
- [ModCallbackCustom.POST_ENTITY_REMOVE_FILTER]: [
209
+ readonly [ModCallbackCustom.POST_ENTITY_REMOVE_FILTER]: readonly [
208
210
  callback: (entity: Entity) => void,
209
211
  entityType?: EntityType,
210
212
  variant?: int,
211
213
  subType?: int
212
214
  ];
213
- [ModCallbackCustom.POST_ESAU_JR]: [callback: (player: EntityPlayer) => void];
214
- [ModCallbackCustom.POST_FAMILIAR_INIT_FILTER]: [
215
+ readonly [ModCallbackCustom.POST_ESAU_JR]: readonly [
216
+ callback: (player: EntityPlayer) => void
217
+ ];
218
+ readonly [ModCallbackCustom.POST_FAMILIAR_INIT_FILTER]: readonly [
215
219
  callback: (familiar: EntityFamiliar) => void,
216
220
  familiarVariant?: FamiliarVariant,
217
221
  subType?: int
218
222
  ];
219
- [ModCallbackCustom.POST_FAMILIAR_INIT_LATE]: [
223
+ readonly [ModCallbackCustom.POST_FAMILIAR_INIT_LATE]: readonly [
220
224
  callback: (familiar: EntityFamiliar) => void,
221
225
  familiarVariant?: FamiliarVariant,
222
226
  subType?: int
223
227
  ];
224
- [ModCallbackCustom.POST_FAMILIAR_RENDER_FILTER]: [
228
+ readonly [ModCallbackCustom.POST_FAMILIAR_RENDER_FILTER]: readonly [
225
229
  callback: (familiar: EntityFamiliar, renderOffset: Vector) => void,
226
230
  familiarVariant?: FamiliarVariant,
227
231
  subType?: int
228
232
  ];
229
- [ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED]: [
233
+ readonly [ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED]: readonly [
230
234
  callback: (familiar: EntityFamiliar, previousState: int, currentState: int) => void,
231
235
  familiarVariant?: FamiliarVariant,
232
236
  subType?: int
233
237
  ];
234
- [ModCallbackCustom.POST_FAMILIAR_UPDATE_FILTER]: [
238
+ readonly [ModCallbackCustom.POST_FAMILIAR_UPDATE_FILTER]: readonly [
235
239
  callback: (familiar: EntityFamiliar) => void,
236
240
  familiarVariant?: FamiliarVariant,
237
241
  subType?: int
238
242
  ];
239
- [ModCallbackCustom.POST_FIRST_ESAU_JR]: [
243
+ readonly [ModCallbackCustom.POST_FIRST_ESAU_JR]: readonly [
240
244
  callback: (player: EntityPlayer) => void
241
245
  ];
242
- [ModCallbackCustom.POST_FIRST_FLIP]: [
246
+ readonly [ModCallbackCustom.POST_FIRST_FLIP]: readonly [
243
247
  callback: (newLazarus: EntityPlayer, oldLazarus: EntityPlayer) => void
244
248
  ];
245
- [ModCallbackCustom.POST_FLIP]: [
249
+ readonly [ModCallbackCustom.POST_FLIP]: readonly [
246
250
  callback: (newLazarus: EntityPlayer, oldLazarus: EntityPlayer) => void
247
251
  ];
248
- [ModCallbackCustom.POST_GAME_END_FILTER]: [
252
+ readonly [ModCallbackCustom.POST_GAME_END_FILTER]: readonly [
249
253
  callback: (isGameOver: boolean) => void,
250
254
  isGameOver?: boolean
251
255
  ];
252
- [ModCallbackCustom.POST_GAME_STARTED_REORDERED]: [
256
+ readonly [ModCallbackCustom.POST_GAME_STARTED_REORDERED]: readonly [
253
257
  callback: (isContinued: boolean) => void,
254
258
  isContinued: boolean | undefined
255
259
  ];
256
- [ModCallbackCustom.POST_GAME_STARTED_REORDERED_LAST]: [
260
+ readonly [ModCallbackCustom.POST_GAME_STARTED_REORDERED_LAST]: readonly [
257
261
  callback: (isContinued: boolean) => void,
258
262
  isContinued: boolean | undefined
259
263
  ];
260
- [ModCallbackCustom.POST_GREED_MODE_WAVE]: [
264
+ readonly [ModCallbackCustom.POST_GREED_MODE_WAVE]: readonly [
261
265
  callback: (oldWave: int, newWave: int) => void
262
266
  ];
263
- [ModCallbackCustom.POST_GRID_ENTITY_BROKEN]: [
267
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_BROKEN]: readonly [
264
268
  callback: (gridEntity: GridEntity) => void,
265
269
  gridEntityType?: GridEntityType,
266
270
  variant?: int
267
271
  ];
268
- [ModCallbackCustom.POST_GRID_ENTITY_COLLISION]: [
272
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_COLLISION]: readonly [
269
273
  callback: (gridEntity: GridEntity, entity: Entity) => void,
270
274
  gridEntityType?: GridEntityType,
271
275
  gridEntityVariant?: int,
@@ -273,505 +277,509 @@ declare interface AddCallbackParametersCustom {
273
277
  entityVariant?: int,
274
278
  entitySubType?: int
275
279
  ];
276
- [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_BROKEN]: [
280
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_BROKEN]: readonly [
277
281
  callback: (gridEntity: GridEntity, gridEntityTypeCustom: GridEntityType) => void,
278
282
  gridEntityTypeCustom?: GridEntityType
279
283
  ];
280
- [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_COLLISION]: [
284
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_COLLISION]: readonly [
281
285
  callback: (gridEntity: GridEntity, gridEntityTypeCustom: GridEntityType, entity: Entity) => void,
282
286
  gridEntityTypeCustom?: GridEntityType,
283
287
  entityType?: EntityType,
284
288
  entityVariant?: int,
285
289
  entitySubType?: int
286
290
  ];
287
- [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_INIT]: [
291
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_INIT]: readonly [
288
292
  callback: (gridEntity: GridEntity, gridEntityTypeCustom: GridEntityType) => void,
289
293
  gridEntityTypeCustom?: GridEntityType
290
294
  ];
291
- [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_REMOVE]: [
295
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_REMOVE]: readonly [
292
296
  callback: (gridIndex: int, gridEntityTypeCustom: GridEntityType) => void,
293
297
  gridEntityTypeCustom?: GridEntityType
294
298
  ];
295
- [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER]: [
299
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER]: readonly [
296
300
  callback: (gridEntity: GridEntity, gridEntityTypeCustom: GridEntityType) => void,
297
301
  gridEntityTypeCustom?: GridEntityType
298
302
  ];
299
- [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED]: [
303
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED]: readonly [
300
304
  callback: (gridEntity: GridEntity, gridEntityTypeCustom: GridEntityType, oldState: int, newState: int) => void,
301
305
  gridEntityTypeCustom?: GridEntityType
302
306
  ];
303
- [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE]: [
307
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE]: readonly [
304
308
  callback: (gridEntity: GridEntity, gridEntityTypeCustom: GridEntityType) => void,
305
309
  gridEntityTypeCustom?: GridEntityType
306
310
  ];
307
- [ModCallbackCustom.POST_GRID_ENTITY_INIT]: [
311
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_INIT]: readonly [
308
312
  callback: (gridEntity: GridEntity) => void,
309
313
  gridEntityType?: GridEntityType,
310
314
  variant?: int
311
315
  ];
312
- [ModCallbackCustom.POST_GRID_ENTITY_REMOVE]: [
316
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_REMOVE]: readonly [
313
317
  callback: (gridIndex: int, gridEntityType: GridEntityType, variant: int) => void,
314
318
  gridEntityType?: GridEntityType,
315
319
  variant?: int
316
320
  ];
317
- [ModCallbackCustom.POST_GRID_ENTITY_RENDER]: [
321
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_RENDER]: readonly [
318
322
  callback: (gridEntity: GridEntity) => void,
319
323
  gridEntityType?: GridEntityType,
320
324
  variant?: int
321
325
  ];
322
- [ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED]: [
326
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED]: readonly [
323
327
  callback: (gridEntity: GridEntity, oldState: int, newState: int) => void,
324
328
  gridEntityType?: GridEntityType,
325
329
  variant?: int
326
330
  ];
327
- [ModCallbackCustom.POST_GRID_ENTITY_UPDATE]: [
331
+ readonly [ModCallbackCustom.POST_GRID_ENTITY_UPDATE]: readonly [
328
332
  callback: (gridEntity: GridEntity) => void,
329
333
  gridEntityType?: GridEntityType,
330
334
  variant?: int
331
335
  ];
332
- [ModCallbackCustom.POST_HOLY_MANTLE_REMOVED]: [
336
+ readonly [ModCallbackCustom.POST_HOLY_MANTLE_REMOVED]: readonly [
333
337
  callback: (player: EntityPlayer, oldNumHolyMantles: int, newNumHolyMantles: int) => void,
334
338
  playerVariant?: PlayerVariant,
335
339
  character?: PlayerType
336
340
  ];
337
- [ModCallbackCustom.POST_ITEM_DISCHARGE]: [
341
+ readonly [ModCallbackCustom.POST_ITEM_DISCHARGE]: readonly [
338
342
  callback: (player: EntityPlayer, collectibleType: CollectibleType, activeSlot: ActiveSlot) => void,
339
343
  collectibleType?: CollectibleType
340
344
  ];
341
- [ModCallbackCustom.POST_ITEM_PICKUP]: [callback: (player: EntityPlayer, pickingUpItem: PickingUpItem) => void] | [
345
+ readonly [ModCallbackCustom.POST_ITEM_PICKUP]: readonly [
346
+ callback: (player: EntityPlayer, pickingUpItem: PickingUpItem) => void
347
+ ] | readonly [
342
348
  callback: (player: EntityPlayer, pickingUpItem: PickingUpItemCollectible) => void,
343
349
  itemType: ItemType.PASSIVE | ItemType.ACTIVE | ItemType.FAMILIAR,
344
350
  collectibleType?: CollectibleType
345
- ] | [
351
+ ] | readonly [
346
352
  callback: (player: EntityPlayer, pickingUpItem: PickingUpItemTrinket) => void,
347
353
  itemType: ItemType.TRINKET,
348
354
  trinketType?: TrinketType
349
355
  ];
350
- [ModCallbackCustom.POST_KEYBOARD_CHANGED]: [
356
+ readonly [ModCallbackCustom.POST_KEYBOARD_CHANGED]: readonly [
351
357
  callback: (keyboard: Keyboard, pressed: boolean) => void,
352
358
  keyboard?: Keyboard,
353
359
  pressed?: boolean
354
360
  ];
355
- [ModCallbackCustom.POST_KNIFE_INIT_FILTER]: [
361
+ readonly [ModCallbackCustom.POST_KNIFE_INIT_FILTER]: readonly [
356
362
  callback: (knife: EntityKnife) => void,
357
363
  knifeVariant?: KnifeVariant,
358
364
  subType?: int
359
365
  ];
360
- [ModCallbackCustom.POST_KNIFE_INIT_LATE]: [
366
+ readonly [ModCallbackCustom.POST_KNIFE_INIT_LATE]: readonly [
361
367
  callback: (knife: EntityKnife) => void,
362
368
  knifeVariant?: KnifeVariant,
363
369
  subType?: int
364
370
  ];
365
- [ModCallbackCustom.POST_KNIFE_RENDER_FILTER]: [
371
+ readonly [ModCallbackCustom.POST_KNIFE_RENDER_FILTER]: readonly [
366
372
  callback: (knife: EntityKnife, renderOffset: Vector) => void,
367
373
  knifeVariant?: KnifeVariant,
368
374
  subType?: int
369
375
  ];
370
- [ModCallbackCustom.POST_KNIFE_UPDATE_FILTER]: [
376
+ readonly [ModCallbackCustom.POST_KNIFE_UPDATE_FILTER]: readonly [
371
377
  callback: (knife: EntityKnife) => void,
372
378
  knifeVariant?: KnifeVariant,
373
379
  subType?: int
374
380
  ];
375
- [ModCallbackCustom.POST_LASER_INIT_FILTER]: [
381
+ readonly [ModCallbackCustom.POST_LASER_INIT_FILTER]: readonly [
376
382
  callback: (laser: EntityLaser) => void,
377
383
  laserVariant?: LaserVariant,
378
384
  subType?: int
379
385
  ];
380
- [ModCallbackCustom.POST_LASER_INIT_LATE]: [
386
+ readonly [ModCallbackCustom.POST_LASER_INIT_LATE]: readonly [
381
387
  callback: (laser: EntityLaser) => void,
382
388
  laserVariant?: LaserVariant,
383
389
  subType?: int
384
390
  ];
385
- [ModCallbackCustom.POST_LASER_RENDER_FILTER]: [
391
+ readonly [ModCallbackCustom.POST_LASER_RENDER_FILTER]: readonly [
386
392
  callback: (laser: EntityLaser, renderOffset: Vector) => void,
387
393
  laserVariant?: LaserVariant,
388
394
  subType?: int
389
395
  ];
390
- [ModCallbackCustom.POST_LASER_UPDATE_FILTER]: [
396
+ readonly [ModCallbackCustom.POST_LASER_UPDATE_FILTER]: readonly [
391
397
  callback: (laser: EntityLaser) => void,
392
398
  laserVariant?: LaserVariant,
393
399
  subType?: int
394
400
  ];
395
- [ModCallbackCustom.POST_NEW_LEVEL_REORDERED]: [
401
+ readonly [ModCallbackCustom.POST_NEW_LEVEL_REORDERED]: readonly [
396
402
  callback: (stage: LevelStage, stageType: StageType) => void,
397
403
  stage?: LevelStage,
398
404
  stageType?: StageType
399
405
  ];
400
- [ModCallbackCustom.POST_NEW_ROOM_EARLY]: [
406
+ readonly [ModCallbackCustom.POST_NEW_ROOM_EARLY]: readonly [
401
407
  callback: (roomType: RoomType) => void,
402
408
  roomType?: RoomType
403
409
  ];
404
- [ModCallbackCustom.POST_NEW_ROOM_REORDERED]: [
410
+ readonly [ModCallbackCustom.POST_NEW_ROOM_REORDERED]: readonly [
405
411
  callback: (roomType: RoomType) => void,
406
412
  roomType?: RoomType
407
413
  ];
408
- [ModCallbackCustom.POST_NPC_DEATH_FILTER]: [
414
+ readonly [ModCallbackCustom.POST_NPC_DEATH_FILTER]: readonly [
409
415
  callback: (npc: EntityNPC) => void,
410
416
  entityType?: EntityType,
411
417
  variant?: int,
412
418
  subType?: int
413
419
  ];
414
- [ModCallbackCustom.POST_NPC_INIT_FILTER]: [
420
+ readonly [ModCallbackCustom.POST_NPC_INIT_FILTER]: readonly [
415
421
  callback: (npc: EntityNPC) => void,
416
422
  entityType?: EntityType,
417
423
  variant?: int,
418
424
  subType?: int
419
425
  ];
420
- [ModCallbackCustom.POST_NPC_INIT_LATE]: [
426
+ readonly [ModCallbackCustom.POST_NPC_INIT_LATE]: readonly [
421
427
  callback: (npc: EntityNPC) => void,
422
428
  entityType?: EntityType,
423
429
  variant?: int,
424
430
  subType?: int
425
431
  ];
426
- [ModCallbackCustom.POST_NPC_RENDER_FILTER]: [
432
+ readonly [ModCallbackCustom.POST_NPC_RENDER_FILTER]: readonly [
427
433
  callback: (npc: EntityNPC, renderOffset: Vector) => void,
428
434
  entityType?: EntityType,
429
435
  variant?: int,
430
436
  subType?: int
431
437
  ];
432
- [ModCallbackCustom.POST_NPC_STATE_CHANGED]: [
438
+ readonly [ModCallbackCustom.POST_NPC_STATE_CHANGED]: readonly [
433
439
  callback: (npc: EntityNPC, previousState: int, currentState: int) => void,
434
440
  entityType?: EntityType,
435
441
  variant?: int,
436
442
  subType?: int
437
443
  ];
438
- [ModCallbackCustom.POST_NPC_UPDATE_FILTER]: [
444
+ readonly [ModCallbackCustom.POST_NPC_UPDATE_FILTER]: readonly [
439
445
  callback: (npc: EntityNPC) => void,
440
446
  entityType?: EntityType,
441
447
  variant?: int,
442
448
  subType?: int
443
449
  ];
444
- [ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED]: [
450
+ readonly [ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED]: readonly [
445
451
  callback: (player: EntityPlayer) => void,
446
452
  playerVariant?: PlayerVariant,
447
453
  character?: PlayerType
448
454
  ];
449
- [ModCallbackCustom.POST_PICKUP_CHANGED]: [
455
+ readonly [ModCallbackCustom.POST_PICKUP_CHANGED]: readonly [
450
456
  callback: (pickup: EntityPickup, oldVariant: PickupVariant, oldSubType: int, newVariant: PickupVariant, newSubType: int) => void,
451
457
  pickupVariant?: PickupVariant,
452
458
  subType?: int
453
459
  ];
454
- [ModCallbackCustom.POST_PICKUP_COLLECT]: [
460
+ readonly [ModCallbackCustom.POST_PICKUP_COLLECT]: readonly [
455
461
  callback: (pickup: EntityPickup, player: EntityPlayer) => void,
456
462
  pickupVariant?: PickupVariant,
457
463
  subType?: int
458
464
  ];
459
- [ModCallbackCustom.POST_PICKUP_INIT_FILTER]: [
465
+ readonly [ModCallbackCustom.POST_PICKUP_INIT_FILTER]: readonly [
460
466
  callback: (pickup: EntityPickup) => void,
461
467
  pickupVariant?: PickupVariant,
462
468
  subType?: int
463
469
  ];
464
- [ModCallbackCustom.POST_PICKUP_INIT_FIRST]: [
470
+ readonly [ModCallbackCustom.POST_PICKUP_INIT_FIRST]: readonly [
465
471
  callback: (pickup: EntityPickup) => void,
466
472
  pickupVariant?: PickupVariant,
467
473
  subType?: int
468
474
  ];
469
- [ModCallbackCustom.POST_PICKUP_INIT_LATE]: [
475
+ readonly [ModCallbackCustom.POST_PICKUP_INIT_LATE]: readonly [
470
476
  callback: (pickup: EntityPickup) => void,
471
477
  pickupVariant?: PickupVariant,
472
478
  subType?: int
473
479
  ];
474
- [ModCallbackCustom.POST_PICKUP_RENDER_FILTER]: [
480
+ readonly [ModCallbackCustom.POST_PICKUP_RENDER_FILTER]: readonly [
475
481
  callback: (pickup: EntityPickup, renderOffset: Vector) => void,
476
482
  pickupVariant?: PickupVariant,
477
483
  subType?: int
478
484
  ];
479
- [ModCallbackCustom.POST_PICKUP_SELECTION_FILTER]: [
485
+ readonly [ModCallbackCustom.POST_PICKUP_SELECTION_FILTER]: readonly [
480
486
  callback: (pickup: EntityPickup, variant: PickupVariant, subType: int) => [pickupVariant: PickupVariant, subType: int] | undefined,
481
487
  pickupVariant?: PickupVariant,
482
488
  subType?: int
483
489
  ];
484
- [ModCallbackCustom.POST_PICKUP_STATE_CHANGED]: [
490
+ readonly [ModCallbackCustom.POST_PICKUP_STATE_CHANGED]: readonly [
485
491
  callback: (pickup: EntityPickup, previousState: int, currentState: int) => void,
486
492
  pickupVariant?: PickupVariant,
487
493
  subType?: int
488
494
  ];
489
- [ModCallbackCustom.POST_PICKUP_UPDATE_FILTER]: [
495
+ readonly [ModCallbackCustom.POST_PICKUP_UPDATE_FILTER]: readonly [
490
496
  callback: (pickup: EntityPickup) => void,
491
497
  pickupVariant?: PickupVariant,
492
498
  subType?: int
493
499
  ];
494
- [ModCallbackCustom.POST_PIT_RENDER]: [
500
+ readonly [ModCallbackCustom.POST_PIT_RENDER]: readonly [
495
501
  callback: (pit: GridEntityPit) => void,
496
502
  pitVariant?: PitVariant
497
503
  ];
498
- [ModCallbackCustom.POST_PIT_UPDATE]: [
504
+ readonly [ModCallbackCustom.POST_PIT_UPDATE]: readonly [
499
505
  callback: (pit: GridEntityPit) => void,
500
506
  pitVariant?: PitVariant
501
507
  ];
502
- [ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH]: [
508
+ readonly [ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH]: readonly [
503
509
  callback: (player: EntityPlayer, healthType: HealthType, difference: int, oldValue: int, newValue: int) => void,
504
510
  playerVariant?: PlayerVariant,
505
511
  character?: PlayerType
506
512
  ];
507
- [ModCallbackCustom.POST_PLAYER_CHANGE_STAT]: [
513
+ readonly [ModCallbackCustom.POST_PLAYER_CHANGE_STAT]: readonly [
508
514
  callback: <T extends PlayerStat>(player: EntityPlayer, playerStat: PlayerStat, difference: int, oldValue: PlayerStats[T], newValue: PlayerStats[T]) => void,
509
515
  playerVariant?: PlayerVariant,
510
516
  character?: PlayerType
511
517
  ];
512
- [ModCallbackCustom.POST_PLAYER_CHANGE_TYPE]: [
518
+ readonly [ModCallbackCustom.POST_PLAYER_CHANGE_TYPE]: readonly [
513
519
  callback: (player: EntityPlayer, oldCharacter: PlayerType, newCharacter: PlayerType) => void,
514
520
  playerVariant?: PlayerVariant
515
521
  ];
516
- [ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED]: [
522
+ readonly [ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED]: readonly [
517
523
  callback: (player: EntityPlayer, collectibleType: CollectibleType) => void,
518
524
  collectibleType?: CollectibleType
519
525
  ];
520
- [ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED]: [
526
+ readonly [ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED]: readonly [
521
527
  callback: (player: EntityPlayer, collectibleType: CollectibleType) => void,
522
528
  collectibleType?: CollectibleType
523
529
  ];
524
- [ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE]: [
530
+ readonly [ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE]: readonly [
525
531
  callback: (player: EntityPlayer, amount: float, damageFlags: BitFlags<DamageFlag>, source: EntityRef, countdownFrames: int) => boolean | undefined,
526
532
  playerVariant?: PlayerVariant,
527
533
  character?: PlayerType
528
534
  ];
529
- [ModCallbackCustom.POST_PLAYER_INIT_FIRST]: [
535
+ readonly [ModCallbackCustom.POST_PLAYER_INIT_FIRST]: readonly [
530
536
  callback: (player: EntityPlayer) => void,
531
537
  playerVariant?: PlayerVariant,
532
538
  character?: PlayerType
533
539
  ];
534
- [ModCallbackCustom.POST_PLAYER_INIT_LATE]: [
540
+ readonly [ModCallbackCustom.POST_PLAYER_INIT_LATE]: readonly [
535
541
  callback: (player: EntityPlayer) => void,
536
542
  playerVariant?: PlayerVariant,
537
543
  character?: PlayerType
538
544
  ];
539
- [ModCallbackCustom.POST_PLAYER_RENDER_REORDERED]: [
545
+ readonly [ModCallbackCustom.POST_PLAYER_RENDER_REORDERED]: readonly [
540
546
  callback: (player: EntityPlayer, renderOffset: Vector) => void,
541
547
  playerVariant?: PlayerVariant,
542
548
  character?: PlayerType
543
549
  ];
544
- [ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED]: [
550
+ readonly [ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED]: readonly [
545
551
  callback: (player: EntityPlayer) => void,
546
552
  playerVariant?: PlayerVariant,
547
553
  character?: PlayerType
548
554
  ];
549
- [ModCallbackCustom.POST_POOP_RENDER]: [
555
+ readonly [ModCallbackCustom.POST_POOP_RENDER]: readonly [
550
556
  callback: (poop: GridEntityPoop) => void,
551
557
  poopVariant?: PoopGridEntityVariant
552
558
  ];
553
- [ModCallbackCustom.POST_POOP_UPDATE]: [
559
+ readonly [ModCallbackCustom.POST_POOP_UPDATE]: readonly [
554
560
  callback: (poop: GridEntityPoop) => void,
555
561
  poopVariant?: PoopGridEntityVariant
556
562
  ];
557
- [ModCallbackCustom.POST_PRESSURE_PLATE_RENDER]: [
563
+ readonly [ModCallbackCustom.POST_PRESSURE_PLATE_RENDER]: readonly [
558
564
  callback: (pressurePlate: GridEntityPressurePlate) => void,
559
565
  pressurePlateVariant?: PressurePlateVariant
560
566
  ];
561
- [ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE]: [
567
+ readonly [ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE]: readonly [
562
568
  callback: (pressurePlate: GridEntityPressurePlate) => void,
563
569
  pressurePlateVariant?: PressurePlateVariant
564
570
  ];
565
- [ModCallbackCustom.POST_PROJECTILE_INIT_FILTER]: [
571
+ readonly [ModCallbackCustom.POST_PROJECTILE_INIT_FILTER]: readonly [
566
572
  callback: (projectile: EntityProjectile) => void,
567
573
  projectileVariant?: ProjectileVariant,
568
574
  subType?: int
569
575
  ];
570
- [ModCallbackCustom.POST_PROJECTILE_INIT_LATE]: [
576
+ readonly [ModCallbackCustom.POST_PROJECTILE_INIT_LATE]: readonly [
571
577
  callback: (projectile: EntityProjectile) => void,
572
578
  projectileVariant?: ProjectileVariant,
573
579
  subType?: int
574
580
  ];
575
- [ModCallbackCustom.POST_PROJECTILE_KILL]: [
581
+ readonly [ModCallbackCustom.POST_PROJECTILE_KILL]: readonly [
576
582
  callback: (projectile: EntityProjectile) => void,
577
583
  projectileVariant?: ProjectileVariant,
578
584
  subType?: number
579
585
  ];
580
- [ModCallbackCustom.POST_PROJECTILE_UPDATE_FILTER]: [
586
+ readonly [ModCallbackCustom.POST_PROJECTILE_UPDATE_FILTER]: readonly [
581
587
  callback: (projectile: EntityProjectile) => void,
582
588
  projectileVariant?: ProjectileVariant,
583
589
  subType?: int
584
590
  ];
585
- [ModCallbackCustom.POST_PROJECTILE_RENDER_FILTER]: [
591
+ readonly [ModCallbackCustom.POST_PROJECTILE_RENDER_FILTER]: readonly [
586
592
  callback: (projectile: EntityProjectile, renderOffset: Vector) => void,
587
593
  projectileVariant?: ProjectileVariant,
588
594
  subType?: int
589
595
  ];
590
- [ModCallbackCustom.POST_PURCHASE]: [
596
+ readonly [ModCallbackCustom.POST_PURCHASE]: readonly [
591
597
  callback: (player: EntityPlayer, pickup: EntityPickup) => void,
592
598
  pickupVariant?: PickupVariant,
593
599
  subType?: int
594
600
  ];
595
- [ModCallbackCustom.POST_ROCK_RENDER]: [
601
+ readonly [ModCallbackCustom.POST_ROCK_RENDER]: readonly [
596
602
  callback: (rock: GridEntityRock) => void,
597
603
  gridEntityType?: GridEntityType,
598
604
  variant?: int
599
605
  ];
600
- [ModCallbackCustom.POST_ROCK_UPDATE]: [
606
+ readonly [ModCallbackCustom.POST_ROCK_UPDATE]: readonly [
601
607
  callback: (rock: GridEntityRock) => void,
602
608
  gridEntityType?: GridEntityType,
603
609
  variant?: int
604
610
  ];
605
- [ModCallbackCustom.POST_ROOM_CLEAR_CHANGED]: [
611
+ readonly [ModCallbackCustom.POST_ROOM_CLEAR_CHANGED]: readonly [
606
612
  callback: (roomClear: boolean) => void,
607
613
  roomClear?: boolean
608
614
  ];
609
- [ModCallbackCustom.POST_SACRIFICE]: [
615
+ readonly [ModCallbackCustom.POST_SACRIFICE]: readonly [
610
616
  callback: (player: EntityPlayer, numSacrifices: int) => void,
611
617
  playerVariant?: PlayerVariant,
612
618
  character?: PlayerType
613
619
  ];
614
- [ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED]: [
620
+ readonly [ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED]: readonly [
615
621
  callback: (slot: EntitySlot, previousAnimation: string, currentAnimation: string) => void,
616
622
  slotVariant?: SlotVariant,
617
623
  subType?: int
618
624
  ];
619
- [ModCallbackCustom.POST_SLOT_COLLISION]: [
625
+ readonly [ModCallbackCustom.POST_SLOT_COLLISION]: readonly [
620
626
  callback: (slot: EntitySlot, player: EntityPlayer) => void,
621
627
  slotVariant?: SlotVariant,
622
628
  subType?: int
623
629
  ];
624
- [ModCallbackCustom.POST_SLOT_DESTROYED]: [
630
+ readonly [ModCallbackCustom.POST_SLOT_DESTROYED]: readonly [
625
631
  callback: (slot: EntitySlot, slotDestructionType: SlotDestructionType) => void,
626
632
  slotVariant?: SlotVariant,
627
633
  subType?: int
628
634
  ];
629
- [ModCallbackCustom.POST_SLOT_INIT]: [
635
+ readonly [ModCallbackCustom.POST_SLOT_INIT]: readonly [
630
636
  callback: (slot: EntitySlot) => void,
631
637
  slotVariant?: SlotVariant,
632
638
  subType?: int
633
639
  ];
634
- [ModCallbackCustom.POST_SLOT_RENDER]: [
640
+ readonly [ModCallbackCustom.POST_SLOT_RENDER]: readonly [
635
641
  callback: (slot: EntitySlot) => void,
636
642
  slotVariant?: SlotVariant,
637
643
  subType?: int
638
644
  ];
639
- [ModCallbackCustom.POST_SLOT_UPDATE]: [
645
+ readonly [ModCallbackCustom.POST_SLOT_UPDATE]: readonly [
640
646
  callback: (slot: EntitySlot) => void,
641
647
  slotVariant?: SlotVariant,
642
648
  subType?: int
643
649
  ];
644
- [ModCallbackCustom.POST_SPIKES_RENDER]: [
650
+ readonly [ModCallbackCustom.POST_SPIKES_RENDER]: readonly [
645
651
  callback: (spikes: GridEntitySpikes) => void,
646
652
  variant?: int
647
653
  ];
648
- [ModCallbackCustom.POST_SPIKES_UPDATE]: [
654
+ readonly [ModCallbackCustom.POST_SPIKES_UPDATE]: readonly [
649
655
  callback: (spikes: GridEntitySpikes) => void,
650
656
  variant?: int
651
657
  ];
652
- [ModCallbackCustom.POST_TEAR_INIT_FILTER]: [
658
+ readonly [ModCallbackCustom.POST_TEAR_INIT_FILTER]: readonly [
653
659
  callback: (tear: EntityTear) => void,
654
660
  tearVariant?: TearVariant,
655
661
  subType?: int
656
662
  ];
657
- [ModCallbackCustom.POST_TEAR_INIT_LATE]: [
663
+ readonly [ModCallbackCustom.POST_TEAR_INIT_LATE]: readonly [
658
664
  callback: (tear: EntityTear) => void,
659
665
  tearVariant?: TearVariant,
660
666
  subType?: int
661
667
  ];
662
- [ModCallbackCustom.POST_TEAR_INIT_VERY_LATE]: [
668
+ readonly [ModCallbackCustom.POST_TEAR_INIT_VERY_LATE]: readonly [
663
669
  callback: (tear: EntityTear) => void,
664
670
  tearVariant?: TearVariant,
665
671
  subType?: int
666
672
  ];
667
- [ModCallbackCustom.POST_TEAR_KILL]: [
673
+ readonly [ModCallbackCustom.POST_TEAR_KILL]: readonly [
668
674
  callback: (tear: EntityTear) => void,
669
675
  tearVariant?: TearVariant,
670
676
  subType?: int
671
677
  ];
672
- [ModCallbackCustom.POST_TEAR_RENDER_FILTER]: [
678
+ readonly [ModCallbackCustom.POST_TEAR_RENDER_FILTER]: readonly [
673
679
  callback: (tear: EntityTear, renderOffset: Vector) => void,
674
680
  tearVariant?: TearVariant,
675
681
  subType?: int
676
682
  ];
677
- [ModCallbackCustom.POST_TEAR_UPDATE_FILTER]: [
683
+ readonly [ModCallbackCustom.POST_TEAR_UPDATE_FILTER]: readonly [
678
684
  callback: (tear: EntityTear) => void,
679
685
  tearVariant?: TearVariant,
680
686
  subType?: int
681
687
  ];
682
- [ModCallbackCustom.POST_TNT_RENDER]: [
688
+ readonly [ModCallbackCustom.POST_TNT_RENDER]: readonly [
683
689
  callback: (tnt: GridEntityTNT) => void,
684
690
  variant?: int
685
691
  ];
686
- [ModCallbackCustom.POST_TNT_UPDATE]: [
692
+ readonly [ModCallbackCustom.POST_TNT_UPDATE]: readonly [
687
693
  callback: (tnt: GridEntityTNT) => void,
688
694
  variant?: int
689
695
  ];
690
- [ModCallbackCustom.POST_TRANSFORMATION]: [
696
+ readonly [ModCallbackCustom.POST_TRANSFORMATION]: readonly [
691
697
  callback: (player: EntityPlayer, playerForm: PlayerForm, hasForm: boolean) => void,
692
698
  playerForm?: PlayerForm
693
699
  ];
694
- [ModCallbackCustom.POST_TRINKET_BREAK]: [
700
+ readonly [ModCallbackCustom.POST_TRINKET_BREAK]: readonly [
695
701
  callback: (player: EntityPlayer, trinketType: TrinketType) => void,
696
702
  trinketType?: TrinketType
697
703
  ];
698
- [ModCallbackCustom.POST_USE_PILL_FILTER]: [
704
+ readonly [ModCallbackCustom.POST_USE_PILL_FILTER]: readonly [
699
705
  callback: (pillEffect: PillEffect, pillColor: PillColor, player: EntityPlayer, useFlags: BitFlags<UseFlag>) => void,
700
706
  pillEffect?: PillEffect,
701
707
  pillColor?: PillColor
702
708
  ];
703
- [ModCallbackCustom.PRE_BERSERK_DEATH]: [
709
+ readonly [ModCallbackCustom.PRE_BERSERK_DEATH]: readonly [
704
710
  callback: (player: EntityPlayer) => void,
705
711
  playerVariant?: PlayerVariant,
706
712
  character?: PlayerType
707
713
  ];
708
- [ModCallbackCustom.PRE_BOMB_COLLISION_FILTER]: [
714
+ readonly [ModCallbackCustom.PRE_BOMB_COLLISION_FILTER]: readonly [
709
715
  callback: (bomb: EntityBomb, collider: Entity, low: boolean) => boolean | undefined,
710
716
  bombVariant?: BombVariant,
711
717
  subtype?: int
712
718
  ];
713
- [ModCallbackCustom.PRE_CUSTOM_REVIVE]: [
719
+ readonly [ModCallbackCustom.PRE_CUSTOM_REVIVE]: readonly [
714
720
  callback: (player: EntityPlayer) => int | undefined,
715
721
  playerVariant?: PlayerVariant,
716
722
  character?: PlayerType
717
723
  ];
718
- [ModCallbackCustom.PRE_ENTITY_SPAWN_FILTER]: [
724
+ readonly [ModCallbackCustom.PRE_ENTITY_SPAWN_FILTER]: readonly [
719
725
  callback: (entityType: EntityType, variant: int, subType: int, position: Vector, velocity: Vector, spawner: Entity | undefined, initSeed: Seed) => [entityType: EntityType, variant: int, subType: int, initSeed: Seed] | undefined,
720
726
  entityType?: EntityType,
721
727
  variant?: int,
722
728
  subtype?: int
723
729
  ];
724
- [ModCallbackCustom.PRE_FAMILIAR_COLLISION_FILTER]: [
730
+ readonly [ModCallbackCustom.PRE_FAMILIAR_COLLISION_FILTER]: readonly [
725
731
  callback: (familiar: EntityFamiliar, collider: Entity, low: boolean) => boolean | undefined,
726
732
  familiarVariant?: FamiliarVariant,
727
733
  subtype?: int
728
734
  ];
729
- [ModCallbackCustom.PRE_GET_PEDESTAL]: [
735
+ readonly [ModCallbackCustom.PRE_GET_PEDESTAL]: readonly [
730
736
  callback: (player: EntityPlayer, collectible: EntityPickupCollectible) => boolean | undefined,
731
737
  playerVariant?: PlayerVariant,
732
738
  character?: PlayerType
733
739
  ];
734
- [ModCallbackCustom.PRE_ITEM_PICKUP]: [
740
+ readonly [ModCallbackCustom.PRE_ITEM_PICKUP]: readonly [
735
741
  callback: (player: EntityPlayer, pickingUpItem: PickingUpItem) => boolean | undefined
736
- ] | [
742
+ ] | readonly [
737
743
  callback: (player: EntityPlayer, pickingUpItem: PickingUpItemCollectible) => boolean | undefined,
738
744
  itemType: ItemType.PASSIVE | ItemType.ACTIVE | ItemType.FAMILIAR,
739
745
  collectibleType?: CollectibleType
740
- ] | [
746
+ ] | readonly [
741
747
  callback: (player: EntityPlayer, pickingUpItem: PickingUpItemTrinket) => boolean | undefined,
742
748
  itemType: ItemType.TRINKET,
743
749
  trinketType?: TrinketType
744
750
  ];
745
- [ModCallbackCustom.PRE_KNIFE_COLLISION_FILTER]: [
751
+ readonly [ModCallbackCustom.PRE_KNIFE_COLLISION_FILTER]: readonly [
746
752
  callback: (knife: EntityKnife, collider: Entity, low: boolean) => boolean | undefined,
747
753
  knifeVariant?: KnifeVariant,
748
754
  subtype?: int
749
755
  ];
750
- [ModCallbackCustom.PRE_NEW_LEVEL]: [callback: (player: EntityPlayer) => void];
751
- [ModCallbackCustom.PRE_NPC_COLLISION_FILTER]: [
756
+ readonly [ModCallbackCustom.PRE_NEW_LEVEL]: readonly [
757
+ callback: (player: EntityPlayer) => void
758
+ ];
759
+ readonly [ModCallbackCustom.PRE_NPC_COLLISION_FILTER]: readonly [
752
760
  callback: (npc: EntityNPC, collider: Entity, low: boolean) => undefined | boolean,
753
761
  entityType?: EntityType,
754
762
  variant?: int,
755
763
  subType?: int
756
764
  ];
757
- [ModCallbackCustom.PRE_NPC_UPDATE_FILTER]: [
765
+ readonly [ModCallbackCustom.PRE_NPC_UPDATE_FILTER]: readonly [
758
766
  callback: (npc: EntityNPC) => undefined | boolean,
759
767
  entityType?: EntityType,
760
768
  variant?: int,
761
769
  subType?: int
762
770
  ];
763
- [ModCallbackCustom.PRE_PROJECTILE_COLLISION_FILTER]: [
771
+ readonly [ModCallbackCustom.PRE_PROJECTILE_COLLISION_FILTER]: readonly [
764
772
  callback: (projectile: EntityProjectile, collider: Entity, low: boolean) => boolean | undefined,
765
773
  projectileVariant?: ProjectileVariant,
766
774
  subtype?: int
767
775
  ];
768
- [ModCallbackCustom.PRE_ROOM_ENTITY_SPAWN_FILTER]: [
776
+ readonly [ModCallbackCustom.PRE_ROOM_ENTITY_SPAWN_FILTER]: readonly [
769
777
  callback: (entityTypeOrGridEntityXMLType: EntityType | GridEntityXMLType, variant: int, subType: int, gridIndex: int, initSeed: Seed) => [type: EntityType | GridEntityXMLType, variant: int, subType: int] | undefined,
770
778
  entityTypeOrGridEntityXMLType?: EntityType | GridEntityXMLType,
771
779
  variant?: int,
772
780
  subType?: int
773
781
  ];
774
- [ModCallbackCustom.PRE_TEAR_COLLISION_FILTER]: [
782
+ readonly [ModCallbackCustom.PRE_TEAR_COLLISION_FILTER]: readonly [
775
783
  callback: (tear: EntityTear, collider: Entity, low: boolean) => boolean | undefined,
776
784
  tearVariant?: TearVariant,
777
785
  subtype?: int
@@ -962,13 +970,16 @@ export declare const ALL_DISPLAY_FLAGS: BitFlags<number & {
962
970
  }>;
963
971
 
964
972
  /** Helper type to create a new tuple containing all but the first element of another tuple. */
965
- export declare type AllButFirst<T extends unknown[]> = T extends [
973
+ export declare type AllButFirst<T extends readonly unknown[]> = T extends readonly [
966
974
  unknown,
967
975
  ...infer Tail
968
976
  ] ? Tail : unknown[];
969
977
 
970
978
  /** Helper type to create a new tuple containing all but the last element of another tuple. */
971
- export declare type AllButLast<T extends unknown[]> = T extends [...infer Head, unknown] ? Head : unknown[];
979
+ export declare type AllButLast<T extends readonly unknown[]> = T extends readonly [
980
+ ...infer Head,
981
+ unknown
982
+ ] ? Head : unknown[];
972
983
 
973
984
  /** This is used by the `POST_AMBUSH_STARTED` and `POST_AMBUSH_FINISHED` custom callbacks. */
974
985
  export declare enum AmbushType {
@@ -1304,7 +1315,7 @@ export declare function benchmark(numTrials: int, ...functions: ReadonlyArray<()
1304
1315
  export declare function bitFlags<T extends BitFlag | BitFlag128>(flag: T): BitFlags<T>;
1305
1316
 
1306
1317
  /**
1307
- * The path to the png file for collectible items during Curse of the Blind, making them appear with
1318
+ * The path to the PNG file for collectible items during Curse of the Blind, making them appear with
1308
1319
  * a red question mark.
1309
1320
  */
1310
1321
  export declare const BLIND_ITEM_PNG_PATH = "gfx/items/collectibles/questionmark.png";
@@ -1454,11 +1465,11 @@ declare class CharacterStats extends Feature {
1454
1465
  * This is used in the `newChargeBarSprites` and related helper functions.
1455
1466
  */
1456
1467
  export declare interface ChargeBarSprites {
1457
- back: Sprite;
1458
- meter: Sprite;
1459
- meterBattery: Sprite;
1460
- lines: Sprite;
1461
- maxCharges: int;
1468
+ readonly back: Readonly<Sprite>;
1469
+ readonly meter: Readonly<Sprite>;
1470
+ readonly meterBattery: Readonly<Sprite>;
1471
+ readonly lines: Readonly<Sprite>;
1472
+ readonly maxCharges: int;
1462
1473
  }
1463
1474
 
1464
1475
  /**
@@ -1791,13 +1802,13 @@ export declare function copyIsaacAPIClass<T extends CopyableIsaacAPIClass>(isaac
1791
1802
  export declare function copyKColor(kColor: KColor): KColor;
1792
1803
 
1793
1804
  /** Helper function to copy a map. (You can also use a Map constructor to accomplish this task.) */
1794
- export declare function copyMap<K, V>(oldMap: ReadonlyMap<K, V>): Map<K, V>;
1805
+ export declare function copyMap<K, V>(oldMap: ReadonlyMap<K, V>): ReadonlyMap<K, V>;
1795
1806
 
1796
1807
  /** Helper function to copy an `RNG` Isaac API class. */
1797
1808
  export declare function copyRNG(rng: RNG): RNG;
1798
1809
 
1799
1810
  /** Helper function to copy a set. (You can also use a Set constructor to accomplish this task.) */
1800
- export declare function copySet<T>(oldSet: ReadonlySet<T>): Set<T>;
1811
+ export declare function copySet<T>(oldSet: ReadonlySet<T>): ReadonlySet<T>;
1801
1812
 
1802
1813
  /** Helper function to copy specific values from a userdata object (e.g. `Vector`) to a table. */
1803
1814
  export declare function copyUserdataValuesToTable(object: unknown, keys: readonly string[], luaMap: LuaMap<string, unknown>): void;
@@ -1858,18 +1869,18 @@ export declare function crc32(str: string): number;
1858
1869
  */
1859
1870
  declare abstract class CustomCallback<T extends ModCallbackCustom> extends Feature {
1860
1871
  private subscriptions;
1861
- addSubscriber(priority: CallbackPriority | int, callbackFunc: AddCallbackParametersCustom[T][0], ...optionalArgs: AllButFirst<AddCallbackParametersCustom[T]>): void;
1862
- /**
1863
- * If the submitted function does not match any of the existing subscriptions, this method will do
1864
- * nothing.
1865
- */
1866
- removeSubscriber(callback: AddCallbackParametersCustom[T][0]): void;
1867
1872
  fire: (...fireArgs: FireArgs<T>) => ReturnType<AddCallbackParametersCustom[T][0]>;
1868
1873
  /**
1869
1874
  * This method needs to be overwritten for any callback that has optional filtration arguments.
1870
1875
  * See "shouldFire.ts" for methods tailored to specific kinds of callbacks.
1871
1876
  */
1872
1877
  protected shouldFire: (fireArgs: FireArgs<T>, optionalArgs: OptionalArgs<T>) => boolean;
1878
+ addSubscriber(priority: CallbackPriority | int, callbackFunc: AddCallbackParametersCustom[T][0], ...optionalArgs: AllButFirst<AddCallbackParametersCustom[T]>): void;
1879
+ /**
1880
+ * If the submitted function does not match any of the existing subscriptions, this method will do
1881
+ * nothing.
1882
+ */
1883
+ removeSubscriber(callback: AddCallbackParametersCustom[T][0]): void;
1873
1884
  }
1874
1885
 
1875
1886
  declare class CustomGridEntities extends Feature {
@@ -2186,24 +2197,24 @@ declare class CustomPickups extends Feature {
2186
2197
  }
2187
2198
 
2188
2199
  declare class CustomRevive extends Feature {
2189
- v: {
2190
- run: {
2191
- state: CustomReviveState;
2192
- revivalType: int | null;
2193
- dyingPlayerIndex: PlayerIndex | null;
2194
- };
2195
- };
2196
2200
  private readonly preCustomRevive;
2197
2201
  private readonly postCustomRevive;
2198
2202
  private readonly runInNFrames;
2199
- constructor(preCustomRevive: PreCustomRevive, postCustomRevive: PostCustomRevive, runInNFrames: RunInNFrames);
2200
2203
  private readonly postRender;
2201
2204
  private readonly postFamiliarInitOneUp;
2202
2205
  private readonly postNewRoomReordered;
2203
2206
  private readonly postPEffectUpdateReordered;
2204
- private checkWaitingForItemAnimation;
2205
2207
  private readonly postPlayerFatalDamage;
2206
2208
  private readonly preBerserkDeath;
2209
+ v: {
2210
+ run: {
2211
+ state: CustomReviveState;
2212
+ revivalType: int | null;
2213
+ dyingPlayerIndex: PlayerIndex | null;
2214
+ };
2215
+ };
2216
+ constructor(preCustomRevive: PreCustomRevive, postCustomRevive: PostCustomRevive, runInNFrames: RunInNFrames);
2217
+ private checkWaitingForItemAnimation;
2207
2218
  /**
2208
2219
  * The player is about to die, which will immediately delete the save data for the run. To prevent
2209
2220
  * this from happening, we grant the 1-Up item.
@@ -2231,7 +2242,7 @@ export declare interface CustomStageBossPoolEntry {
2231
2242
  * The name of the boss. This should correspond to the entry for the boss in the "entities2.xml"
2232
2243
  * file.
2233
2244
  */
2234
- name: string;
2245
+ readonly name: string;
2235
2246
  /**
2236
2247
  * The arbitrary sub-type chosen for this boss, ranging between 1 and 999. You must set the boss
2237
2248
  * rooms for this boss to this sub-type in Basement Renovator by right-clicking on the room on the
@@ -2248,29 +2259,29 @@ export declare interface CustomStageBossPoolEntry {
2248
2259
  * @minimum 1
2249
2260
  * @maximum 999
2250
2261
  */
2251
- subType: number;
2262
+ readonly subType: number;
2252
2263
  /**
2253
2264
  * The weight of the boss. This is used when randomly selecting which boss to use for the floor.
2254
2265
  * For example, use a value of 1 if you want this boss to be equally likely as any other boss, 0.5
2255
2266
  * if you want it to be half as likely, 2 if you want it to be twice as likely, and so on.
2256
2267
  */
2257
- weight: number;
2268
+ readonly weight: number;
2258
2269
  /** Optional. A collection of sprites used for the boss on the "versus" screen. */
2259
- versusScreen?: {
2270
+ readonly versusScreen?: {
2260
2271
  /**
2261
2272
  * Mandatory. The full path to the spritesheet that contains the graphics of the name of the
2262
2273
  * boss that will be displayed on the top of the boss "versus" screen.
2263
2274
  *
2264
2275
  * If not specified, a sprite showing "???" will be used.
2265
2276
  */
2266
- namePNGPath: string;
2277
+ readonly namePNGPath: string;
2267
2278
  /**
2268
2279
  * Mandatory. The full path to the spritesheet that contains the portrait of the boss that will
2269
2280
  * be displayed on the right side of the boss "versus" screen.
2270
2281
  *
2271
2282
  * If not specified, a sprite showing "???" will be used.
2272
2283
  */
2273
- portraitPNGPath: string;
2284
+ readonly portraitPNGPath: string;
2274
2285
  };
2275
2286
  }
2276
2287
 
@@ -2290,7 +2301,7 @@ declare interface CustomStageLuaUnsafe extends CustomStageTSConfig {
2290
2301
  * (Internally, the IsaacScript standard library uses this as a basis for determining which rooms
2291
2302
  * should randomly appear on the floor.)
2292
2303
  */
2293
- roomsMetadata: CustomStageRoomMetadata[];
2304
+ readonly roomsMetadata: readonly CustomStageRoomMetadata[];
2294
2305
  }
2295
2306
 
2296
2307
  /**
@@ -2298,12 +2309,12 @@ declare interface CustomStageLuaUnsafe extends CustomStageTSConfig {
2298
2309
  * each room.
2299
2310
  */
2300
2311
  export declare interface CustomStageRoomMetadata {
2301
- type: number;
2302
- variant: number;
2303
- subType: number;
2304
- shape: number;
2305
- doorSlotFlags: number;
2306
- weight: number;
2312
+ readonly type: number;
2313
+ readonly variant: number;
2314
+ readonly subType: number;
2315
+ readonly shape: number;
2316
+ readonly doorSlotFlags: number;
2317
+ readonly weight: number;
2307
2318
  }
2308
2319
 
2309
2320
  declare class CustomStages extends Feature {
@@ -2318,9 +2329,6 @@ declare class CustomStages extends Feature {
2318
2329
  private readonly gameReorderedCallbacks;
2319
2330
  private readonly pause;
2320
2331
  private readonly runInNFrames;
2321
- private initCustomStageMetadata;
2322
- private initRoomTypeMap;
2323
- private initCustomTrapdoorDestination;
2324
2332
  private readonly goToCustomStage;
2325
2333
  private readonly postRender;
2326
2334
  /**
@@ -2338,6 +2346,9 @@ declare class CustomStages extends Feature {
2338
2346
  private readonly postGridEntityBrokenRockAlt;
2339
2347
  private readonly postGridEntityInit;
2340
2348
  private readonly postNewRoomReordered;
2349
+ private initCustomStageMetadata;
2350
+ private initRoomTypeMap;
2351
+ private initCustomTrapdoorDestination;
2341
2352
  /** Pick a custom room for each vanilla room. */
2342
2353
  private setStageRoomsData;
2343
2354
  /**
@@ -2381,19 +2392,19 @@ export declare interface CustomStageShadow {
2381
2392
  * For an example of a vanilla shadow overlay, see:
2382
2393
  * `resources/gfx/overlays/basement/1x1_overlay_1.png`
2383
2394
  */
2384
- pngPath: string;
2395
+ readonly pngPath: string;
2385
2396
  /**
2386
2397
  * Optional. An object representing the color used for the shadow.
2387
2398
  *
2388
2399
  * If not specified, an object of `{ r: 0, g: 0, b: 0, a: 0.25 }` will be used (which corresponds
2389
2400
  * to 75% faded black).
2390
2401
  */
2391
- color?: {
2402
+ readonly color?: {
2392
2403
  /**
2393
2404
  * @minimum 0
2394
2405
  * @maximum 1
2395
2406
  */
2396
- r: number;
2407
+ readonly r: number;
2397
2408
  /**
2398
2409
  * @minimum 0
2399
2410
  * @maximum 1
@@ -2424,12 +2435,12 @@ export declare interface CustomStageShadow {
2424
2435
  */
2425
2436
  export declare interface CustomStageTSConfig {
2426
2437
  /** Mandatory. The name of the custom stage. */
2427
- name: string;
2438
+ readonly name: string;
2428
2439
  /**
2429
2440
  * Mandatory. The path to the XML file that contains the rooms for the custom stage (created with
2430
2441
  * Basement Renovator).
2431
2442
  */
2432
- xmlPath: string;
2443
+ readonly xmlPath: string;
2433
2444
  /**
2434
2445
  * Mandatory. An arbitrarily chosen prefix in the range of 101-999 that will be unique to this
2435
2446
  * stage.
@@ -2442,7 +2453,7 @@ export declare interface CustomStageTSConfig {
2442
2453
  * @minimum 100
2443
2454
  * @maximum 999
2444
2455
  */
2445
- roomVariantPrefix: number;
2456
+ readonly roomVariantPrefix: number;
2446
2457
  /**
2447
2458
  * Optional. An integer between 2 and 13, corresponding to the `LevelStage` enum. This is the
2448
2459
  * number of the stage that will be warped to and used as a basis for the stage by the level
@@ -2462,7 +2473,7 @@ export declare interface CustomStageTSConfig {
2462
2473
  * @minimum 2
2463
2474
  * @maximum 13
2464
2475
  */
2465
- baseStage?: number;
2476
+ readonly baseStage?: number;
2466
2477
  /**
2467
2478
  * Optional. An integer between 0 and 5, corresponding to the `StageType` enum. This is the number
2468
2479
  * of the stage type that will be warped to and used as a basis for the stage by the level
@@ -2473,20 +2484,20 @@ export declare interface CustomStageTSConfig {
2473
2484
  * @minimum 0
2474
2485
  * @maximum 5
2475
2486
  */
2476
- baseStageType?: number;
2487
+ readonly baseStageType?: number;
2477
2488
  /**
2478
2489
  * Optional. A string that represents the name of the music track from the "content/music.xml"
2479
2490
  * file that corresponds to this custom stage. It will be manually played upon entering the stage.
2480
2491
  *
2481
2492
  * If not specified, the same music track as the base stage will be used.
2482
2493
  */
2483
- music?: string;
2494
+ readonly music?: string;
2484
2495
  /**
2485
2496
  * Optional. An object containing the paths to the backdrop graphics for the stage. (A backdrop is
2486
2497
  * the graphics for the walls and floor.) If not specified, the graphics for Basement will be
2487
2498
  * used.
2488
2499
  */
2489
- backdropPNGPaths?: {
2500
+ readonly backdropPNGPaths?: {
2490
2501
  /**
2491
2502
  * An array that contains the full paths to the graphic files that are used for the floor in
2492
2503
  * narrow rooms. (The "n" stands for "narrow").
@@ -2496,7 +2507,7 @@ export declare interface CustomStageTSConfig {
2496
2507
  *
2497
2508
  * For an example of this, see the vanilla file "resources/gfx/backdrop/01_basement_nfloor.png".
2498
2509
  */
2499
- nFloors: string[];
2510
+ readonly nFloors: readonly string[];
2500
2511
  /**
2501
2512
  * An array that contains the full paths to the graphic files that are used for the floor in L
2502
2513
  * rooms.
@@ -2506,7 +2517,7 @@ export declare interface CustomStageTSConfig {
2506
2517
  *
2507
2518
  * For an example of this, see the vanilla file "resources/gfx/backdrop/01_lbasementfloor.png".
2508
2519
  */
2509
- lFloors: string[];
2520
+ readonly lFloors: readonly string[];
2510
2521
  /**
2511
2522
  * An array that contains the full paths to the graphic files that are used for the walls of the
2512
2523
  * floor.
@@ -2518,7 +2529,7 @@ export declare interface CustomStageTSConfig {
2518
2529
  * the vanilla file, they concatenate all four variations together into one PNG file. However,
2519
2530
  * for the custom stages feature, you must separate each wall variation into a separate file.)
2520
2531
  */
2521
- walls: string[];
2532
+ readonly walls: readonly string[];
2522
2533
  /**
2523
2534
  * An array that contains the full paths to the graphic files for the stage's corners.
2524
2535
  *
@@ -2532,7 +2543,7 @@ export declare interface CustomStageTSConfig {
2532
2543
  * you must separate each corner variation into a separate file (and put it in a different file
2533
2544
  * from the walls).
2534
2545
  */
2535
- corners: string[];
2546
+ readonly corners: readonly string[];
2536
2547
  };
2537
2548
  /**
2538
2549
  * Optional. The full path to the spritesheet that contains the graphics of the decorations for
@@ -2544,7 +2555,7 @@ export declare interface CustomStageTSConfig {
2544
2555
  * If you want to have custom animations for your decorations, then do not use this field and use
2545
2556
  * `decorationsANM2Path` instead.
2546
2557
  */
2547
- decorationsPNGPath?: string;
2558
+ readonly decorationsPNGPath?: string;
2548
2559
  /**
2549
2560
  * Optional. The full path to the anm2 file that contains the custom animations for the
2550
2561
  * decorations of the floor.
@@ -2555,7 +2566,7 @@ export declare interface CustomStageTSConfig {
2555
2566
  * If you do not want to have custom animations for your decorations, then do not use this field
2556
2567
  * and use `decorationsPNGPath` instead.
2557
2568
  */
2558
- decorationsANM2Path?: string;
2569
+ readonly decorationsANM2Path?: string;
2559
2570
  /**
2560
2571
  * Optional. The full path to the spritesheet that contains the graphics of the rocks/blocks/urns
2561
2572
  * for the floor.
@@ -2571,7 +2582,7 @@ export declare interface CustomStageTSConfig {
2571
2582
  * If you want to have custom animations for your rocks, then do not use this field and use
2572
2583
  * `rocksANM2Path` instead.
2573
2584
  */
2574
- rocksPNGPath?: string;
2585
+ readonly rocksPNGPath?: string;
2575
2586
  /**
2576
2587
  * Optional. The full path to the anm2 file that contains the custom animations for the
2577
2588
  * rocks/blocks/urns of the floor.
@@ -2587,7 +2598,7 @@ export declare interface CustomStageTSConfig {
2587
2598
  * If you do not want to have custom animations for your rocks, then do not use this field and use
2588
2599
  * `rocksPNGPath` instead.
2589
2600
  */
2590
- rocksANM2Path?: string;
2601
+ readonly rocksANM2Path?: string;
2591
2602
  /**
2592
2603
  * Optional. The full path to the spritesheet that contains the graphics of the pits for the
2593
2604
  * floor.
@@ -2598,7 +2609,7 @@ export declare interface CustomStageTSConfig {
2598
2609
  * If you do not want to have custom animations for your pits, then do not use this field and use
2599
2610
  * `pitsANM2Path` instead.
2600
2611
  */
2601
- pitsPNGPath?: string;
2612
+ readonly pitsPNGPath?: string;
2602
2613
  /**
2603
2614
  * Optional. The full path to the anm2 file that contains the custom animations for the pits of
2604
2615
  * the floor.
@@ -2609,12 +2620,12 @@ export declare interface CustomStageTSConfig {
2609
2620
  * If you do not want to have custom animations for your pits, then do not use this field and use
2610
2621
  * `pitsPNGPath` instead.
2611
2622
  */
2612
- pitsANM2Path?: string;
2623
+ readonly pitsANM2Path?: string;
2613
2624
  /**
2614
2625
  * Optional. A collection of paths that contain graphics for the doors of the floor. If not
2615
2626
  * specified, the doors for Basement will be used.
2616
2627
  */
2617
- doorPNGPaths?: {
2628
+ readonly doorPNGPaths?: {
2618
2629
  /**
2619
2630
  * Optional. The full path to the spritesheet that contains the graphics of the normal doors for
2620
2631
  * the floor.
@@ -2622,7 +2633,7 @@ export declare interface CustomStageTSConfig {
2622
2633
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2623
2634
  * located at: `resources/gfx/grid/door_01_normaldoor.png`
2624
2635
  */
2625
- normal?: string;
2636
+ readonly normal?: string;
2626
2637
  /**
2627
2638
  * Optional. The full path to the spritesheet that contains the graphics of the Treasure Room
2628
2639
  * doors for the floor.
@@ -2630,7 +2641,7 @@ export declare interface CustomStageTSConfig {
2630
2641
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2631
2642
  * located at: `resources/gfx/grid/door_02_treasureroomdoor.png`
2632
2643
  */
2633
- treasureRoom?: string;
2644
+ readonly treasureRoom?: string;
2634
2645
  /**
2635
2646
  * Optional. The full path to the spritesheet that contains the graphics of the Boss Room doors
2636
2647
  * for the floor.
@@ -2638,7 +2649,7 @@ export declare interface CustomStageTSConfig {
2638
2649
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2639
2650
  * located at: `resources/gfx/grid/door_10_bossroomdoor.png`
2640
2651
  */
2641
- bossRoom?: string;
2652
+ readonly bossRoom?: string;
2642
2653
  /**
2643
2654
  * Optional. The full path to the spritesheet that contains the graphics of the Secret Room and
2644
2655
  * Super Secret Room doors for the floor.
@@ -2646,7 +2657,7 @@ export declare interface CustomStageTSConfig {
2646
2657
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2647
2658
  * located at: `resources/gfx/grid/door_08_holeinwall.png`
2648
2659
  */
2649
- secretRoom?: string;
2660
+ readonly secretRoom?: string;
2650
2661
  /**
2651
2662
  * Optional. The full path to the spritesheet that contains the graphics of the arcade doors for
2652
2663
  * the floor.
@@ -2654,7 +2665,7 @@ export declare interface CustomStageTSConfig {
2654
2665
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2655
2666
  * located at: `resources/gfx/grid/door_05_arcaderoomdoor.png`
2656
2667
  */
2657
- arcade?: string;
2668
+ readonly arcade?: string;
2658
2669
  /**
2659
2670
  * Optional. The full path to the spritesheet that contains the graphics of the Curse Room doors
2660
2671
  * for the floor.
@@ -2662,7 +2673,7 @@ export declare interface CustomStageTSConfig {
2662
2673
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2663
2674
  * located at: `resources/gfx/grid/door_04_selfsacrificeroomdoor.png`
2664
2675
  */
2665
- curseRoom?: string;
2676
+ readonly curseRoom?: string;
2666
2677
  /**
2667
2678
  * Optional. The full path to the spritesheet that contains the graphics of the normal Challenge
2668
2679
  * Room doors for the floor.
@@ -2670,7 +2681,7 @@ export declare interface CustomStageTSConfig {
2670
2681
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2671
2682
  * located at: `resources/gfx/grid/door_03_ambushroomdoor.png`
2672
2683
  */
2673
- normalChallengeRoom?: string;
2684
+ readonly normalChallengeRoom?: string;
2674
2685
  /**
2675
2686
  * Optional. The full path to the spritesheet that contains the graphics of the Boss Challenge
2676
2687
  * Room doors for the floor.
@@ -2678,7 +2689,7 @@ export declare interface CustomStageTSConfig {
2678
2689
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2679
2690
  * located at: `resources/gfx/grid/door_09_bossambushroomdoor.png`
2680
2691
  */
2681
- bossChallengeRoom?: string;
2692
+ readonly bossChallengeRoom?: string;
2682
2693
  /**
2683
2694
  * Optional. The full path to the spritesheet that contains the graphics of the Devil Room doors
2684
2695
  * for the floor.
@@ -2686,7 +2697,7 @@ export declare interface CustomStageTSConfig {
2686
2697
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2687
2698
  * located at: `resources/gfx/grid/door_07_devilroomdoor.png`
2688
2699
  */
2689
- devilRoom?: string;
2700
+ readonly devilRoom?: string;
2690
2701
  /**
2691
2702
  * Optional. The full path to the spritesheet that contains the graphics of the Angel Room doors
2692
2703
  * for the floor.
@@ -2694,7 +2705,7 @@ export declare interface CustomStageTSConfig {
2694
2705
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2695
2706
  * located at: `resources/gfx/grid/door_07_holyroomdoor.png`
2696
2707
  */
2697
- angelRoom?: string;
2708
+ readonly angelRoom?: string;
2698
2709
  /**
2699
2710
  * Optional. The full path to the spritesheet that contains the graphics of the Boss Rush doors
2700
2711
  * for the floor.
@@ -2702,7 +2713,7 @@ export declare interface CustomStageTSConfig {
2702
2713
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2703
2714
  * located at: `resources/gfx/grid/door_15_bossrushdoor.png`
2704
2715
  */
2705
- bossRush?: string;
2716
+ readonly bossRush?: string;
2706
2717
  /**
2707
2718
  * Optional. The full path to the spritesheet that contains the graphics of the Chest Room doors
2708
2719
  * for the floor.
@@ -2710,7 +2721,7 @@ export declare interface CustomStageTSConfig {
2710
2721
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
2711
2722
  * located at: `resources/gfx/grid/door_02b_chestroomdoor.png`
2712
2723
  */
2713
- chestRoom?: string;
2724
+ readonly chestRoom?: string;
2714
2725
  };
2715
2726
  /**
2716
2727
  * Optional. An array of shadow objects that describe the graphics for the custom shadows of the
@@ -2718,7 +2729,7 @@ export declare interface CustomStageTSConfig {
2718
2729
  * Basement, a shadow of a sideways V is used, among others.) If not specified, no extra shadows
2719
2730
  * will be drawn.
2720
2731
  */
2721
- shadows?: {
2732
+ readonly shadows?: {
2722
2733
  /**
2723
2734
  * Optional. An array containing the shadows that will be used in rooms of shape
2724
2735
  * `RoomShape.SHAPE_1x1` (1), `RoomShape.IH` (2), and `RoomShape.IV` (3).
@@ -2727,7 +2738,7 @@ export declare interface CustomStageTSConfig {
2727
2738
  *
2728
2739
  * If not specified, no extra shadows will be drawn in these room shapes.
2729
2740
  */
2730
- "1x1"?: CustomStageShadow[];
2741
+ readonly "1x1"?: readonly CustomStageShadow[];
2731
2742
  /**
2732
2743
  * Optional. An array containing the shadows that will be used in rooms of shape
2733
2744
  * `RoomShape.SHAPE_1x2` (4) and `RoomShape.IIV` (5).
@@ -2736,7 +2747,7 @@ export declare interface CustomStageTSConfig {
2736
2747
  *
2737
2748
  * If not specified, no extra shadows will be drawn in these room shapes.
2738
2749
  */
2739
- "1x2"?: CustomStageShadow[];
2750
+ readonly "1x2"?: readonly CustomStageShadow[];
2740
2751
  /**
2741
2752
  * Optional. An array containing the shadows that will be used in rooms of shape
2742
2753
  * `RoomShape.SHAPE_2x1` (6) and `RoomShape.IIH` (7).
@@ -2745,7 +2756,7 @@ export declare interface CustomStageTSConfig {
2745
2756
  *
2746
2757
  * If not specified, no extra shadows will be drawn in these room shapes.
2747
2758
  */
2748
- "2x1"?: CustomStageShadow[];
2759
+ readonly "2x1"?: readonly CustomStageShadow[];
2749
2760
  /**
2750
2761
  * Optional. An array containing the shadows that will be used in rooms of shape
2751
2762
  * `RoomShape.SHAPE_2x2` (8), `RoomShape.LTL` (9), `RoomShape.LTR` (10), `RoomShape.LBL` (11),
@@ -2755,20 +2766,20 @@ export declare interface CustomStageTSConfig {
2755
2766
  *
2756
2767
  * If not specified, no extra shadows will be drawn in these room shapes.
2757
2768
  */
2758
- "2x2"?: CustomStageShadow[];
2769
+ readonly "2x2"?: readonly CustomStageShadow[];
2759
2770
  };
2760
2771
  /**
2761
2772
  * Optional. An array containing the bosses that should be used for the stage. This can include
2762
2773
  * both vanilla bosses and modded bosses.
2763
2774
  */
2764
- bossPool?: CustomStageBossPoolEntry[];
2775
+ readonly bossPool?: readonly CustomStageBossPoolEntry[];
2765
2776
  /**
2766
2777
  * Optional. A collection of colors used for in the boss "versus" screen for all of the bosses.
2767
2778
  *
2768
2779
  * Note that these graphics will only be applied if one or more bosses are specified in the
2769
2780
  * `bossPool` field.
2770
2781
  */
2771
- versusScreen?: {
2782
+ readonly versusScreen?: {
2772
2783
  /**
2773
2784
  * Optional. An object representing the color to use for the background of the boss "versus"
2774
2785
  * screen. If not specified, the color for Basement 1 will be used.
@@ -2776,27 +2787,27 @@ export declare interface CustomStageTSConfig {
2776
2787
  * For a list of the colors that correspond to the vanilla stages, see
2777
2788
  * `versusScreenBackgroundColors.ts`.
2778
2789
  */
2779
- backgroundColor?: {
2790
+ readonly backgroundColor?: {
2780
2791
  /**
2781
2792
  * @minimum 0
2782
2793
  * @maximum 1
2783
2794
  */
2784
- r: number;
2795
+ readonly r: number;
2785
2796
  /**
2786
2797
  * @minimum 0
2787
2798
  * @maximum 1
2788
2799
  */
2789
- g: number;
2800
+ readonly g: number;
2790
2801
  /**
2791
2802
  * @minimum 0
2792
2803
  * @maximum 1
2793
2804
  */
2794
- b: number;
2805
+ readonly b: number;
2795
2806
  /**
2796
2807
  * @minimum 0
2797
2808
  * @maximum 1
2798
2809
  */
2799
- a: number;
2810
+ readonly a: number;
2800
2811
  };
2801
2812
  /**
2802
2813
  * Optional. An object representing the color to use for the dirt spots in the boss "versus"
@@ -2806,27 +2817,27 @@ export declare interface CustomStageTSConfig {
2806
2817
  * For a list of the colors that correspond to the vanilla stages, see
2807
2818
  * `versusScreenDirtSpotColors.ts`.
2808
2819
  */
2809
- dirtSpotColor?: {
2820
+ readonly dirtSpotColor?: {
2810
2821
  /**
2811
2822
  * @minimum 0
2812
2823
  * @maximum 1
2813
2824
  */
2814
- r: number;
2825
+ readonly r: number;
2815
2826
  /**
2816
2827
  * @minimum 0
2817
2828
  * @maximum 1
2818
2829
  */
2819
- g: number;
2830
+ readonly g: number;
2820
2831
  /**
2821
2832
  * @minimum 0
2822
2833
  * @maximum 1
2823
2834
  */
2824
- b: number;
2835
+ readonly b: number;
2825
2836
  /**
2826
2837
  * @minimum 0
2827
2838
  * @maximum 1
2828
2839
  */
2829
- a: number;
2840
+ readonly a: number;
2830
2841
  };
2831
2842
  };
2832
2843
  }
@@ -2849,6 +2860,8 @@ declare class CustomTrapdoors extends Feature {
2849
2860
  private readonly runNextRoom;
2850
2861
  private readonly stageHistory;
2851
2862
  private readonly postRender;
2863
+ private readonly postGridEntityCustomUpdateTrapdoor;
2864
+ private readonly postPEffectUpdateReordered;
2852
2865
  private checkAllPlayersJumpComplete;
2853
2866
  private checkPixelationToBlackComplete;
2854
2867
  private goToCustomTrapdoorDestination;
@@ -2856,7 +2869,6 @@ declare class CustomTrapdoors extends Feature {
2856
2869
  private checkSecondPixelationHalfWay;
2857
2870
  private checkAllPlayersLayingDownComplete;
2858
2871
  private drawBlackSprite;
2859
- private readonly postGridEntityCustomUpdateTrapdoor;
2860
2872
  private checkCustomTrapdoorOpenClose;
2861
2873
  private shouldTrapdoorOpen;
2862
2874
  private isPlayerCloseAfterBoss;
@@ -2864,7 +2876,6 @@ declare class CustomTrapdoors extends Feature {
2864
2876
  private playerTouchedCustomTrapdoor;
2865
2877
  private startDelayedJump;
2866
2878
  private adjustPlayerPositionToTrapdoor;
2867
- private readonly postPEffectUpdateReordered;
2868
2879
  private checkJumpComplete;
2869
2880
  private shouldTrapdoorSpawnOpen;
2870
2881
  private logStateChanged;
@@ -2949,6 +2960,7 @@ declare class DebugDisplay extends Feature {
2949
2960
  private readonly poop;
2950
2961
  private readonly door;
2951
2962
  private readonly pressurePlate;
2963
+ private toggleFeature;
2952
2964
  /**
2953
2965
  * If the "togglePlayerDisplay" function is called, text will be drawn on the screen next to each
2954
2966
  * player. Use this function to specify a callback function that returns the string that should be
@@ -3191,7 +3203,6 @@ declare class DebugDisplay extends Feature {
3191
3203
  * @public
3192
3204
  */
3193
3205
  setPressurePlateDisplay(textCallback: (pressurePlate: GridEntityPressurePlate) => string): void;
3194
- private toggleFeature;
3195
3206
  /**
3196
3207
  * Toggles the debug display for players, which will draw text on the screen next to each player.
3197
3208
  *
@@ -4256,13 +4267,13 @@ declare class EdenStartingStatsHealth extends Feature {
4256
4267
  * granted yet.
4257
4268
  */
4258
4269
  private readonly postPlayerInit;
4259
- private getEdenStats;
4260
- private getEdenHealth;
4261
4270
  /**
4262
4271
  * We must use the `POST_PLAYER_COLLECTIBLE_ADDED` callback since the collectibles are not yet
4263
4272
  * granted in the `POST_PLAYER_INIT` callback.
4264
4273
  */
4265
4274
  private readonly postPlayerCollectibleAdded;
4275
+ private getEdenStats;
4276
+ private getEdenHealth;
4266
4277
  /**
4267
4278
  * Helper function to get the active collectible that Eden started with at the beginning of the
4268
4279
  * run.
@@ -4407,6 +4418,10 @@ export declare function eRange(start: int, end?: int, increment?: number): reado
4407
4418
  declare type ErrorIsaacAPIClassIsNotSerializable = "Error: Isaac API classes (such as e.g. `Entity` or `RoomConfig`) are not serializable. For more information, see: https://isaacscript.github.io/main/gotchas#isaac-api-classes-are-not-serializable";
4408
4419
 
4409
4420
  declare class EsauJrDetection extends Feature {
4421
+ private readonly postEsauJr;
4422
+ private readonly postFirstEsauJr;
4423
+ private readonly postUpdate;
4424
+ private readonly postUseItemEsauJr;
4410
4425
  v: {
4411
4426
  run: {
4412
4427
  usedEsauJrFrame: int | null;
@@ -4414,11 +4429,7 @@ declare class EsauJrDetection extends Feature {
4414
4429
  usedEsauJrAtLeastOnce: boolean;
4415
4430
  };
4416
4431
  };
4417
- private readonly postEsauJr;
4418
- private readonly postFirstEsauJr;
4419
4432
  constructor(postEsauJr: PostEsauJr, postFirstEsauJr: PostFirstEsauJr);
4420
- private readonly postUpdate;
4421
- private readonly postUseItemEsauJr;
4422
4433
  }
4423
4434
 
4424
4435
  /**
@@ -4702,16 +4713,16 @@ export declare const FIRST_PILL_EFFECT = PillEffect.BAD_GAS;
4702
4713
  export declare const FIRST_TRINKET_TYPE = TrinketType.SWALLOWED_PENNY;
4703
4714
 
4704
4715
  declare class FlipDetection extends Feature {
4716
+ private readonly postFlip;
4717
+ private readonly postFirstFlip;
4718
+ private readonly postUseItemFlip;
4705
4719
  v: {
4706
4720
  run: {
4707
4721
  /** We don't consider the case of a multiplayer game with more than one Tainted Lazarus. */
4708
4722
  usedFlipAtLeastOnce: boolean;
4709
4723
  };
4710
4724
  };
4711
- private readonly postFlip;
4712
- private readonly postFirstFlip;
4713
4725
  constructor(postFlip: PostFlip, postFirstFlip: PostFirstFlip);
4714
- private readonly postUseItemFlip;
4715
4726
  }
4716
4727
 
4717
4728
  /**
@@ -8313,17 +8324,17 @@ export declare const GRID_INDEX_CENTER_OF_1X1_ROOM = 67;
8313
8324
  export declare function gridCoordinatesToWorldPosition(x: int, y: int): Readonly<Vector>;
8314
8325
 
8315
8326
  declare class GridEntityCollisionDetection extends Feature {
8327
+ private readonly postGridEntityCollision;
8328
+ private readonly postGridEntityCustomCollision;
8329
+ private readonly customGridEntities;
8330
+ private readonly postUpdate;
8316
8331
  v: {
8317
8332
  room: {
8318
8333
  /** Indexed by grid entity pointer hash. */
8319
8334
  collidingEntitiesMap: DefaultMap<PtrHash, Set<PtrHash>, []>;
8320
8335
  };
8321
8336
  };
8322
- private readonly postGridEntityCollision;
8323
- private readonly postGridEntityCustomCollision;
8324
- private readonly customGridEntities;
8325
8337
  constructor(postGridEntityCollision: PostGridEntityCollision, postGridEntityCustomCollision: PostGridEntityCustomCollision, customGridEntities: CustomGridEntities);
8326
- private readonly postUpdate;
8327
8338
  }
8328
8339
 
8329
8340
  /**
@@ -8337,12 +8348,12 @@ export declare interface GridEntityCustomData {
8337
8348
  * This is not a real `GridEntityType`; rather it is an arbitrary integer selected by end-user
8338
8349
  * mods.
8339
8350
  */
8340
- gridEntityTypeCustom: GridEntityType;
8341
- roomListIndex: int;
8342
- gridIndex: int;
8343
- gridCollisionClass?: GridCollisionClass;
8344
- anm2Path?: string;
8345
- defaultAnimation?: string;
8351
+ readonly gridEntityTypeCustom: GridEntityType;
8352
+ readonly roomListIndex: int;
8353
+ readonly gridIndex: int;
8354
+ readonly gridCollisionClass?: GridCollisionClass;
8355
+ readonly anm2Path?: string;
8356
+ readonly defaultAnimation?: string;
8346
8357
  }
8347
8358
 
8348
8359
  /**
@@ -8359,8 +8370,8 @@ declare class GridEntityRenderDetection extends Feature {
8359
8370
  private readonly postGridEntityRender;
8360
8371
  private readonly postGridEntityCustomRender;
8361
8372
  private readonly customGridEntities;
8362
- constructor(postGridEntityRender: PostGridEntityRender, postGridEntityCustomRender: PostGridEntityCustomRender, customGridEntities: CustomGridEntities);
8363
8373
  private readonly postRender;
8374
+ constructor(postGridEntityRender: PostGridEntityRender, postGridEntityCustomRender: PostGridEntityCustomRender, customGridEntities: CustomGridEntities);
8364
8375
  }
8365
8376
 
8366
8377
  declare type GridEntityTuple = [
@@ -8370,12 +8381,6 @@ state: int
8370
8381
  ];
8371
8382
 
8372
8383
  declare class GridEntityUpdateDetection extends Feature {
8373
- v: {
8374
- room: {
8375
- /** Indexed by grid index. */
8376
- initializedGridEntities: Map<int, GridEntityTuple>;
8377
- };
8378
- };
8379
8384
  private readonly postGridEntityInit;
8380
8385
  private readonly postGridEntityCustomInit;
8381
8386
  private readonly postGridEntityUpdate;
@@ -8387,13 +8392,19 @@ declare class GridEntityUpdateDetection extends Feature {
8387
8392
  private readonly postGridEntityBroken;
8388
8393
  private readonly postGridEntityCustomBroken;
8389
8394
  private readonly customGridEntities;
8390
- constructor(postGridEntityInit: PostGridEntityInit, postGridEntityCustomInit: PostGridEntityCustomInit, postGridEntityUpdate: PostGridEntityUpdate, postGridEntityCustomUpdate: PostGridEntityCustomUpdate, postGridEntityRemove: PostGridEntityRemove, postGridEntityCustomRemove: PostGridEntityCustomRemove, postGridEntityStateChanged: PostGridEntityStateChanged, postGridEntityCustomStateChanged: PostGridEntityCustomStateChanged, postGridEntityBroken: PostGridEntityBroken, postGridEntityCustomBroken: PostGridEntityCustomBroken, customGridEntities: CustomGridEntities);
8391
8395
  private readonly postUpdate;
8396
+ private readonly postNewRoomReordered;
8397
+ v: {
8398
+ room: {
8399
+ /** Indexed by grid index. */
8400
+ initializedGridEntities: Map<int, GridEntityTuple>;
8401
+ };
8402
+ };
8403
+ constructor(postGridEntityInit: PostGridEntityInit, postGridEntityCustomInit: PostGridEntityCustomInit, postGridEntityUpdate: PostGridEntityUpdate, postGridEntityCustomUpdate: PostGridEntityCustomUpdate, postGridEntityRemove: PostGridEntityRemove, postGridEntityCustomRemove: PostGridEntityCustomRemove, postGridEntityStateChanged: PostGridEntityStateChanged, postGridEntityCustomStateChanged: PostGridEntityCustomStateChanged, postGridEntityBroken: PostGridEntityBroken, postGridEntityCustomBroken: PostGridEntityCustomBroken, customGridEntities: CustomGridEntities);
8392
8404
  private checkGridEntitiesRemoved;
8393
8405
  private checkGridEntityStateChanged;
8394
8406
  private checkNewGridEntity;
8395
8407
  private updateTupleInMap;
8396
- private readonly postNewRoomReordered;
8397
8408
  }
8398
8409
 
8399
8410
  /**
@@ -8964,19 +8975,19 @@ export declare function is2x1RoomShape(roomShape: RoomShape): boolean;
8964
8975
  export declare function isaacAPIClassEquals(object1: unknown, object2: unknown, keys: readonly string[]): boolean;
8965
8976
 
8966
8977
  declare interface IsaacAPIClassTypeToSerializedType {
8967
- [CopyableIsaacAPIClassType.BIT_SET_128]: SerializedBitSet128;
8968
- [CopyableIsaacAPIClassType.COLOR]: SerializedColor;
8969
- [CopyableIsaacAPIClassType.K_COLOR]: SerializedKColor;
8970
- [CopyableIsaacAPIClassType.RNG]: SerializedRNG;
8971
- [CopyableIsaacAPIClassType.VECTOR]: SerializedVector;
8978
+ readonly [CopyableIsaacAPIClassType.BIT_SET_128]: Readonly<SerializedBitSet128>;
8979
+ readonly [CopyableIsaacAPIClassType.COLOR]: Readonly<SerializedColor>;
8980
+ readonly [CopyableIsaacAPIClassType.K_COLOR]: Readonly<SerializedKColor>;
8981
+ readonly [CopyableIsaacAPIClassType.RNG]: Readonly<SerializedRNG>;
8982
+ readonly [CopyableIsaacAPIClassType.VECTOR]: Readonly<SerializedVector>;
8972
8983
  }
8973
8984
 
8974
8985
  declare interface IsaacAPIClassTypeToType {
8975
- [CopyableIsaacAPIClassType.BIT_SET_128]: BitSet128;
8976
- [CopyableIsaacAPIClassType.COLOR]: Color;
8977
- [CopyableIsaacAPIClassType.K_COLOR]: KColor;
8978
- [CopyableIsaacAPIClassType.RNG]: RNG;
8979
- [CopyableIsaacAPIClassType.VECTOR]: Vector;
8986
+ readonly [CopyableIsaacAPIClassType.BIT_SET_128]: Readonly<BitSet128>;
8987
+ readonly [CopyableIsaacAPIClassType.COLOR]: Readonly<Color>;
8988
+ readonly [CopyableIsaacAPIClassType.K_COLOR]: Readonly<KColor>;
8989
+ readonly [CopyableIsaacAPIClassType.RNG]: Readonly<RNG>;
8990
+ readonly [CopyableIsaacAPIClassType.VECTOR]: Readonly<Vector>;
8980
8991
  }
8981
8992
 
8982
8993
  /**
@@ -9306,63 +9317,63 @@ export declare enum ISCFeature {
9306
9317
  declare type ISCFeaturesToKeys<T extends readonly ISCFeature[]> = Omit<TupleToIntersection<ISCFeatureTupleToClassTuple<Writeable<T>>>, keyof Feature>;
9307
9318
 
9308
9319
  declare interface ISCFeatureToClass {
9309
- [ISCFeature.CUSTOM_REVIVE]: CustomRevive;
9310
- [ISCFeature.ESAU_JR_DETECTION]: EsauJrDetection;
9311
- [ISCFeature.FLIP_DETECTION]: FlipDetection;
9312
- [ISCFeature.GRID_ENTITY_COLLISION_DETECTION]: GridEntityCollisionDetection;
9313
- [ISCFeature.GRID_ENTITY_RENDER_DETECTION]: GridEntityRenderDetection;
9314
- [ISCFeature.GRID_ENTITY_UPDATE_DETECTION]: GridEntityUpdateDetection;
9315
- [ISCFeature.GAME_REORDERED_CALLBACKS]: GameReorderedCallbacks;
9316
- [ISCFeature.ITEM_PICKUP_DETECTION]: ItemPickupDetection;
9317
- [ISCFeature.PICKUP_CHANGE_DETECTION]: PickupChangeDetection;
9318
- [ISCFeature.PLAYER_COLLECTIBLE_DETECTION]: PlayerCollectibleDetection;
9319
- [ISCFeature.PLAYER_REORDERED_CALLBACKS]: PlayerReorderedCallbacks;
9320
- [ISCFeature.SLOT_DESTROYED_DETECTION]: SlotDestroyedDetection;
9321
- [ISCFeature.SLOT_RENDER_DETECTION]: SlotRenderDetection;
9322
- [ISCFeature.SLOT_UPDATE_DETECTION]: SlotUpdateDetection;
9323
- [ISCFeature.CHARACTER_HEALTH_CONVERSION]: CharacterHealthConversion;
9324
- [ISCFeature.CHARACTER_STATS]: CharacterStats;
9325
- [ISCFeature.COLLECTIBLE_ITEM_POOL_TYPE]: CollectibleItemPoolType;
9326
- [ISCFeature.CUSTOM_GRID_ENTITIES]: CustomGridEntities;
9327
- [ISCFeature.CUSTOM_ITEM_POOLS]: CustomItemPools;
9328
- [ISCFeature.CUSTOM_HOTKEYS]: CustomHotkeys;
9329
- [ISCFeature.CUSTOM_PICKUPS]: CustomPickups;
9330
- [ISCFeature.CUSTOM_STAGES]: CustomStages;
9331
- [ISCFeature.CUSTOM_TRAPDOORS]: CustomTrapdoors;
9332
- [ISCFeature.DEBUG_DISPLAY]: DebugDisplay;
9333
- [ISCFeature.DEPLOY_JSON_ROOM]: DeployJSONRoom;
9334
- [ISCFeature.DISABLE_ALL_SOUND]: DisableAllSound;
9335
- [ISCFeature.DISABLE_INPUTS]: DisableInputs;
9336
- [ISCFeature.EDEN_STARTING_STATS_HEALTH]: EdenStartingStatsHealth;
9337
- [ISCFeature.FADE_IN_REMOVER]: FadeInRemover;
9338
- [ISCFeature.FAST_RESET]: FastReset;
9339
- [ISCFeature.FLYING_DETECTION]: FlyingDetection;
9340
- [ISCFeature.FORGOTTEN_SWITCH]: ForgottenSwitch;
9341
- [ISCFeature.EXTRA_CONSOLE_COMMANDS]: ExtraConsoleCommands;
9342
- [ISCFeature.ITEM_POOL_DETECTION]: ItemPoolDetection;
9343
- [ISCFeature.MODDED_ELEMENT_DETECTION]: ModdedElementDetection;
9344
- [ISCFeature.MODDED_ELEMENT_SETS]: ModdedElementSets;
9345
- [ISCFeature.NO_SIREN_STEAL]: NoSirenSteal;
9346
- [ISCFeature.PAUSE]: Pause;
9347
- [ISCFeature.PERSISTENT_ENTITIES]: PersistentEntities;
9348
- [ISCFeature.PICKUP_INDEX_CREATION]: PickupIndexCreation;
9349
- [ISCFeature.PLAYER_COLLECTIBLE_TRACKING]: PlayerCollectibleTracking;
9350
- [ISCFeature.PONY_DETECTION]: PonyDetection;
9351
- [ISCFeature.PRESS_INPUT]: PressInput;
9352
- [ISCFeature.PREVENT_CHILD_ENTITIES]: PreventChildEntities;
9353
- [ISCFeature.PREVENT_GRID_ENTITY_RESPAWN]: PreventGridEntityRespawn;
9354
- [ISCFeature.RERUN_DETECTION]: RerunDetection;
9355
- [ISCFeature.ROOM_CLEAR_FRAME]: RoomClearFrame;
9356
- [ISCFeature.ROOM_HISTORY]: RoomHistory;
9357
- [ISCFeature.RUN_IN_N_FRAMES]: RunInNFrames;
9358
- [ISCFeature.RUN_NEXT_ROOM]: RunNextRoom;
9359
- [ISCFeature.RUN_NEXT_RUN]: RunNextRun;
9360
- [ISCFeature.SAVE_DATA_MANAGER]: SaveDataManager;
9361
- [ISCFeature.SPAWN_ALT_ROCK_REWARDS]: SpawnRockAltRewards;
9362
- [ISCFeature.STAGE_HISTORY]: StageHistory;
9363
- [ISCFeature.START_AMBUSH]: StartAmbush;
9364
- [ISCFeature.TAINTED_LAZARUS_PLAYERS]: TaintedLazarusPlayers;
9365
- [ISCFeature.UNLOCK_ACHIEVEMENTS_DETECTION]: UnlockAchievementsDetection;
9320
+ readonly [ISCFeature.CUSTOM_REVIVE]: CustomRevive;
9321
+ readonly [ISCFeature.ESAU_JR_DETECTION]: EsauJrDetection;
9322
+ readonly [ISCFeature.FLIP_DETECTION]: FlipDetection;
9323
+ readonly [ISCFeature.GRID_ENTITY_COLLISION_DETECTION]: GridEntityCollisionDetection;
9324
+ readonly [ISCFeature.GRID_ENTITY_RENDER_DETECTION]: GridEntityRenderDetection;
9325
+ readonly [ISCFeature.GRID_ENTITY_UPDATE_DETECTION]: GridEntityUpdateDetection;
9326
+ readonly [ISCFeature.GAME_REORDERED_CALLBACKS]: GameReorderedCallbacks;
9327
+ readonly [ISCFeature.ITEM_PICKUP_DETECTION]: ItemPickupDetection;
9328
+ readonly [ISCFeature.PICKUP_CHANGE_DETECTION]: PickupChangeDetection;
9329
+ readonly [ISCFeature.PLAYER_COLLECTIBLE_DETECTION]: PlayerCollectibleDetection;
9330
+ readonly [ISCFeature.PLAYER_REORDERED_CALLBACKS]: PlayerReorderedCallbacks;
9331
+ readonly [ISCFeature.SLOT_DESTROYED_DETECTION]: SlotDestroyedDetection;
9332
+ readonly [ISCFeature.SLOT_RENDER_DETECTION]: SlotRenderDetection;
9333
+ readonly [ISCFeature.SLOT_UPDATE_DETECTION]: SlotUpdateDetection;
9334
+ readonly [ISCFeature.CHARACTER_HEALTH_CONVERSION]: CharacterHealthConversion;
9335
+ readonly [ISCFeature.CHARACTER_STATS]: CharacterStats;
9336
+ readonly [ISCFeature.COLLECTIBLE_ITEM_POOL_TYPE]: CollectibleItemPoolType;
9337
+ readonly [ISCFeature.CUSTOM_GRID_ENTITIES]: CustomGridEntities;
9338
+ readonly [ISCFeature.CUSTOM_ITEM_POOLS]: CustomItemPools;
9339
+ readonly [ISCFeature.CUSTOM_HOTKEYS]: CustomHotkeys;
9340
+ readonly [ISCFeature.CUSTOM_PICKUPS]: CustomPickups;
9341
+ readonly [ISCFeature.CUSTOM_STAGES]: CustomStages;
9342
+ readonly [ISCFeature.CUSTOM_TRAPDOORS]: CustomTrapdoors;
9343
+ readonly [ISCFeature.DEBUG_DISPLAY]: DebugDisplay;
9344
+ readonly [ISCFeature.DEPLOY_JSON_ROOM]: DeployJSONRoom;
9345
+ readonly [ISCFeature.DISABLE_ALL_SOUND]: DisableAllSound;
9346
+ readonly [ISCFeature.DISABLE_INPUTS]: DisableInputs;
9347
+ readonly [ISCFeature.EDEN_STARTING_STATS_HEALTH]: EdenStartingStatsHealth;
9348
+ readonly [ISCFeature.FADE_IN_REMOVER]: FadeInRemover;
9349
+ readonly [ISCFeature.FAST_RESET]: FastReset;
9350
+ readonly [ISCFeature.FLYING_DETECTION]: FlyingDetection;
9351
+ readonly [ISCFeature.FORGOTTEN_SWITCH]: ForgottenSwitch;
9352
+ readonly [ISCFeature.EXTRA_CONSOLE_COMMANDS]: ExtraConsoleCommands;
9353
+ readonly [ISCFeature.ITEM_POOL_DETECTION]: ItemPoolDetection;
9354
+ readonly [ISCFeature.MODDED_ELEMENT_DETECTION]: ModdedElementDetection;
9355
+ readonly [ISCFeature.MODDED_ELEMENT_SETS]: ModdedElementSets;
9356
+ readonly [ISCFeature.NO_SIREN_STEAL]: NoSirenSteal;
9357
+ readonly [ISCFeature.PAUSE]: Pause;
9358
+ readonly [ISCFeature.PERSISTENT_ENTITIES]: PersistentEntities;
9359
+ readonly [ISCFeature.PICKUP_INDEX_CREATION]: PickupIndexCreation;
9360
+ readonly [ISCFeature.PLAYER_COLLECTIBLE_TRACKING]: PlayerCollectibleTracking;
9361
+ readonly [ISCFeature.PONY_DETECTION]: PonyDetection;
9362
+ readonly [ISCFeature.PRESS_INPUT]: PressInput;
9363
+ readonly [ISCFeature.PREVENT_CHILD_ENTITIES]: PreventChildEntities;
9364
+ readonly [ISCFeature.PREVENT_GRID_ENTITY_RESPAWN]: PreventGridEntityRespawn;
9365
+ readonly [ISCFeature.RERUN_DETECTION]: RerunDetection;
9366
+ readonly [ISCFeature.ROOM_CLEAR_FRAME]: RoomClearFrame;
9367
+ readonly [ISCFeature.ROOM_HISTORY]: RoomHistory;
9368
+ readonly [ISCFeature.RUN_IN_N_FRAMES]: RunInNFrames;
9369
+ readonly [ISCFeature.RUN_NEXT_ROOM]: RunNextRoom;
9370
+ readonly [ISCFeature.RUN_NEXT_RUN]: RunNextRun;
9371
+ readonly [ISCFeature.SAVE_DATA_MANAGER]: SaveDataManager;
9372
+ readonly [ISCFeature.SPAWN_ALT_ROCK_REWARDS]: SpawnRockAltRewards;
9373
+ readonly [ISCFeature.STAGE_HISTORY]: StageHistory;
9374
+ readonly [ISCFeature.START_AMBUSH]: StartAmbush;
9375
+ readonly [ISCFeature.TAINTED_LAZARUS_PLAYERS]: TaintedLazarusPlayers;
9376
+ readonly [ISCFeature.UNLOCK_ACHIEVEMENTS_DETECTION]: UnlockAchievementsDetection;
9366
9377
  }
9367
9378
 
9368
9379
  declare type ISCFeatureTuple<T extends readonly ISCFeature[]> = ISCFeature extends T["length"] ? 'The list of features must be a tuple. Use the "as const" assertion when declaring the array.' : T;
@@ -10486,15 +10497,15 @@ export declare function isVoidDoor(door: GridEntityDoor): boolean;
10486
10497
  export declare const itemConfig: ItemConfig;
10487
10498
 
10488
10499
  declare class ItemPickupDetection extends Feature {
10500
+ private readonly postItemPickup;
10501
+ private readonly preItemPickup;
10502
+ private readonly postPEffectUpdateReordered;
10489
10503
  v: {
10490
10504
  run: {
10491
10505
  playersPickingUpItemMap: DefaultMap<PlayerIndex, PickingUpItem, []>;
10492
10506
  };
10493
10507
  };
10494
- private readonly postItemPickup;
10495
- private readonly preItemPickup;
10496
10508
  constructor(postItemPickup: PostItemPickup, preItemPickup: PreItemPickup);
10497
- private readonly postPEffectUpdateReordered;
10498
10509
  private queueEmpty;
10499
10510
  private queueNotEmpty;
10500
10511
  }
@@ -10586,13 +10597,13 @@ export declare function jsonDecode(jsonString: string): LuaMap<AnyNotNil, unknow
10586
10597
 
10587
10598
  /** Part of `JSONRoomsFile`. */
10588
10599
  export declare interface JSONDoor {
10589
- $: {
10600
+ readonly $: {
10590
10601
  /** Equal to "True" or "False". Needs to be converted to an `boolean`. */
10591
- exists: string;
10602
+ readonly exists: string;
10592
10603
  /** Needs to be converted to an `int`. */
10593
- x: string;
10604
+ readonly x: string;
10594
10605
  /** Needs to be converted to an `int`. */
10595
- y: string;
10606
+ readonly y: string;
10596
10607
  };
10597
10608
  }
10598
10609
 
@@ -10610,46 +10621,46 @@ export declare function jsonEncode(luaTable: unknown): string;
10610
10621
 
10611
10622
  /** Part of `JSONRoomsFile`. */
10612
10623
  export declare interface JSONEntity {
10613
- $: {
10624
+ readonly $: {
10614
10625
  /** Needs to be converted to an `int`. */
10615
- type: string;
10626
+ readonly type: string;
10616
10627
  /** Needs to be converted to an `int`. */
10617
- variant: string;
10628
+ readonly variant: string;
10618
10629
  /** Needs to be converted to an `int`. */
10619
- subtype: string;
10630
+ readonly subtype: string;
10620
10631
  /** Needs to be converted to a `float`. */
10621
- weight: string;
10632
+ readonly weight: string;
10622
10633
  };
10623
10634
  }
10624
10635
 
10625
10636
  /** Part of `JSONRoomsFile`. */
10626
10637
  export declare interface JSONRoom {
10627
- $: {
10638
+ readonly $: {
10628
10639
  /** Needs to be converted to an `int`. */
10629
- difficulty: string;
10640
+ readonly difficulty: string;
10630
10641
  /** Needs to be converted to an `int`. */
10631
- height: string;
10632
- name: string;
10642
+ readonly height: string;
10643
+ readonly name: string;
10633
10644
  /** Needs to be converted to an `int`. */
10634
- shape: string;
10645
+ readonly shape: string;
10635
10646
  /** Needs to be converted to an `int`. */
10636
- subtype: string;
10647
+ readonly subtype: string;
10637
10648
  /** Needs to be converted to an `int`. */
10638
- type: string;
10649
+ readonly type: string;
10639
10650
  /** Needs to be converted to an `int`. */
10640
- variant: string;
10651
+ readonly variant: string;
10641
10652
  /** Needs to be converted to a `float`. */
10642
- weight: string;
10653
+ readonly weight: string;
10643
10654
  /** Needs to be converted to an `int`. */
10644
- width: string;
10655
+ readonly width: string;
10645
10656
  };
10646
- door: JSONDoor[];
10647
- spawn: JSONSpawn[];
10657
+ readonly door: readonly JSONDoor[];
10658
+ readonly spawn: readonly JSONSpawn[];
10648
10659
  }
10649
10660
 
10650
10661
  /** Part of `JSONRoomsFile`. */
10651
10662
  export declare interface JSONRooms {
10652
- room: JSONRoom[];
10663
+ readonly room: readonly JSONRoom[];
10653
10664
  }
10654
10665
 
10655
10666
  /**
@@ -10668,18 +10679,18 @@ export declare interface JSONRooms {
10668
10679
  * specifically.
10669
10680
  */
10670
10681
  export declare interface JSONRoomsFile {
10671
- rooms: JSONRooms;
10682
+ readonly rooms: JSONRooms;
10672
10683
  }
10673
10684
 
10674
10685
  /** Part of `JSONRoomsFile`. */
10675
10686
  export declare interface JSONSpawn {
10676
- $: {
10687
+ readonly $: {
10677
10688
  /** Needs to be converted to an `int`. */
10678
- x: string;
10689
+ readonly x: string;
10679
10690
  /** Needs to be converted to an `int`. */
10680
- y: string;
10691
+ readonly y: string;
10681
10692
  };
10682
- entity: JSONEntity[];
10693
+ readonly entity: readonly JSONEntity[];
10683
10694
  }
10684
10695
 
10685
10696
  /**
@@ -14776,14 +14787,32 @@ export declare const MODIFIER_KEYS: readonly [Keyboard.LEFT_SHIFT, Keyboard.LEFT
14776
14787
  * corresponds to the internal-type `ModUpgradedWithFeatures` type, which extends `ModUpgraded`.)
14777
14788
  */
14778
14789
  export declare class ModUpgraded implements Mod {
14779
- Name: string;
14780
14790
  /** We store a copy of the original mod object so that we can re-implement its functions. */
14781
14791
  private readonly mod;
14782
14792
  private readonly debug;
14783
14793
  private readonly timeThreshold;
14784
14794
  private readonly callbacks;
14785
14795
  private readonly features;
14796
+ readonly Name: string;
14786
14797
  constructor(mod: Mod, debug: boolean, timeThreshold?: float);
14798
+ /**
14799
+ * This is used to initialize both custom callbacks and "extra features".
14800
+ *
14801
+ * This mirrors the `uninitFeature` method.
14802
+ */
14803
+ private initFeature;
14804
+ /**
14805
+ * This is used to uninitialize both custom callbacks and "extra features".
14806
+ *
14807
+ * This mirrors the `initFeature` method.
14808
+ */
14809
+ private uninitFeature;
14810
+ /**
14811
+ * Returns the names of the exported class methods from the features that were added. This is
14812
+ * called from the "upgradeMod" function, but we want to mark it as private so that end-users
14813
+ * don't have access to it.
14814
+ */
14815
+ private initOptionalFeature;
14787
14816
  AddCallback<T extends keyof AddCallbackParameters | string>(modCallback: T, ...args: T extends keyof AddCallbackParameters ? AddCallbackParameters[T] : unknown[]): void;
14788
14817
  AddPriorityCallback<T extends keyof AddCallbackParameters | string>(modCallback: T, priority: CallbackPriority | int, ...args: T extends keyof AddCallbackParameters ? AddCallbackParameters[T] : unknown[]): void;
14789
14818
  HasData(): boolean;
@@ -14821,24 +14850,6 @@ export declare class ModUpgraded implements Mod {
14821
14850
  * profiling.
14822
14851
  */
14823
14852
  logUsedFeatures(): void;
14824
- /**
14825
- * This is used to initialize both custom callbacks and "extra features".
14826
- *
14827
- * This mirrors the `uninitFeature` method.
14828
- */
14829
- private initFeature;
14830
- /**
14831
- * This is used to uninitialize both custom callbacks and "extra features".
14832
- *
14833
- * This mirrors the `initFeature` method.
14834
- */
14835
- private uninitFeature;
14836
- /**
14837
- * Returns the names of the exported class methods from the features that were added. This is
14838
- * called from the "upgradeMod" function, but we want to mark it as private so that end-users
14839
- * don't have access to it.
14840
- */
14841
- private initOptionalFeature;
14842
14853
  }
14843
14854
 
14844
14855
  /**
@@ -15440,8 +15451,8 @@ export declare function parseSemanticVersion(versionString: string): {
15440
15451
  declare class Pause extends Feature {
15441
15452
  private readonly disableInputs;
15442
15453
  private readonly postUpdate;
15443
- private stopTearsAndProjectilesFromMoving;
15444
15454
  private readonly inputActionGetActionValue;
15455
+ private stopTearsAndProjectilesFromMoving;
15445
15456
  /**
15446
15457
  * Helper function to check if the pause feature from `isaacscript-common` is currently
15447
15458
  * pseudo-pausing the game.
@@ -15476,12 +15487,12 @@ declare class Pause extends Feature {
15476
15487
  declare class PersistentEntities extends Feature {
15477
15488
  private readonly roomHistory;
15478
15489
  private readonly postEntityRemove;
15490
+ private readonly postNewRoomReordered;
15479
15491
  /**
15480
15492
  * The persistent entity is despawning because the player is in the process of leaving the room.
15481
15493
  * Keep track of the position for later.
15482
15494
  */
15483
15495
  private trackDespawningPickupPosition;
15484
- private readonly postNewRoomReordered;
15485
15496
  private spawnAndTrack;
15486
15497
  /**
15487
15498
  * Helper function to stop an entity spawned with the `spawnPersistentEntity` helper function from
@@ -15491,12 +15502,12 @@ declare class PersistentEntities extends Feature {
15491
15502
  *
15492
15503
  * @param persistentEntityIndex The index that was returned by the `spawnPersistentEntity`
15493
15504
  * function.
15494
- * @param removeEntity Optional. True by default. Set to false if you want to stop an entity from
15495
- * being persistent but you don't want to actually remove the
15496
- * currently-spawned entity from the room.
15505
+ * @param shouldRemoveEntity Optional. True by default. Set to false if you want to stop an entity
15506
+ * from being persistent but you don't want to actually remove the
15507
+ * currently-spawned entity from the room.
15497
15508
  * @public
15498
15509
  */
15499
- removePersistentEntity(persistentEntityIndex: int, removeEntity?: boolean): void;
15510
+ removePersistentEntity(persistentEntityIndex: int, shouldRemoveEntity?: boolean): void;
15500
15511
  /**
15501
15512
  * Helper function to spawn an entity that will have persistence similar to a pickup.
15502
15513
  *
@@ -15549,16 +15560,16 @@ export declare interface PickingUpItemTrinket {
15549
15560
  }
15550
15561
 
15551
15562
  declare class PickupChangeDetection extends Feature {
15563
+ private readonly postPickupChanged;
15564
+ private readonly pickupIndexCreation;
15565
+ private readonly postPickupUpdate;
15552
15566
  v: {
15553
15567
  room: {
15554
15568
  pickupVariants: Map<PickupIndex, PickupVariant>;
15555
15569
  pickupSubTypes: Map<PickupIndex, int>;
15556
15570
  };
15557
15571
  };
15558
- private readonly postPickupChanged;
15559
- private readonly pickupIndexCreation;
15560
15572
  constructor(postPickupChanged: PostPickupChanged, pickupIndexCreation: PickupIndexCreation);
15561
- private readonly postPickupUpdate;
15562
15573
  }
15563
15574
 
15564
15575
  /**
@@ -15583,9 +15594,9 @@ declare class PickupIndexCreation extends Feature {
15583
15594
  private readonly roomHistory;
15584
15595
  private readonly saveDataManager;
15585
15596
  private readonly postPickupInit;
15597
+ private readonly postEntityRemovePickup;
15586
15598
  private setPickupIndex;
15587
15599
  private getPickupIndexFromPreviousData;
15588
- private readonly postEntityRemovePickup;
15589
15600
  private checkDespawningFromPlayerLeavingRoom;
15590
15601
  /**
15591
15602
  * This is a pickup that is despawning because the player is in the process of leaving the room.
@@ -15636,6 +15647,19 @@ export declare const PILL_NAME_TO_EFFECT_MAP: ReadonlyMap<string, PillEffect>;
15636
15647
  export declare function playChargeSoundEffect(player: EntityPlayer, activeSlot?: ActiveSlot): void;
15637
15648
 
15638
15649
  declare class PlayerCollectibleDetection extends Feature {
15650
+ private readonly postPlayerCollectibleAdded;
15651
+ private readonly postPlayerCollectibleRemoved;
15652
+ private readonly moddedElementSets;
15653
+ private readonly runInNFrames;
15654
+ private readonly postUseItemD4;
15655
+ /** We need to handle the case of Tainted Eden taking damage. */
15656
+ private readonly entityTakeDmgPlayer;
15657
+ /**
15658
+ * We need to handle TMTRAINER collectibles, since they do not cause the player's collectible
15659
+ * count to change.
15660
+ */
15661
+ private readonly postItemPickup;
15662
+ private readonly postPEffectUpdateReordered;
15639
15663
  v: {
15640
15664
  run: {
15641
15665
  playersCollectibleCount: DefaultMap<PlayerIndex, int, []>;
@@ -15643,10 +15667,6 @@ declare class PlayerCollectibleDetection extends Feature {
15643
15667
  playersActiveItemMap: DefaultMap<PlayerIndex, Map<ActiveSlot, CollectibleType>, []>;
15644
15668
  };
15645
15669
  };
15646
- private readonly postPlayerCollectibleAdded;
15647
- private readonly postPlayerCollectibleRemoved;
15648
- private readonly moddedElementSets;
15649
- private readonly runInNFrames;
15650
15670
  constructor(postPlayerCollectibleAdded: PostPlayerCollectibleAdded, postPlayerCollectibleRemoved: PostPlayerCollectibleRemoved, moddedElementSets: ModdedElementSets, runInNFrames: RunInNFrames);
15651
15671
  /**
15652
15672
  * This is called when the collectible count changes and in situations where the entire build is
@@ -15661,15 +15681,6 @@ declare class PlayerCollectibleDetection extends Feature {
15661
15681
  * rerolled.
15662
15682
  */
15663
15683
  private updateCollectibleMapAndFire;
15664
- private readonly postUseItemD4;
15665
- /** We need to handle the case of Tainted Eden taking damage. */
15666
- private readonly entityTakeDmgPlayer;
15667
- /**
15668
- * We need to handle TMTRAINER collectibles, since they do not cause the player's collectible
15669
- * count to change.
15670
- */
15671
- private readonly postItemPickup;
15672
- private readonly postPEffectUpdateReordered;
15673
15684
  /**
15674
15685
  * Checking for collectible count will work to detect when a player swaps their active item for
15675
15686
  * another active item. This is because the collectible count will decrement by 1 when the item is
@@ -15746,19 +15757,19 @@ export declare function playerHasHealthLeft(player: EntityPlayer): boolean;
15746
15757
 
15747
15758
  /** This is used by the `getPlayerHealth` and `setPlayerHealth` helper functions. */
15748
15759
  export declare interface PlayerHealth {
15749
- maxHearts: int;
15750
- hearts: int;
15751
- eternalHearts: int;
15760
+ readonly maxHearts: int;
15761
+ readonly hearts: int;
15762
+ readonly eternalHearts: int;
15752
15763
  /** For soul hearts to apply, they also have to be specified in the `soulHeartTypes` array. */
15753
- soulHearts: int;
15764
+ readonly soulHearts: int;
15754
15765
  /** For bone hearts to apply, they also have to be specified in the `soulHeartTypes` array. */
15755
- boneHearts: int;
15756
- goldenHearts: int;
15757
- rottenHearts: int;
15758
- brokenHearts: int;
15759
- soulCharges: int;
15760
- bloodCharges: int;
15761
- soulHeartTypes: SoulHeartType[];
15766
+ readonly boneHearts: int;
15767
+ readonly goldenHearts: int;
15768
+ readonly rottenHearts: int;
15769
+ readonly brokenHearts: int;
15770
+ readonly soulCharges: int;
15771
+ readonly bloodCharges: int;
15772
+ readonly soulHeartTypes: readonly SoulHeartType[];
15762
15773
  }
15763
15774
 
15764
15775
  /**
@@ -15780,6 +15791,13 @@ export declare type PlayerIndex = int & {
15780
15791
  };
15781
15792
 
15782
15793
  declare class PlayerReorderedCallbacks extends Feature {
15794
+ private readonly postPEffectUpdateReordered;
15795
+ private readonly postPlayerRenderReordered;
15796
+ private readonly postPlayerUpdateReordered;
15797
+ private readonly postPEffectUpdate;
15798
+ private readonly postPlayerUpdate;
15799
+ private readonly postPlayerRender;
15800
+ private readonly postGameStartedReorderedLast;
15783
15801
  v: {
15784
15802
  run: {
15785
15803
  postGameStartedFiredOnThisRun: boolean;
@@ -15788,14 +15806,7 @@ declare class PlayerReorderedCallbacks extends Feature {
15788
15806
  postPlayerRenderQueue: QueueElement[];
15789
15807
  };
15790
15808
  };
15791
- private readonly postPEffectUpdateReordered;
15792
- private readonly postPlayerRenderReordered;
15793
- private readonly postPlayerUpdateReordered;
15794
15809
  constructor(postPEffectUpdateReordered: PostPEffectUpdateReordered, postPlayerRenderReordered: PostPlayerRenderReordered, postPlayerUpdateReordered: PostPlayerUpdateReordered);
15795
- private readonly postPEffectUpdate;
15796
- private readonly postPlayerUpdate;
15797
- private readonly postPlayerRender;
15798
- private readonly postGameStartedReorderedLast;
15799
15810
  }
15800
15811
 
15801
15812
  /** This represents the kinds of stats that a player can have. */
@@ -15833,26 +15844,26 @@ export declare enum PlayerStat {
15833
15844
  * is a `float` type.
15834
15845
  */
15835
15846
  export declare interface PlayerStats {
15836
- [PlayerStat.DAMAGE]: float;
15837
- [PlayerStat.FIRE_DELAY]: float;
15838
- [PlayerStat.SHOT_SPEED]: float;
15839
- [PlayerStat.TEAR_HEIGHT]: float;
15840
- [PlayerStat.TEAR_RANGE]: float;
15841
- [PlayerStat.TEAR_FALLING_ACCELERATION]: float;
15842
- [PlayerStat.TEAR_FALLING_SPEED]: float;
15843
- [PlayerStat.MOVE_SPEED]: float;
15844
- [PlayerStat.TEAR_FLAG]: BitFlags<TearFlag>;
15845
- [PlayerStat.TEAR_COLOR]: Color;
15846
- [PlayerStat.FLYING]: boolean;
15847
- [PlayerStat.LUCK]: float;
15848
- [PlayerStat.SIZE]: Vector;
15847
+ readonly [PlayerStat.DAMAGE]: float;
15848
+ readonly [PlayerStat.FIRE_DELAY]: float;
15849
+ readonly [PlayerStat.SHOT_SPEED]: float;
15850
+ readonly [PlayerStat.TEAR_HEIGHT]: float;
15851
+ readonly [PlayerStat.TEAR_RANGE]: float;
15852
+ readonly [PlayerStat.TEAR_FALLING_ACCELERATION]: float;
15853
+ readonly [PlayerStat.TEAR_FALLING_SPEED]: float;
15854
+ readonly [PlayerStat.MOVE_SPEED]: float;
15855
+ readonly [PlayerStat.TEAR_FLAG]: Readonly<BitFlags<TearFlag>>;
15856
+ readonly [PlayerStat.TEAR_COLOR]: Readonly<Color>;
15857
+ readonly [PlayerStat.FLYING]: boolean;
15858
+ readonly [PlayerStat.LUCK]: float;
15859
+ readonly [PlayerStat.SIZE]: Readonly<Vector>;
15849
15860
  }
15850
15861
 
15851
15862
  /** This is used by the `getPocketItems` and related helper functions. */
15852
15863
  export declare interface PocketItemDescription {
15853
- slot: PocketItemSlot;
15854
- type: PocketItemType;
15855
- subType: int;
15864
+ readonly slot: PocketItemSlot;
15865
+ readonly type: PocketItemType;
15866
+ readonly subType: int;
15856
15867
  }
15857
15868
 
15858
15869
  /** Helper function to see if two sets of pocket item descriptions are identical. */
@@ -15897,8 +15908,8 @@ declare class PonyDetection extends Feature {
15897
15908
  export declare type PossibleStatType = number | boolean | BitFlags<TearFlag> | Color | Vector;
15898
15909
 
15899
15910
  declare class PostCustomRevive extends CustomCallback<ModCallbackCustom.POST_CUSTOM_REVIVE> {
15900
- constructor();
15901
15911
  protected shouldFire: (fireArgs: FireArgs<T>, optionalArgs: OptionalArgs<T>) => boolean;
15912
+ constructor();
15902
15913
  }
15903
15914
 
15904
15915
  declare class PostEsauJr extends CustomCallback<ModCallbackCustom.POST_ESAU_JR> {
@@ -15918,143 +15929,143 @@ declare class PostFlip extends CustomCallback<ModCallbackCustom.POST_FLIP> {
15918
15929
  }
15919
15930
 
15920
15931
  declare class PostGridEntityBroken extends CustomCallback<ModCallbackCustom.POST_GRID_ENTITY_BROKEN> {
15921
- constructor();
15922
15932
  protected shouldFire: typeof shouldFireGridEntity;
15933
+ constructor();
15923
15934
  }
15924
15935
 
15925
15936
  declare class PostGridEntityCollision extends CustomCallback<T_2> {
15926
- constructor();
15927
15937
  protected shouldFire: (fireArgs: FireArgs<T_2>, optionalArgs: OptionalArgs<T_2>) => boolean;
15938
+ constructor();
15928
15939
  }
15929
15940
 
15930
15941
  declare class PostGridEntityCustomBroken extends CustomCallback<ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_BROKEN> {
15931
- constructor();
15932
15942
  protected shouldFire: typeof shouldFireGridEntityCustom;
15943
+ constructor();
15933
15944
  }
15934
15945
 
15935
15946
  declare class PostGridEntityCustomCollision extends CustomCallback<T_3> {
15936
- constructor();
15937
15947
  protected shouldFire: (fireArgs: FireArgs<T_3>, optionalArgs: OptionalArgs<T_3>) => boolean;
15948
+ constructor();
15938
15949
  }
15939
15950
 
15940
15951
  declare class PostGridEntityCustomInit extends CustomCallback<ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_INIT> {
15941
- constructor();
15942
15952
  protected shouldFire: typeof shouldFireGridEntityCustom;
15953
+ constructor();
15943
15954
  }
15944
15955
 
15945
15956
  declare class PostGridEntityCustomRemove extends CustomCallback<T_5> {
15946
- constructor();
15947
15957
  protected shouldFire: (fireArgs: FireArgs<T_5>, optionalArgs: OptionalArgs<T_5>) => boolean;
15958
+ constructor();
15948
15959
  }
15949
15960
 
15950
15961
  declare class PostGridEntityCustomRender extends CustomCallback<ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_RENDER> {
15951
- constructor();
15952
15962
  protected shouldFire: typeof shouldFireGridEntityCustom;
15963
+ constructor();
15953
15964
  }
15954
15965
 
15955
15966
  declare class PostGridEntityCustomStateChanged extends CustomCallback<ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED> {
15956
- constructor();
15957
15967
  protected shouldFire: typeof shouldFireGridEntityCustom;
15968
+ constructor();
15958
15969
  }
15959
15970
 
15960
15971
  declare class PostGridEntityCustomUpdate extends CustomCallback<ModCallbackCustom.POST_GRID_ENTITY_CUSTOM_UPDATE> {
15961
- constructor();
15962
15972
  protected shouldFire: typeof shouldFireGridEntityCustom;
15973
+ constructor();
15963
15974
  }
15964
15975
 
15965
15976
  declare class PostGridEntityInit extends CustomCallback<ModCallbackCustom.POST_GRID_ENTITY_INIT> {
15966
- constructor();
15967
15977
  protected shouldFire: typeof shouldFireGridEntity;
15978
+ constructor();
15968
15979
  }
15969
15980
 
15970
15981
  declare class PostGridEntityRemove extends CustomCallback<T_4> {
15971
- constructor();
15972
15982
  protected shouldFire: (fireArgs: FireArgs<T_4>, optionalArgs: OptionalArgs<T_4>) => boolean;
15983
+ constructor();
15973
15984
  }
15974
15985
 
15975
15986
  declare class PostGridEntityRender extends CustomCallback<ModCallbackCustom.POST_GRID_ENTITY_RENDER> {
15976
- constructor();
15977
15987
  protected shouldFire: typeof shouldFireGridEntity;
15988
+ constructor();
15978
15989
  }
15979
15990
 
15980
15991
  declare class PostGridEntityStateChanged extends CustomCallback<ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED> {
15981
- constructor();
15982
15992
  protected shouldFire: typeof shouldFireGridEntity;
15993
+ constructor();
15983
15994
  }
15984
15995
 
15985
15996
  declare class PostGridEntityUpdate extends CustomCallback<ModCallbackCustom.POST_GRID_ENTITY_UPDATE> {
15986
- constructor();
15987
15997
  protected shouldFire: typeof shouldFireGridEntity;
15998
+ constructor();
15988
15999
  }
15989
16000
 
15990
16001
  declare class PostItemPickup extends CustomCallback<ModCallbackCustom.POST_ITEM_PICKUP> {
15991
- constructor();
15992
16002
  protected shouldFire: typeof shouldFireItemPickup;
16003
+ constructor();
15993
16004
  }
15994
16005
 
15995
16006
  declare class PostPEffectUpdateReordered extends CustomCallback<ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED> {
15996
- constructor();
15997
16007
  protected shouldFire: typeof shouldFirePlayer;
16008
+ constructor();
15998
16009
  }
15999
16010
 
16000
16011
  declare class PostPickupChanged extends CustomCallback<ModCallbackCustom.POST_PICKUP_CHANGED> {
16001
- constructor();
16002
16012
  protected shouldFire: typeof shouldFirePickup;
16013
+ constructor();
16003
16014
  }
16004
16015
 
16005
16016
  declare class PostPlayerCollectibleAdded extends CustomCallback<ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED> {
16006
- constructor();
16007
16017
  protected shouldFire: typeof shouldFireCollectibleType;
16018
+ constructor();
16008
16019
  }
16009
16020
 
16010
16021
  declare class PostPlayerCollectibleRemoved extends CustomCallback<ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED> {
16011
- constructor();
16012
16022
  protected shouldFire: typeof shouldFireCollectibleType;
16023
+ constructor();
16013
16024
  }
16014
16025
 
16015
16026
  declare class PostPlayerRenderReordered extends CustomCallback<ModCallbackCustom.POST_PLAYER_RENDER_REORDERED> {
16016
- constructor();
16017
16027
  protected shouldFire: typeof shouldFirePlayer;
16028
+ constructor();
16018
16029
  }
16019
16030
 
16020
16031
  declare class PostPlayerUpdateReordered extends CustomCallback<ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED> {
16021
- constructor();
16022
16032
  protected shouldFire: typeof shouldFirePlayer;
16033
+ constructor();
16023
16034
  }
16024
16035
 
16025
16036
  declare class PostSlotAnimationChanged extends CustomCallback<ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED> {
16026
- constructor();
16027
16037
  protected shouldFire: typeof shouldFireSlot;
16038
+ constructor();
16028
16039
  }
16029
16040
 
16030
16041
  declare class PostSlotDestroyed extends CustomCallback<ModCallbackCustom.POST_SLOT_DESTROYED> {
16031
- constructor();
16032
16042
  protected shouldFire: typeof shouldFireSlot;
16043
+ constructor();
16033
16044
  }
16034
16045
 
16035
16046
  declare class PostSlotInit extends CustomCallback<ModCallbackCustom.POST_SLOT_INIT> {
16036
- constructor();
16037
16047
  protected shouldFire: typeof shouldFireSlot;
16048
+ constructor();
16038
16049
  }
16039
16050
 
16040
16051
  declare class PostSlotRender extends CustomCallback<ModCallbackCustom.POST_SLOT_RENDER> {
16041
- constructor();
16042
16052
  protected shouldFire: typeof shouldFireSlot;
16053
+ constructor();
16043
16054
  }
16044
16055
 
16045
16056
  declare class PostSlotUpdate extends CustomCallback<ModCallbackCustom.POST_SLOT_UPDATE> {
16046
- constructor();
16047
16057
  protected shouldFire: typeof shouldFireSlot;
16058
+ constructor();
16048
16059
  }
16049
16060
 
16050
16061
  declare class PreCustomRevive extends CustomCallback<ModCallbackCustom.PRE_CUSTOM_REVIVE> {
16051
- constructor();
16052
16062
  protected shouldFire: typeof shouldFirePlayer;
16063
+ constructor();
16053
16064
  }
16054
16065
 
16055
16066
  declare class PreItemPickup extends CustomCallback<ModCallbackCustom.PRE_ITEM_PICKUP> {
16056
- constructor();
16057
16067
  protected shouldFire: typeof shouldFireItemPickup;
16068
+ constructor();
16058
16069
  }
16059
16070
 
16060
16071
  declare class PressInput extends Feature {
@@ -16162,8 +16173,8 @@ export declare type PublicInterface<T> = Pick<T, keyof T>;
16162
16173
  export declare const QUALITIES: readonly Quality[];
16163
16174
 
16164
16175
  declare interface QueueElement {
16165
- playerIndex: PlayerIndex;
16166
- renderOffset: Vector;
16176
+ readonly playerIndex: PlayerIndex;
16177
+ readonly renderOffset: Readonly<Vector>;
16167
16178
  }
16168
16179
 
16169
16180
  /** An alias for the `Map` constructor that returns a read-only map. */
@@ -16990,18 +17001,18 @@ declare class RoomClearFrame extends Feature {
16990
17001
 
16991
17002
  /** This is used by the room history feature of the standard library. */
16992
17003
  export declare interface RoomDescription {
16993
- startSeedString: string;
16994
- stage: LevelStage;
16995
- stageType: StageType;
16996
- stageID: StageID | -1;
16997
- dimension: Dimension;
16998
- roomType: RoomType;
16999
- roomVariant: int;
17000
- roomSubType: int;
17001
- roomName: string;
17002
- roomGridIndex: int;
17003
- roomListIndex: int;
17004
- roomVisitedCount: int;
17004
+ readonly startSeedString: string;
17005
+ readonly stage: LevelStage;
17006
+ readonly stageType: StageType;
17007
+ readonly stageID: StageID | -1;
17008
+ readonly dimension: Dimension;
17009
+ readonly roomType: RoomType;
17010
+ readonly roomVariant: int;
17011
+ readonly roomSubType: int;
17012
+ readonly roomName: string;
17013
+ readonly roomGridIndex: int;
17014
+ readonly roomListIndex: int;
17015
+ readonly roomVisitedCount: int;
17005
17016
  }
17006
17017
 
17007
17018
  /**
@@ -17109,7 +17120,7 @@ export declare function roomUpdateSafe(): void;
17109
17120
  /**
17110
17121
  * If rounding fails, this function returns 0.
17111
17122
  *
17112
- * From: http://lua-users.org/wiki/SimpleRound
17123
+ * From: https://lua-users.org/wiki/SimpleRound
17113
17124
  *
17114
17125
  * @param num The number to round.
17115
17126
  * @param numDecimalPlaces Optional. Default is 0.
@@ -17124,10 +17135,10 @@ export declare function round(num: float, numDecimalPlaces?: number): float;
17124
17135
  export declare function runDeepCopyTests(): void;
17125
17136
 
17126
17137
  declare class RunInNFrames extends Feature {
17127
- vConditionalFunc: () => boolean;
17128
17138
  private readonly roomHistory;
17129
17139
  private readonly postUpdate;
17130
17140
  private readonly postRender;
17141
+ vConditionalFunc: () => boolean;
17131
17142
  /**
17132
17143
  * Helper function to restart on the next render frame. Useful because it is impossible to restart
17133
17144
  * the game inside of the `POST_NEW_ROOM`, `POST_NEW_LEVEL`, or `POST_GAME_STARTED` callbacks when
@@ -17283,8 +17294,8 @@ declare class RunInNFrames extends Feature {
17283
17294
  export declare function runMergeTests(): void;
17284
17295
 
17285
17296
  declare class RunNextRoom extends Feature {
17286
- vConditionalFunc: () => boolean;
17287
17297
  private readonly postNewRoomReordered;
17298
+ vConditionalFunc: () => boolean;
17288
17299
  /**
17289
17300
  * Supply a function to run on the next `POST_NEW_ROOM` callback.
17290
17301
  *
@@ -17298,8 +17309,8 @@ declare class RunNextRoom extends Feature {
17298
17309
  }
17299
17310
 
17300
17311
  declare class RunNextRun extends Feature {
17301
- vConditionalFunc: () => boolean;
17302
17312
  private readonly postGameStartedReorderedFalse;
17313
+ vConditionalFunc: () => boolean;
17303
17314
  /**
17304
17315
  * Supply a function to run on the next `POST_GAME_STARTED` callback.
17305
17316
  *
@@ -17395,6 +17406,10 @@ declare class SaveDataManager extends Feature {
17395
17406
  private readonly preGameExit;
17396
17407
  private readonly postNewLevel;
17397
17408
  private readonly postNewRoomEarly;
17409
+ /**
17410
+ * Recursively traverses an object, collecting all of the class constructors that it encounters.
17411
+ */
17412
+ private storeClassConstructorsFromObject;
17398
17413
  /**
17399
17414
  * This is the entry point to the save data manager, a system which provides two major features:
17400
17415
  *
@@ -17499,10 +17514,6 @@ declare class SaveDataManager extends Feature {
17499
17514
  */
17500
17515
  saveDataManager<Persistent, Run, Level>(key: string | object, v: SaveData<Persistent, Run, Level>, conditionalFunc?: () => boolean): void;
17501
17516
  saveDataManager(key: string | object, v: SaveData, conditionalFunc: false): void;
17502
- /**
17503
- * Recursively traverses an object, collecting all of the class constructors that it encounters.
17504
- */
17505
- private storeClassConstructorsFromObject;
17506
17517
  /**
17507
17518
  * The save data manager will automatically load variables from disk at the appropriate times
17508
17519
  * (i.e. when a new run is started). Use this function to explicitly force the save data manager
@@ -17666,12 +17677,12 @@ export declare function serializeBitSet128(bitSet128: BitSet128): SerializedBitS
17666
17677
  */
17667
17678
  export declare function serializeColor(color: Color): SerializedColor;
17668
17679
 
17669
- export declare type SerializedBitSet128 = LuaMap<string, unknown> & {
17680
+ export declare type SerializedBitSet128 = Readonly<LuaMap<string, unknown>> & {
17670
17681
  readonly __serializedBitSet128Brand: symbol;
17671
17682
  readonly __kind: CopyableIsaacAPIClassType.BIT_SET_128;
17672
17683
  };
17673
17684
 
17674
- export declare type SerializedColor = LuaMap<string, unknown> & {
17685
+ export declare type SerializedColor = Readonly<LuaMap<string, unknown>> & {
17675
17686
  readonly __serializedColorBrand: symbol;
17676
17687
  readonly __kind: CopyableIsaacAPIClassType.COLOR;
17677
17688
  };
@@ -17684,17 +17695,17 @@ export declare type SerializedColor = LuaMap<string, unknown> & {
17684
17695
  */
17685
17696
  declare type SerializedIsaacAPIClass = SerializedBitSet128 | SerializedColor | SerializedKColor | SerializedRNG | SerializedVector;
17686
17697
 
17687
- export declare type SerializedKColor = LuaMap<string, unknown> & {
17698
+ export declare type SerializedKColor = Readonly<LuaMap<string, unknown>> & {
17688
17699
  readonly __serializedKColorBrand: symbol;
17689
17700
  readonly __kind: CopyableIsaacAPIClassType.K_COLOR;
17690
17701
  };
17691
17702
 
17692
- export declare type SerializedRNG = LuaMap<string, unknown> & {
17703
+ export declare type SerializedRNG = Readonly<LuaMap<string, unknown>> & {
17693
17704
  readonly __serializedRNGBrand: symbol;
17694
17705
  readonly __kind: CopyableIsaacAPIClassType.RNG;
17695
17706
  };
17696
17707
 
17697
- export declare type SerializedVector = LuaMap<string, unknown> & {
17708
+ export declare type SerializedVector = Readonly<LuaMap<string, unknown>> & {
17698
17709
  readonly __serializedVectorBrand: symbol;
17699
17710
  readonly __kind: CopyableIsaacAPIClassType.VECTOR;
17700
17711
  };
@@ -18207,18 +18218,18 @@ export declare function shuffleArrayInPlace(array: unknown[], seedOrRNG: Seed |
18207
18218
  export declare function sign(n: number): int;
18208
18219
 
18209
18220
  declare class SlotDestroyedDetection extends Feature {
18221
+ private readonly postSlotDestroyed;
18222
+ private readonly roomHistory;
18223
+ private readonly postEntityRemoveSlot;
18224
+ private readonly postSlotUpdate;
18210
18225
  v: {
18211
18226
  room: {
18212
18227
  destroyedSlotSet: Set<PtrHash>;
18213
18228
  };
18214
18229
  };
18215
- private readonly postSlotDestroyed;
18216
- private readonly roomHistory;
18217
18230
  constructor(postSlotDestroyed: PostSlotDestroyed, roomHistory: RoomHistory);
18218
- private readonly postEntityRemoveSlot;
18219
18231
  private postEntityRemoveSlotMachine;
18220
18232
  private postEntityRemoveBeggar;
18221
- private readonly postSlotUpdate;
18222
18233
  /**
18223
18234
  * Slots normally have an entity collision class of `EntityCollisionClass.ALL` (4) and a grid
18224
18235
  * collision class of `EntityGridCollisionClass.NONE` (0). When they are destroyed with a bomb,
@@ -18248,30 +18259,30 @@ export declare enum SlotDestructionType {
18248
18259
  }
18249
18260
 
18250
18261
  declare class SlotRenderDetection extends Feature {
18262
+ private readonly postSlotRender;
18263
+ private readonly postSlotAnimationChanged;
18264
+ private readonly postRender;
18251
18265
  v: {
18252
18266
  room: {
18253
18267
  slotAnimations: DefaultMap<PtrHash, string, [slot: Entity]>;
18254
18268
  brokenSlots: Set<PtrHash>;
18255
18269
  };
18256
18270
  };
18257
- private readonly postSlotRender;
18258
- private readonly postSlotAnimationChanged;
18259
18271
  constructor(postSlotRender: PostSlotRender, postSlotAnimationChanged: PostSlotAnimationChanged);
18260
- private readonly postRender;
18261
18272
  private checkSlotAnimationChanged;
18262
18273
  }
18263
18274
 
18264
18275
  declare class SlotUpdateDetection extends Feature {
18276
+ private readonly postSlotInit;
18277
+ private readonly postSlotUpdate;
18278
+ private readonly postUpdate;
18279
+ private readonly postNewRoomReordered;
18265
18280
  v: {
18266
18281
  room: {
18267
18282
  initializedSlots: Set<PtrHash>;
18268
18283
  };
18269
18284
  };
18270
- private readonly postSlotInit;
18271
- private readonly postSlotUpdate;
18272
18285
  constructor(postSlotInit: PostSlotInit, postSlotUpdate: PostSlotUpdate);
18273
- private readonly postUpdate;
18274
- private readonly postNewRoomReordered;
18275
18286
  private checkNewEntity;
18276
18287
  }
18277
18288
 
@@ -18566,12 +18577,12 @@ export declare function spawnGiantPoop(topLeftGridIndex: int): boolean;
18566
18577
  * @param gridIndexOrPosition The grid index or position in the room that you want to spawn the grid
18567
18578
  * entity at. If a position is specified, the closest grid index will be
18568
18579
  * used.
18569
- * @param removeExistingGridEntity Optional. Whether to remove the existing grid entity on the same
18570
- * tile, if it exists. Defaults to true. If false, this function
18571
- * will do nothing, since spawning a grid entity on top of another
18572
- * grid entity will not replace it.
18580
+ * @param shouldRemoveExistingGridEntity Optional. Whether to remove the existing grid entity on the
18581
+ * same tile, if it exists. Defaults to true. If false, this
18582
+ * function will do nothing, since spawning a grid entity on top of
18583
+ * another grid entity will not replace it.
18573
18584
  */
18574
- export declare function spawnGridEntity(gridEntityType: GridEntityType, gridIndexOrPosition: int | Vector, removeExistingGridEntity?: boolean): GridEntity | undefined;
18585
+ export declare function spawnGridEntity(gridEntityType: GridEntityType, gridIndexOrPosition: int | Vector, shouldRemoveExistingGridEntity?: boolean): GridEntity | undefined;
18575
18586
 
18576
18587
  /**
18577
18588
  * Helper function to spawn a grid entity with a specific variant.
@@ -18586,12 +18597,12 @@ export declare function spawnGridEntity(gridEntityType: GridEntityType, gridInde
18586
18597
  * @param gridIndexOrPosition The grid index or position in the room that you want to spawn the grid
18587
18598
  * entity at. If a position is specified, the closest grid index will be
18588
18599
  * used.
18589
- * @param removeExistingGridEntity Optional. Whether to remove the existing grid entity on the same
18590
- * tile, if it exists. Defaults to true. If false, this function
18591
- * will do nothing, since spawning a grid entity on top of another
18592
- * grid entity will not replace it.
18600
+ * @param shouldRemoveExistingGridEntity Optional. Whether to remove the existing grid entity on the
18601
+ * same tile, if it exists. Defaults to true. If false, this
18602
+ * function will do nothing, since spawning a grid entity on top of
18603
+ * another grid entity will not replace it.
18593
18604
  */
18594
- export declare function spawnGridEntityWithVariant(gridEntityType: GridEntityType, variant: int, gridIndexOrPosition: int | Vector, removeExistingGridEntity?: boolean): GridEntity | undefined;
18605
+ export declare function spawnGridEntityWithVariant(gridEntityType: GridEntityType, variant: int, gridIndexOrPosition: int | Vector, shouldRemoveExistingGridEntity?: boolean): GridEntity | undefined;
18595
18606
 
18596
18607
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.HEART` (10). */
18597
18608
  export declare function spawnHeart(heartSubType: HeartSubType, positionOrGridIndex: Vector | int, velocity?: Vector, spawner?: Entity, seedOrRNG?: Seed | RNG): EntityPickupHeart;
@@ -19032,8 +19043,8 @@ export declare const TAINTED_SAMSON_BERSERK_CHARGE_FROM_TAKING_DAMAGE = 10000;
19032
19043
  * Lazarus.
19033
19044
  */
19034
19045
  declare class TaintedLazarusPlayers extends Feature {
19035
- vConditionalFunc: () => boolean;
19036
19046
  private readonly postPlayerInit;
19047
+ vConditionalFunc: () => boolean;
19037
19048
  /**
19038
19049
  * Indexes are the `PtrHash`, values are the `EntityPtr` of the *other* Lazarus.
19039
19050
  *
@@ -19165,10 +19176,10 @@ export declare function trinketHasCacheFlag(trinketType: TrinketType, cacheFlag:
19165
19176
 
19166
19177
  /** This is used by the `temporarilyRemoveTrinkets` and related helper functions. */
19167
19178
  export declare interface TrinketSituation {
19168
- trinketTypeRemoved: TrinketType;
19169
- trinketType1: TrinketType;
19170
- trinketType2: TrinketType;
19171
- numSmeltedTrinkets: int;
19179
+ readonly trinketTypeRemoved: TrinketType;
19180
+ readonly trinketType1: TrinketType;
19181
+ readonly trinketType2: TrinketType;
19182
+ readonly numSmeltedTrinkets: int;
19172
19183
  }
19173
19184
 
19174
19185
  /**
@@ -19186,11 +19197,11 @@ export declare type TSTLClass = LuaMap<AnyNotNil, unknown> & {
19186
19197
  * (TypeScriptToLua transpiles TypeScript classes to a Lua table with a specific kind of metatable.)
19187
19198
  */
19188
19199
  export declare interface TSTLClassMetatable {
19189
- ____constructor: () => void;
19190
- __index: unknown;
19191
- constructor: {
19192
- name: string;
19193
- prototype: LuaMetatable<LuaMap<AnyNotNil, unknown>>;
19200
+ readonly ____constructor: () => void;
19201
+ readonly __index: unknown;
19202
+ readonly constructor: {
19203
+ readonly name: string;
19204
+ readonly prototype: Readonly<LuaMetatable<LuaMap<AnyNotNil, unknown>>>;
19194
19205
  };
19195
19206
  }
19196
19207