isaacscript-common 14.1.2 → 14.2.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 (494) hide show
  1. package/dist/index.d.ts +954 -158
  2. package/dist/isaacscript-common.lua +4099 -1066
  3. package/dist/src/callbacks.d.ts +102 -20
  4. package/dist/src/callbacks.d.ts.map +1 -1
  5. package/dist/src/callbacks.lua +124 -1
  6. package/dist/src/classes/ModFeature.d.ts +16 -4
  7. package/dist/src/classes/ModFeature.d.ts.map +1 -1
  8. package/dist/src/classes/ModFeature.lua +67 -4
  9. package/dist/src/classes/ModUpgraded.d.ts +10 -10
  10. package/dist/src/classes/ModUpgraded.d.ts.map +1 -1
  11. package/dist/src/classes/ModUpgraded.lua +35 -16
  12. package/dist/src/classes/callbacks/PostCustomRevive.d.ts +5 -2
  13. package/dist/src/classes/callbacks/PostCustomRevive.d.ts.map +1 -1
  14. package/dist/src/classes/callbacks/PostCustomRevive.lua +12 -4
  15. package/dist/src/classes/callbacks/PostGridEntityBroken.lua +1 -1
  16. package/dist/src/classes/callbacks/PostGridEntityCollision.lua +1 -1
  17. package/dist/src/classes/callbacks/PostGridEntityCustomBroken.lua +1 -1
  18. package/dist/src/classes/callbacks/PostGridEntityCustomCollision.lua +1 -1
  19. package/dist/src/classes/callbacks/PostGridEntityCustomInit.lua +1 -1
  20. package/dist/src/classes/callbacks/PostGridEntityCustomRemove.lua +1 -1
  21. package/dist/src/classes/callbacks/PostGridEntityCustomRender.d.ts +6 -0
  22. package/dist/src/classes/callbacks/PostGridEntityCustomRender.d.ts.map +1 -0
  23. package/dist/src/classes/callbacks/PostGridEntityCustomRender.lua +17 -0
  24. package/dist/src/classes/callbacks/PostGridEntityCustomStateChanged.lua +1 -1
  25. package/dist/src/classes/callbacks/PostGridEntityCustomUpdate.lua +1 -1
  26. package/dist/src/classes/callbacks/PostGridEntityInit.lua +1 -1
  27. package/dist/src/classes/callbacks/PostGridEntityRemove.lua +1 -1
  28. package/dist/src/classes/callbacks/PostGridEntityRender.d.ts +6 -0
  29. package/dist/src/classes/callbacks/PostGridEntityRender.d.ts.map +1 -0
  30. package/dist/src/classes/callbacks/PostGridEntityRender.lua +17 -0
  31. package/dist/src/classes/callbacks/PostGridEntityStateChanged.lua +1 -1
  32. package/dist/src/classes/callbacks/PostGridEntityUpdate.lua +1 -1
  33. package/dist/src/classes/callbacks/PostHolyMantleRemoved.d.ts +1 -1
  34. package/dist/src/classes/callbacks/PostHolyMantleRemoved.d.ts.map +1 -1
  35. package/dist/src/classes/callbacks/PostHolyMantleRemoved.lua +3 -4
  36. package/dist/src/classes/callbacks/PostItemDischarge.d.ts +43 -0
  37. package/dist/src/classes/callbacks/PostItemDischarge.d.ts.map +1 -0
  38. package/dist/src/classes/callbacks/PostItemDischarge.lua +113 -0
  39. package/dist/src/classes/callbacks/PostItemPickup.d.ts +6 -0
  40. package/dist/src/classes/callbacks/PostItemPickup.d.ts.map +1 -0
  41. package/dist/src/classes/callbacks/PostItemPickup.lua +17 -0
  42. package/dist/src/classes/callbacks/PostLaserInitLate.d.ts +12 -0
  43. package/dist/src/classes/callbacks/PostLaserInitLate.d.ts.map +1 -0
  44. package/dist/src/classes/callbacks/PostLaserInitLate.lua +27 -0
  45. package/dist/src/classes/callbacks/PostNPCInitLate.d.ts +12 -0
  46. package/dist/src/classes/callbacks/PostNPCInitLate.d.ts.map +1 -0
  47. package/dist/src/classes/callbacks/PostNPCInitLate.lua +27 -0
  48. package/dist/src/classes/callbacks/PostNPCStateChanged.d.ts +14 -0
  49. package/dist/src/classes/callbacks/PostNPCStateChanged.d.ts.map +1 -0
  50. package/dist/src/classes/callbacks/PostNPCStateChanged.lua +33 -0
  51. package/dist/src/classes/callbacks/PostPickupCollect.d.ts +12 -0
  52. package/dist/src/classes/callbacks/PostPickupCollect.d.ts.map +1 -0
  53. package/dist/src/classes/callbacks/PostPickupCollect.lua +35 -0
  54. package/dist/src/classes/callbacks/PostPickupInitFirst.d.ts +12 -0
  55. package/dist/src/classes/callbacks/PostPickupInitFirst.d.ts.map +1 -0
  56. package/dist/src/classes/callbacks/PostPickupInitFirst.lua +32 -0
  57. package/dist/src/classes/callbacks/PostPickupInitLate.d.ts +12 -0
  58. package/dist/src/classes/callbacks/PostPickupInitLate.d.ts.map +1 -0
  59. package/dist/src/classes/callbacks/PostPickupInitLate.lua +27 -0
  60. package/dist/src/classes/callbacks/PostPickupStateChanged.d.ts +13 -0
  61. package/dist/src/classes/callbacks/PostPickupStateChanged.d.ts.map +1 -0
  62. package/dist/src/classes/callbacks/PostPickupStateChanged.lua +33 -0
  63. package/dist/src/classes/callbacks/PostPitUpdate.d.ts +7 -0
  64. package/dist/src/classes/callbacks/PostPitUpdate.d.ts.map +1 -0
  65. package/dist/src/classes/callbacks/PostPitUpdate.lua +24 -0
  66. package/dist/src/classes/callbacks/PostPlayerChangeHealth.d.ts +15 -0
  67. package/dist/src/classes/callbacks/PostPlayerChangeHealth.d.ts.map +1 -0
  68. package/dist/src/classes/callbacks/PostPlayerChangeHealth.lua +52 -0
  69. package/dist/src/classes/callbacks/PostPlayerChangeStat.d.ts +16 -0
  70. package/dist/src/classes/callbacks/PostPlayerChangeStat.d.ts.map +1 -0
  71. package/dist/src/classes/callbacks/PostPlayerChangeStat.lua +94 -0
  72. package/dist/src/classes/callbacks/PostPlayerChangeType.d.ts +15 -0
  73. package/dist/src/classes/callbacks/PostPlayerChangeType.d.ts.map +1 -0
  74. package/dist/src/classes/callbacks/PostPlayerChangeType.lua +37 -0
  75. package/dist/src/classes/callbacks/PostPlayerCollectibleAdded.d.ts +6 -0
  76. package/dist/src/classes/callbacks/PostPlayerCollectibleAdded.d.ts.map +1 -0
  77. package/dist/src/classes/callbacks/PostPlayerCollectibleAdded.lua +17 -0
  78. package/dist/src/classes/callbacks/PostPlayerCollectibleRemoved.d.ts +6 -0
  79. package/dist/src/classes/callbacks/PostPlayerCollectibleRemoved.d.ts.map +1 -0
  80. package/dist/src/classes/callbacks/PostPlayerCollectibleRemoved.lua +17 -0
  81. package/dist/src/classes/callbacks/PostPlayerInitFirst.d.ts +8 -0
  82. package/dist/src/classes/callbacks/PostPlayerInitFirst.d.ts.map +1 -0
  83. package/dist/src/classes/callbacks/PostPlayerInitFirst.lua +39 -0
  84. package/dist/src/classes/callbacks/PostPlayerInitLate.d.ts +13 -0
  85. package/dist/src/classes/callbacks/PostPlayerInitLate.d.ts.map +1 -0
  86. package/dist/src/classes/callbacks/PostPlayerInitLate.lua +29 -0
  87. package/dist/src/classes/callbacks/PostPoopRender.d.ts +7 -0
  88. package/dist/src/classes/callbacks/PostPoopRender.d.ts.map +1 -0
  89. package/dist/src/classes/callbacks/PostPoopRender.lua +24 -0
  90. package/dist/src/classes/callbacks/PostPoopUpdate.d.ts +7 -0
  91. package/dist/src/classes/callbacks/PostPoopUpdate.d.ts.map +1 -0
  92. package/dist/src/classes/callbacks/PostPoopUpdate.lua +24 -0
  93. package/dist/src/classes/callbacks/PostPressurePlateRender.d.ts +7 -0
  94. package/dist/src/classes/callbacks/PostPressurePlateRender.d.ts.map +1 -0
  95. package/dist/src/classes/callbacks/PostPressurePlateRender.lua +24 -0
  96. package/dist/src/classes/callbacks/PostPressurePlateUpdate.d.ts +7 -0
  97. package/dist/src/classes/callbacks/PostPressurePlateUpdate.d.ts.map +1 -0
  98. package/dist/src/classes/callbacks/PostPressurePlateUpdate.lua +24 -0
  99. package/dist/src/classes/callbacks/PostProjectileInitLate.d.ts +12 -0
  100. package/dist/src/classes/callbacks/PostProjectileInitLate.d.ts.map +1 -0
  101. package/dist/src/classes/callbacks/PostProjectileInitLate.lua +27 -0
  102. package/dist/src/classes/callbacks/PostPurchase.d.ts +18 -0
  103. package/dist/src/classes/callbacks/PostPurchase.d.ts.map +1 -0
  104. package/dist/src/classes/callbacks/PostPurchase.lua +56 -0
  105. package/dist/src/classes/callbacks/PostRockRender.d.ts +7 -0
  106. package/dist/src/classes/callbacks/PostRockRender.d.ts.map +1 -0
  107. package/dist/src/classes/callbacks/PostRockRender.lua +24 -0
  108. package/dist/src/classes/callbacks/PostRockUpdate.d.ts +7 -0
  109. package/dist/src/classes/callbacks/PostRockUpdate.d.ts.map +1 -0
  110. package/dist/src/classes/callbacks/PostRockUpdate.lua +24 -0
  111. package/dist/src/classes/callbacks/PostSacrifice.d.ts +15 -0
  112. package/dist/src/classes/callbacks/PostSacrifice.d.ts.map +1 -0
  113. package/dist/src/classes/callbacks/PostSacrifice.lua +52 -0
  114. package/dist/src/classes/callbacks/PostSlotAnimationChanged.d.ts +6 -0
  115. package/dist/src/classes/callbacks/PostSlotAnimationChanged.d.ts.map +1 -0
  116. package/dist/src/classes/callbacks/PostSlotAnimationChanged.lua +17 -0
  117. package/dist/src/classes/callbacks/PostSlotCollision.d.ts +7 -0
  118. package/dist/src/classes/callbacks/PostSlotCollision.d.ts.map +1 -0
  119. package/dist/src/classes/callbacks/PostSlotCollision.lua +25 -0
  120. package/dist/src/classes/callbacks/PostSlotDestroyed.d.ts +14 -0
  121. package/dist/src/classes/callbacks/PostSlotDestroyed.d.ts.map +1 -0
  122. package/dist/src/classes/callbacks/PostSlotDestroyed.lua +65 -0
  123. package/dist/src/classes/callbacks/PostSlotInit.d.ts +6 -0
  124. package/dist/src/classes/callbacks/PostSlotInit.d.ts.map +1 -0
  125. package/dist/src/classes/callbacks/PostSlotInit.lua +17 -0
  126. package/dist/src/classes/callbacks/PostSlotRender.d.ts +6 -0
  127. package/dist/src/classes/callbacks/PostSlotRender.d.ts.map +1 -0
  128. package/dist/src/classes/callbacks/PostSlotRender.lua +17 -0
  129. package/dist/src/classes/callbacks/PostSlotUpdate.d.ts +6 -0
  130. package/dist/src/classes/callbacks/PostSlotUpdate.d.ts.map +1 -0
  131. package/dist/src/classes/callbacks/PostSlotUpdate.lua +17 -0
  132. package/dist/src/classes/callbacks/PostSpikesUpdate.d.ts +7 -0
  133. package/dist/src/classes/callbacks/PostSpikesUpdate.d.ts.map +1 -0
  134. package/dist/src/classes/callbacks/PostSpikesUpdate.lua +24 -0
  135. package/dist/src/classes/callbacks/PostTNTRender.d.ts +7 -0
  136. package/dist/src/classes/callbacks/PostTNTRender.d.ts.map +1 -0
  137. package/dist/src/classes/callbacks/PostTNTRender.lua +24 -0
  138. package/dist/src/classes/callbacks/PostTNTUpdate.d.ts +7 -0
  139. package/dist/src/classes/callbacks/PostTNTUpdate.d.ts.map +1 -0
  140. package/dist/src/classes/callbacks/PostTNTUpdate.lua +24 -0
  141. package/dist/src/classes/callbacks/PostTearInitLate.d.ts +12 -0
  142. package/dist/src/classes/callbacks/PostTearInitLate.d.ts.map +1 -0
  143. package/dist/src/classes/callbacks/PostTearInitLate.lua +27 -0
  144. package/dist/src/classes/callbacks/PostTearInitVeryLate.d.ts +12 -0
  145. package/dist/src/classes/callbacks/PostTearInitVeryLate.d.ts.map +1 -0
  146. package/dist/src/classes/callbacks/PostTearInitVeryLate.lua +30 -0
  147. package/dist/src/classes/callbacks/PostTransformation.d.ts +18 -0
  148. package/dist/src/classes/callbacks/PostTransformation.d.ts.map +1 -0
  149. package/dist/src/classes/callbacks/PostTransformation.lua +53 -0
  150. package/dist/src/classes/callbacks/PreBerserkDeath.d.ts +1 -1
  151. package/dist/src/classes/callbacks/PreBerserkDeath.d.ts.map +1 -1
  152. package/dist/src/classes/callbacks/PreBerserkDeath.lua +3 -4
  153. package/dist/src/classes/callbacks/PreItemPickup.d.ts +6 -0
  154. package/dist/src/classes/callbacks/PreItemPickup.d.ts.map +1 -0
  155. package/dist/src/classes/callbacks/PreItemPickup.lua +17 -0
  156. package/dist/src/classes/callbacks/validation/CustomCallbackCollectibleType.d.ts +10 -0
  157. package/dist/src/classes/callbacks/validation/CustomCallbackCollectibleType.d.ts.map +1 -0
  158. package/dist/src/classes/callbacks/validation/CustomCallbackCollectibleType.lua +19 -0
  159. package/dist/src/classes/callbacks/validation/CustomCallbackItemPickup.d.ts +11 -0
  160. package/dist/src/classes/callbacks/validation/CustomCallbackItemPickup.d.ts.map +1 -0
  161. package/dist/src/classes/callbacks/validation/CustomCallbackItemPickup.lua +22 -0
  162. package/dist/src/classes/callbacks/validation/CustomCallbackLaser.d.ts +10 -0
  163. package/dist/src/classes/callbacks/validation/CustomCallbackLaser.d.ts.map +1 -0
  164. package/dist/src/classes/callbacks/validation/CustomCallbackLaser.lua +19 -0
  165. package/dist/src/classes/callbacks/validation/{CustomCallbackRevive.d.ts → CustomCallbackNPC.d.ts} +4 -4
  166. package/dist/src/classes/callbacks/validation/CustomCallbackNPC.d.ts.map +1 -0
  167. package/dist/src/classes/callbacks/validation/CustomCallbackNPC.lua +22 -0
  168. package/dist/src/classes/callbacks/validation/CustomCallbackPickup.d.ts +12 -0
  169. package/dist/src/classes/callbacks/validation/CustomCallbackPickup.d.ts.map +1 -0
  170. package/dist/src/classes/callbacks/validation/CustomCallbackPickup.lua +22 -0
  171. package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.d.ts +5 -2
  172. package/dist/src/classes/callbacks/validation/CustomCallbackPlayer.d.ts.map +1 -1
  173. package/dist/src/classes/callbacks/validation/CustomCallbackPoop.d.ts +10 -0
  174. package/dist/src/classes/callbacks/validation/CustomCallbackPoop.d.ts.map +1 -0
  175. package/dist/src/classes/callbacks/validation/CustomCallbackPoop.lua +20 -0
  176. package/dist/src/classes/callbacks/validation/CustomCallbackPressurePlate.d.ts +10 -0
  177. package/dist/src/classes/callbacks/validation/CustomCallbackPressurePlate.d.ts.map +1 -0
  178. package/dist/src/classes/callbacks/validation/CustomCallbackPressurePlate.lua +20 -0
  179. package/dist/src/classes/callbacks/validation/CustomCallbackProjectile.d.ts +10 -0
  180. package/dist/src/classes/callbacks/validation/CustomCallbackProjectile.d.ts.map +1 -0
  181. package/dist/src/classes/callbacks/validation/CustomCallbackProjectile.lua +19 -0
  182. package/dist/src/classes/callbacks/validation/CustomCallbackRock.d.ts +10 -0
  183. package/dist/src/classes/callbacks/validation/CustomCallbackRock.d.ts.map +1 -0
  184. package/dist/src/classes/callbacks/validation/CustomCallbackRock.lua +20 -0
  185. package/dist/src/classes/callbacks/validation/CustomCallbackSlot.d.ts +12 -0
  186. package/dist/src/classes/callbacks/validation/CustomCallbackSlot.d.ts.map +1 -0
  187. package/dist/src/classes/callbacks/validation/CustomCallbackSlot.lua +19 -0
  188. package/dist/src/classes/callbacks/validation/CustomCallbackSpikes.lua +4 -4
  189. package/dist/src/classes/callbacks/validation/CustomCallbackTNT.d.ts +10 -0
  190. package/dist/src/classes/callbacks/validation/CustomCallbackTNT.d.ts.map +1 -0
  191. package/dist/src/classes/callbacks/validation/CustomCallbackTNT.lua +20 -0
  192. package/dist/src/classes/callbacks/validation/CustomCallbackTear.d.ts +10 -0
  193. package/dist/src/classes/callbacks/validation/CustomCallbackTear.d.ts.map +1 -0
  194. package/dist/src/classes/callbacks/validation/CustomCallbackTear.lua +19 -0
  195. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts +1 -1
  196. package/dist/src/classes/features/callbackLogic/CustomGridEntities.d.ts.map +1 -1
  197. package/dist/src/classes/features/callbackLogic/CustomGridEntities.lua +27 -30
  198. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts +2 -2
  199. package/dist/src/classes/features/callbackLogic/CustomRevive.d.ts.map +1 -1
  200. package/dist/src/classes/features/callbackLogic/CustomRevive.lua +6 -6
  201. package/dist/src/classes/features/callbackLogic/EsauJrDetection.d.ts.map +1 -1
  202. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.d.ts.map +1 -1
  203. package/dist/src/classes/features/callbackLogic/GameReorderedCallbacks.lua +3 -18
  204. package/dist/src/classes/features/callbackLogic/GridEntityCollisionDetection.d.ts.map +1 -1
  205. package/dist/src/classes/features/callbackLogic/GridEntityRenderDetection.d.ts +12 -0
  206. package/dist/src/classes/features/callbackLogic/GridEntityRenderDetection.d.ts.map +1 -0
  207. package/dist/src/classes/features/callbackLogic/GridEntityRenderDetection.lua +33 -0
  208. package/dist/src/classes/features/callbackLogic/{GridEntityDetection.d.ts → GridEntityUpdateDetection.d.ts} +3 -3
  209. package/dist/src/classes/features/callbackLogic/GridEntityUpdateDetection.d.ts.map +1 -0
  210. package/dist/src/classes/features/callbackLogic/{GridEntityDetection.lua → GridEntityUpdateDetection.lua} +11 -14
  211. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.d.ts +20 -0
  212. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.d.ts.map +1 -0
  213. package/dist/src/classes/features/callbackLogic/ItemPickupDetection.lua +60 -0
  214. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts +47 -0
  215. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.d.ts.map +1 -0
  216. package/dist/src/classes/features/callbackLogic/PlayerCollectibleDetection.lua +154 -0
  217. package/dist/src/classes/features/callbackLogic/SlotRenderDetection.d.ts +18 -0
  218. package/dist/src/classes/features/callbackLogic/SlotRenderDetection.d.ts.map +1 -0
  219. package/dist/src/classes/features/callbackLogic/SlotRenderDetection.lua +51 -0
  220. package/dist/src/classes/features/callbackLogic/SlotUpdateDetection.d.ts +17 -0
  221. package/dist/src/classes/features/callbackLogic/SlotUpdateDetection.d.ts.map +1 -0
  222. package/dist/src/classes/features/callbackLogic/SlotUpdateDetection.lua +45 -0
  223. package/dist/src/classes/features/other/RunInNFrames.d.ts.map +1 -1
  224. package/dist/src/classes/features/other/RunInNFrames.lua +9 -0
  225. package/dist/src/classes/features/other/SaveDataManager.d.ts +215 -0
  226. package/dist/src/classes/features/other/SaveDataManager.d.ts.map +1 -0
  227. package/dist/src/classes/features/other/SaveDataManager.lua +190 -0
  228. package/dist/src/classes/features/other/saveDataManager/glowingHourGlass.d.ts +6 -0
  229. package/dist/src/classes/features/other/saveDataManager/glowingHourGlass.d.ts.map +1 -0
  230. package/dist/src/classes/features/other/saveDataManager/glowingHourGlass.lua +98 -0
  231. package/dist/src/classes/features/other/saveDataManager/loadFromDisk.d.ts +6 -0
  232. package/dist/src/classes/features/other/saveDataManager/loadFromDisk.d.ts.map +1 -0
  233. package/dist/src/classes/features/other/saveDataManager/loadFromDisk.lua +81 -0
  234. package/dist/src/classes/features/other/saveDataManager/restoreDefaults.d.ts +7 -0
  235. package/dist/src/classes/features/other/saveDataManager/restoreDefaults.d.ts.map +1 -0
  236. package/dist/src/classes/features/other/saveDataManager/restoreDefaults.lua +69 -0
  237. package/dist/src/classes/features/other/saveDataManager/saveToDisk.d.ts +5 -0
  238. package/dist/src/classes/features/other/saveDataManager/saveToDisk.d.ts.map +1 -0
  239. package/dist/src/classes/features/other/saveDataManager/saveToDisk.lua +46 -0
  240. package/dist/src/classes/private/CustomCallback.d.ts +2 -3
  241. package/dist/src/classes/private/CustomCallback.d.ts.map +1 -1
  242. package/dist/src/classes/private/CustomCallback.lua +2 -5
  243. package/dist/src/classes/private/Feature.d.ts +1 -0
  244. package/dist/src/classes/private/Feature.d.ts.map +1 -1
  245. package/dist/src/classes/private/Feature.lua +1 -0
  246. package/dist/src/core/upgradeMod.d.ts +2 -5
  247. package/dist/src/core/upgradeMod.d.ts.map +1 -1
  248. package/dist/src/decorators.d.ts +1 -1
  249. package/dist/src/decorators.d.ts.map +1 -1
  250. package/dist/src/decorators.lua +6 -8
  251. package/dist/src/enums/ISCFeature.d.ts +15 -9
  252. package/dist/src/enums/ISCFeature.d.ts.map +1 -1
  253. package/dist/src/enums/ISCFeature.lua +30 -9
  254. package/dist/src/enums/ModCallbackCustom.d.ts +34 -20
  255. package/dist/src/enums/ModCallbackCustom.d.ts.map +1 -1
  256. package/dist/src/enums/ModCallbackCustom2.d.ts +61 -20
  257. package/dist/src/enums/ModCallbackCustom2.d.ts.map +1 -1
  258. package/dist/src/enums/ModCallbackCustom2.lua +102 -20
  259. package/dist/src/enums/{private/SerializationBrand.d.ts → SerializationBrand.d.ts} +6 -1
  260. package/dist/src/enums/SerializationBrand.d.ts.map +1 -0
  261. package/dist/src/enums/{private/SerializationBrand.lua → SerializationBrand.lua} +1 -0
  262. package/dist/src/features/customItemPool.d.ts +52 -0
  263. package/dist/src/features/customItemPool.d.ts.map +1 -0
  264. package/dist/src/features/customItemPool.lua +111 -0
  265. package/dist/src/features/deployJSONRoom.d.ts +6 -4
  266. package/dist/src/features/deployJSONRoom.d.ts.map +1 -1
  267. package/dist/src/features/deployJSONRoom.lua +6 -4
  268. package/dist/src/features/fadeInRemover.d.ts.map +1 -1
  269. package/dist/src/features/fadeInRemover.lua +4 -16
  270. package/dist/src/features/saveDataManager/exports.d.ts +14 -4
  271. package/dist/src/features/saveDataManager/exports.d.ts.map +1 -1
  272. package/dist/src/features/saveDataManager/exports.lua +38 -0
  273. package/dist/src/features/saveDataManager/load.d.ts +2 -1
  274. package/dist/src/features/saveDataManager/load.d.ts.map +1 -1
  275. package/dist/src/features/saveDataManager/load.lua +10 -4
  276. package/dist/src/features/saveDataManager/main.d.ts.map +1 -1
  277. package/dist/src/features/saveDataManager/main.lua +12 -5
  278. package/dist/src/features/saveDataManager/maps.d.ts +14 -0
  279. package/dist/src/features/saveDataManager/maps.d.ts.map +1 -1
  280. package/dist/src/features/saveDataManager/maps.lua +7 -0
  281. package/dist/src/features.d.ts +31 -12
  282. package/dist/src/features.d.ts.map +1 -1
  283. package/dist/src/features.lua +24 -6
  284. package/dist/src/functions/array.d.ts.map +1 -1
  285. package/dist/src/functions/array.lua +4 -5
  286. package/dist/src/functions/bitSet128.d.ts +2 -2
  287. package/dist/src/functions/bitSet128.lua +3 -3
  288. package/dist/src/functions/color.d.ts +2 -2
  289. package/dist/src/functions/color.lua +3 -3
  290. package/dist/src/functions/decorators.d.ts +28 -6
  291. package/dist/src/functions/decorators.d.ts.map +1 -1
  292. package/dist/src/functions/decorators.lua +24 -5
  293. package/dist/src/functions/deepCopy.d.ts +11 -4
  294. package/dist/src/functions/deepCopy.d.ts.map +1 -1
  295. package/dist/src/functions/deepCopy.lua +84 -32
  296. package/dist/src/functions/deepCopyTests.lua +1 -1
  297. package/dist/src/functions/initArray.d.ts +4 -4
  298. package/dist/src/functions/initArray.d.ts.map +1 -1
  299. package/dist/src/functions/initArray.lua +6 -12
  300. package/dist/src/functions/jsonRoom.d.ts +11 -0
  301. package/dist/src/functions/jsonRoom.d.ts.map +1 -1
  302. package/dist/src/functions/jsonRoom.lua +11 -0
  303. package/dist/src/functions/kColor.d.ts +2 -2
  304. package/dist/src/functions/kColor.lua +3 -3
  305. package/dist/src/functions/logMisc.d.ts +9 -2
  306. package/dist/src/functions/logMisc.d.ts.map +1 -1
  307. package/dist/src/functions/logMisc.lua +32 -2
  308. package/dist/src/functions/merge.d.ts +40 -0
  309. package/dist/src/functions/merge.d.ts.map +1 -0
  310. package/dist/src/{features/saveDataManager → functions}/merge.lua +84 -37
  311. package/dist/src/functions/mergeTests.d.ts +1 -2
  312. package/dist/src/functions/mergeTests.d.ts.map +1 -1
  313. package/dist/src/functions/mergeTests.lua +3 -4
  314. package/dist/src/functions/rng.d.ts +2 -2
  315. package/dist/src/functions/rng.lua +3 -3
  316. package/dist/src/functions/serialization.d.ts.map +1 -1
  317. package/dist/src/functions/serialization.lua +22 -0
  318. package/dist/src/functions/tstlClass.d.ts +0 -10
  319. package/dist/src/functions/tstlClass.d.ts.map +1 -1
  320. package/dist/src/functions/tstlClass.lua +2 -42
  321. package/dist/src/functions/vector.d.ts +2 -2
  322. package/dist/src/functions/vector.lua +3 -3
  323. package/dist/src/functions/weighted.d.ts +12 -1
  324. package/dist/src/functions/weighted.d.ts.map +1 -1
  325. package/dist/src/functions/weighted.lua +27 -10
  326. package/dist/src/index.d.ts +5 -0
  327. package/dist/src/index.d.ts.map +1 -1
  328. package/dist/src/index.lua +24 -0
  329. package/dist/src/interfaces/SaveData.d.ts +3 -7
  330. package/dist/src/interfaces/SaveData.d.ts.map +1 -1
  331. package/dist/src/interfaces/SaveData.lua +0 -11
  332. package/dist/src/interfaces/private/AddCallbackParametersCustom2.d.ts +195 -2
  333. package/dist/src/interfaces/private/AddCallbackParametersCustom2.d.ts.map +1 -1
  334. package/dist/src/objects/isaacAPIClassTypeToBrand.d.ts +1 -1
  335. package/dist/src/objects/isaacAPIClassTypeToBrand.d.ts.map +1 -1
  336. package/dist/src/objects/isaacAPIClassTypeToBrand.lua +1 -1
  337. package/dist/src/types/AnyClass.d.ts +2 -0
  338. package/dist/src/types/AnyClass.d.ts.map +1 -0
  339. package/dist/src/types/AnyClass.lua +2 -0
  340. package/dist/src/types/AnyFunction.d.ts +6 -0
  341. package/dist/src/types/AnyFunction.d.ts.map +1 -0
  342. package/dist/src/types/AnyFunction.lua +2 -0
  343. package/dist/src/types/FunctionTuple.d.ts +2 -4
  344. package/dist/src/types/FunctionTuple.d.ts.map +1 -1
  345. package/dist/src/types/HasFunction.d.ts +5 -0
  346. package/dist/src/types/HasFunction.d.ts.map +1 -0
  347. package/dist/src/types/HasFunction.lua +2 -0
  348. package/package.json +1 -1
  349. package/src/callbacks.ts +88 -5
  350. package/src/classes/ModFeature.ts +96 -6
  351. package/src/classes/ModUpgraded.ts +57 -32
  352. package/src/classes/callbacks/PostCustomRevive.ts +22 -2
  353. package/src/classes/callbacks/PostGridEntityBroken.ts +1 -1
  354. package/src/classes/callbacks/PostGridEntityCollision.ts +1 -1
  355. package/src/classes/callbacks/PostGridEntityCustomBroken.ts +1 -1
  356. package/src/classes/callbacks/PostGridEntityCustomCollision.ts +1 -1
  357. package/src/classes/callbacks/PostGridEntityCustomInit.ts +1 -1
  358. package/src/classes/callbacks/PostGridEntityCustomRemove.ts +1 -1
  359. package/src/classes/callbacks/PostGridEntityCustomRender.ts +11 -0
  360. package/src/classes/callbacks/PostGridEntityCustomStateChanged.ts +1 -1
  361. package/src/classes/callbacks/PostGridEntityCustomUpdate.ts +1 -1
  362. package/src/classes/callbacks/PostGridEntityInit.ts +1 -1
  363. package/src/classes/callbacks/PostGridEntityRemove.ts +1 -1
  364. package/src/classes/callbacks/PostGridEntityRender.ts +11 -0
  365. package/src/classes/callbacks/PostGridEntityStateChanged.ts +1 -1
  366. package/src/classes/callbacks/PostGridEntityUpdate.ts +1 -1
  367. package/src/classes/callbacks/PostHolyMantleRemoved.ts +5 -8
  368. package/src/classes/callbacks/PostItemDischarge.ts +181 -0
  369. package/src/classes/callbacks/PostItemPickup.ts +11 -0
  370. package/src/classes/callbacks/PostLaserInitLate.ts +28 -0
  371. package/src/classes/callbacks/PostNPCInitLate.ts +28 -0
  372. package/src/classes/callbacks/PostNPCStateChanged.ts +37 -0
  373. package/src/classes/callbacks/PostPickupCollect.ts +37 -0
  374. package/src/classes/callbacks/PostPickupInitFirst.ts +34 -0
  375. package/src/classes/callbacks/PostPickupInitLate.ts +28 -0
  376. package/src/classes/callbacks/PostPickupStateChanged.ts +35 -0
  377. package/src/classes/callbacks/PostPitUpdate.ts +21 -0
  378. package/src/classes/callbacks/PostPlayerChangeHealth.ts +57 -0
  379. package/src/classes/callbacks/PostPlayerChangeStat.ts +102 -0
  380. package/src/classes/callbacks/PostPlayerChangeType.ts +44 -0
  381. package/src/classes/callbacks/PostPlayerCollectibleAdded.ts +11 -0
  382. package/src/classes/callbacks/PostPlayerCollectibleRemoved.ts +11 -0
  383. package/src/classes/callbacks/PostPlayerInitFirst.ts +44 -0
  384. package/src/classes/callbacks/PostPlayerInitLate.ts +32 -0
  385. package/src/classes/callbacks/PostPoopRender.ts +21 -0
  386. package/src/classes/callbacks/PostPoopUpdate.ts +21 -0
  387. package/src/classes/callbacks/PostPressurePlateRender.ts +21 -0
  388. package/src/classes/callbacks/PostPressurePlateUpdate.ts +21 -0
  389. package/src/classes/callbacks/PostProjectileInitLate.ts +28 -0
  390. package/src/classes/callbacks/PostPurchase.ts +87 -0
  391. package/src/classes/callbacks/PostRockRender.ts +21 -0
  392. package/src/classes/callbacks/PostRockUpdate.ts +21 -0
  393. package/src/classes/callbacks/PostSacrifice.ts +89 -0
  394. package/src/classes/callbacks/PostSlotAnimationChanged.ts +11 -0
  395. package/src/classes/callbacks/PostSlotCollision.ts +26 -0
  396. package/src/classes/callbacks/PostSlotDestroyed.ts +79 -0
  397. package/src/classes/callbacks/PostSlotInit.ts +11 -0
  398. package/src/classes/callbacks/PostSlotRender.ts +11 -0
  399. package/src/classes/callbacks/PostSlotUpdate.ts +11 -0
  400. package/src/classes/callbacks/PostSpikesUpdate.ts +21 -0
  401. package/src/classes/callbacks/PostTNTRender.ts +21 -0
  402. package/src/classes/callbacks/PostTNTUpdate.ts +21 -0
  403. package/src/classes/callbacks/PostTearInitLate.ts +28 -0
  404. package/src/classes/callbacks/PostTearInitVeryLate.ts +33 -0
  405. package/src/classes/callbacks/PostTransformation.ts +71 -0
  406. package/src/classes/callbacks/PreBerserkDeath.ts +5 -8
  407. package/src/classes/callbacks/PreItemPickup.ts +11 -0
  408. package/src/classes/callbacks/validation/CustomCallbackCollectibleType.ts +32 -0
  409. package/src/classes/callbacks/validation/CustomCallbackItemPickup.ts +48 -0
  410. package/src/classes/callbacks/validation/CustomCallbackLaser.ts +27 -0
  411. package/src/classes/callbacks/validation/CustomCallbackNPC.ts +34 -0
  412. package/src/classes/callbacks/validation/CustomCallbackPickup.ts +41 -0
  413. package/src/classes/callbacks/validation/CustomCallbackPlayer.ts +25 -2
  414. package/src/classes/callbacks/validation/CustomCallbackPoop.ts +28 -0
  415. package/src/classes/callbacks/validation/CustomCallbackPressurePlate.ts +31 -0
  416. package/src/classes/callbacks/validation/CustomCallbackProjectile.ts +28 -0
  417. package/src/classes/callbacks/validation/CustomCallbackRock.ts +30 -0
  418. package/src/classes/callbacks/validation/CustomCallbackSlot.ts +37 -0
  419. package/src/classes/callbacks/validation/CustomCallbackSpikes.ts +4 -4
  420. package/src/classes/callbacks/validation/CustomCallbackTNT.ts +28 -0
  421. package/src/classes/callbacks/validation/CustomCallbackTear.ts +27 -0
  422. package/src/classes/features/callbackLogic/CustomGridEntities.ts +32 -36
  423. package/src/classes/features/callbackLogic/CustomRevive.ts +14 -21
  424. package/src/classes/features/callbackLogic/EsauJrDetection.ts +0 -4
  425. package/src/classes/features/callbackLogic/GameReorderedCallbacks.ts +7 -9
  426. package/src/classes/features/callbackLogic/GridEntityCollisionDetection.ts +0 -4
  427. package/src/classes/features/callbackLogic/GridEntityRenderDetection.ts +42 -0
  428. package/src/classes/features/callbackLogic/{GridEntityDetection.ts → GridEntityUpdateDetection.ts} +4 -20
  429. package/src/classes/features/callbackLogic/ItemPickupDetection.ts +91 -0
  430. package/src/classes/features/callbackLogic/PlayerCollectibleDetection.ts +245 -0
  431. package/src/classes/features/callbackLogic/SlotRenderDetection.ts +64 -0
  432. package/src/classes/features/callbackLogic/SlotUpdateDetection.ts +57 -0
  433. package/src/classes/features/other/RunInNFrames.ts +7 -0
  434. package/src/classes/features/other/SaveDataManager.ts +492 -0
  435. package/src/classes/features/other/saveDataManager/glowingHourGlass.ts +138 -0
  436. package/src/classes/features/other/saveDataManager/loadFromDisk.ts +99 -0
  437. package/src/classes/features/other/saveDataManager/restoreDefaults.ts +116 -0
  438. package/src/classes/features/other/saveDataManager/saveToDisk.ts +70 -0
  439. package/src/classes/private/CustomCallback.ts +2 -6
  440. package/src/classes/private/Feature.ts +1 -0
  441. package/src/core/upgradeMod.ts +6 -13
  442. package/src/decorators.ts +17 -16
  443. package/src/enums/ISCFeature.ts +44 -39
  444. package/src/enums/ModCallbackCustom.ts +34 -20
  445. package/src/enums/ModCallbackCustom2.ts +53 -5
  446. package/src/enums/{private/SerializationBrand.ts → SerializationBrand.ts} +8 -2
  447. package/src/features/customItemPool.ts +133 -0
  448. package/src/features/deployJSONRoom.ts +6 -4
  449. package/src/features/fadeInRemover.ts +4 -22
  450. package/src/features/saveDataManager/exports.ts +62 -3
  451. package/src/features/saveDataManager/load.ts +4 -1
  452. package/src/features/saveDataManager/main.ts +5 -3
  453. package/src/features/saveDataManager/maps.ts +16 -0
  454. package/src/features.ts +39 -4
  455. package/src/functions/array.ts +8 -9
  456. package/src/functions/bitSet128.ts +3 -3
  457. package/src/functions/color.ts +3 -3
  458. package/src/functions/decorators.ts +83 -12
  459. package/src/functions/deepCopy.ts +83 -17
  460. package/src/functions/deepCopyTests.ts +1 -1
  461. package/src/functions/initArray.ts +6 -11
  462. package/src/functions/jsonRoom.ts +11 -0
  463. package/src/functions/kColor.ts +3 -3
  464. package/src/functions/logMisc.ts +28 -2
  465. package/src/{features/saveDataManager → functions}/merge.ts +79 -45
  466. package/src/functions/mergeTests.ts +2 -3
  467. package/src/functions/rng.ts +3 -3
  468. package/src/functions/serialization.ts +25 -1
  469. package/src/functions/table.ts +1 -1
  470. package/src/functions/tstlClass.ts +3 -57
  471. package/src/functions/vector.ts +3 -3
  472. package/src/functions/weighted.ts +28 -11
  473. package/src/index.ts +5 -0
  474. package/src/interfaces/SaveData.ts +3 -34
  475. package/src/interfaces/private/AddCallbackParametersCustom2.ts +298 -7
  476. package/src/objects/isaacAPIClassTypeToBrand.ts +1 -1
  477. package/src/types/AnyClass.ts +1 -0
  478. package/src/types/AnyFunction.ts +5 -0
  479. package/src/types/FunctionTuple.ts +3 -4
  480. package/src/types/HasFunction.ts +7 -0
  481. package/dist/src/classes/callbacks/validation/CustomCallbackRevive.d.ts.map +0 -1
  482. package/dist/src/classes/callbacks/validation/CustomCallbackRevive.lua +0 -19
  483. package/dist/src/classes/features/callbackLogic/GridEntityDetection.d.ts.map +0 -1
  484. package/dist/src/enums/private/SerializationBrand.d.ts.map +0 -1
  485. package/dist/src/features/saveDataManager/merge.d.ts +0 -26
  486. package/dist/src/features/saveDataManager/merge.d.ts.map +0 -1
  487. package/dist/src/features/saveDataManager/serializationBrands.d.ts +0 -2
  488. package/dist/src/features/saveDataManager/serializationBrands.d.ts.map +0 -1
  489. package/dist/src/features/saveDataManager/serializationBrands.lua +0 -19
  490. package/dist/src/indexLua.d.ts +0 -199
  491. package/dist/src/indexLua.d.ts.map +0 -1
  492. package/dist/src/indexLua.lua +0 -1354
  493. package/src/classes/callbacks/validation/CustomCallbackRevive.ts +0 -27
  494. package/src/features/saveDataManager/serializationBrands.ts +0 -16
