isaacscript-common 3.16.1 → 4.0.1-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (417) hide show
  1. package/cachedClasses.ts +39 -0
  2. package/callbacks/customRevive.lua +2 -1
  3. package/callbacks/customRevive.ts +215 -0
  4. package/callbacks/itemPickup.ts +101 -0
  5. package/callbacks/postAmbush.ts +73 -0
  6. package/callbacks/postBombExploded.ts +26 -0
  7. package/callbacks/postBombInitLate.ts +36 -0
  8. package/callbacks/postBoneSwing.ts +64 -0
  9. package/callbacks/postCollectibleInitFirst.ts +40 -0
  10. package/callbacks/postCursedTeleport.ts +183 -0
  11. package/callbacks/postCustomDoorEnter.lua +0 -7
  12. package/callbacks/postCustomDoorEnter.ts +292 -0
  13. package/callbacks/postDiceRoomActivated.ts +60 -0
  14. package/callbacks/postDoorRender.ts +26 -0
  15. package/callbacks/postDoorUpdate.ts +26 -0
  16. package/callbacks/postEffectInitLate.ts +36 -0
  17. package/callbacks/postEffectStateChanged.ts +43 -0
  18. package/callbacks/postEsauJr.ts +107 -0
  19. package/callbacks/postFamiliarInitLate.ts +36 -0
  20. package/callbacks/postFamiliarStateChanged.ts +43 -0
  21. package/callbacks/postFlip.ts +88 -0
  22. package/callbacks/postGreedModeWave.ts +41 -0
  23. package/callbacks/postGridEntity.ts +164 -0
  24. package/callbacks/postGridEntityCollision.ts +69 -0
  25. package/callbacks/postGridEntityRender.ts +26 -0
  26. package/callbacks/postHolyMantleRemoved.ts +55 -0
  27. package/callbacks/postItemDischarged.ts +149 -0
  28. package/callbacks/postKnifeInitLate.ts +36 -0
  29. package/callbacks/postLaserInitLate.ts +36 -0
  30. package/callbacks/postNPCInitLate.ts +36 -0
  31. package/callbacks/postNPCStateChanged.ts +42 -0
  32. package/callbacks/postNewRoomEarly.ts +90 -0
  33. package/callbacks/postPickupCollect.ts +48 -0
  34. package/callbacks/postPickupInitFirst.ts +70 -0
  35. package/callbacks/postPickupInitLate.ts +36 -0
  36. package/callbacks/postPickupStateChanged.ts +43 -0
  37. package/callbacks/postPitRender.ts +26 -0
  38. package/callbacks/postPitUpdate.ts +26 -0
  39. package/callbacks/postPlayerChangeHealth.ts +62 -0
  40. package/callbacks/postPlayerChangeType.ts +56 -0
  41. package/callbacks/postPlayerCollectible.ts +113 -0
  42. package/callbacks/postPlayerFatalDamage.ts +141 -0
  43. package/callbacks/postPlayerInitLate.ts +37 -0
  44. package/callbacks/postPlayerReordered.ts +142 -0
  45. package/callbacks/postPoopRender.ts +26 -0
  46. package/callbacks/postPoopUpdate.ts +26 -0
  47. package/callbacks/postPressurePlateRender.ts +26 -0
  48. package/callbacks/postPressurePlateUpdate.ts +26 -0
  49. package/callbacks/postProjectileInitLate.ts +36 -0
  50. package/callbacks/postPurchase.ts +64 -0
  51. package/callbacks/postRockRender.ts +26 -0
  52. package/callbacks/postRockUpdate.ts +26 -0
  53. package/callbacks/postRoomClearChanged.ts +57 -0
  54. package/callbacks/postSacrifice.ts +62 -0
  55. package/callbacks/postSlotDestroyed.ts +92 -0
  56. package/callbacks/postSlotInitUpdate.ts +68 -0
  57. package/callbacks/postSlotRender.ts +69 -0
  58. package/callbacks/postSpikesRender.ts +26 -0
  59. package/callbacks/postSpikesUpdate.ts +26 -0
  60. package/callbacks/postTNTRender.ts +26 -0
  61. package/callbacks/postTNTUpdate.ts +26 -0
  62. package/callbacks/postTearInitLate.ts +36 -0
  63. package/callbacks/postTearInitVeryLate.ts +41 -0
  64. package/callbacks/postTransformation.ts +59 -0
  65. package/callbacks/postTrinketBreak.ts +110 -0
  66. package/callbacks/preBerserkDeath.ts +49 -0
  67. package/callbacks/preNewLevel.ts +55 -0
  68. package/callbacks/reorderedCallbacks.ts +166 -0
  69. package/callbacks/subscriptions/postAmbushFinished.ts +32 -0
  70. package/callbacks/subscriptions/postAmbushStarted.ts +32 -0
  71. package/callbacks/subscriptions/postBombInitLate.ts +32 -0
  72. package/callbacks/subscriptions/postBoneExploded.ts +32 -0
  73. package/callbacks/subscriptions/postBoneSwing.ts +24 -0
  74. package/callbacks/subscriptions/postCollectibleInitFirst.ts +37 -0
  75. package/callbacks/subscriptions/postCursedTeleport.ts +24 -0
  76. package/callbacks/subscriptions/postCustomDoorEnter.ts +45 -0
  77. package/callbacks/subscriptions/postCustomRevive.ts +36 -0
  78. package/callbacks/subscriptions/postDiceRoomActivated.ts +38 -0
  79. package/callbacks/subscriptions/postDoorRender.ts +35 -0
  80. package/callbacks/subscriptions/postDoorUpdate.ts +35 -0
  81. package/callbacks/subscriptions/postEffectInitLate.ts +32 -0
  82. package/callbacks/subscriptions/postEffectStateChanged.ts +40 -0
  83. package/callbacks/subscriptions/postEsauJr.ts +24 -0
  84. package/callbacks/subscriptions/postFamiliarInitLate.ts +32 -0
  85. package/callbacks/subscriptions/postFamiliarStateChanged.ts +40 -0
  86. package/callbacks/subscriptions/postFirstEsauJr.ts +24 -0
  87. package/callbacks/subscriptions/postFirstFlip.ts +24 -0
  88. package/callbacks/subscriptions/postFlip.ts +22 -0
  89. package/callbacks/subscriptions/postGameStartedReordered.ts +24 -0
  90. package/callbacks/subscriptions/postGreedModeWave.ts +24 -0
  91. package/callbacks/subscriptions/postGridEntityBroken.ts +51 -0
  92. package/callbacks/subscriptions/postGridEntityCollision.ts +54 -0
  93. package/callbacks/subscriptions/postGridEntityInit.ts +51 -0
  94. package/callbacks/subscriptions/postGridEntityRemove.ts +52 -0
  95. package/callbacks/subscriptions/postGridEntityRender.ts +51 -0
  96. package/callbacks/subscriptions/postGridEntityStateChanged.ts +55 -0
  97. package/callbacks/subscriptions/postGridEntityUpdate.ts +51 -0
  98. package/callbacks/subscriptions/postHolyMantleRemoved.ts +48 -0
  99. package/callbacks/subscriptions/postItemDischarged.ts +43 -0
  100. package/callbacks/subscriptions/postItemPickup.ts +64 -0
  101. package/callbacks/subscriptions/postKnifeInitLate.ts +32 -0
  102. package/callbacks/subscriptions/postLaserInitLate.ts +32 -0
  103. package/callbacks/subscriptions/postNPCInitLate.ts +32 -0
  104. package/callbacks/subscriptions/postNPCStateChanged.ts +42 -0
  105. package/callbacks/subscriptions/postNewLevelReordered.ts +22 -0
  106. package/callbacks/subscriptions/postNewRoomEarly.ts +22 -0
  107. package/callbacks/subscriptions/postNewRoomReordered.ts +22 -0
  108. package/callbacks/subscriptions/postPEffectUpdateReordered.ts +40 -0
  109. package/callbacks/subscriptions/postPickupCollect.ts +35 -0
  110. package/callbacks/subscriptions/postPickupInitFirst.ts +32 -0
  111. package/callbacks/subscriptions/postPickupInitLate.ts +32 -0
  112. package/callbacks/subscriptions/postPickupStateChanged.ts +40 -0
  113. package/callbacks/subscriptions/postPitRender.ts +35 -0
  114. package/callbacks/subscriptions/postPitUpdate.ts +35 -0
  115. package/callbacks/subscriptions/postPlayerChangeHealth.ts +49 -0
  116. package/callbacks/subscriptions/postPlayerChangeType.ts +40 -0
  117. package/callbacks/subscriptions/postPlayerCollectibleAdded.d.ts +2 -3
  118. package/callbacks/subscriptions/postPlayerCollectibleAdded.lua +2 -7
  119. package/callbacks/subscriptions/postPlayerCollectibleAdded.ts +38 -0
  120. package/callbacks/subscriptions/postPlayerCollectibleRemoved.d.ts +2 -3
  121. package/callbacks/subscriptions/postPlayerCollectibleRemoved.lua +2 -7
  122. package/callbacks/subscriptions/postPlayerCollectibleRemoved.ts +38 -0
  123. package/callbacks/subscriptions/postPlayerFatalDamage.d.ts +1 -1
  124. package/callbacks/subscriptions/postPlayerFatalDamage.ts +68 -0
  125. package/callbacks/subscriptions/postPlayerInitLate.ts +40 -0
  126. package/callbacks/subscriptions/postPlayerInitReordered.ts +40 -0
  127. package/callbacks/subscriptions/postPlayerRenderReordered.ts +40 -0
  128. package/callbacks/subscriptions/postPlayerUpdateReordered.ts +40 -0
  129. package/callbacks/subscriptions/postPoopRender.ts +35 -0
  130. package/callbacks/subscriptions/postPoopUpdate.ts +35 -0
  131. package/callbacks/subscriptions/postPressurePlateRender.ts +37 -0
  132. package/callbacks/subscriptions/postPressurePlateUpdate.ts +37 -0
  133. package/callbacks/subscriptions/postProjectileInitLate.ts +35 -0
  134. package/callbacks/subscriptions/postPurchase.ts +31 -0
  135. package/callbacks/subscriptions/postRockRender.ts +35 -0
  136. package/callbacks/subscriptions/postRockUpdate.ts +35 -0
  137. package/callbacks/subscriptions/postRoomClearChanged.ts +30 -0
  138. package/callbacks/subscriptions/postSacrifice.ts +43 -0
  139. package/callbacks/subscriptions/postSlotAnimationChanged.ts +40 -0
  140. package/callbacks/subscriptions/postSlotDestroyed.ts +55 -0
  141. package/callbacks/subscriptions/postSlotInit.ts +32 -0
  142. package/callbacks/subscriptions/postSlotRender.ts +32 -0
  143. package/callbacks/subscriptions/postSlotUpdate.ts +32 -0
  144. package/callbacks/subscriptions/postSpikesRender.ts +35 -0
  145. package/callbacks/subscriptions/postSpikesUpdate.ts +35 -0
  146. package/callbacks/subscriptions/postTNTRender.ts +35 -0
  147. package/callbacks/subscriptions/postTNTUpdate.ts +35 -0
  148. package/callbacks/subscriptions/postTearInitLate.ts +32 -0
  149. package/callbacks/subscriptions/postTearInitVeryLate.ts +32 -0
  150. package/callbacks/subscriptions/postTransformation.ts +40 -0
  151. package/callbacks/subscriptions/postTrinketBreak.ts +38 -0
  152. package/callbacks/subscriptions/preBerserkDeath.d.ts +1 -1
  153. package/callbacks/subscriptions/preBerserkDeath.ts +42 -0
  154. package/callbacks/subscriptions/preCustomRevive.d.ts +1 -1
  155. package/callbacks/subscriptions/preCustomRevive.ts +46 -0
  156. package/callbacks/subscriptions/preItemPickup.ts +64 -0
  157. package/callbacks/subscriptions/preNewLevel.ts +24 -0
  158. package/classes/DefaultMap.ts +174 -0
  159. package/classes/ModUpgraded.d.ts +3 -3
  160. package/classes/ModUpgraded.lua +3 -6
  161. package/classes/ModUpgraded.ts +77 -0
  162. package/constants.ts +162 -0
  163. package/constantsFirstLast.ts +217 -0
  164. package/enums/AmbushType.ts +4 -0
  165. package/enums/HealthType.ts +16 -0
  166. package/enums/ModCallbackCustom.d.ts +20 -18
  167. package/enums/ModCallbackCustom.ts +1278 -0
  168. package/enums/PocketItemType.ts +8 -0
  169. package/enums/SerializationType.ts +5 -0
  170. package/enums/SlotDestructionType.ts +4 -0
  171. package/enums/private/CopyableIsaacAPIClassType.ts +7 -0
  172. package/enums/private/SaveDataKey.ts +14 -0
  173. package/enums/private/SerializationBrand.ts +42 -0
  174. package/features/characterHealthConversion.lua +2 -9
  175. package/features/characterHealthConversion.ts +111 -0
  176. package/features/characterStats.ts +61 -0
  177. package/features/debugDisplay/debugDisplay.ts +221 -0
  178. package/features/debugDisplay/exports.ts +368 -0
  179. package/features/debugDisplay/v.ts +65 -0
  180. package/features/deployJSONRoom.ts +743 -0
  181. package/features/disableInputs.ts +193 -0
  182. package/features/disableSound.ts +77 -0
  183. package/features/extraConsoleCommands/commandsDisplay.ts +290 -0
  184. package/features/extraConsoleCommands/commandsSubroutines.lua +1 -1
  185. package/features/extraConsoleCommands/commandsSubroutines.ts +139 -0
  186. package/features/extraConsoleCommands/init.ts +334 -0
  187. package/features/extraConsoleCommands/listCommands.ts +1299 -0
  188. package/features/extraConsoleCommands/v.ts +14 -0
  189. package/features/fadeInRemover.ts +60 -0
  190. package/features/fastReset.ts +75 -0
  191. package/features/forgottenSwitch.ts +50 -0
  192. package/features/getCollectibleItemPoolType.ts +66 -0
  193. package/features/persistentEntities.ts +183 -0
  194. package/features/playerInventory.ts +133 -0
  195. package/features/ponyDetection.ts +74 -0
  196. package/features/preventCollectibleRotation.ts +115 -0
  197. package/features/runInNFrames.ts +148 -0
  198. package/features/saveDataManager/constants.ts +4 -0
  199. package/features/saveDataManager/exports.ts +229 -0
  200. package/features/saveDataManager/load.ts +99 -0
  201. package/features/saveDataManager/main.ts +195 -0
  202. package/features/saveDataManager/maps.ts +13 -0
  203. package/features/saveDataManager/merge.ts +194 -0
  204. package/features/saveDataManager/save.ts +74 -0
  205. package/features/saveDataManager/serializationBrand.ts +16 -0
  206. package/features/sirenHelpers.ts +129 -0
  207. package/features/taintedLazarusPlayers.ts +113 -0
  208. package/featuresInitialized.ts +20 -0
  209. package/functions/ambush.ts +47 -0
  210. package/functions/array.ts +410 -0
  211. package/functions/benchmark.ts +36 -0
  212. package/functions/bitwise.ts +24 -0
  213. package/functions/bombs.ts +12 -0
  214. package/functions/boss.ts +227 -0
  215. package/functions/cacheFlag.ts +12 -0
  216. package/functions/cards.lua +1 -1
  217. package/functions/cards.ts +271 -0
  218. package/functions/challenges.ts +13 -0
  219. package/functions/character.ts +126 -0
  220. package/functions/charge.ts +237 -0
  221. package/functions/chargeBar.ts +67 -0
  222. package/functions/collectibleCacheFlag.ts +90 -0
  223. package/functions/collectibleSet.ts +56 -0
  224. package/functions/collectibleTag.ts +89 -0
  225. package/functions/collectibles.ts +659 -0
  226. package/functions/color.d.ts +1 -1
  227. package/functions/color.lua +0 -7
  228. package/functions/color.ts +128 -0
  229. package/functions/debug.lua +2 -2
  230. package/functions/debug.ts +68 -0
  231. package/functions/deepCopy.lua +46 -51
  232. package/functions/deepCopy.ts +535 -0
  233. package/functions/deepCopyTests.ts +386 -0
  234. package/functions/direction.ts +49 -0
  235. package/functions/doors.lua +1 -2
  236. package/functions/doors.ts +347 -0
  237. package/functions/easing.ts +182 -0
  238. package/functions/eden.ts +47 -0
  239. package/functions/effects.ts +20 -0
  240. package/functions/entity.ts +439 -0
  241. package/functions/entitySpecific.ts +889 -0
  242. package/functions/entityTypes.ts +6 -0
  243. package/functions/enums.ts +146 -0
  244. package/functions/familiars.ts +106 -0
  245. package/functions/flag.ts +165 -0
  246. package/functions/flying.ts +117 -0
  247. package/functions/globals.d.ts +3 -3
  248. package/functions/globals.lua +8 -2
  249. package/functions/globals.ts +242 -0
  250. package/functions/gridEntity.ts +511 -0
  251. package/functions/gridEntitySpecific.ts +112 -0
  252. package/functions/input.ts +139 -0
  253. package/functions/isaacAPIClass.ts +67 -0
  254. package/functions/jsonHelpers.ts +45 -0
  255. package/functions/jsonRoom.ts +100 -0
  256. package/functions/kColor.d.ts +1 -1
  257. package/functions/kColor.lua +0 -7
  258. package/functions/kColor.ts +129 -0
  259. package/functions/language.ts +13 -0
  260. package/functions/level.ts +31 -0
  261. package/functions/log.ts +720 -0
  262. package/functions/map.ts +56 -0
  263. package/functions/math.ts +149 -0
  264. package/functions/mergeTests.ts +288 -0
  265. package/functions/npc.ts +148 -0
  266. package/functions/pickupVariants.ts +60 -0
  267. package/functions/pickups.ts +499 -0
  268. package/functions/pills.lua +1 -1
  269. package/functions/pills.ts +205 -0
  270. package/functions/player.lua +0 -6
  271. package/functions/player.ts +1060 -0
  272. package/functions/playerDataStructures.ts +150 -0
  273. package/functions/playerHealth.d.ts +2 -0
  274. package/functions/playerHealth.lua +73 -39
  275. package/functions/playerHealth.ts +382 -0
  276. package/functions/playerIndex.ts +195 -0
  277. package/functions/pocketItems.ts +149 -0
  278. package/functions/positionVelocity.ts +188 -0
  279. package/functions/random.ts +77 -0
  280. package/functions/revive.ts +201 -0
  281. package/functions/rng.d.ts +1 -1
  282. package/functions/rng.lua +0 -7
  283. package/functions/rng.ts +172 -0
  284. package/functions/roomData.ts +199 -0
  285. package/functions/roomGrid.ts +109 -0
  286. package/functions/roomShape.ts +80 -0
  287. package/functions/rooms.lua +1 -3
  288. package/functions/rooms.ts +648 -0
  289. package/functions/run.ts +36 -0
  290. package/functions/saveFile.ts +128 -0
  291. package/functions/seeds.ts +19 -0
  292. package/functions/serialization.lua +0 -3
  293. package/functions/serialization.ts +91 -0
  294. package/functions/set.ts +95 -0
  295. package/functions/sound.ts +9 -0
  296. package/functions/spawnCollectible.ts +104 -0
  297. package/functions/sprite.ts +107 -0
  298. package/functions/stage.ts +125 -0
  299. package/functions/string.ts +47 -0
  300. package/functions/table.ts +189 -0
  301. package/functions/tears.ts +32 -0
  302. package/functions/transformations.lua +1 -3
  303. package/functions/transformations.ts +131 -0
  304. package/functions/trinketCacheFlag.ts +60 -0
  305. package/functions/trinketGive.ts +157 -0
  306. package/functions/trinkets.ts +215 -0
  307. package/functions/tstlClass.ts +157 -0
  308. package/functions/types.ts +36 -0
  309. package/functions/ui.ts +138 -0
  310. package/functions/utils.d.ts +0 -37
  311. package/functions/utils.lua +0 -35
  312. package/functions/utils.ts +189 -0
  313. package/functions/vector.d.ts +1 -1
  314. package/functions/vector.lua +0 -7
  315. package/functions/vector.ts +126 -0
  316. package/index.ts +172 -0
  317. package/initCustomCallbacks.ts +132 -0
  318. package/initFeatures.ts +39 -0
  319. package/interfaces/AddCallbackParameterCustom.ts +188 -0
  320. package/interfaces/ChargeBarSprites.ts +12 -0
  321. package/interfaces/JSONDoor.d.ts +4 -4
  322. package/interfaces/JSONDoor.ts +13 -0
  323. package/interfaces/JSONEntity.d.ts +5 -5
  324. package/interfaces/JSONEntity.ts +16 -0
  325. package/interfaces/JSONRoom.d.ts +9 -9
  326. package/interfaces/JSONRoom.ts +36 -0
  327. package/interfaces/JSONRooms.ts +12 -0
  328. package/interfaces/JSONSpawn.d.ts +3 -3
  329. package/interfaces/JSONSpawn.ts +14 -0
  330. package/interfaces/PlayerHealth.ts +16 -0
  331. package/interfaces/PocketItemDescription.ts +9 -0
  332. package/interfaces/SaveData.ts +29 -0
  333. package/interfaces/TrinketSituation.ts +9 -0
  334. package/interfaces/private/TSTLClassMetatable.ts +8 -0
  335. package/maps/PHDPillConversions.ts +21 -0
  336. package/maps/cardMap.ts +209 -0
  337. package/maps/characterMap.ts +87 -0
  338. package/maps/collectibleDescriptionMap.ts +732 -0
  339. package/maps/collectibleNameMap.ts +731 -0
  340. package/maps/defaultPlayerStatMap.ts +17 -0
  341. package/maps/falsePHDPillConversions.ts +35 -0
  342. package/maps/gridEntityTypeToBrokenStateMap.ts +50 -0
  343. package/maps/gridEntityXMLMap.ts +176 -0
  344. package/maps/pillEffectMap.ts +88 -0
  345. package/maps/roomShapeToTopLeftWallGridIndexMap.ts +18 -0
  346. package/maps/roomTypeMap.ts +40 -0
  347. package/maps/trinketDescriptionMap.ts +200 -0
  348. package/maps/trinketNameMap.ts +198 -0
  349. package/objects/LRoomShapeToRectangles.ts +44 -0
  350. package/objects/callbackRegisterFunctions.ts +187 -0
  351. package/objects/cardDescriptions.ts +105 -0
  352. package/objects/cardNames.ts +105 -0
  353. package/objects/cardTypes.ts +104 -0
  354. package/objects/challengeNames.ts +52 -0
  355. package/objects/characterNames.ts +48 -0
  356. package/objects/coinSubTypeToValue.ts +14 -0
  357. package/objects/colors.ts +16 -0
  358. package/objects/directionNames.ts +11 -0
  359. package/objects/directionToDegrees.ts +11 -0
  360. package/objects/directionToVector.ts +12 -0
  361. package/objects/doorSlotFlagToDoorSlot.ts +16 -0
  362. package/objects/doorSlotToDirection.ts +14 -0
  363. package/objects/isaacAPIClassTypeToBrand.ts +11 -0
  364. package/objects/isaacAPIClassTypeToCopyFunction.ts +18 -0
  365. package/objects/languageNames.ts +13 -0
  366. package/objects/oppositeDoorSlots.ts +15 -0
  367. package/objects/pillEffectClasses.ts +63 -0
  368. package/objects/pillEffectNames.ts +57 -0
  369. package/objects/pillEffectTypes.ts +62 -0
  370. package/objects/roomShapeBounds.ts +71 -0
  371. package/objects/roomShapeLayoutSizes.ts +45 -0
  372. package/objects/roomShapeToBottomRightPosition.ts +25 -0
  373. package/objects/roomShapeToDoorSlots.ts +83 -0
  374. package/objects/roomShapeToDoorSlotsToGridIndexDelta.ts +127 -0
  375. package/objects/roomShapeToGridWidth.ts +21 -0
  376. package/objects/roomShapeToTopLeftPosition.ts +26 -0
  377. package/objects/roomShapeVolumes.ts +38 -0
  378. package/objects/roomTypeNames.ts +36 -0
  379. package/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +14 -0
  380. package/objects/stageTypeToLetter.ts +15 -0
  381. package/objects/transformationNames.d.ts +0 -1
  382. package/objects/transformationNames.lua +0 -1
  383. package/objects/transformationNames.ts +18 -0
  384. package/package.json +2 -2
  385. package/patchErrorFunctions.ts +92 -0
  386. package/sets/LRoomShapesSet.ts +8 -0
  387. package/sets/bossSets.ts +470 -0
  388. package/sets/charactersThatStartWithAnActiveItemSet.ts +16 -0
  389. package/sets/charactersWithBlackHeartFromEternalHeartSet.ts +7 -0
  390. package/sets/charactersWithFreeDevilDealsSet.ts +4 -0
  391. package/sets/charactersWithNoRedHeartsSet.ts +17 -0
  392. package/sets/charactersWithNoSoulHeartsSet.ts +14 -0
  393. package/sets/chestPickupVariantsSet.ts +16 -0
  394. package/sets/familiarsThatShootPlayerTearsSet.ts +13 -0
  395. package/sets/lostStyleCharactersSet.ts +13 -0
  396. package/sets/mineShaftRoomSubTypesSet.ts +10 -0
  397. package/sets/redHeartSubTypesSet.ts +7 -0
  398. package/sets/sinEntityTypesSet.ts +11 -0
  399. package/sets/singleUseActiveCollectibleTypesSet.ts +13 -0
  400. package/sets/storyBossesSet.ts +17 -0
  401. package/types/AnyEntity.ts +12 -0
  402. package/types/AwaitingTextInput.d.ts +2 -0
  403. package/types/CollectibleIndex.d.ts +1 -1
  404. package/types/CollectibleIndex.ts +16 -0
  405. package/types/PickingUpItem.d.ts +3 -3
  406. package/types/PickingUpItem.ts +89 -0
  407. package/types/PlayerIndex.d.ts +1 -1
  408. package/types/PlayerIndex.ts +13 -0
  409. package/types/private/IsaacAPIClass.d.ts +1 -1
  410. package/types/private/IsaacAPIClass.ts +3 -0
  411. package/types/private/SerializedIsaacAPIClass.d.ts +1 -1
  412. package/types/private/SerializedIsaacAPIClass.ts +3 -0
  413. package/types/private/TSTLClass.d.ts +1 -1
  414. package/types/private/TSTLClass.ts +3 -0
  415. package/upgradeMod.d.ts +2 -2
  416. package/upgradeMod.lua +2 -2
  417. package/upgradeMod.ts +55 -0
