isaacscript-common 6.13.0 → 6.16.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 (144) hide show
  1. package/dist/callbacks/postGridEntityCustomCollision.d.ts +2 -0
  2. package/dist/callbacks/postGridEntityCustomCollision.d.ts.map +1 -0
  3. package/dist/callbacks/postGridEntityCustomCollision.lua +71 -0
  4. package/dist/callbacks/postGridEntityCustomRender.lua +0 -7
  5. package/dist/callbacks/postGridEntityCustomUpdate.lua +0 -7
  6. package/dist/callbacks/subscriptions/postGridEntityCustomBroken.d.ts +6 -0
  7. package/dist/callbacks/subscriptions/postGridEntityCustomBroken.d.ts.map +1 -0
  8. package/dist/callbacks/subscriptions/postGridEntityCustomBroken.lua +29 -0
  9. package/dist/callbacks/subscriptions/postGridEntityCustomCollision.d.ts +6 -0
  10. package/dist/callbacks/subscriptions/postGridEntityCustomCollision.d.ts.map +1 -0
  11. package/dist/callbacks/subscriptions/postGridEntityCustomCollision.lua +29 -0
  12. package/dist/enums/ModCallbackCustom.d.ts +96 -62
  13. package/dist/enums/ModCallbackCustom.d.ts.map +1 -1
  14. package/dist/enums/ModCallbackCustom.lua +64 -60
  15. package/dist/enums/private/SerializationBrand.d.ts +1 -1
  16. package/dist/enums/private/SerializationBrand.lua +1 -1
  17. package/dist/features/customGridEntity.d.ts +7 -3
  18. package/dist/features/customGridEntity.d.ts.map +1 -1
  19. package/dist/features/customGridEntity.lua +67 -7
  20. package/dist/features/extraConsoleCommands/exports.d.ts +4 -3
  21. package/dist/features/extraConsoleCommands/exports.d.ts.map +1 -1
  22. package/dist/features/extraConsoleCommands/exports.lua +4 -3
  23. package/dist/features/extraConsoleCommands/init.lua +1 -0
  24. package/dist/functions/collectibles.d.ts +6 -2
  25. package/dist/functions/collectibles.d.ts.map +1 -1
  26. package/dist/functions/collectibles.lua +4 -2
  27. package/dist/functions/color.d.ts +20 -14
  28. package/dist/functions/color.d.ts.map +1 -1
  29. package/dist/functions/color.lua +78 -73
  30. package/dist/functions/deepCopy.d.ts.map +1 -1
  31. package/dist/functions/deepCopy.lua +22 -1
  32. package/dist/functions/gridEntities.d.ts +2 -36
  33. package/dist/functions/gridEntities.d.ts.map +1 -1
  34. package/dist/functions/gridEntities.lua +2 -78
  35. package/dist/functions/isaacAPIClass.d.ts +1 -1
  36. package/dist/functions/isaacAPIClass.d.ts.map +1 -1
  37. package/dist/functions/itemPool.d.ts +10 -0
  38. package/dist/functions/itemPool.d.ts.map +1 -0
  39. package/dist/functions/itemPool.lua +116 -0
  40. package/dist/functions/kColor.d.ts +20 -14
  41. package/dist/functions/kColor.d.ts.map +1 -1
  42. package/dist/functions/kColor.lua +65 -60
  43. package/dist/functions/mergeTests.lua +2 -2
  44. package/dist/functions/npcs.d.ts +1 -29
  45. package/dist/functions/npcs.d.ts.map +1 -1
  46. package/dist/functions/npcs.lua +0 -45
  47. package/dist/functions/projectiles.d.ts +32 -0
  48. package/dist/functions/projectiles.d.ts.map +1 -0
  49. package/dist/functions/projectiles.lua +73 -0
  50. package/dist/functions/random.d.ts +1 -1
  51. package/dist/functions/random.lua +1 -1
  52. package/dist/functions/rng.d.ts +11 -15
  53. package/dist/functions/rng.d.ts.map +1 -1
  54. package/dist/functions/rng.lua +32 -52
  55. package/dist/functions/rockAlt.d.ts +48 -0
  56. package/dist/functions/rockAlt.d.ts.map +1 -0
  57. package/dist/functions/rockAlt.lua +365 -0
  58. package/dist/functions/saveFile.d.ts +8 -7
  59. package/dist/functions/saveFile.d.ts.map +1 -1
  60. package/dist/functions/saveFile.lua +10 -96
  61. package/dist/functions/serialization.d.ts +26 -7
  62. package/dist/functions/serialization.d.ts.map +1 -1
  63. package/dist/functions/serialization.lua +51 -19
  64. package/dist/functions/table.d.ts +2 -2
  65. package/dist/functions/table.lua +2 -2
  66. package/dist/functions/trinketGive.d.ts +13 -0
  67. package/dist/functions/trinketGive.d.ts.map +1 -1
  68. package/dist/functions/trinketGive.lua +16 -0
  69. package/dist/functions/tstlClass.d.ts +1 -1
  70. package/dist/functions/tstlClass.d.ts.map +1 -1
  71. package/dist/functions/vector.d.ts +21 -14
  72. package/dist/functions/vector.d.ts.map +1 -1
  73. package/dist/functions/vector.lua +58 -54
  74. package/dist/index.d.ts +2 -0
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.lua +16 -0
  77. package/dist/initCustomCallbacks.d.ts.map +1 -1
  78. package/dist/initCustomCallbacks.lua +3 -0
  79. package/dist/interfaces/AddCallbackParameterCustom.d.ts +4 -0
  80. package/dist/interfaces/AddCallbackParameterCustom.d.ts.map +1 -1
  81. package/dist/objects/callbackRegisterFunctions.d.ts.map +1 -1
  82. package/dist/objects/callbackRegisterFunctions.lua +6 -0
  83. package/dist/objects/isaacAPIClassTypeToFunctions.d.ts +12 -0
  84. package/dist/objects/isaacAPIClassTypeToFunctions.d.ts.map +1 -0
  85. package/dist/objects/isaacAPIClassTypeToFunctions.lua +25 -0
  86. package/dist/types/{private/IsaacAPIClass.d.ts → IsaacAPIClass.d.ts} +0 -0
  87. package/dist/types/IsaacAPIClass.d.ts.map +1 -0
  88. package/dist/types/{private/IsaacAPIClass.lua → IsaacAPIClass.lua} +0 -0
  89. package/dist/types/{private/SerializedIsaacAPIClass.d.ts → SerializedIsaacAPIClass.d.ts} +0 -0
  90. package/dist/types/SerializedIsaacAPIClass.d.ts.map +1 -0
  91. package/dist/types/{private/SerializedIsaacAPIClass.lua → SerializedIsaacAPIClass.lua} +0 -0
  92. package/dist/types/{private/TSTLClass.d.ts → TSTLClass.d.ts} +0 -0
  93. package/dist/types/TSTLClass.d.ts.map +1 -0
  94. package/dist/types/{private/TSTLClass.lua → TSTLClass.lua} +0 -0
  95. package/package.json +2 -2
  96. package/src/callbacks/postGridEntityCustomCollision.ts +74 -0
  97. package/src/callbacks/postGridEntityCustomRender.ts +1 -17
  98. package/src/callbacks/postGridEntityCustomUpdate.ts +1 -17
  99. package/src/callbacks/subscriptions/postGridEntityCustomBroken.ts +41 -0
  100. package/src/callbacks/subscriptions/postGridEntityCustomCollision.ts +43 -0
  101. package/src/enums/ModCallbackCustom.ts +38 -2
  102. package/src/enums/private/SerializationBrand.ts +1 -1
  103. package/src/features/customGridEntity.ts +78 -2
  104. package/src/features/extraConsoleCommands/exports.ts +4 -3
  105. package/src/features/extraConsoleCommands/init.ts +1 -0
  106. package/src/features/extraConsoleCommands/listCommands.ts +2 -2
  107. package/src/functions/collectibles.ts +6 -2
  108. package/src/functions/color.ts +89 -87
  109. package/src/functions/deepCopy.ts +15 -2
  110. package/src/functions/gridEntities.ts +2 -77
  111. package/src/functions/isaacAPIClass.ts +1 -1
  112. package/src/functions/itemPool.ts +153 -0
  113. package/src/functions/kColor.ts +87 -84
  114. package/src/functions/mergeTests.ts +2 -2
  115. package/src/functions/npcs.ts +1 -58
  116. package/src/functions/projectiles.ts +78 -0
  117. package/src/functions/random.ts +1 -1
  118. package/src/functions/rng.ts +45 -65
  119. package/src/functions/rockAlt.ts +396 -0
  120. package/src/functions/saveFile.ts +13 -119
  121. package/src/functions/serialization.ts +81 -25
  122. package/src/functions/table.ts +2 -2
  123. package/src/functions/trinketGive.ts +21 -0
  124. package/src/functions/tstlClass.ts +1 -1
  125. package/src/functions/vector.ts +78 -74
  126. package/src/index.ts +2 -0
  127. package/src/initCustomCallbacks.ts +2 -0
  128. package/src/interfaces/AddCallbackParameterCustom.ts +4 -0
  129. package/src/objects/callbackRegisterFunctions.ts +6 -0
  130. package/src/objects/isaacAPIClassTypeToFunctions.ts +63 -0
  131. package/src/types/{private/IsaacAPIClass.ts → IsaacAPIClass.ts} +0 -0
  132. package/src/types/{private/SerializedIsaacAPIClass.ts → SerializedIsaacAPIClass.ts} +0 -0
  133. package/src/types/{private/TSTLClass.ts → TSTLClass.ts} +0 -0
  134. package/dist/objects/isaacAPIClassTypeToCopyFunction.d.ts +0 -6
  135. package/dist/objects/isaacAPIClassTypeToCopyFunction.d.ts.map +0 -1
  136. package/dist/objects/isaacAPIClassTypeToCopyFunction.lua +0 -13
  137. package/dist/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts +0 -5
  138. package/dist/objects/serializedIsaacAPIClassTypeToIdentityFunction.d.ts.map +0 -1
  139. package/dist/objects/serializedIsaacAPIClassTypeToIdentityFunction.lua +0 -13
  140. package/dist/types/private/IsaacAPIClass.d.ts.map +0 -1
  141. package/dist/types/private/SerializedIsaacAPIClass.d.ts.map +0 -1
  142. package/dist/types/private/TSTLClass.d.ts.map +0 -1
  143. package/src/objects/isaacAPIClassTypeToCopyFunction.ts +0 -18
  144. package/src/objects/serializedIsaacAPIClassTypeToIdentityFunction.ts +0 -14
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=postGridEntityCustomCollision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postGridEntityCustomCollision.d.ts","sourceRoot":"","sources":["../../src/callbacks/postGridEntityCustomCollision.ts"],"names":[],"mappings":""}
@@ -0,0 +1,71 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local Set = ____lualib.Set
3
+ local __TS__New = ____lualib.__TS__New
4
+ local __TS__ArrayMap = ____lualib.__TS__ArrayMap
5
+ local __TS__Iterator = ____lualib.__TS__Iterator
6
+ local ____exports = {}
7
+ local hasSubscriptions, postUpdate, v
8
+ local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
9
+ local GridCollisionClass = ____isaac_2Dtypescript_2Ddefinitions.GridCollisionClass
10
+ local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
11
+ local ____DefaultMap = require("classes.DefaultMap")
12
+ local DefaultMap = ____DefaultMap.DefaultMap
13
+ local ____customGridEntity = require("features.customGridEntity")
14
+ local getCustomGridEntities = ____customGridEntity.getCustomGridEntities
15
+ local ____exports = require("features.saveDataManager.exports")
16
+ local saveDataManager = ____exports.saveDataManager
17
+ local ____gridEntities = require("functions.gridEntities")
18
+ local getCollidingEntitiesWithGridEntity = ____gridEntities.getCollidingEntitiesWithGridEntity
19
+ local ____postGridEntityCustomCollision = require("callbacks.subscriptions.postGridEntityCustomCollision")
20
+ local postGridEntityCustomCollisionFire = ____postGridEntityCustomCollision.postGridEntityCustomCollisionFire
21
+ local postGridEntityCustomCollisionHasSubscriptions = ____postGridEntityCustomCollision.postGridEntityCustomCollisionHasSubscriptions
22
+ function hasSubscriptions(self)
23
+ return postGridEntityCustomCollisionHasSubscriptions(nil)
24
+ end
25
+ function postUpdate(self)
26
+ if not hasSubscriptions(nil) then
27
+ return
28
+ end
29
+ local customGridEntities = getCustomGridEntities(nil)
30
+ for ____, ____value in ipairs(customGridEntities) do
31
+ local gridEntity = ____value[1]
32
+ local data = ____value[2]
33
+ do
34
+ if gridEntity.CollisionClass == GridCollisionClass.NONE then
35
+ goto __continue7
36
+ end
37
+ local gridEntityPtrHash = GetPtrHash(gridEntity)
38
+ local oldCollidingEntities = v.room.collidingEntitiesMap:getAndSetDefault(gridEntityPtrHash)
39
+ local collidingEntities = getCollidingEntitiesWithGridEntity(nil, gridEntity)
40
+ for ____, entity in ipairs(collidingEntities) do
41
+ local entityPtrHash = GetPtrHash(entity)
42
+ if not oldCollidingEntities:has(entityPtrHash) then
43
+ oldCollidingEntities:add(entityPtrHash)
44
+ postGridEntityCustomCollisionFire(nil, gridEntity, data.gridEntityTypeCustom, entity)
45
+ end
46
+ end
47
+ local collidingEntitiesPtrHashes = __TS__ArrayMap(
48
+ collidingEntities,
49
+ function(____, entity) return GetPtrHash(entity) end
50
+ )
51
+ local collidingEntitiesPtrHashSet = __TS__New(Set, collidingEntitiesPtrHashes)
52
+ for ____, oldCollidingEntityPtrHash in __TS__Iterator(oldCollidingEntities:values()) do
53
+ if not collidingEntitiesPtrHashSet:has(oldCollidingEntityPtrHash) then
54
+ oldCollidingEntities:delete(oldCollidingEntityPtrHash)
55
+ end
56
+ end
57
+ end
58
+ ::__continue7::
59
+ end
60
+ end
61
+ v = {room = {collidingEntitiesMap = __TS__New(
62
+ DefaultMap,
63
+ function() return __TS__New(Set) end
64
+ )}}
65
+ ---
66
+ -- @internal
67
+ function ____exports.postGridEntityCustomCollisionInit(self, mod)
68
+ saveDataManager(nil, "postGridEntityCustomCollisionInit", v, hasSubscriptions)
69
+ mod:AddCallback(ModCallback.POST_UPDATE, postUpdate)
70
+ end
71
+ return ____exports
@@ -1,14 +1,9 @@
1
- local ____lualib = require("lualib_bundle")
2
- local Map = ____lualib.Map
3
- local __TS__New = ____lualib.__TS__New
4
1
  local ____exports = {}
