isaacscript-common 6.0.0 → 6.1.1

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 (45) hide show
  1. package/callbacks/postCollectibleEmpty.d.ts +1 -0
  2. package/callbacks/postCollectibleEmpty.lua +40 -0
  3. package/callbacks/subscriptions/postCollectibleEmpty.d.ts +5 -0
  4. package/callbacks/subscriptions/postCollectibleEmpty.lua +29 -0
  5. package/enums/ModCallbackCustom.d.ts +92 -77
  6. package/enums/ModCallbackCustom.lua +79 -77
  7. package/features/customStage/exports.d.ts +1 -8
  8. package/features/customStage/exports.lua +6 -14
  9. package/features/customStage/init.d.ts +1 -0
  10. package/features/customStage/init.lua +18 -0
  11. package/features/customStage/metadata.lua +1 -0
  12. package/features/customStage/v.d.ts +2 -2
  13. package/features/customStage/v.lua +1 -1
  14. package/features/deployJSONRoom.d.ts +1 -1
  15. package/functions/boss.d.ts +2 -2
  16. package/functions/doors.d.ts +2 -2
  17. package/functions/doors.lua +5 -4
  18. package/functions/entity.d.ts +2 -2
  19. package/functions/entitySpecific.d.ts +20 -20
  20. package/functions/jsonRoom.d.ts +1 -1
  21. package/functions/pickups.d.ts +16 -16
  22. package/index.d.ts +1 -5
  23. package/initCustomCallbacks.lua +3 -0
  24. package/initFeatures.lua +3 -0
  25. package/interfaces/AddCallbackParameterCustom.d.ts +2 -0
  26. package/interfaces/CustomStage.d.ts +51 -0
  27. package/interfaces/{CustomStageData.lua → CustomStage.lua} +0 -0
  28. package/interfaces/JSONRoomsFile.d.ts +75 -0
  29. package/interfaces/{JSONDoor.lua → JSONRoomsFile.lua} +0 -0
  30. package/objects/callbackRegisterFunctions.lua +3 -0
  31. package/package.json +1 -1
  32. package/features/customStage/constants.d.ts +0 -18
  33. package/features/customStage/constants.lua +0 -29
  34. package/features/customStage/scripts/generateCustomStageRooms.d.ts +0 -27
  35. package/features/customStage/scripts/generateCustomStageRooms.lua +0 -126
  36. package/interfaces/CustomStageData.d.ts +0 -5
  37. package/interfaces/JSONDoor.d.ts +0 -11
  38. package/interfaces/JSONEntity.d.ts +0 -13
  39. package/interfaces/JSONEntity.lua +0 -2
  40. package/interfaces/JSONRoom.d.ts +0 -26
  41. package/interfaces/JSONRoom.lua +0 -2
  42. package/interfaces/JSONRooms.d.ts +0 -11
  43. package/interfaces/JSONRooms.lua +0 -2
  44. package/interfaces/JSONSpawn.d.ts +0 -11
  45. package/interfaces/JSONSpawn.lua +0 -2
@@ -16,158 +16,160 @@ ____exports.ModCallbackCustom.POST_BOMB_INIT_LATE = 3
16
16
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_BOMB_INIT_LATE] = "POST_BOMB_INIT_LATE"
17
17
  ____exports.ModCallbackCustom.POST_BONE_SWING = 4