@@ -0,0 +1,189 @@
1
+ import { RenderMode } from "isaac-typescript-definitions";
2
+ import { game } from "../cachedClasses";
3
+
4
+ const HEX_STRING_LENGTH = 6;
5
+
6
+ /**
7
+ * Helper function to return an array with the elements from start to end. It is inclusive at the
8
+ * start and exclusive at the end. (The "e" stands for exclusive.)
9
+ *
10
+ * For example, `erange(1, 3)` will return `[1, 2]`.
11
+ *
12
+ * If only one argument is specified, then it will assume that the start is 0.
13
+ */
14
+ export function erange(start: int, end?: int): int[] {
15
+ if (end === undefined) {
16
+ end = start;
17
+ start = 0;
18
+ }
19
+
20
+ const array: int[] = [];
21
+ for (let i = start; i < end; i++) {
22
+ array.push(i);
23
+ }
24
+
25
+ return array;
26
+ }
27
+
28
+ /**
29
+ * Helper function to log what is happening in functions that recursively move through nested data
30
+ * structures.
31
+ */
32
+ export function getTraversalDescription(
33
+ key: unknown,
34
+ traversalDescription: string,
35
+ ): string {
36
+ if (traversalDescription !== "") {
37
+ traversalDescription += " --> ";
38
+ }
39
+
40
+ traversalDescription += tostring(key);
41
+
42
+ return traversalDescription;
43
+ }
44
+
45
+ /**
46
+ * Converts a hex string like "#33aa33" to a KColor object.
47
+ *
48
+ * @param hexString A hex string like "#ffffff" or "ffffff". (The "#" character is optional.)
49
+ */
50
+ export function hexToKColor(hexString: string, alpha: float): KColor {
51
+ hexString = hexString.replace("#", "");
52
+ if (hexString.length !== HEX_STRING_LENGTH) {
53
+ error(`Hex strings must be of length ${HEX_STRING_LENGTH}.`);
54
+ }
55
+
56
+ const rString = hexString.substr(0, 2);
57
+ const R = tonumber(`0x${rString}`);
58
+ if (R === undefined) {
59
+ error(`Failed to convert \`0x${rString}\` to a number.`);
60
+ }
61
+
62
+ const gString = hexString.substr(2, 2);
63
+ const G = tonumber(`0x${gString}`);
64
+ if (G === undefined) {
65
+ error(`Failed to convert \`0x${gString}\` to a number.`);
66
+ }
67
+
68
+ const bString = hexString.substr(4, 2);
69
+ const B = tonumber(`0x${bString}`);
70
+ if (B === undefined) {
71
+ error(`Failed to convert \`0x${bString}\` to a number.`);
72
+ }
73
+
74
+ // KColor values should be between 0 and 1.
75
+ const base = 255;
76
+ return KColor(R / base, G / base, B / base, alpha);
77
+ }
78
+
79
+ /**
80
+ * Helper function to return an array with the elements from start to end, inclusive. (The "i"
81
+ * stands for inclusive.)
82
+ *
83
+ * For example, `irange(1, 3)` will return `[1, 2, 3]`.
84
+ *
85
+ * If only one argument is specified, then it will assume that the start is 0.
86
+ */
87
+ export function irange(start: int, end?: int): int[] {
88
+ if (end === undefined) {
89
+ end = start;
90
+ start = 0;
91
+ }
92
+
93
+ const array: int[] = [];
94
+ for (let i = start; i <= end; i++) {
95
+ array.push(i);
96
+ }
97
+
98
+ return array;
99
+ }
100
+
101
+ /**
102
+ * Since this is a UI element, we do not want to draw it in water reflections. `renderOffset` will
103
+ * be a non-zero value in reflections.
104
+ */
105
+ export function isReflectionRender(): boolean {
106
+ const room = game.GetRoom();
107
+ const renderMode = room.GetRenderMode();
108
+ return renderMode === RenderMode.WATER_REFLECT;
109
+ }
110
+
111
+ /**
112
+ * Helper function to print something to the in-game console. Use this instead of invoking the
113
+ * `Isaac.ConsoleOutput` method directly because it will automatically insert a newline at the end
114
+ * of the message (which `Isaac.ConsoleOutput` does not do by default).
115
+ */
116
+ export function printConsole(msg: string): void {
117
+ Isaac.ConsoleOutput(`${msg}\n`);
118
+ }
119
+
120
+ /** Helper function to print whether something was enabled or disabled to the in-game console. */
121
+ export function printEnabled(enabled: boolean, description: string): void {
122
+ const enabledText = enabled ? "Enabled" : "Disabled";
123
+ printConsole(`${enabledText} ${description}.`);
124
+ }
125
+
126
+ /**
127
+ * Helper function to repeat code N times. This is faster to type and cleaner than using a for loop.
128
+ *
129
+ * For example:
130
+ *
131
+ * ```ts
132
+ * const player = Isaac.GetPlayer();
133
+ * repeat(10, () => {
134
+ * player.AddCollectible(CollectibleType.STEVEN);
135
+ * });
136
+ * ```
137
+ *
138
+ * The repeated function is passed the index of the iteration, if needed:
139
+ *
140
+ * ```ts
141
+ * repeat(3, (i) => {
142
+ * print(i); // Prints "0", "1", "2"
143
+ * });
144
+ * ```
145
+ */
146
+ export function repeat(n: int, func: (i: int) => void): void {
147
+ for (let i = 0; i < n; i++) {
148
+ func(i);
149
+ }
150
+ }
151
+
152
+ /**
153
+ * Helper function to signify that the enclosing code block is not yet complete. Using this function
154
+ * is similar to writing a "TODO" comment, but it has the benefit of preventing ESLint errors due to
155
+ * early returns.
156
+ *
157
+ * When you see this function, it simply means that the programmer intends to add in more code to
158
+ * this spot later.
159
+ *
160
+ * This function does not actually do anything. (It is an "empty" function.)
161
+ */
162
+ export function todo(): void {}
163
+
164
+ /**
165
+ * Helper function to sort a two-dimensional array by the first element.
166
+ *
167
+ * For example:
168
+ *
169
+ * ```ts
170
+ * const myArray = [[1, 2], [2, 3], [3, 4]];
171
+ * myArray.sort(twoDimensionalSort);
172
+ * ```
173
+ *
174
+ * From:
175
+ * https://stackoverflow.com/questions/16096872/how-to-sort-2-dimensional-array-by-column-value
176
+ */
177
+ export function twoDimensionalSort<T>(a: T[], b: T[]): -1 | 0 | 1 {
178
+ if (a[0] === undefined || b[0] === undefined) {
179
+ error(
180
+ "Failed to two-dimensional sort since the first element of the array was undefined.",
181
+ );
182
+ }
183
+
184
+ if (a[0] === b[0]) {
185
+ return 0;
186
+ }
187
+
188
+ return a[0] < b[0] ? -1 : 1;
189
+ }
@@ -2,7 +2,7 @@
2
2
  import { Direction } from "isaac-typescript-definitions";