@@ -59,44 +59,126 @@ ____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_INIT = 27
59
59
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_INIT] = "POST_GRID_ENTITY_CUSTOM_INIT"
60
60
  ____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_REMOVE = 28
61
61
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_REMOVE] = "POST_GRID_ENTITY_CUSTOM_REMOVE"
62
- ____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED = 29
62
+ ____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_RENDER = 29
63
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_RENDER] = "POST_GRID_ENTITY_CUSTOM_RENDER"
64
+ ____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED = 30
63
65
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_STATE_CHANGED] = "POST_GRID_ENTITY_CUSTOM_STATE_CHANGED"
64
- ____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_UPDATE = 30
66
+ ____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_UPDATE = 31
65
67
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_GRID_ENTITY_CUSTOM_UPDATE] = "POST_GRID_ENTITY_CUSTOM_UPDATE"
66
- ____exports.ModCallbackCustom2.POST_GRID_ENTITY_INIT = 31
68
+ ____exports.ModCallbackCustom2.POST_GRID_ENTITY_INIT = 32
67
69
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_GRID_ENTITY_INIT] = "POST_GRID_ENTITY_INIT"
68
- ____exports.ModCallbackCustom2.POST_GRID_ENTITY_REMOVE = 32
70
+ ____exports.ModCallbackCustom2.POST_GRID_ENTITY_REMOVE = 33
69
71
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_GRID_ENTITY_REMOVE] = "POST_GRID_ENTITY_REMOVE"
70
- ____exports.ModCallbackCustom2.POST_GRID_ENTITY_STATE_CHANGED = 33
72
+ ____exports.ModCallbackCustom2.POST_GRID_ENTITY_RENDER = 34
73
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_GRID_ENTITY_RENDER] = "POST_GRID_ENTITY_RENDER"
74
+ ____exports.ModCallbackCustom2.POST_GRID_ENTITY_STATE_CHANGED = 35
71
75
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_GRID_ENTITY_STATE_CHANGED] = "POST_GRID_ENTITY_STATE_CHANGED"
72
- ____exports.ModCallbackCustom2.POST_GRID_ENTITY_UPDATE = 34
76
+ ____exports.ModCallbackCustom2.POST_GRID_ENTITY_UPDATE = 36
73
77
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_GRID_ENTITY_UPDATE] = "POST_GRID_ENTITY_UPDATE"
74
- ____exports.ModCallbackCustom2.POST_HOLY_MANTLE_REMOVED = 35
78
+ ____exports.ModCallbackCustom2.POST_HOLY_MANTLE_REMOVED = 37
75
79
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_HOLY_MANTLE_REMOVED] = "POST_HOLY_MANTLE_REMOVED"
76
- ____exports.ModCallbackCustom2.POST_KNIFE_INIT_LATE = 36
80
+ ____exports.ModCallbackCustom2.POST_ITEM_DISCHARGE = 38
81
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_ITEM_DISCHARGE] = "POST_ITEM_DISCHARGE"
82
+ ____exports.ModCallbackCustom2.POST_ITEM_PICKUP = 39
83
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_ITEM_PICKUP] = "POST_ITEM_PICKUP"
84
+ ____exports.ModCallbackCustom2.POST_KNIFE_INIT_LATE = 40
77
85
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_KNIFE_INIT_LATE] = "POST_KNIFE_INIT_LATE"
78
- ____exports.ModCallbackCustom2.POST_NEW_LEVEL_REORDERED = 37
86
+ ____exports.ModCallbackCustom2.POST_LASER_INIT_LATE = 41
87
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_LASER_INIT_LATE] = "POST_LASER_INIT_LATE"
88
+ ____exports.ModCallbackCustom2.POST_NEW_LEVEL_REORDERED = 42
79
89
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_NEW_LEVEL_REORDERED] = "POST_NEW_LEVEL_REORDERED"
80
- ____exports.ModCallbackCustom2.POST_NEW_ROOM_EARLY = 38
90
+ ____exports.ModCallbackCustom2.POST_NEW_ROOM_EARLY = 43
81
91
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_NEW_ROOM_EARLY] = "POST_NEW_ROOM_EARLY"
82
- ____exports.ModCallbackCustom2.POST_NEW_ROOM_REORDERED = 39
92
+ ____exports.ModCallbackCustom2.POST_NEW_ROOM_REORDERED = 44
83
93
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_NEW_ROOM_REORDERED] = "POST_NEW_ROOM_REORDERED"
84
- ____exports.ModCallbackCustom2.POST_PEFFECT_UPDATE_REORDERED = 40
94
+ ____exports.ModCallbackCustom2.POST_NPC_INIT_LATE = 45
95
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_NPC_INIT_LATE] = "POST_NPC_INIT_LATE"
96
+ ____exports.ModCallbackCustom2.POST_NPC_STATE_CHANGED = 46
97
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_NPC_STATE_CHANGED] = "POST_NPC_STATE_CHANGED"
98
+ ____exports.ModCallbackCustom2.POST_PEFFECT_UPDATE_REORDERED = 47
85
99
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PEFFECT_UPDATE_REORDERED] = "POST_PEFFECT_UPDATE_REORDERED"
86
- ____exports.ModCallbackCustom2.POST_PIT_RENDER = 41
100
+ ____exports.ModCallbackCustom2.POST_PICKUP_COLLECT = 48
101
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PICKUP_COLLECT] = "POST_PICKUP_COLLECT"
102
+ ____exports.ModCallbackCustom2.POST_PICKUP_INIT_FIRST = 49
103
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PICKUP_INIT_FIRST] = "POST_PICKUP_INIT_FIRST"
104
+ ____exports.ModCallbackCustom2.POST_PICKUP_INIT_LATE = 50
105
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PICKUP_INIT_LATE] = "POST_PICKUP_INIT_LATE"
106
+ ____exports.ModCallbackCustom2.POST_PICKUP_STATE_CHANGED = 51
107
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PICKUP_STATE_CHANGED] = "POST_PICKUP_STATE_CHANGED"
108
+ ____exports.ModCallbackCustom2.POST_PIT_RENDER = 52
87
109
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PIT_RENDER] = "POST_PIT_RENDER"
88
- ____exports.ModCallbackCustom2.POST_PLAYER_FATAL_DAMAGE = 42
110
+ ____exports.ModCallbackCustom2.POST_PIT_UPDATE = 53
111
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PIT_UPDATE] = "POST_PIT_UPDATE"
112
+ ____exports.ModCallbackCustom2.POST_PLAYER_CHANGE_HEALTH = 54
113
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PLAYER_CHANGE_HEALTH] = "POST_PLAYER_CHANGE_HEALTH"
114
+ ____exports.ModCallbackCustom2.POST_PLAYER_CHANGE_STAT = 55
115
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PLAYER_CHANGE_STAT] = "POST_PLAYER_CHANGE_STAT"
116
+ ____exports.ModCallbackCustom2.POST_PLAYER_CHANGE_TYPE = 56
117
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PLAYER_CHANGE_TYPE] = "POST_PLAYER_CHANGE_TYPE"
118
+ ____exports.ModCallbackCustom2.POST_PLAYER_COLLECTIBLE_ADDED = 57
119
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PLAYER_COLLECTIBLE_ADDED] = "POST_PLAYER_COLLECTIBLE_ADDED"
120
+ ____exports.ModCallbackCustom2.POST_PLAYER_COLLECTIBLE_REMOVED = 58
121
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PLAYER_COLLECTIBLE_REMOVED] = "POST_PLAYER_COLLECTIBLE_REMOVED"
122
+ ____exports.ModCallbackCustom2.POST_PLAYER_FATAL_DAMAGE = 59
89
123
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PLAYER_FATAL_DAMAGE] = "POST_PLAYER_FATAL_DAMAGE"
90
- ____exports.ModCallbackCustom2.POST_PLAYER_RENDER_REORDERED = 43
124
+ ____exports.ModCallbackCustom2.POST_PLAYER_INIT_FIRST = 60
125
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PLAYER_INIT_FIRST] = "POST_PLAYER_INIT_FIRST"
126
+ ____exports.ModCallbackCustom2.POST_PLAYER_INIT_LATE = 61
127
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PLAYER_INIT_LATE] = "POST_PLAYER_INIT_LATE"
128
+ ____exports.ModCallbackCustom2.POST_PLAYER_RENDER_REORDERED = 62
91
129
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PLAYER_RENDER_REORDERED] = "POST_PLAYER_RENDER_REORDERED"
92
- ____exports.ModCallbackCustom2.POST_PLAYER_UPDATE_REORDERED = 44
130
+ ____exports.ModCallbackCustom2.POST_PLAYER_UPDATE_REORDERED = 63
93
131
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PLAYER_UPDATE_REORDERED] = "POST_PLAYER_UPDATE_REORDERED"
94
- ____exports.ModCallbackCustom2.POST_ROOM_CLEAR_CHANGED = 45
132
+ ____exports.ModCallbackCustom2.POST_POOP_RENDER = 64
133
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_POOP_RENDER] = "POST_POOP_RENDER"
134
+ ____exports.ModCallbackCustom2.POST_POOP_UPDATE = 65
135
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_POOP_UPDATE] = "POST_POOP_UPDATE"
136
+ ____exports.ModCallbackCustom2.POST_PRESSURE_PLATE_RENDER = 66
137
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PRESSURE_PLATE_RENDER] = "POST_PRESSURE_PLATE_RENDER"
138
+ ____exports.ModCallbackCustom2.POST_PRESSURE_PLATE_UPDATE = 67
139
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PRESSURE_PLATE_UPDATE] = "POST_PRESSURE_PLATE_UPDATE"
140
+ ____exports.ModCallbackCustom2.POST_PROJECTILE_INIT_LATE = 68
141
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PROJECTILE_INIT_LATE] = "POST_PROJECTILE_INIT_LATE"
142
+ ____exports.ModCallbackCustom2.POST_PURCHASE = 69
143
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_PURCHASE] = "POST_PURCHASE"
144
+ ____exports.ModCallbackCustom2.POST_ROCK_RENDER = 70
145
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_ROCK_RENDER] = "POST_ROCK_RENDER"
146
+ ____exports.ModCallbackCustom2.POST_ROCK_UPDATE = 71
147
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_ROCK_UPDATE] = "POST_ROCK_UPDATE"
148
+ ____exports.ModCallbackCustom2.POST_ROOM_CLEAR_CHANGED = 72
95
149
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_ROOM_CLEAR_CHANGED] = "POST_ROOM_CLEAR_CHANGED"
96
- ____exports.ModCallbackCustom2.POST_SPIKES_RENDER = 46
150
+ ____exports.ModCallbackCustom2.POST_SACRIFICE = 73
151
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_SACRIFICE] = "POST_SACRIFICE"
152
+ ____exports.ModCallbackCustom2.POST_SLOT_ANIMATION_CHANGED = 74
153
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_SLOT_ANIMATION_CHANGED] = "POST_SLOT_ANIMATION_CHANGED"
154
+ ____exports.ModCallbackCustom2.POST_SLOT_COLLISION = 75
155
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_SLOT_COLLISION] = "POST_SLOT_COLLISION"
156
+ ____exports.ModCallbackCustom2.POST_SLOT_DESTROYED = 76
157
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_SLOT_DESTROYED] = "POST_SLOT_DESTROYED"
158
+ ____exports.ModCallbackCustom2.POST_SLOT_INIT = 77
159
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_SLOT_INIT] = "POST_SLOT_INIT"
160
+ ____exports.ModCallbackCustom2.POST_SLOT_RENDER = 78
161
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_SLOT_RENDER] = "POST_SLOT_RENDER"
162
+ ____exports.ModCallbackCustom2.POST_SLOT_UPDATE = 79
163
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_SLOT_UPDATE] = "POST_SLOT_UPDATE"
164
+ ____exports.ModCallbackCustom2.POST_SPIKES_RENDER = 80
97
165
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_SPIKES_RENDER] = "POST_SPIKES_RENDER"
98
- ____exports.ModCallbackCustom2.PRE_BERSERK_DEATH = 47
166
+ ____exports.ModCallbackCustom2.POST_SPIKES_UPDATE = 81
167
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_SPIKES_UPDATE] = "POST_SPIKES_UPDATE"
168
+ ____exports.ModCallbackCustom2.POST_TEAR_INIT_LATE = 82
169
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_TEAR_INIT_LATE] = "POST_TEAR_INIT_LATE"
170
+ ____exports.ModCallbackCustom2.POST_TEAR_INIT_VERY_LATE = 83
171
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_TEAR_INIT_VERY_LATE] = "POST_TEAR_INIT_VERY_LATE"
172
+ ____exports.ModCallbackCustom2.POST_TNT_RENDER = 84
173
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_TNT_RENDER] = "POST_TNT_RENDER"
174
+ ____exports.ModCallbackCustom2.POST_TNT_UPDATE = 85
175
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_TNT_UPDATE] = "POST_TNT_UPDATE"
176
+ ____exports.ModCallbackCustom2.POST_TRANSFORMATION = 86
177
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.POST_TRANSFORMATION] = "POST_TRANSFORMATION"
178
+ ____exports.ModCallbackCustom2.PRE_BERSERK_DEATH = 87
99
179
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.PRE_BERSERK_DEATH] = "PRE_BERSERK_DEATH"
100
- ____exports.ModCallbackCustom2.PRE_CUSTOM_REVIVE = 48
180
+ ____exports.ModCallbackCustom2.PRE_CUSTOM_REVIVE = 88
101
181
  ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.PRE_CUSTOM_REVIVE] = "PRE_CUSTOM_REVIVE"