18
18
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_BONE_SWING] = "POST_BONE_SWING"
19
- ____exports.ModCallbackCustom.POST_COLLECTIBLE_INIT_FIRST = 5
19
+ ____exports.ModCallbackCustom.POST_COLLECTIBLE_EMPTY = 5
20
+ ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_COLLECTIBLE_EMPTY] = "POST_COLLECTIBLE_EMPTY"
21
+ ____exports.ModCallbackCustom.POST_COLLECTIBLE_INIT_FIRST = 6
20
22
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_COLLECTIBLE_INIT_FIRST] = "POST_COLLECTIBLE_INIT_FIRST"
21
- ____exports.ModCallbackCustom.POST_CURSED_TELEPORT = 6
23
+ ____exports.ModCallbackCustom.POST_CURSED_TELEPORT = 7
22
24
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_CURSED_TELEPORT] = "POST_CURSED_TELEPORT"
23
- ____exports.ModCallbackCustom.POST_CUSTOM_DOOR_ENTER = 7
25
+ ____exports.ModCallbackCustom.POST_CUSTOM_DOOR_ENTER = 8
24
26
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_CUSTOM_DOOR_ENTER] = "POST_CUSTOM_DOOR_ENTER"
25
- ____exports.ModCallbackCustom.POST_CUSTOM_REVIVE = 8
27
+ ____exports.ModCallbackCustom.POST_CUSTOM_REVIVE = 9
26
28
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_CUSTOM_REVIVE] = "POST_CUSTOM_REVIVE"
27
- ____exports.ModCallbackCustom.POST_DICE_ROOM_ACTIVATED = 9
29
+ ____exports.ModCallbackCustom.POST_DICE_ROOM_ACTIVATED = 10
28
30
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_DICE_ROOM_ACTIVATED] = "POST_DICE_ROOM_ACTIVATED"
29
- ____exports.ModCallbackCustom.POST_DOOR_RENDER = 10
31
+ ____exports.ModCallbackCustom.POST_DOOR_RENDER = 11
30
32
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_DOOR_RENDER] = "POST_DOOR_RENDER"
31
- ____exports.ModCallbackCustom.POST_DOOR_UPDATE = 11
33
+ ____exports.ModCallbackCustom.POST_DOOR_UPDATE = 12
32
34
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_DOOR_UPDATE] = "POST_DOOR_UPDATE"
33
- ____exports.ModCallbackCustom.POST_EFFECT_INIT_LATE = 12
35
+ ____exports.ModCallbackCustom.POST_EFFECT_INIT_LATE = 13
34
36
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_EFFECT_INIT_LATE] = "POST_EFFECT_INIT_LATE"
35
- ____exports.ModCallbackCustom.POST_EFFECT_STATE_CHANGED = 13
37
+ ____exports.ModCallbackCustom.POST_EFFECT_STATE_CHANGED = 14
36
38
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_EFFECT_STATE_CHANGED] = "POST_EFFECT_STATE_CHANGED"
37
- ____exports.ModCallbackCustom.POST_ESAU_JR = 14
39
+ ____exports.ModCallbackCustom.POST_ESAU_JR = 15
38
40
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ESAU_JR] = "POST_ESAU_JR"
39
- ____exports.ModCallbackCustom.POST_FAMILIAR_INIT_LATE = 15
41
+ ____exports.ModCallbackCustom.POST_FAMILIAR_INIT_LATE = 16
40
42
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FAMILIAR_INIT_LATE] = "POST_FAMILIAR_INIT_LATE"
41
- ____exports.ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED = 16
43
+ ____exports.ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED = 17
42
44
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FAMILIAR_STATE_CHANGED] = "POST_FAMILIAR_STATE_CHANGED"
43
- ____exports.ModCallbackCustom.POST_FIRST_ESAU_JR = 17
45
+ ____exports.ModCallbackCustom.POST_FIRST_ESAU_JR = 18
44
46
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FIRST_ESAU_JR] = "POST_FIRST_ESAU_JR"
45
- ____exports.ModCallbackCustom.POST_FIRST_FLIP = 18
47
+ ____exports.ModCallbackCustom.POST_FIRST_FLIP = 19
46
48
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FIRST_FLIP] = "POST_FIRST_FLIP"
47
- ____exports.ModCallbackCustom.POST_FLIP = 19
49
+ ____exports.ModCallbackCustom.POST_FLIP = 20
48
50
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_FLIP] = "POST_FLIP"
49
- ____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED = 20
51
+ ____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED = 21
50
52
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GAME_STARTED_REORDERED] = "POST_GAME_STARTED_REORDERED"
51
- ____exports.ModCallbackCustom.POST_GREED_MODE_WAVE = 21
53
+ ____exports.ModCallbackCustom.POST_GREED_MODE_WAVE = 22
52
54
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GREED_MODE_WAVE] = "POST_GREED_MODE_WAVE"
53
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN = 22
55
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN = 23
54
56
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_BROKEN] = "POST_GRID_ENTITY_BROKEN"
55
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION = 23
57
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION = 24
56
58
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_COLLISION] = "POST_GRID_ENTITY_COLLISION"
57
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT = 24
59
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT = 25
58
60
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_INIT] = "POST_GRID_ENTITY_INIT"
59
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE = 25
61
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE = 26
60
62
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_REMOVE] = "POST_GRID_ENTITY_REMOVE"
61
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER = 26
63
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER = 27
62
64
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_RENDER] = "POST_GRID_ENTITY_RENDER"
63
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED = 27
65
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED = 28
64
66
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_STATE_CHANGED] = "POST_GRID_ENTITY_STATE_CHANGED"
65
- ____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE = 28
67
+ ____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE = 29
66
68
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_GRID_ENTITY_UPDATE] = "POST_GRID_ENTITY_UPDATE"
67
- ____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED = 29
69
+ ____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED = 30
68
70
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_HOLY_MANTLE_REMOVED] = "POST_HOLY_MANTLE_REMOVED"
69
- ____exports.ModCallbackCustom.POST_ITEM_DISCHARGE = 30
71
+ ____exports.ModCallbackCustom.POST_ITEM_DISCHARGE = 31
70
72
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ITEM_DISCHARGE] = "POST_ITEM_DISCHARGE"
71
- ____exports.ModCallbackCustom.POST_ITEM_PICKUP = 31
73
+ ____exports.ModCallbackCustom.POST_ITEM_PICKUP = 32
72
74
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ITEM_PICKUP] = "POST_ITEM_PICKUP"
73
- ____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE = 32
75
+ ____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE = 33
74
76
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_KNIFE_INIT_LATE] = "POST_KNIFE_INIT_LATE"
75
- ____exports.ModCallbackCustom.POST_LASER_INIT_LATE = 33
77
+ ____exports.ModCallbackCustom.POST_LASER_INIT_LATE = 34
76
78
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_LASER_INIT_LATE] = "POST_LASER_INIT_LATE"
77
- ____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED = 34
79
+ ____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED = 35
78
80
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_LEVEL_REORDERED] = "POST_NEW_LEVEL_REORDERED"
79
- ____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY = 35
81
+ ____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY = 36
80
82
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_EARLY] = "POST_NEW_ROOM_EARLY"
81
- ____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED = 36
83
+ ____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED = 37
82
84
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NEW_ROOM_REORDERED] = "POST_NEW_ROOM_REORDERED"
83
- ____exports.ModCallbackCustom.POST_NPC_INIT_LATE = 37
85
+ ____exports.ModCallbackCustom.POST_NPC_INIT_LATE = 38
84
86
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_INIT_LATE] = "POST_NPC_INIT_LATE"
85
- ____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED = 38
87
+ ____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED = 39
86
88
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_NPC_STATE_CHANGED] = "POST_NPC_STATE_CHANGED"
87
- ____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED = 39
89
+ ____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED = 40
88
90
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PEFFECT_UPDATE_REORDERED] = "POST_PEFFECT_UPDATE_REORDERED"
89
- ____exports.ModCallbackCustom.POST_PICKUP_COLLECT = 40
91
+ ____exports.ModCallbackCustom.POST_PICKUP_COLLECT = 41
90
92
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_COLLECT] = "POST_PICKUP_COLLECT"
91
- ____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST = 41
93
+ ____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST = 42
92
94
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_FIRST] = "POST_PICKUP_INIT_FIRST"
93
- ____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE = 42
95
+ ____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE = 43
94
96
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_INIT_LATE] = "POST_PICKUP_INIT_LATE"
95
- ____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED = 43
97
+ ____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED = 44
96
98
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PICKUP_STATE_CHANGED] = "POST_PICKUP_STATE_CHANGED"
97
- ____exports.ModCallbackCustom.POST_PIT_RENDER = 44
99
+ ____exports.ModCallbackCustom.POST_PIT_RENDER = 45
98
100
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_RENDER] = "POST_PIT_RENDER"
99
- ____exports.ModCallbackCustom.POST_PIT_UPDATE = 45
101
+ ____exports.ModCallbackCustom.POST_PIT_UPDATE = 46
100
102
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PIT_UPDATE] = "POST_PIT_UPDATE"
101
- ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH = 46
103
+ ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH = 47
102
104
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_HEALTH] = "POST_PLAYER_CHANGE_HEALTH"
103
- ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE = 47
105
+ ____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE = 48
104
106
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_CHANGE_TYPE] = "POST_PLAYER_CHANGE_TYPE"
105
- ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED = 48
107
+ ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED = 49
106
108
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_ADDED] = "POST_PLAYER_COLLECTIBLE_ADDED"
107
- ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED = 49
109
+ ____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED = 50
108
110
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_COLLECTIBLE_REMOVED] = "POST_PLAYER_COLLECTIBLE_REMOVED"
109
- ____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE = 50
111
+ ____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE = 51
110
112
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_FATAL_DAMAGE] = "POST_PLAYER_FATAL_DAMAGE"
111
- ____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE = 51
113
+ ____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE = 52
112
114
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_LATE] = "POST_PLAYER_INIT_LATE"
113
- ____exports.ModCallbackCustom.POST_PLAYER_INIT_REORDERED = 52
115
+ ____exports.ModCallbackCustom.POST_PLAYER_INIT_REORDERED = 53
114
116
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_INIT_REORDERED] = "POST_PLAYER_INIT_REORDERED"
115
- ____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED = 53
117
+ ____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED = 54
116
118
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_RENDER_REORDERED] = "POST_PLAYER_RENDER_REORDERED"
117
- ____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED = 54
119
+ ____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED = 55
118
120
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PLAYER_UPDATE_REORDERED] = "POST_PLAYER_UPDATE_REORDERED"
119
- ____exports.ModCallbackCustom.POST_POOP_RENDER = 55
121
+ ____exports.ModCallbackCustom.POST_POOP_RENDER = 56
120
122
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_RENDER] = "POST_POOP_RENDER"
121
- ____exports.ModCallbackCustom.POST_POOP_UPDATE = 56
123
+ ____exports.ModCallbackCustom.POST_POOP_UPDATE = 57
122
124
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_POOP_UPDATE] = "POST_POOP_UPDATE"
123
- ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER = 57
125
+ ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER = 58
124
126
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_RENDER] = "POST_PRESSURE_PLATE_RENDER"
125
- ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE = 58
127
+ ____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE = 59
126
128
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PRESSURE_PLATE_UPDATE] = "POST_PRESSURE_PLATE_UPDATE"
127
- ____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE = 59
129
+ ____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE = 60
128
130
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PROJECTILE_INIT_LATE] = "POST_PROJECTILE_INIT_LATE"
129
- ____exports.ModCallbackCustom.POST_PURCHASE = 60
131
+ ____exports.ModCallbackCustom.POST_PURCHASE = 61
130
132
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_PURCHASE] = "POST_PURCHASE"
131
- ____exports.ModCallbackCustom.POST_ROCK_RENDER = 61
133
+ ____exports.ModCallbackCustom.POST_ROCK_RENDER = 62
132
134
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_RENDER] = "POST_ROCK_RENDER"
133
- ____exports.ModCallbackCustom.POST_ROCK_UPDATE = 62
135
+ ____exports.ModCallbackCustom.POST_ROCK_UPDATE = 63
134
136
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROCK_UPDATE] = "POST_ROCK_UPDATE"
135
- ____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED = 63
137
+ ____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED = 64
136
138
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_ROOM_CLEAR_CHANGED] = "POST_ROOM_CLEAR_CHANGED"
137
- ____exports.ModCallbackCustom.POST_SACRIFICE = 64
139
+ ____exports.ModCallbackCustom.POST_SACRIFICE = 65
138
140
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SACRIFICE] = "POST_SACRIFICE"
139
- ____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 65
141
+ ____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED = 66
140
142
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_ANIMATION_CHANGED] = "POST_SLOT_ANIMATION_CHANGED"
141
- ____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 66
143
+ ____exports.ModCallbackCustom.POST_SLOT_DESTROYED = 67
142
144
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_DESTROYED] = "POST_SLOT_DESTROYED"
143
- ____exports.ModCallbackCustom.POST_SLOT_INIT = 67
145
+ ____exports.ModCallbackCustom.POST_SLOT_INIT = 68
144
146
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_INIT] = "POST_SLOT_INIT"
145
- ____exports.ModCallbackCustom.POST_SLOT_RENDER = 68
147
+ ____exports.ModCallbackCustom.POST_SLOT_RENDER = 69
146
148
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_RENDER] = "POST_SLOT_RENDER"
147
- ____exports.ModCallbackCustom.POST_SLOT_UPDATE = 69
149
+ ____exports.ModCallbackCustom.POST_SLOT_UPDATE = 70
148
150
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SLOT_UPDATE] = "POST_SLOT_UPDATE"
149
- ____exports.ModCallbackCustom.POST_SPIKES_RENDER = 70
151
+ ____exports.ModCallbackCustom.POST_SPIKES_RENDER = 71
150
152
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_RENDER] = "POST_SPIKES_RENDER"
151
- ____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 71
153
+ ____exports.ModCallbackCustom.POST_SPIKES_UPDATE = 72
152
154
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_SPIKES_UPDATE] = "POST_SPIKES_UPDATE"
153
- ____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 72
155
+ ____exports.ModCallbackCustom.POST_TEAR_INIT_LATE = 73
154
156
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_LATE] = "POST_TEAR_INIT_LATE"
155
- ____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 73
157
+ ____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE = 74
156
158
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TEAR_INIT_VERY_LATE] = "POST_TEAR_INIT_VERY_LATE"
157
- ____exports.ModCallbackCustom.POST_TNT_RENDER = 74
159
+ ____exports.ModCallbackCustom.POST_TNT_RENDER = 75
158
160
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_RENDER] = "POST_TNT_RENDER"
159
- ____exports.ModCallbackCustom.POST_TNT_UPDATE = 75
161
+ ____exports.ModCallbackCustom.POST_TNT_UPDATE = 76
160
162
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TNT_UPDATE] = "POST_TNT_UPDATE"
161
- ____exports.ModCallbackCustom.POST_TRANSFORMATION = 76
163
+ ____exports.ModCallbackCustom.POST_TRANSFORMATION = 77
162
164
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRANSFORMATION] = "POST_TRANSFORMATION"
163
- ____exports.ModCallbackCustom.POST_TRINKET_BREAK = 77
165
+ ____exports.ModCallbackCustom.POST_TRINKET_BREAK = 78
164
166
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.POST_TRINKET_BREAK] = "POST_TRINKET_BREAK"
165
- ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 78
167
+ ____exports.ModCallbackCustom.PRE_BERSERK_DEATH = 79
166
168
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_BERSERK_DEATH] = "PRE_BERSERK_DEATH"
167
- ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 79
169
+ ____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE = 80
168
170
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_CUSTOM_REVIVE] = "PRE_CUSTOM_REVIVE"
169
- ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 80
171
+ ____exports.ModCallbackCustom.PRE_ITEM_PICKUP = 81
170
172
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_ITEM_PICKUP] = "PRE_ITEM_PICKUP"
171
- ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 81
173
+ ____exports.ModCallbackCustom.PRE_NEW_LEVEL = 82
172
174
  ____exports.ModCallbackCustom[____exports.ModCallbackCustom.PRE_NEW_LEVEL] = "PRE_NEW_LEVEL"