5
2
  local hasSubscriptions, postRender
6
3
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
7
4
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
8
5
  local ____customGridEntity = require("features.customGridEntity")
9
6
  local getCustomGridEntities = ____customGridEntity.getCustomGridEntities
10
- local ____exports = require("features.saveDataManager.exports")
11
- local saveDataManager = ____exports.saveDataManager
12
7
  local ____postGridEntityCustomRender = require("callbacks.subscriptions.postGridEntityCustomRender")
13
8
  local postGridEntityCustomRenderFire = ____postGridEntityCustomRender.postGridEntityCustomRenderFire
14
9
  local postGridEntityCustomRenderHasSubscriptions = ____postGridEntityCustomRender.postGridEntityCustomRenderHasSubscriptions
@@ -26,11 +21,9 @@ function postRender(self)
26
21
  postGridEntityCustomRenderFire(nil, gridEntity, data.gridEntityTypeCustom)
27
22
  end
28
23
  end
29
- local v = {room = {initializedGridEntities = __TS__New(Map)}}
30
24
  ---
31
25
  -- @internal
32
26
  function ____exports.postGridEntityCustomRenderInit(self, mod)
33
- saveDataManager(nil, "postGridEntityCustomRender", v, hasSubscriptions)
34
27
  mod:AddCallback(ModCallback.POST_RENDER, postRender)