182
+ ____exports.ModCallbackCustom2.PRE_ITEM_PICKUP = 89
183
+ ____exports.ModCallbackCustom2[____exports.ModCallbackCustom2.PRE_ITEM_PICKUP] = "PRE_ITEM_PICKUP"
102
184
  return ____exports
@@ -30,6 +30,11 @@ export declare enum SerializationBrand {
30
30
  * The deep copier works around this by converting number keys to strings. It inserts this brand
31
31
  * to keep track of the mutation.
32
32
  */
33
- OBJECT_WITH_NUMBER_KEYS = "__TSTL_OBJECT_WITH_NUMBER_KEYS"
33
+ OBJECT_WITH_NUMBER_KEYS = "__TSTL_OBJECT_WITH_NUMBER_KEYS",
34
+ /**
35
+ * This brand represents a user-defined class other than a `DefaultMap`, `Map`, or `Set`. It will
36
+ * have a string value that corresponds to the name of the class.
37
+ */
38
+ TSTL_CLASS = "__TSTL_CLASS"
34
39
  }
35
40
  //# sourceMappingURL=SerializationBrand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SerializationBrand.d.ts","sourceRoot":"","sources":["../../../src/enums/SerializationBrand.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oBAAY,kBAAkB;IAE5B,WAAW,uBAAuB;IAClC,GAAG,eAAe;IAClB,GAAG,eAAe;IAGlB,WAAW,kBAAkB;IAC7B,KAAK,YAAY;IACjB,OAAO,cAAc;IACrB,GAAG,UAAU;IACb,MAAM,aAAa;IAEnB;;;OAGG;IACH,iBAAiB,6BAA6B;IAE9C;;;;;;;;;;OAUG;IACH,uBAAuB,mCAAmC;IAE1D;;;OAGG;IACH,UAAU,iBAAiB;CAC5B"}