173
175
  return ____exports
@@ -1,13 +1,6 @@
1
- import { LevelStage } from "isaac-typescript-definitions";
2
- import { JSONRoom } from "../../interfaces/JSONRoom";
3
- /**
4
- * Helper function to register a new custom stage with the IsaacScript standard library stage
5
- * system.
6
- */
7
- export declare function registerCustomStage(name: string, baseStage: LevelStage, jsonRooms: JSONRoom[] | readonly JSONRoom[]): void;
8
1
  /**
9
2
  * Helper function to warp to a custom stage/level.
10
3
  *
11
4
  * Custom stages/levels must first be registered with the `registerCustomStage` function.
12
5
  */
13
- export declare function setCustomStage(_name: string): void;
6
+ export declare function setCustomStage(name: string): void;
@@ -2,22 +2,14 @@ local ____lualib = require("lualib_bundle")
2
2
  local Map = ____lualib.Map
3
3
  local ____exports = {}
4
4
  local ____v = require("features.customStage.v")
5
- local customStages = ____v.customStages
6
- --- Helper function to register a new custom stage with the IsaacScript standard library stage
7
- -- system.
8
- function ____exports.registerCustomStage(self, name, baseStage, jsonRooms)
9
- if customStages:has(name) then
10
- error(("Failed to register a custom stage of \"" .. name) .. "\" since there is already a custom stage registered by that name.")
11
- end
12
- if #jsonRooms == 0 then
13
- error(("Failed to register a custom stage of \"" .. name) .. "\" since the provided JSON room array was empty.")
14
- end
15
- local customStageData = {name = name, baseStage = baseStage}
16
- customStages:set(name, customStageData)
17
- end
5
+ local customStagesMap = ____v.customStagesMap
18
6
  --- Helper function to warp to a custom stage/level.