3
3
  import { SerializationType } from "../enums/SerializationType";
4
4
  declare type SerializedVector = LuaTable<string, unknown> & {
5
- __serializedVectorBrand: void;
5
+ readonly __serializedVectorBrand: unique symbol;
6
6
  };
7
7
  interface CopyVectorReturn {
8
8
  [SerializationType.NONE]: Vector;
@@ -15,8 +15,6 @@ local getNumbersFromTable = ____table.getNumbersFromTable
15
15
  local tableHasKeys = ____table.tableHasKeys
16
16
  local ____types = require("functions.types")
17
17
  local isTable = ____types.isTable
18
- local ____utils = require("functions.utils")
19
- local ensureAllCases = ____utils.ensureAllCases
20
18
  --- Helper function to check if something is an instantiated Vector object.
21
19
  function ____exports.isVector(self, object)
22
20
  return isIsaacAPIClassOfType(nil, object, OBJECT_NAME)
@@ -76,11 +74,6 @@ function ____exports.copyVector(self, vector, serializationType)
76
74
  return Vector(x, y)
77
75
  end
78
76
  end
79
- do
80
- do
81
- return ensureAllCases(nil, serializationType)
82
- end
83
- end
84
77
  until true
85
78
  end
86
79
  --- Used to determine is the given table is a serialized `Vector` object created by the save data
@@ -0,0 +1,126 @@
1
+ import { Direction } from "isaac-typescript-definitions";
2
+ import { SerializationBrand } from "../enums/private/SerializationBrand";
3
+ import { SerializationType } from "../enums/SerializationType";
4
+ import { angleToDirection } from "./direction";
5
+ import { isaacAPIClassEquals, isIsaacAPIClassOfType } from "./isaacAPIClass";
6
+ import { copyValuesToTable, getNumbersFromTable, tableHasKeys } from "./table";
7
+ import { isTable } from "./types";
8
+
9
+ type SerializedVector = LuaTable<string, unknown> & {
10
+ readonly __serializedVectorBrand: unique symbol;
11
+ };
12
+
13
+ interface CopyVectorReturn {
14
+ [SerializationType.NONE]: Vector;
15
+ [SerializationType.SERIALIZE]: SerializedVector;
16
+ [SerializationType.DESERIALIZE]: Vector;
17
+ }
18
+
19
+ const KEYS = ["X", "Y"];
20
+ const OBJECT_NAME = "Vector";
21
+
22
+ /**
23
+ * Helper function to copy a `Vector` object.
24
+ *
25
+ * @param vector The vector to copy. In the case of deserialization, this will actually be a Lua
26
+ * table instead of an instantiated Vector class.
27
+ * @param serializationType Default is `SerializationType.NONE`.
28
+ */
29
+ export function copyVector<
30
+ V extends Vector | SerializedVector,
31
+ S extends SerializationType,
32
+ >(vector: V, serializationType: S): CopyVectorReturn[S];
33
+ export function copyVector<V extends Vector | SerializedVector>(
34
+ vector: V,
35
+ ): CopyVectorReturn[SerializationType.NONE];
36
+ export function copyVector(
37
+ vector: Vector | SerializedVector,
38
+ serializationType = SerializationType.NONE,
39
+ ): CopyVectorReturn[keyof CopyVectorReturn] {
40
+ switch (serializationType) {
41
+ case SerializationType.NONE: {
42
+ if (!isVector(vector)) {
43
+ error(
44
+ `Failed to copy a ${OBJECT_NAME} object since the provided object was not a userdata ${OBJECT_NAME} class.`,
45
+ );
46
+ }
47
+
48
+ return Vector(vector.X, vector.Y);
49
+ }
50
+
51
+ case SerializationType.SERIALIZE: {
52
+ if (!isVector(vector)) {
53
+ error(
54
+ `Failed to serialize a ${OBJECT_NAME} object since the provided object was not a userdata ${OBJECT_NAME} class.`,
55
+ );
56
+ }
57
+
58
+ const vectorTable = new LuaTable<string, unknown>();
59
+ copyValuesToTable(vector, KEYS, vectorTable);
60
+ vectorTable.set(SerializationBrand.VECTOR, "");
61
+ return vectorTable as SerializedVector;
62
+ }
63
+
64
+ case SerializationType.DESERIALIZE: {
65
+ if (!isTable(vector)) {
66
+ error(
67
+ `Failed to deserialize a ${OBJECT_NAME} object since the provided object was not a Lua table.`,
68
+ );
69
+ }
70
+
71
+ const [x, y] = getNumbersFromTable(
72
+ vector as LuaTable<string, unknown>,
73
+ OBJECT_NAME,
74
+ ...KEYS,
75
+ );
76
+
77
+ if (x === undefined) {
78
+ error(
79
+ `Failed to deserialize a ${OBJECT_NAME} object since the provided object did not have a value for: x`,
80
+ );
81
+ }
82
+ if (y === undefined) {
83
+ error(
84
+ `Failed to deserialize a ${OBJECT_NAME} object since the provided object did not have a value for: y`,
85
+ );
86
+ }
87
+
88
+ return Vector(x, y);
89
+ }
90
+ }
91
+ }
92
+
93
+ /**
94
+ * Used to determine is the given table is a serialized `Vector` object created by the save data
95
+ * manager and/or the `deepCopy` function.
96
+ */
97
+ export function isSerializedVector(
98
+ object: unknown,
99
+ ): object is SerializedVector {
100
+ if (!isTable(object)) {
101
+ return false;
102
+ }
103
+
104
+ return tableHasKeys(object, ...KEYS) && object.has(SerializationBrand.VECTOR);
105
+ }
106
+
107
+ /** Helper function to check if something is an instantiated Vector object. */
108
+ export function isVector(object: unknown): object is Vector {
109
+ return isIsaacAPIClassOfType(object, OBJECT_NAME);
110
+ }
111
+
112
+ export function vectorEquals(vector1: Vector, vector2: Vector): boolean {
113
+ return isaacAPIClassEquals(vector1, vector2, KEYS);
114
+ }
115
+
116
+ /** Helper function for finding out which way a vector is pointing. */
117
+ export function vectorToDirection(vector: Vector): Direction {
118
+ const angleDegrees = vector.GetAngleDegrees();
119
+ return angleToDirection(angleDegrees);
120
+ }
121
+
122
+ export function vectorToString(vector: Vector, round = false): string {
123
+ const x = round ? Math.round(vector.X) : vector.X;
124
+ const y = round ? Math.round(vector.Y) : vector.Y;
125
+ return `(${x}, ${y})`;
126
+ }
package/index.ts ADDED
@@ -0,0 +1,172 @@
1
+ /* eslint-disable sort-exports/sort-exports */
2
+
3
+ export * from "./cachedClasses";
4
+ export {
5
+ initCustomDoor,
6
+ spawnCustomDoor,
7
+ } from "./callbacks/postCustomDoorEnter";
8
+ export {
9
+ forceNewLevelCallback,
10
+ forceNewRoomCallback,
11
+ } from "./callbacks/reorderedCallbacks";
12
+ export * from "./classes/DefaultMap";
13
+ export * from "./classes/ModUpgraded";
14
+ export * from "./constants";
15
+ export * from "./constantsFirstLast";
16
+ export * from "./enums/HealthType";
17
+ export * from "./enums/ModCallbackCustom";
18
+ export * from "./enums/PocketItemType";
19
+ export * from "./enums/SerializationType";
20
+ export {
21
+ ConversionHeartSubType,
22
+ registerCharacterHealthConversion,
23
+ } from "./features/characterHealthConversion";
24
+ export { registerCharacterStats } from "./features/characterStats";
25
+ export * from "./features/debugDisplay/exports";
26
+ export {
27
+ deployJSONRoom,
28
+ deployRandomJSONRoom,
29
+ emptyRoom,
30
+ } from "./features/deployJSONRoom";
31
+ export {
32
+ disableAllInputs,
33
+ disableAllInputsExceptFor,
34
+ disableMovementInputs,
35
+ disableShootingInputs,
36
+ enableAllInputs,
37
+ enableAllInputsExceptFor,
38
+ } from "./features/disableInputs";
39
+ export { disableAllSound, enableAllSound } from "./features/disableSound";
40
+ export {
41
+ addConsoleCommand,
42
+ enableExtraConsoleCommands,
43
+ removeConsoleCommand,
44
+ } from "./features/extraConsoleCommands/init";
45
+ export { removeFadeIn, restoreFadeIn } from "./features/fadeInRemover";
46
+ export { disableFastReset, enableFastReset } from "./features/fastReset";
47
+ export { forgottenSwitch } from "./features/forgottenSwitch";
48
+ export { getCollectibleItemPoolType } from "./features/getCollectibleItemPoolType";
49
+ export {
50
+ removePersistentEntity,
51
+ spawnPersistentEntity,
52
+ } from "./features/persistentEntities";
53
+ export { getPlayerInventory } from "./features/playerInventory";
54
+ export * from "./features/ponyDetection";
55
+ export { preventCollectibleRotation } from "./features/preventCollectibleRotation";
56
+ export {
57
+ runInNGameFrames,
58
+ runInNRenderFrames,
59
+ runNextGameFrame,
60
+ runNextRenderFrame,
61
+ } from "./features/runInNFrames";
62
+ export * from "./features/saveDataManager/exports";
63
+ export {
64
+ hasSirenStolenFamiliar,
65
+ setFamiliarNoSirenSteal,
66
+ } from "./features/sirenHelpers";
67
+ export { getTaintedLazarusSubPlayer } from "./features/taintedLazarusPlayers";
68
+ export * from "./functions/ambush";
69
+ export * from "./functions/array";
70
+ export * from "./functions/benchmark";
71
+ export * from "./functions/bitwise";
72
+ export * from "./functions/bombs";
73
+ export * from "./functions/boss";
74
+ export * from "./functions/cacheFlag";
75
+ export * from "./functions/cards";
76
+ export * from "./functions/challenges";
77
+ export * from "./functions/character";
78
+ export * from "./functions/charge";
79
+ export * from "./functions/chargeBar";
80
+ export * from "./functions/collectibleCacheFlag";
81
+ export * from "./functions/collectibles";
82
+ export * from "./functions/collectibleSet";
83
+ export * from "./functions/collectibleTag";
84
+ export * from "./functions/color";
85
+ export * from "./functions/debug";
86
+ export { deepCopy } from "./functions/deepCopy";
87
+ export { deepCopyTests } from "./functions/deepCopyTests";
88
+ export * from "./functions/direction";
89
+ export * from "./functions/doors";
90
+ export * from "./functions/easing";
91
+ export * from "./functions/eden";
92
+ export * from "./functions/effects";
93
+ export * from "./functions/entity";
94
+ export * from "./functions/entitySpecific";
95
+ export * from "./functions/entityTypes";
96
+ export * from "./functions/enums";
97
+ export * from "./functions/familiars";
98
+ export * from "./functions/flag";
99
+ export * from "./functions/flying";
100
+ export * from "./functions/globals";
101
+ export * from "./functions/gridEntity";
102
+ export * from "./functions/gridEntitySpecific";
103
+ export * from "./functions/input";
104
+ export * from "./functions/isaacAPIClass";
105
+ export * from "./functions/jsonHelpers";
106
+ export * from "./functions/jsonRoom";
107
+ export * from "./functions/kColor";
108
+ export * from "./functions/language";
109
+ export * from "./functions/level";
110
+ export * from "./functions/log";
111
+ export * from "./functions/map";
112
+ export * from "./functions/math";
113
+ export { mergeTests } from "./functions/mergeTests";
114
+ export * from "./functions/npc";
115
+ export * from "./functions/pickups";
116
+ export * from "./functions/pickupVariants";
117
+ export * from "./functions/pills";
118
+ export * from "./functions/player";
119
+ export * from "./functions/playerDataStructures";
120
+ export * from "./functions/playerHealth";
121
+ export * from "./functions/playerIndex";
122
+ export * from "./functions/pocketItems";
123
+ export * from "./functions/positionVelocity";
124
+ export * from "./functions/random";
125
+ export * from "./functions/revive";
126
+ export * from "./functions/rng";
127
+ export * from "./functions/roomData";
128
+ export * from "./functions/roomGrid";
129
+ export * from "./functions/rooms";
130
+ export * from "./functions/roomShape";
131
+ export * from "./functions/run";
132
+ export * from "./functions/saveFile";
133
+ export * from "./functions/seeds";
134
+ export * from "./functions/serialization";
135
+ export * from "./functions/set";
136
+ export * from "./functions/sound";
137
+ export * from "./functions/spawnCollectible";
138
+ export * from "./functions/sprite";
139
+ export * from "./functions/stage";
140
+ export * from "./functions/string";
141
+ export * from "./functions/table";
142
+ export * from "./functions/tears";
143
+ export * from "./functions/transformations";
144
+ export * from "./functions/trinketCacheFlag";
145
+ export * from "./functions/trinketGive";
146
+ export * from "./functions/trinkets";
147
+ export * from "./functions/tstlClass";
148
+ export * from "./functions/types";
149
+ export * from "./functions/ui";
150
+ export * from "./functions/utils";
151
+ export * from "./functions/vector";
152
+ export * from "./interfaces/AddCallbackParameterCustom";
153
+ export * from "./interfaces/ChargeBarSprites";
154
+ export * from "./interfaces/JSONDoor";
155
+ export * from "./interfaces/JSONEntity";
156
+ export * from "./interfaces/JSONRoom";
157
+ export * from "./interfaces/JSONRooms";
158
+ export * from "./interfaces/JSONSpawn";
159
+ export * from "./interfaces/PlayerHealth";
160
+ export * from "./interfaces/PocketItemDescription";
161
+ export * from "./interfaces/SaveData";
162
+ export * from "./interfaces/TrinketSituation";
163
+ export * from "./maps/cardMap";
164
+ export * from "./maps/characterMap";
165
+ export * from "./maps/pillEffectMap";
166
+ export * from "./maps/roomTypeMap";
167
+ export * from "./objects/colors";
168
+ export * from "./types/AnyEntity";
169
+ export * from "./types/CollectibleIndex";
170
+ export * from "./types/PickingUpItem";
171
+ export * from "./types/PlayerIndex";
172
+ export * from "./upgradeMod";
@@ -0,0 +1,132 @@
1
+ import { customReviveCallbacksInit } from "./callbacks/customRevive";
2
+ import { itemPickupCallbacksInit } from "./callbacks/itemPickup";
3
+ import { postAmbushCallbacksInit } from "./callbacks/postAmbush";
4
+ import { postBombExplodedInit } from "./callbacks/postBombExploded";
5
+ import { postBombInitLateInit } from "./callbacks/postBombInitLate";
6
+ import { postBoneSwingInit } from "./callbacks/postBoneSwing";
7
+ import { postCollectibleInitFirstInit } from "./callbacks/postCollectibleInitFirst";
8
+ import { postCursedTeleportInit } from "./callbacks/postCursedTeleport";
9
+ import { postCustomDoorEnterInit } from "./callbacks/postCustomDoorEnter";
10
+ import { postDiceRoomActivatedInit } from "./callbacks/postDiceRoomActivated";
11
+ import { postDoorRenderInit } from "./callbacks/postDoorRender";
12
+ import { postDoorUpdateInit } from "./callbacks/postDoorUpdate";
13
+ import { postEffectInitLateInit } from "./callbacks/postEffectInitLate";
14
+ import { postEffectStateChangedInit } from "./callbacks/postEffectStateChanged";
15
+ import { postEsauJrCallbacksInit } from "./callbacks/postEsauJr";
16
+ import { postFamiliarInitLateInit } from "./callbacks/postFamiliarInitLate";
17
+ import { postFamiliarStateChangedInit } from "./callbacks/postFamiliarStateChanged";
18
+ import { postFlipCallbacksInit } from "./callbacks/postFlip";
19
+ import { postGreedModeWaveInit } from "./callbacks/postGreedModeWave";
20
+ import { postGridEntityCallbacksInit } from "./callbacks/postGridEntity";
21
+ import { postGridEntityCollisionInit } from "./callbacks/postGridEntityCollision";
22
+ import { postGridEntityRenderInit } from "./callbacks/postGridEntityRender";
23
+ import { postHolyMantleRemovedInit } from "./callbacks/postHolyMantleRemoved";
24
+ import { postItemDischargeInit } from "./callbacks/postItemDischarged";
25
+ import { postKnifeInitLateInit } from "./callbacks/postKnifeInitLate";
26
+ import { postLaserInitLateInit } from "./callbacks/postLaserInitLate";
27
+ import { postNPCInitLateInit } from "./callbacks/postNPCInitLate";
28
+ import { postNPCStateChangedInit } from "./callbacks/postNPCStateChanged";
29
+ import { postPickupCollectInit } from "./callbacks/postPickupCollect";
30
+ import { postPickupInitFirstInit } from "./callbacks/postPickupInitFirst";
31
+ import { postPickupInitLateInit } from "./callbacks/postPickupInitLate";
32
+ import { postPickupStateChangedInit } from "./callbacks/postPickupStateChanged";
33
+ import { postPitRenderInit } from "./callbacks/postPitRender";
34
+ import { postPitUpdateInit } from "./callbacks/postPitUpdate";
35
+ import { postPlayerChangeHealthInit } from "./callbacks/postPlayerChangeHealth";
36
+ import { postPlayerChangeTypeInit } from "./callbacks/postPlayerChangeType";
37
+ import { postPlayerCollectibleCallbacksInit } from "./callbacks/postPlayerCollectible";
38
+ import { postPlayerFatalDamageInit } from "./callbacks/postPlayerFatalDamage";
39
+ import { postPlayerInitLateInit } from "./callbacks/postPlayerInitLate";
40
+ import { postPlayerReorderedCallbacksInit } from "./callbacks/postPlayerReordered";
41
+ import { postPoopRenderInit } from "./callbacks/postPoopRender";
42
+ import { postPoopUpdateInit } from "./callbacks/postPoopUpdate";
43
+ import { postPressurePlateRenderInit } from "./callbacks/postPressurePlateRender";
44
+ import { postPressurePlateUpdateInit } from "./callbacks/postPressurePlateUpdate";
45
+ import { postProjectileInitLateInit } from "./callbacks/postProjectileInitLate";
46
+ import { postPurchaseInit } from "./callbacks/postPurchase";
47
+ import { postRockRenderInit } from "./callbacks/postRockRender";
48
+ import { postRockUpdateInit } from "./callbacks/postRockUpdate";
49
+ import { postRoomClearChangedInit } from "./callbacks/postRoomClearChanged";
50
+ import { postSacrificeInit } from "./callbacks/postSacrifice";
51
+ import { postSlotDestroyedInit } from "./callbacks/postSlotDestroyed";
52
+ import { postSlotInitUpdateCallbacksInit } from "./callbacks/postSlotInitUpdate";
53
+ import { postSlotRenderCallbacksInit } from "./callbacks/postSlotRender";
54
+ import { postSpikesRenderInit } from "./callbacks/postSpikesRender";
55
+ import { postSpikesUpdateInit } from "./callbacks/postSpikesUpdate";
56
+ import { postTearInitLateInit } from "./callbacks/postTearInitLate";
57
+ import { postTearInitVeryLateInit } from "./callbacks/postTearInitVeryLate";
58
+ import { postTNTRenderInit } from "./callbacks/postTNTRender";
59
+ import { postTNTUpdateInit } from "./callbacks/postTNTUpdate";
60
+ import { postTransformationInit } from "./callbacks/postTransformation";
61
+ import { postTrinketBreakInit } from "./callbacks/postTrinketBreak";
62
+ import { preBerserkDeathInit } from "./callbacks/preBerserkDeath";
63
+ import { preNewLevelInit } from "./callbacks/preNewLevel";
64
+ import { reorderedCallbacksInit } from "./callbacks/reorderedCallbacks";
65
+ import { ModUpgraded } from "./classes/ModUpgraded";
66
+
67
+ export function initCustomCallbacks(mod: ModUpgraded): void {
68
+ customReviveCallbacksInit(mod);
69
+ itemPickupCallbacksInit(mod);
70
+ postAmbushCallbacksInit(mod);
71
+ postBombExplodedInit(mod);
72
+ postBombInitLateInit(mod);
73
+ postBoneSwingInit(mod);
74
+ postCollectibleInitFirstInit(mod);
75
+ postCursedTeleportInit(mod);
76
+ postCustomDoorEnterInit();
77
+ postDiceRoomActivatedInit(mod);
78
+ postDoorRenderInit(mod);
79
+ postDoorUpdateInit(mod);
80
+ postEffectInitLateInit(mod);
81
+ postEffectStateChangedInit(mod);
82
+ postEsauJrCallbacksInit(mod);
83
+ postFamiliarInitLateInit(mod);
84
+ postFamiliarStateChangedInit(mod);
85
+ postFlipCallbacksInit(mod);
86
+ postGreedModeWaveInit(mod);
87
+ postGridEntityCallbacksInit(mod);
88
+ postGridEntityCollisionInit(mod);
89
+ postGridEntityRenderInit(mod);
90
+ postHolyMantleRemovedInit(mod);
91
+ postItemDischargeInit(mod);
92
+ postLaserInitLateInit(mod);
93
+ postKnifeInitLateInit(mod);
94
+ postNPCInitLateInit(mod);
95
+ postNPCStateChangedInit(mod);
96
+ postPickupCollectInit(mod);
97
+ postPickupInitFirstInit(mod);
98
+ postPickupInitLateInit(mod);
99
+ postPickupStateChangedInit(mod);
100
+ postPitRenderInit(mod);
101
+ postPitUpdateInit(mod);
102
+ postPlayerChangeHealthInit(mod);
103
+ postPlayerChangeTypeInit(mod);
104
+ postPlayerCollectibleCallbacksInit(mod);
105
+ postPlayerFatalDamageInit(mod);
106
+ postPlayerInitLateInit(mod);
107
+ postPlayerReorderedCallbacksInit(mod);
108
+ postPoopRenderInit(mod);
109
+ postPoopUpdateInit(mod);
110
+ postPressurePlateRenderInit(mod);
111
+ postPressurePlateUpdateInit(mod);
112
+ postProjectileInitLateInit(mod);
113
+ postPurchaseInit(mod);
114
+ postRockRenderInit(mod);
115
+ postRockUpdateInit(mod);
116
+ postRoomClearChangedInit(mod);
117
+ postSacrificeInit(mod);
118
+ postSlotDestroyedInit(mod);
119
+ postSlotInitUpdateCallbacksInit(mod);
120
+ postSlotRenderCallbacksInit(mod);
121
+ postSpikesRenderInit(mod);
122
+ postSpikesUpdateInit(mod);
123
+ postTearInitLateInit(mod);
124
+ postTearInitVeryLateInit(mod);
125
+ postTNTRenderInit(mod);
126
+ postTNTUpdateInit(mod);
127
+ postTransformationInit(mod);
128
+ postTrinketBreakInit(mod);
129
+ preBerserkDeathInit(mod);
130
+ preNewLevelInit(mod);
131
+ reorderedCallbacksInit(mod);
132
+ }