@@ -15,4 +15,5 @@ ____exports.SerializationBrand.RNG = "__RNG"
15
15
  ____exports.SerializationBrand.VECTOR = "__VECTOR"
16
16
  ____exports.SerializationBrand.DEFAULT_MAP_VALUE = "__TSTL_DEFAULT_MAP_VALUE"
17
17
  ____exports.SerializationBrand.OBJECT_WITH_NUMBER_KEYS = "__TSTL_OBJECT_WITH_NUMBER_KEYS"
18
+ ____exports.SerializationBrand.TSTL_CLASS = "__TSTL_CLASS"
18
19
  return ____exports
@@ -0,0 +1,52 @@
1
+ import { CollectibleType, ItemPoolType } from "isaac-typescript-definitions";
2
+ import { WeightedArray } from "../types/WeightedArray";
3
+ /**
4
+ * Helper function to register a custom item pool. Use this function once when your mod first loads
5
+ * to declare the items that you want to be in the item pools. Then, in the middle of a run, you can
6
+ * use `getCustomItemPoolCollectible`.
7
+ *
8
+ * For example:
9
+ *
10
+ * ```ts
11
+ * const ItemPoolTypeCustom = {
12
+ * FOO = 0 as ItemPoolType,
13
+ * } as const;
14
+ *
15
+ * const FOO_ITEM_POOL = [
16
+ * [CollectibleType.SAD_ONION, 1],
17
+ * [CollectibleType.INNER_EYE, 0.5],
18
+ * ];
19
+ *
20
+ * registerCustomItemPool(ItemPoolTypeCustom.FOO, FOO_ITEM_POOL);
21
+ * ```
22
+ *
23
+ * Note that custom item pools do not currently support partial weight decrementation on sight.
24
+ *
25
+ * @param itemPoolTypeCustom An integer that identifies what kind of item pool you are creating. It
26
+ * should correspond to a local enum value created in your mod. The
27
+ * integer can be any unique value and can safely overlap with the vanilla
28
+ * item pool type values.
29
+ * @param collectibles An array of weighted collectible tuples that represent the item pool that you
30
+ * are creating. The first element in he tuple is the `CollectibleType`, and the
31
+ * second element in the tuple is the float that represents the weight of the
32
+ * collectible.
33
+ */
34
+ export declare function registerCustomItemPool(itemPoolTypeCustom: ItemPoolType, collectibles: WeightedArray<CollectibleType>): void;
35
+ /**
36
+ * Helper function to get a new collectible from a custom item pool created with the
37
+ * `registerCustomItemPool` function. This function has the same format as the
38
+ * `ItemPool.GetCollectible` method.
39
+ *
40
+ * By default, a collectible will not be removed from the pool once it is selected, unless the
41
+ * `decrease` argument is set to true (similar to how a vanilla item pool works).
42
+ *
43
+ * @param itemPoolTypeCustom An integer representing the custom item pool to use.
44
+ * @param decrease Optional. Whether or not to remove the selected collectible from the item pool.
45
+ * Default is true.
46
+ * @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
47
+ * `RNG.Next` method will be called. Default is `getRandomSeed()`.
48
+ * @param defaultItem Optional. The collectible to return if the item pool is depleted. Default is
49
+ * `CollectibleType.NULL`.
50
+ */
51
+ export declare function getCustomItemPoolCollectible(itemPoolTypeCustom: ItemPoolType, decrease?: boolean, seedOrRNG?: Seed | RNG, defaultItem?: CollectibleType): CollectibleType;
52
+ //# sourceMappingURL=customItemPool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customItemPool.d.ts","sourceRoot":"","sources":["../../../src/features/customItemPool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAQ7E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAmCvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,sBAAsB,CACpC,kBAAkB,EAAE,YAAY,EAChC,YAAY,EAAE,aAAa,CAAC,eAAe,CAAC,GAC3C,IAAI,CAUN;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,4BAA4B,CAC1C,kBAAkB,EAAE,YAAY,EAChC,QAAQ,UAAQ,EAChB,SAAS,GAAE,IAAI,GAAG,GAAqB,EACvC,WAAW,kBAAuB,GACjC,eAAe,CAsBjB"}
@@ -0,0 +1,111 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local Map = ____lualib.Map
3
+ local __TS__New = ____lualib.__TS__New
4
+ local ____exports = {}
5
+ local postGameStartedReordered, customItemPoolMap, v
6
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
7
+ local CollectibleType = ____isaac_2Dtypescript_2Ddefinitions.CollectibleType
8
+ local ____ModCallbackCustom = require("src.enums.ModCallbackCustom")
9
+ local ModCallbackCustom = ____ModCallbackCustom.ModCallbackCustom
10
+ local ____featuresInitialized = require("src.featuresInitialized")
11
+ local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
12
+ local ____array = require("src.functions.array")
13
+ local arrayRemoveIndexInPlace = ____array.arrayRemoveIndexInPlace
14
+ local ____map = require("src.functions.map")
15
+ local copyMap = ____map.copyMap
16
+ local ____rng = require("src.functions.rng")
17
+ local getRandomSeed = ____rng.getRandomSeed
18
+ local ____weighted = require("src.functions.weighted")
19
+ local getRandomIndexFromWeightedArray = ____weighted.getRandomIndexFromWeightedArray
20
+ local ____exports = require("src.features.saveDataManager.exports")
21
+ local saveDataManager = ____exports.saveDataManager
22
+ function postGameStartedReordered(self, isContinued)
23
+ if isContinued then
24
+ return
25
+ end
26
+ v.run.customItemPools = copyMap(nil, customItemPoolMap)
27
+ end
28
+ local FEATURE_NAME = "customItemPool"
29
+ customItemPoolMap = __TS__New(Map)
30
+ v = {run = {customItemPools = __TS__New(Map)}}
31
+ ---
32
+ -- @internal
33
+ function ____exports.customItemPoolsInit(self, mod)
34
+ saveDataManager(nil, FEATURE_NAME, v)
35
+ mod:AddCallbackCustom(ModCallbackCustom.POST_GAME_STARTED_REORDERED, postGameStartedReordered)
36
+ end
37
+ --- Helper function to register a custom item pool. Use this function once when your mod first loads
38
+ -- to declare the items that you want to be in the item pools. Then, in the middle of a run, you can
39
+ -- use `getCustomItemPoolCollectible`.
40
+ --
41
+ -- For example:
42
+ --
43
+ -- ```ts
44
+ -- const ItemPoolTypeCustom = {
45
+ -- FOO = 0 as ItemPoolType,
46
+ -- } as const;
47
+ --
48
+ -- const FOO_ITEM_POOL = [
49
+ -- [CollectibleType.SAD_ONION, 1],
50
+ -- [CollectibleType.INNER_EYE, 0.5],
51
+ -- ];
52
+ --
53
+ -- registerCustomItemPool(ItemPoolTypeCustom.FOO, FOO_ITEM_POOL);
54
+ -- ```
55
+ --
56
+ -- Note that custom item pools do not currently support partial weight decrementation on sight.
57
+ --
58
+ -- @param itemPoolTypeCustom An integer that identifies what kind of item pool you are creating. It
59
+ -- should correspond to a local enum value created in your mod. The
60
+ -- integer can be any unique value and can safely overlap with the vanilla
61
+ -- item pool type values.
62
+ -- @param collectibles An array of weighted collectible tuples that represent the item pool that you
63
+ -- are creating. The first element in he tuple is the `CollectibleType`, and the
64
+ -- second element in the tuple is the float that represents the weight of the
65
+ -- collectible.
66
+ function ____exports.registerCustomItemPool(self, itemPoolTypeCustom, collectibles)
67
+ errorIfFeaturesNotInitialized(nil, FEATURE_NAME)
68
+ if customItemPoolMap:has(itemPoolTypeCustom) then
69
+ error(("Failed to register a custom item pool since the provided type of " .. tostring(itemPoolTypeCustom)) .. " was already registered.")
70
+ end
71
+ customItemPoolMap:set(itemPoolTypeCustom, collectibles)
72
+ end
73
+ --- Helper function to get a new collectible from a custom item pool created with the
74
+ -- `registerCustomItemPool` function. This function has the same format as the
75
+ -- `ItemPool.GetCollectible` method.
76
+ --
77
+ -- By default, a collectible will not be removed from the pool once it is selected, unless the
78
+ -- `decrease` argument is set to true (similar to how a vanilla item pool works).
79
+ --
80
+ -- @param itemPoolTypeCustom An integer representing the custom item pool to use.
81
+ -- @param decrease Optional. Whether or not to remove the selected collectible from the item pool.
82
+ -- Default is true.
83
+ -- @param seedOrRNG Optional. The `Seed` or `RNG` object to use. If an `RNG` object is provided, the
84
+ -- `RNG.Next` method will be called. Default is `getRandomSeed()`.
85
+ -- @param defaultItem Optional. The collectible to return if the item pool is depleted. Default is
86
+ -- `CollectibleType.NULL`.
87
+ function ____exports.getCustomItemPoolCollectible(self, itemPoolTypeCustom, decrease, seedOrRNG, defaultItem)
88
+ if decrease == nil then
89
+ decrease = false
90
+ end
91
+ if seedOrRNG == nil then
92
+ seedOrRNG = getRandomSeed(nil)
93
+ end
94
+ if defaultItem == nil then
95
+ defaultItem = CollectibleType.NULL
96
+ end
97
+ local customItemPool = v.run.customItemPools:get(itemPoolTypeCustom)
98
+ if customItemPool == nil then
99
+ error("Failed to find the custom item pool of: " .. tostring(itemPoolTypeCustom))
100
+ end
101
+ if #customItemPool == 0 then
102
+ return defaultItem
103
+ end
104
+ local randomIndex = getRandomIndexFromWeightedArray(nil, customItemPool, seedOrRNG)
105
+ local tuple = customItemPool[randomIndex + 1]
106
+ if decrease then
107
+ arrayRemoveIndexInPlace(nil, customItemPool, randomIndex)
108
+ end
109
+ return tuple[1]
110
+ end
111
+ return ____exports
@@ -6,8 +6,9 @@ import { JSONRoom } from "../interfaces/JSONRoomsFile";
6
6
  * Specifically, this will clear the current room of all entities and grid entities, and then spawn