19
7
  --
20
8
  -- Custom stages/levels must first be registered with the `registerCustomStage` function.
21
- function ____exports.setCustomStage(self, _name)
9
+ function ____exports.setCustomStage(self, name)
10
+ local customStage = customStagesMap:get(name)
11
+ if customStage == nil then
12
+ error(("Failed to set the custom stage of \"" .. name) .. "\" because it was not found in the custom stages map. (This means that you probably forgot to define it in your \"tsconfig.json\" file.) See the website for more details on how to set up custom stages..")
13
+ end
22
14
  end
23
15
  return ____exports
@@ -0,0 +1 @@
1
+ export declare function customStageInit(): void;
@@ -0,0 +1,18 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local Map = ____lualib.Map
3
+ local ____exports = {}
4
+ local ____array = require("functions.array")
5
+ local isArray = ____array.isArray
6
+ local metadataJSON = require("features.customStage.metadata")
7
+ local ____v = require("features.customStage.v")
8
+ local customStagesMap = ____v.customStagesMap
9
+ function ____exports.customStageInit(self)
10
+ local customStages = metadataJSON
11
+ if not isArray(nil, customStages) then
12
+ error("The IsaacScript standard library attempted to read the custom stage metadata from the \"metadata.lua\" file, but it was not an array.")
13
+ end
14
+ for ____, customStage in ipairs(customStages) do
15
+ customStagesMap:set(customStage.name, customStage)
16
+ end
17
+ end
18
+ return ____exports
@@ -0,0 +1 @@
1
+ return {}
@@ -1,2 +1,2 @@
1
- import { CustomStageData } from "../../interfaces/CustomStageData";
2
- export declare const customStages: Map<string, CustomStageData>;
1
+ import { CustomStage } from "../../interfaces/CustomStage";
2
+ export declare const customStagesMap: Map<string, CustomStage>;
@@ -2,5 +2,5 @@ local ____lualib = require("lualib_bundle")
2
2
  local Map = ____lualib.Map