35
28
  end
36
29
  return ____exports
@@ -1,14 +1,9 @@
1
- local ____lualib = require("lualib_bundle")
2
- local Map = ____lualib.Map
3
- local __TS__New = ____lualib.__TS__New
4
1
  local ____exports = {}
5
2
  local hasSubscriptions, postUpdate
6
3
  local ____isaac_2Dtypescript_2Ddefinitions = require("isaac-typescript-definitions")
7
4
  local ModCallback = ____isaac_2Dtypescript_2Ddefinitions.ModCallback
8
5
  local ____customGridEntity = require("features.customGridEntity")
9
6
  local getCustomGridEntities = ____customGridEntity.getCustomGridEntities
10
- local ____exports = require("features.saveDataManager.exports")
11
- local saveDataManager = ____exports.saveDataManager
12
7
  local ____postGridEntityCustomUpdate = require("callbacks.subscriptions.postGridEntityCustomUpdate")
13
8
  local postGridEntityCustomUpdateFire = ____postGridEntityCustomUpdate.postGridEntityCustomUpdateFire
14
9
  local postGridEntityCustomUpdateHasSubscriptions = ____postGridEntityCustomUpdate.postGridEntityCustomUpdateHasSubscriptions
@@ -26,11 +21,9 @@ function postUpdate(self)
26
21
  postGridEntityCustomUpdateFire(nil, gridEntity, data.gridEntityTypeCustom)