7
7
  * all of the entries and grid entities in the provided JSON room.
8
8
  *
9
- * You can create JSON rooms by using the `convert-xml-to-json` tool (e.g. `npx convert-xml-to-json
10
- * my-rooms.xml`).
9
+ * A JSON room is simply an XML file converted to JSON. You can create JSON rooms by using the
10
+ * Basement Renovator room editor to create an XML file, and then convert it to JSON using the
11
+ * `convert-xml-to-json` tool (e.g. `npx convert-xml-to-json my-rooms.xml`).
11
12
  *
12
13
  * This function is meant to be used in the `POST_NEW_ROOM` callback.
13
14
  *
@@ -35,8 +36,9 @@ export declare function deployJSONRoom(jsonRoom: JSONRoom | Readonly<JSONRoom>,
35
36
  * Specifically, this will clear the current room of all entities and grid entities, and then spawn
36
37
  * all of the entries and grid entities in one of the provided JSON rooms.
37
38
  *
38
- * You can create JSON rooms by using the `convert-xml-to-json` tool (e.g. `npx convert-xml-to-json
39
- * my-rooms.xml`).
39
+ * A JSON room is simply an XML file converted to JSON. You can create JSON rooms by using the
40
+ * Basement Renovator room editor to create an XML file, and then convert it to JSON using the
41
+ * `convert-xml-to-json` tool (e.g. `npx convert-xml-to-json my-rooms.xml`).
40
42
  *
41
43
  * This function is meant to be used in the `POST_NEW_ROOM` callback.
42
44
  *
@@ -1 +1 @@
1
- {"version":3,"file":"deployJSONRoom.d.ts","sourceRoot":"","sources":["../../../src/features/deployJSONRoom.ts"],"names":[],"mappings":";;AAkDA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAwKvD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,EACvC,SAAS,GAAE,IAAI,GAAG,GAAqB,EACvC,OAAO,UAAQ,GACd,IAAI,CA4BN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,GAAE,IAAI,GAAG,GAAqB,EACvC,OAAO,UAAQ,GACd,IAAI,CAaN;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CA0B/C"}
1
+ {"version":3,"file":"deployJSONRoom.d.ts","sourceRoot":"","sources":["../../../src/features/deployJSONRoom.ts"],"names":[],"mappings":";;AAkDA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAwKvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,EACvC,SAAS,GAAE,IAAI,GAAG,GAAqB,EACvC,OAAO,UAAQ,GACd,IAAI,CA4BN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,GAAE,IAAI,GAAG,GAAqB,EACvC,OAAO,UAAQ,GACd,IAAI,CAaN;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CA0B/C"}
@@ -462,8 +462,9 @@ end
462
462
  -- Specifically, this will clear the current room of all entities and grid entities, and then spawn
463
463
  -- all of the entries and grid entities in the provided JSON room.
464
464
  --
465
- -- You can create JSON rooms by using the `convert-xml-to-json` tool (e.g. `npx convert-xml-to-json
466
- -- my-rooms.xml`).
465
+ -- A JSON room is simply an XML file converted to JSON. You can create JSON rooms by using the
466
+ -- Basement Renovator room editor to create an XML file, and then convert it to JSON using the
467
+ -- `convert-xml-to-json` tool (e.g. `npx convert-xml-to-json my-rooms.xml`).
467
468
  --
468
469
  -- This function is meant to be used in the `POST_NEW_ROOM` callback.
469
470
  --
@@ -517,8 +518,9 @@ end
517
518
  -- Specifically, this will clear the current room of all entities and grid entities, and then spawn
518
519
  -- all of the entries and grid entities in one of the provided JSON rooms.
519
520
  --
520
- -- You can create JSON rooms by using the `convert-xml-to-json` tool (e.g. `npx convert-xml-to-json
521
- -- my-rooms.xml`).
521
+ -- A JSON room is simply an XML file converted to JSON. You can create JSON rooms by using the
522
+ -- Basement Renovator room editor to create an XML file, and then convert it to JSON using the
523
+ -- `convert-xml-to-json` tool (e.g. `npx convert-xml-to-json my-rooms.xml`).
522
524
  --
523
525
  -- This function is meant to be used in the `POST_NEW_ROOM` callback.
524
526
  --
@@ -1 +1 @@
1
- {"version":3,"file":"fadeInRemover.d.ts","sourceRoot":"","sources":["../../../src/features/fadeInRemover.ts"],"names":[],"mappings":"AAuCA;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC"}
1
+ {"version":3,"file":"fadeInRemover.d.ts","sourceRoot":"","sources":["../../../src/features/fadeInRemover.ts"],"names":[],"mappings":"AAqBA;;;;;;;GAOG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAGnC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAGpC"}
@@ -1,35 +1,23 @@
1
1
  local ____exports = {}
2
- local postRender, shouldRemoveFadeIn, FADE_IN_SPEED, enabled, v
2
+ local postGameStarted, FADE_IN_SPEED, enabled
3
3
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
4
4
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
5
5
  local ____cachedClasses = require("src.core.cachedClasses")
6
6
  local game = ____cachedClasses.game
7
7
  local ____featuresInitialized = require("src.featuresInitialized")
8
8
  local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
9
- local ____exports = require("src.features.saveDataManager.exports")
10
- local saveDataManager = ____exports.saveDataManager
11
- function postRender(self)
12
- if not enabled then
13
- return
14
- end
15
- if shouldRemoveFadeIn(nil) then
16
- v.run.removedFadeIn = true
9
+ function postGameStarted(self, _isContinued)
10
+ if enabled then
17
11
  game:Fadein(FADE_IN_SPEED)
18
12
  end
19
13
  end
20
- function shouldRemoveFadeIn(self)
21
- local gameFrameCount = game:GetFrameCount()
22
- return not v.run.removedFadeIn and gameFrameCount == 0
23
- end
24
14
  local FEATURE_NAME = "fadeInRemover"
25
15
  FADE_IN_SPEED = 1
26
16
  enabled = false
27
- v = {run = {removedFadeIn = false}}
28
17
  ---
29
18
  -- @internal
30
19
  function ____exports.fadeInRemoverInit(self, mod)
31
- saveDataManager(nil, FEATURE_NAME, v, false)
32
- mod:AddCallback(ModCallback.POST_RENDER, postRender)
20
+ mod:AddCallback(ModCallback.POST_GAME_STARTED, postGameStarted)
33
21
  end
34
22
  --- Removes the fade-in that occurs at the beginning of a run. If this behavior is desired, call this
35
23
  -- function once at the beginning of your mod.
@@ -1,5 +1,6 @@
1
1
  import { SaveDataKey } from "../../enums/SaveDataKey";
2
2
  import { SaveData } from "../../interfaces/SaveData";
3
+ import { AnyClass } from "../../types/AnyClass";
3
4
  /**
4
5
  * This is the entry point to the save data manager, a system which provides two major features:
5
6
  *
@@ -96,10 +97,8 @@ import { SaveData } from "../../interfaces/SaveData";
96
97
  * will allow you to use non-serializable objects in your save data, such as
97
98
  * `EntityPtr`.
98
99
  */
99
- export declare function saveDataManager<Persistent, Run, Level>(key: string, // This is the overload for the standard case with serializable data.
100
- v: SaveData<Persistent, Run, Level>, conditionalFunc?: () => boolean): void;
101
- export declare function saveDataManager(key: string, // This is the overload for the case when saving data is disabled.
102
- v: SaveData, conditionalFunc: false): void;
100
+ export declare function saveDataManager<Persistent, Run, Level>(key: string, v: SaveData<Persistent, Run, Level>, conditionalFunc?: () => boolean): void;
101
+ export declare function saveDataManager(key: string, v: SaveData, conditionalFunc: false): void;
103
102
  /**
104
103
  * The save data manager will automatically load variables from disk at the appropriate times (i.e.
105
104
  * when a new run is started). Use this function to explicitly force the save data manager to load
@@ -149,4 +148,15 @@ export declare function saveDataManagerReset(key: string, childObjectKey: SaveDa
149
148
  * "saveDataManager" function.
150
149
  */
151
150
  export declare function saveDataManagerRemove(key: string): void;
151
+ /**
152
+ * By default, the save data manager will not be able to serialize classes that are nested inside of
153
+ * maps, sets, and arrays, because it does not have access to the corresponding class constructor.
154
+ * If you want to use nested classes in this way, then use this function to register a class
155
+ * constructor with the save data manager. If the save data manager finds a registered class of the
156
+ * same name when deserializing, it will automatically run the registered constructor (in addition
157
+ * to copying over the data fields).
158
+ *
159
+ * This function is variadic, which means you can pass as many classes as you want to register.
160
+ */
161
+ export declare function saveDataManagerRegisterClass(...tstlClasses: AnyClass[]): void;
152
162
  //# sourceMappingURL=exports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAKtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAcrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EACpD,GAAG,EAAE,MAAM,EAAE,qEAAqE;AAClF,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,EACnC,eAAe,CAAC,EAAE,MAAM,OAAO,GAC9B,IAAI,CAAC;AACR,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EAAE,kEAAkE;AAC/E,CAAC,EAAE,QAAQ,EACX,eAAe,EAAE,KAAK,GACrB,IAAI,CAAC;AA+CR;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAQD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAK/C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,WAAW,GAC1B,IAAI,CAiBN;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAoBvD"}
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/exports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAqBhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAEpD,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,EACnC,eAAe,CAAC,EAAE,MAAM,OAAO,GAC9B,IAAI,CAAC;AACR,wBAAgB,eAAe,CAE7B,GAAG,EAAE,MAAM,EACX,CAAC,EAAE,QAAQ,EACX,eAAe,EAAE,KAAK,GACrB,IAAI,CAAC;AAuER;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C;AAQD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAK/C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,WAAW,GAC1B,IAAI,CAiBN;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAoBvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAY7E"}
@@ -1,15 +1,21 @@
1
1
  local ____lualib = require("lualib_bundle")
2
+ local Set = ____lualib.Set
3
+ local __TS__New = ____lualib.__TS__New
2
4
  local __TS__TypeOf = ____lualib.__TS__TypeOf
3
5
  local __TS__ObjectKeys = ____lualib.__TS__ObjectKeys
4
6
  local ____exports = {}
7
+ local storeClassConstructorsFromObject, NON_USER_DEFINED_CLASS_NAMES
5
8
  local ____SerializationType = require("src.enums.SerializationType")
6
9
  local SerializationType = ____SerializationType.SerializationType
7
10
  local ____featuresInitialized = require("src.featuresInitialized")
8
11
  local errorIfFeaturesNotInitialized = ____featuresInitialized.errorIfFeaturesNotInitialized
9
12
  local ____deepCopy = require("src.functions.deepCopy")
10
13
  local deepCopy = ____deepCopy.deepCopy
14
+ local ____tstlClass = require("src.functions.tstlClass")
15
+ local getTSTLClassName = ____tstlClass.getTSTLClassName
11
16
  local ____types = require("src.functions.types")
12
17
  local isString = ____types.isString
18
+ local isTable = ____types.isTable
13
19
  local ____constants = require("src.features.saveDataManager.constants")
14
20
  local SAVE_DATA_MANAGER_FEATURE_NAME = ____constants.SAVE_DATA_MANAGER_FEATURE_NAME
15
21
  local ____main = require("src.features.saveDataManager.main")
@@ -20,7 +26,20 @@ local ____maps = require("src.features.saveDataManager.maps")
20
26
  local saveDataConditionalFuncMap = ____maps.saveDataConditionalFuncMap
21
27
  local saveDataDefaultsMap = ____maps.saveDataDefaultsMap
22
28
  local saveDataGlowingHourGlassMap = ____maps.saveDataGlowingHourGlassMap
29
+ local saveDataManagerClassConstructors = ____maps.saveDataManagerClassConstructors
23
30
  local saveDataMap = ____maps.saveDataMap
31
+ function storeClassConstructorsFromObject(self, luaMap)
32
+ local tstlClassName = getTSTLClassName(nil, luaMap)
33
+ if tstlClassName ~= nil and not NON_USER_DEFINED_CLASS_NAMES:has(tstlClassName) then
34
+ saveDataManagerClassConstructors[tstlClassName] = luaMap
35
+ end
36
+ for _key, value in pairs(luaMap) do
37
+ if isTable(nil, value) then
38
+ storeClassConstructorsFromObject(nil, value)
39
+ end
40
+ end
41
+ end
42
+ NON_USER_DEFINED_CLASS_NAMES = __TS__New(Set, {"Map", "Set", "DefaultMap"})
24
43
  --- This is the entry point to the save data manager, a system which provides two major features:
25
44
  --
26
45
  -- 1. automatic resetting of variables on a new run, on a new level, or on a new room (as desired)
@@ -123,6 +142,7 @@ function ____exports.saveDataManager(self, key, v, conditionalFunc)
123
142
  if saveDataMap[key] ~= nil then
124
143
  error((("The " .. SAVE_DATA_MANAGER_FEATURE_NAME) .. " is already managing save data for a key of: ") .. key)
125
144
  end
145
+ storeClassConstructorsFromObject(nil, v)
126
146
  saveDataMap[key] = v
127
147
  if conditionalFunc == false then
128
148
  conditionalFunc = function() return false end
@@ -208,4 +228,22 @@ function ____exports.saveDataManagerRemove(self, key)
208
228
  saveDataConditionalFuncMap[key] = nil
209
229
  saveDataGlowingHourGlassMap[key] = nil
210
230
  end
231
+ --- By default, the save data manager will not be able to serialize classes that are nested inside of
232
+ -- maps, sets, and arrays, because it does not have access to the corresponding class constructor.
233
+ -- If you want to use nested classes in this way, then use this function to register a class
234
+ -- constructor with the save data manager. If the save data manager finds a registered class of the
235
+ -- same name when deserializing, it will automatically run the registered constructor (in addition
236
+ -- to copying over the data fields).
237
+ --
238
+ -- This function is variadic, which means you can pass as many classes as you want to register.
239
+ function ____exports.saveDataManagerRegisterClass(self, ...)
240
+ local tstlClasses = {...}
241
+ for ____, tstlClass in ipairs(tstlClasses) do
242
+ local name = tstlClass.name
243
+ if name == nil then
244
+ error("Failed to register a class with the save data manager due to not being able to derive the name of the class.")
245
+ end
246
+ saveDataManagerClassConstructors[name] = tstlClass
247
+ end
248
+ end
211
249
  return ____exports
@@ -1,5 +1,6 @@
1
1
  /// <reference types="isaac-typescript-definitions" />
2
2
  /// <reference types="@typescript-to-lua/language-extensions" />
3
3
  import { SaveData } from "../../interfaces/SaveData";
4
- export declare function loadFromDisk(mod: Mod, oldSaveData: LuaMap<string, SaveData>): void;
4
+ import { AnyClass } from "../../types/AnyClass";
5
+ export declare function loadFromDisk(mod: Mod, oldSaveData: LuaMap<string, SaveData>, classConstructors: LuaMap<string, AnyClass>): void;
5
6
  //# sourceMappingURL=load.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/load.ts"],"names":[],"mappings":";;AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AASrD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GACpC,IAAI,CAuDN"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/load.ts"],"names":[],"mappings":";;AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQhD,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACrC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAC1C,IAAI,CAwDN"}
@@ -8,6 +8,8 @@ local ____log = require("src.functions.log")
8
8
  local log = ____log.log
9
9
  local ____logMisc = require("src.functions.logMisc")
10
10
  local logError = ____logMisc.logError
11
+ local ____merge = require("src.functions.merge")
12
+ local merge = ____merge.merge
11
13
  local ____table = require("src.functions.table")
12
14
  local iterateTableInOrder = ____table.iterateTableInOrder
13
15
  local ____types = require("src.functions.types")
@@ -16,8 +18,6 @@ local isTable = ____types.isTable
16
18
  local ____constants = require("src.features.saveDataManager.constants")
17
19
  local SAVE_DATA_MANAGER_DEBUG = ____constants.SAVE_DATA_MANAGER_DEBUG
18
20
  local SAVE_DATA_MANAGER_FEATURE_NAME = ____constants.SAVE_DATA_MANAGER_FEATURE_NAME
19
- local ____merge = require("src.features.saveDataManager.merge")
20
- local merge = ____merge.merge
21
21
  function readSaveDatFile(self, mod)
22
22
  local renderFrameCount = Isaac.GetFrameCount()
23
23
  local ok, jsonStringOrErrMsg = pcall(tryLoadModData, mod)
@@ -41,7 +41,7 @@ function tryLoadModData(mod)
41
41
  return mod:LoadData()
42
42
  end
43
43
  DEFAULT_MOD_DATA = "{}"
44
- function ____exports.loadFromDisk(self, mod, oldSaveData)
44
+ function ____exports.loadFromDisk(self, mod, oldSaveData, classConstructors)
45
45
  if not mod:HasData() then
46
46
  return
47
47
  end
@@ -67,7 +67,13 @@ function ____exports.loadFromDisk(self, mod, oldSaveData)
67
67
  if SAVE_DATA_MANAGER_DEBUG then
68
68
  log(nil, "Merging in stored data for feature: " .. subscriberName)
69
69
  end
70
- merge(nil, oldSaveDataForSubscriber, saveData, subscriberName)
70
+ merge(
71
+ nil,
72
+ oldSaveDataForSubscriber,
73
+ saveData,
74
+ subscriberName,
75
+ classConstructors
76
+ )
71
77
  end,
72
78
  SAVE_DATA_MANAGER_DEBUG
73
79
  )
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/main.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAMtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AA2BlE,eAAO,MAAM,2BAA2B,EAAE,aAAa,EAQtD,CAAC;AAGF,eAAO,MAAM,kCAAkC,iGAErC,CAAC;AAEX,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI,CAE1D;AA+ED,iBAAS,gBAAgB,IAAI,IAAI,CAUhC;AAgID,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACvB,IAAI,CA4CN;AAiBD,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/features/saveDataManager/main.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAOtD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AA2BlE,eAAO,MAAM,2BAA2B,EAAE,aAAa,EAQtD,CAAC;AAGF,eAAO,MAAM,kCAAkC,iGAErC,CAAC;AAEX,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,GAAG,GAAG,IAAI,CAE1D;AA+ED,iBAAS,gBAAgB,IAAI,IAAI,CAUhC;AAiID,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,GACvB,IAAI,CA4CN;AAiBD,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAM/C"}