3
3
  local __TS__New = ____lualib.__TS__New
4
4
  local ____exports = {}
5
- ____exports.customStages = __TS__New(Map)
5
+ ____exports.customStagesMap = __TS__New(Map)
6
6
  return ____exports
@@ -1,6 +1,6 @@
1
1
  /// <reference types="isaac-typescript-definitions" />
2
2
  /// <reference types="isaac-typescript-definitions" />
3
- import { JSONRoom } from "../interfaces/JSONRoom";
3
+ import { JSONRoom } from "../interfaces/JSONRoomsFile";
4
4
  /**
5
5
  * Helper function to deconstruct a vanilla room and set up a custom room in its place.
6
6
  * Specifically, this will clear the current room of all entities and grid entities, and then spawn
@@ -47,10 +47,10 @@ export declare function isSin(npc: EntityNPC): boolean;
47
47
  * Gurglings/Turdlings with 2 copies, and other multi-segment bosses with 4 segments. You can
48
48
  * customize this via the "numSegments" argument.
49
49
  */
50
- export declare function spawnBoss(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined, numSegments?: int): EntityNPC;
50
+ export declare function spawnBoss(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined, numSegments?: int): EntityNPC;
51
51
  /**
52
52
  * Helper function to spawn a boss with a specific seed.
53
53
  *
54
54
  * For more information, see the documentation for the `spawnBoss` function.
55
55
  */
56
- export declare function spawnBossWithSeed(entityType: EntityType, variant: int, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined, numSegments?: int): EntityNPC;
56
+ export declare function spawnBossWithSeed(entityType: EntityType, variant: int, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined, numSegments?: int): EntityNPC;
@@ -24,13 +24,13 @@ export declare function getDevilRoomOrAngelRoomDoor(): GridEntityDoor | undefine
24
24
  */
25
25
  export declare function getDoorEnterPosition(door: GridEntityDoor): Vector;
26
26
  /**
27
- * Helper function to help calculate the position that a player will enter a room at.
27
+ * Helper function to get the offset from a door position that a player will enter a room at.
28
28
  *
29
29
  * When players enter a room, they do not appear exactly on the location of the door, because then
30
30
  * they would immediately collide with the loading zone. Instead, they are offset by a certain
31
31
  * amount of units.
32
32
  */