27
22
  end
28
23
  end
29
- local v = {room = {initializedGridEntities = __TS__New(Map)}}
30
24
  ---
31
25
  -- @internal
32
26
  function ____exports.postGridEntityCustomUpdateInit(self, mod)
33
- saveDataManager(nil, "postGridEntityCustomUpdate", v, hasSubscriptions)
34
27
  mod:AddCallback(ModCallback.POST_UPDATE, postUpdate)
35
28
  end
36
29
  return ____exports
@@ -0,0 +1,6 @@
1
+ import { GridEntityType } from "isaac-typescript-definitions";
2
+ export declare type PostGridEntityCustomBrokenRegisterParameters = [
3
+ callback: (gridEntity: GridEntity, gridEntityTypeCustom: GridEntityType) => void,
4
+ gridEntityTypeCustom?: GridEntityType
5
+ ];
6
+ //# sourceMappingURL=postGridEntityCustomBroken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postGridEntityCustomBroken.d.ts","sourceRoot":"","sources":["../../../src/callbacks/subscriptions/postGridEntityCustomBroken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,oBAAY,4CAA4C,GAAG;IACzD,QAAQ,EAAE,CACR,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,cAAc,KACjC,IAAI;IACT,oBAAoB,CAAC,EAAE,cAAc;CACtC,CAAC"}
@@ -0,0 +1,29 @@
1
+ local ____exports = {}
2
+ local subscriptions = {}
3
+ ---
4
+ -- @internal
5
+ function ____exports.postGridEntityCustomBrokenHasSubscriptions(self)
6
+ return #subscriptions > 0
7
+ end
8
+ ---
9
+ -- @internal
10
+ function ____exports.postGridEntityCustomBrokenRegister(self, ...)
11
+ local args = {...}
12
+ subscriptions[#subscriptions + 1] = args
13
+ end
14
+ ---
15
+ -- @internal
16
+ function ____exports.postGridEntityCustomBrokenFire(self, gridEntity, gridEntityTypeCustom)
17
+ for ____, ____value in ipairs(subscriptions) do
18
+ local callback = ____value[1]
19
+ local callbackGridEntityTypeCustom = ____value[2]
20
+ do
21
+ if callbackGridEntityTypeCustom ~= nil and callbackGridEntityTypeCustom ~= gridEntityTypeCustom then
22
+ goto __continue5
23
+ end
24
+ callback(nil, gridEntity, gridEntityTypeCustom)
25
+ end
26
+ ::__continue5::
27
+ end
28
+ end
29
+ return ____exports
@@ -0,0 +1,6 @@
1
+ import { GridEntityType } from "isaac-typescript-definitions";
2
+ export declare type PostGridEntityCustomCollisionRegisterParameters = [
3
+ callback: (gridEntity: GridEntity, gridEntityTypeCustom: GridEntityType, entity: Entity) => void,
4
+ gridEntityTypeCustom?: GridEntityType
5
+ ];
6
+ //# sourceMappingURL=postGridEntityCustomCollision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postGridEntityCustomCollision.d.ts","sourceRoot":"","sources":["../../../src/callbacks/subscriptions/postGridEntityCustomCollision.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,oBAAY,+CAA+C,GAAG;IAC5D,QAAQ,EAAE,CACR,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,cAAc,EACpC,MAAM,EAAE,MAAM,KACX,IAAI;IACT,oBAAoB,CAAC,EAAE,cAAc;CACtC,CAAC"}
@@ -0,0 +1,29 @@
1
+ local ____exports = {}
2
+ local subscriptions = {}
3
+ ---
4
+ -- @internal
5
+ function ____exports.postGridEntityCustomCollisionHasSubscriptions(self)
6
+ return #subscriptions > 0
7
+ end
8
+ ---
9
+ -- @internal
10
+ function ____exports.postGridEntityCustomCollisionRegister(self, ...)
11
+ local args = {...}
12
+ subscriptions[#subscriptions + 1] = args
13
+ end
14
+ ---
15
+ -- @internal
16
+ function ____exports.postGridEntityCustomCollisionFire(self, gridEntity, gridEntityTypeCustom, entity)
17
+ for ____, ____value in ipairs(subscriptions) do
18
+ local callback = ____value[1]
19
+ local callbackGridEntityTypeCustom = ____value[2]
20
+ do
21
+ if callbackGridEntityTypeCustom ~= nil and callbackGridEntityTypeCustom ~= gridEntityTypeCustom then
22
+ goto __continue5
23
+ end
24
+ callback(nil, gridEntity, gridEntityTypeCustom, entity)
25
+ end
26
+ ::__continue5::
27
+ end
28
+ end
29
+ return ____exports