33
- export declare function getDoorEnterPositionOffset(doorSlot: DoorSlot): Vector;
33
+ export declare function getDoorSlotEnterPositionOffset(doorSlot: DoorSlot): Vector;
34
34
  /**
35
35
  * Helper function to convert an array of door slots or a set of door slots to the resulting bit
36
36
  * flag number.
@@ -39,15 +39,16 @@ local isTSTLSet = ____tstlClass.isTSTLSet
39
39
  function ____exports.doorSlotToDirection(self, doorSlot)
40
40
  return DOOR_SLOT_TO_DIRECTION[doorSlot]
41
41
  end
42
- --- Helper function to help calculate the position that a player will enter a room at.
42
+ --- Helper function to get the offset from a door position that a player will enter a room at.
43
43
  --
44
44
  -- When players enter a room, they do not appear exactly on the location of the door, because then
45
45
  -- they would immediately collide with the loading zone. Instead, they are offset by a certain
46
46
  -- amount of units.
47
- function ____exports.getDoorEnterPositionOffset(self, doorSlot)
47
+ function ____exports.getDoorSlotEnterPositionOffset(self, doorSlot)
48
48
  local direction = ____exports.doorSlotToDirection(nil, doorSlot)
49
49
  local vector = directionToVector(nil, direction)
50
- return vector * ROOM_ENTRY_OFFSET_FROM_DOOR
50
+ local oppositeVector = vector * -1
51
+ return oppositeVector * ROOM_ENTRY_OFFSET_FROM_DOOR
51
52
  end
52
53
  --- Helper function to get all of the doors in the room. By default, it will return every door. You
53
54
  -- can optionally specify one or more room types to return only the doors that match the specified
@@ -152,7 +153,7 @@ end
152
153
  -- they would immediately collide with the loading zone. Instead, they are offset by a certain
153
154
  -- amount of units.
154
155
  function ____exports.getDoorEnterPosition(self, door)
155
- local offset = ____exports.getDoorEnterPositionOffset(nil, door.Slot)
156
+ local offset = ____exports.getDoorSlotEnterPositionOffset(nil, door.Slot)
156
157
  return door.Position + offset
157
158
  end
158
159
  --- Helper function to convert an array of door slots or a set of door slots to the resulting bit
@@ -142,9 +142,9 @@ export declare function setEntityRandomColor(entity: Entity): void;
142
142
  *
143
143
  * Also see the `spawnWithSeed` helper function.
144
144
  */
145
- export declare function spawn(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): Entity;
145
+ export declare function spawn(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): Entity;
146
146
  /**
147
147
  * Helper function to spawn an entity. Use this instead of the `Game.Spawn` method if you do not
148
148
  * need to specify the velocity or spawner.
149
149
  */
150
- export declare function spawnWithSeed(entityType: EntityType, variant: int, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): Entity;
150
+ export declare function spawnWithSeed(entityType: EntityType, variant: int, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): Entity;
@@ -223,42 +223,42 @@ export declare function removeAllSlots(slotVariant?: SlotVariant, subType?: int,
223
223
  */
224
224
  export declare function removeAllTears(tearVariant?: TearVariant, subType?: int, cap?: int): EntityTear[];
225
225
  /** Helper function to spawn a `EntityType.BOMB` (4). */
226
- export declare function spawnBomb(bombVariant: BombVariant, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityBomb;
226
+ export declare function spawnBomb(bombVariant: BombVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityBomb;
227
227
  /** Helper function to spawn a `EntityType.BOMB` (4) with a specific seed. */
228
- export declare function spawnBombWithSeed(bombVariant: BombVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityBomb;
228
+ export declare function spawnBombWithSeed(bombVariant: BombVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityBomb;
229
229
  /** Helper function to spawn a `EntityType.EFFECT` (1000). */
230
- export declare function spawnEffect(effectVariant: EffectVariant, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityEffect;
230
+ export declare function spawnEffect(effectVariant: EffectVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityEffect;
231
231
  /** Helper function to spawn a `EntityType.EFFECT` (1000) with a specific seed. */
232
- export declare function spawnEffectWithSeed(effectVariant: EffectVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityEffect;
232
+ export declare function spawnEffectWithSeed(effectVariant: EffectVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityEffect;
233
233
  /** Helper function to spawn a `EntityType.FAMILIAR` (3). */
234
- export declare function spawnFamiliar(familiarVariant: FamiliarVariant, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityFamiliar;
234
+ export declare function spawnFamiliar(familiarVariant: FamiliarVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityFamiliar;
235
235
  /** Helper function to spawn a `EntityType.FAMILIAR` (3) with a specific seed. */
236
- export declare function spawnFamiliarWithSeed(familiarVariant: FamiliarVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityFamiliar;
236
+ export declare function spawnFamiliarWithSeed(familiarVariant: FamiliarVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityFamiliar;
237
237
  /** Helper function to spawn a `EntityType.KNIFE` (8). */
238
- export declare function spawnKnife(knifeVariant: KnifeVariant, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityKnife;
238
+ export declare function spawnKnife(knifeVariant: KnifeVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityKnife;
239
239
  /** Helper function to spawn a `EntityType.KNIFE` (8) with a specific seed. */
240
- export declare function spawnKnifeWithSeed(knifeVariant: KnifeVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityKnife;
240
+ export declare function spawnKnifeWithSeed(knifeVariant: KnifeVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityKnife;
241
241
  /** Helper function to spawn a `EntityType.LASER` (7). */
242
- export declare function spawnLaser(laserVariant: LaserVariant, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityLaser;
242
+ export declare function spawnLaser(laserVariant: LaserVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityLaser;
243
243
  /** Helper function to spawn a `EntityType.LASER` (7) with a specific seed. */
244
- export declare function spawnLaserWithSeed(laserVariant: LaserVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityLaser;
244
+ export declare function spawnLaserWithSeed(laserVariant: LaserVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityLaser;
245
245
  /** Helper function to spawn an NPC. */
246
- export declare function spawnNPC(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityNPC;
246
+ export declare function spawnNPC(entityType: EntityType, variant: int, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityNPC;
247
247
  /** Helper function to spawn an NPC with a specific seed. */
248
- export declare function spawnNPCWithSeed(entityType: EntityType, variant: int, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityNPC;
248
+ export declare function spawnNPCWithSeed(entityType: EntityType, variant: int, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityNPC;
249
249
  /** Helper function to spawn a `EntityType.PICKUP` (5). */
250
- export declare function spawnPickup(pickupVariant: PickupVariant, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickup;
250
+ export declare function spawnPickup(pickupVariant: PickupVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickup;
251
251
  /** Helper function to spawn a `EntityType.PICKUP` (5) with a specific seed. */
252
- export declare function spawnPickupWithSeed(pickupVariant: PickupVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityPickup;
252
+ export declare function spawnPickupWithSeed(pickupVariant: PickupVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickup;
253
253
  /** Helper function to spawn a `EntityType.PROJECTILE` (9). */
254
- export declare function spawnProjectile(projectileVariant: ProjectileVariant, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityProjectile;
254
+ export declare function spawnProjectile(projectileVariant: ProjectileVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityProjectile;
255
255
  /** Helper function to spawn a `EntityType.PROJECTILE` (9) with a specific seed. */
256
- export declare function spawnProjectileWithSeed(projectileVariant: ProjectileVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityProjectile;
256
+ export declare function spawnProjectileWithSeed(projectileVariant: ProjectileVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityProjectile;
257
257
  /** Helper function to spawn a `EntityType.SLOT` (6). */
258
- export declare function spawnSlot(slotVariant: SlotVariant, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntitySlot;
258
+ export declare function spawnSlot(slotVariant: SlotVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntitySlot;
259
259
  /** Helper function to spawn a `EntityType.SLOT` (6) with a specific seed. */
260
- export declare function spawnSlotWithSeed(slotVariant: SlotVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntitySlot;
260
+ export declare function spawnSlotWithSeed(slotVariant: SlotVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntitySlot;
261
261
  /** Helper function to spawn a `EntityType.TEAR` (2). */
262
- export declare function spawnTear(tearVariant: TearVariant, subType: int, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityTear;
262
+ export declare function spawnTear(tearVariant: TearVariant, subType: int, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityTear;
263
263
  /** Helper function to spawn a `EntityType.EntityType` (2) with a specific seed. */
264
- export declare function spawnTearWithSeed(tearVariant: TearVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityTear;
264
+ export declare function spawnTearWithSeed(tearVariant: TearVariant, subType: int, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityTear;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="isaac-typescript-definitions" />
2
2
  /// <reference types="isaac-typescript-definitions" />
3
3
  /// <reference types="isaac-typescript-definitions" />
4
- import { JSONRoom } from "../interfaces/JSONRoom";
4
+ import { JSONRoom } from "../interfaces/JSONRoomsFile";
5
5
  export declare function getJSONRoomOfVariant(jsonRooms: JSONRoom[] | readonly JSONRoom[], variant: int): JSONRoom | undefined;
6
6
  export declare function getJSONRoomsOfSubType(jsonRooms: JSONRoom[] | readonly JSONRoom[], subType: int): JSONRoom[];
7
7
  /**
@@ -103,30 +103,30 @@ export declare function removeAllTrinkets(trinketType?: TrinketType, cap?: int):
103
103
  /**
104
104
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.LIL_BATTERY` (90).
105
105
  */
106
- export declare function spawnBattery(subType: BatterySubType, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupBattery;
107
- export declare function spawnBatteryWithSeed(subType: BatterySubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityPickupBattery;
106
+ export declare function spawnBattery(subType: BatterySubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupBattery;
107
+ export declare function spawnBatteryWithSeed(subType: BatterySubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupBattery;
108
108
  /**
109
109
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TAROT_CARD` (300).
110
110
  */
111
- export declare function spawnCard(subType: Card, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupCard;
112
- export declare function spawnCardWithSeed(subType: Card, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityPickupCard;
111
+ export declare function spawnCard(subType: Card, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupCard;
112
+ export declare function spawnCardWithSeed(subType: Card, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupCard;
113
113
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.COIN` (20). */
114
- export declare function spawnCoin(subType: CoinSubType, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupCoin;
115
- export declare function spawnCoinWithSeed(subType: CoinSubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityPickupCoin;
114
+ export declare function spawnCoin(subType: CoinSubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupCoin;
115
+ export declare function spawnCoinWithSeed(subType: CoinSubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupCoin;
116
116
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.HEART` (10). */
117
- export declare function spawnHeart(subType: HeartSubType, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupHeart;
118
- export declare function spawnHeartWithSeed(subType: HeartSubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityPickupHeart;
117
+ export declare function spawnHeart(subType: HeartSubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupHeart;
118
+ export declare function spawnHeartWithSeed(subType: HeartSubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupHeart;
119
119
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.KEY` (30). */
120
- export declare function spawnKey(subType: KeySubType, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupKey;
121
- export declare function spawnKeyWithSeed(subType: KeySubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityPickupKey;
120
+ export declare function spawnKey(subType: KeySubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupKey;
121
+ export declare function spawnKeyWithSeed(subType: KeySubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupKey;
122
122
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.PILL` (70). */
123
- export declare function spawnPill(pillColor: PillColor, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupPill;
124
- export declare function spawnPillWithSeed(subType: PillColor, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityPickupPill;
123
+ export declare function spawnPill(pillColor: PillColor, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupPill;
124
+ export declare function spawnPillWithSeed(subType: PillColor, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupPill;
125
125
  /** Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.SACK` (69). */
126
- export declare function spawnSack(subType: SackSubType, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupSack;
127
- export declare function spawnSackWithSeed(subType: SackSubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityPickupSack;
126
+ export declare function spawnSack(subType: SackSubType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupSack;
127
+ export declare function spawnSackWithSeed(subType: SackSubType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupSack;
128
128
  /**
129
129
  * Helper function to spawn a `EntityType.PICKUP` (5) with variant `PickupVariant.TRINKET` (350).
130
130
  */
131
- export declare function spawnTrinket(subType: TrinketType, position: Vector, velocity?: Readonly<Vector>, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupTrinket;
132
- export declare function spawnTrinketWithSeed(subType: TrinketType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Readonly<Vector>, spawner?: Entity | undefined): EntityPickupTrinket;
131
+ export declare function spawnTrinket(subType: TrinketType, position: Vector, velocity?: Vector, spawner?: Entity | undefined, seedOrRNG?: Seed | RNG | undefined): EntityPickupTrinket;
132
+ export declare function spawnTrinketWithSeed(subType: TrinketType, position: Vector, seedOrRNG: Seed | RNG, velocity?: Vector, spawner?: Entity | undefined): EntityPickupTrinket;
package/index.d.ts CHANGED
@@ -121,11 +121,7 @@ export * from "./functions/utils";
121
121
  export * from "./functions/vector";
122
122
  export * from "./interfaces/AddCallbackParameterCustom";
123
123
  export * from "./interfaces/ChargeBarSprites";
124
- export * from "./interfaces/JSONDoor";
125
- export * from "./interfaces/JSONEntity";
126
- export * from "./interfaces/JSONRoom";
127
- export * from "./interfaces/JSONRooms";
128
- export * from "./interfaces/JSONSpawn";
124
+ export * from "./interfaces/JSONRoomsFile";
129
125
  export * from "./interfaces/PlayerHealth";
130
126
  export * from "./interfaces/PocketItemDescription";
131
127
  export * from "./interfaces/SaveData";
@@ -11,6 +11,8 @@ local ____postBombInitLate = require("callbacks.postBombInitLate")
11
11
  local postBombInitLateInit = ____postBombInitLate.postBombInitLateInit
12
12
  local ____postBoneSwing = require("callbacks.postBoneSwing")
13
13
  local postBoneSwingInit = ____postBoneSwing.postBoneSwingInit
14
+ local ____postCollectibleEmpty = require("callbacks.postCollectibleEmpty")
15
+ local postCollectibleEmptyInit = ____postCollectibleEmpty.postCollectibleEmptyInit
14
16
  local ____postCollectibleInitFirst = require("callbacks.postCollectibleInitFirst")
15
17
  local postCollectibleInitFirstInit = ____postCollectibleInitFirst.postCollectibleInitFirstInit
16
18
  local ____postCursedTeleport = require("callbacks.postCursedTeleport")
@@ -134,6 +136,7 @@ function ____exports.initCustomCallbacks(self, mod)
134
136
  postBombExplodedInit(nil, mod)
135
137
  postBombInitLateInit(nil, mod)
136
138
  postBoneSwingInit(nil, mod)
139
+ postCollectibleEmptyInit(nil, mod)
137
140
  postCollectibleInitFirstInit(nil, mod)
138
141
  postCursedTeleportInit(nil, mod)
139
142
  postCustomDoorEnterInit(nil)
package/initFeatures.lua CHANGED
@@ -7,6 +7,8 @@ local ____collectibleItemPoolType = require("features.collectibleItemPoolType")
7
7
  local collectibleItemPoolTypeInit = ____collectibleItemPoolType.collectibleItemPoolTypeInit
8
8
  local ____customGridEntity = require("features.customGridEntity")
9
9
  local customGridEntityInit = ____customGridEntity.customGridEntityInit
10
+ local ____init = require("features.customStage.init")
11
+ local customStageInit = ____init.customStageInit
10
12
  local ____deployJSONRoom = require("features.deployJSONRoom")
11
13
  local deployJSONRoomInit = ____deployJSONRoom.deployJSONRoomInit
12
14
  local ____disableAllSound = require("features.disableAllSound")
@@ -40,6 +42,7 @@ local stageHistoryInit = ____stageHistory.stageHistoryInit
40
42
  local ____taintedLazarusPlayers = require("features.taintedLazarusPlayers")
41
43
  local taintedLazarusPlayersInit = ____taintedLazarusPlayers.taintedLazarusPlayersInit
42
44
  function ____exports.initFeaturesMajor(self, mod)
45
+ customStageInit(nil)
43
46
  deployJSONRoomInit(nil, mod)
44
47
  runInNFramesInit(nil, mod)
45
48
  characterStatsInit(nil, mod)