isaacscript 2.9.10 → 2.9.11

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.
@@ -1,5 +1,4 @@
1
1
  import { ModCallback } from "isaac-typescript-definitions";
2
- import { log } from "isaacscript-common";
3
2
 
4
3
  const MOD_NAME = "MOD-NAME-TO-REPLACE";
5
4
 
@@ -14,9 +13,9 @@ function main() {
14
13
  mod.AddCallback(ModCallback.POST_GAME_STARTED, postGameStarted);
15
14
 
16
15
  // Print an message to the "log.txt" file.
17
- log(`${MOD_NAME} initialized.`);
16
+ Isaac.DebugString(`${MOD_NAME} initialized.`);
18
17
  }
19
18
 
20
19
  function postGameStarted() {
21
- log("Callback triggered: POST_GAME_STARTED");
20
+ Isaac.DebugString("Callback triggered: POST_GAME_STARTED");
22
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript",
3
- "version": "2.9.10",
3
+ "version": "2.9.11",
4
4
  "description": "A command line tool for managing Isaac mods written in TypeScript.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -2,38 +2,6 @@
2
2
  "$ref": "#/definitions/IsaacScriptTSConfig",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "definitions": {
5
- "CustomStageShadow": {
6
- "additionalProperties": false,
7
- "description": "A description of a custom stage shadow. (In this context, \"shadows\" are the outlines from things on the roof. For example, in Basement, a shadow of a sideways V is used, among others.)",
8
- "properties": {
9
- "color": {
10
- "additionalProperties": false,
11
- "description": "Optional. An object representing the color used for the shadow.\n\nIf not specified, an object of `{ r: 0, g: 0, b: 0, a: 0.25 }` will be used (which corresponds to 75% faded black).",
12
- "properties": {
13
- "a": {
14
- "type": "number"
15
- },
16
- "b": {
17
- "type": "number"
18
- },
19
- "g": {
20
- "type": "number"
21
- },
22
- "r": {
23
- "type": "number"
24
- }
25
- },
26
- "required": ["r", "g", "b", "a"],
27
- "type": "object"
28
- },
29
- "pngPath": {
30
- "description": "The full path to the shadow overlay PNG file.\n\nFor an example of a vanilla shadow overlay, see: `C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\resources\\gfx\\overlays\\basement\\1x1_overlay_1.png`",
31
- "type": "string"
32
- }
33
- },
34
- "required": ["pngPath"],
35
- "type": "object"
36
- },
37
5
  "CustomStageTSConfig": {
38
6
  "additionalProperties": false,
39
7
  "description": "This is the format of a custom stage in the \"isaacscript\" section of the \"tsconfig.json\" file.\n\nThe contents of this interface are used to create a \"tsconfig-isaacscript-section-schema.json\" schema with the \"ts-json-schema-generator\" library.\n\nThe contents of this interface are validated at run-time against the schema using the Ajv library.\n\nThe `CustomStageLua` interface extends this, adding room metadata.",
@@ -75,11 +43,11 @@
75
43
  "type": "object"
76
44
  },
77
45
  "baseStage": {
78
- "description": "An integer between 2 and 13, corresponding to the `LevelStage` enum. This is the number of the stage that will be warped to and used as a basis for the stage by the level generation algorithm. Mandatory.\n\n(It is not possible to use Basement 1 as a base stage due to conflicts with the `Game.SetStage` method.)",
46
+ "description": "Optional. An integer between 2 and 13, corresponding to the `LevelStage` enum. This is the number of the stage that will be warped to and used as a basis for the stage by the level generation algorithm.\n\n(It is not possible to use Basement 1 as a base stage due to conflicts with the `Game.SetStage` method.)\n\nIf not specified, `LevelStage.BASEMENT_2` (2) will be used.",
79
47
  "type": "number"
80
48
  },
81
49
  "baseStageType": {
82
- "description": "An integer between 0 and 5, corresponding to the `StageType` enum. This is the number of the stage type that will be warped to and used as a basis for the stage by the level generation algorithm. Mandatory.",
50
+ "description": "Optional. An integer between 0 and 5, corresponding to the `StageType` enum. This is the number of the stage type that will be warped to and used as a basis for the stage by the level generation algorithm.\n\nIf not specified, `StageType.ORIGINAL` (0) will be used.",
83
51
  "type": "number"
84
52
  },
85
53
  "decorationsPNGPath": {
@@ -142,7 +110,7 @@
142
110
  "type": "object"
143
111
  },
144
112
  "name": {
145
- "description": "The name of the custom stage. Mandatory.",
113
+ "description": "Mandatory. The name of the custom stage.",
146
114
  "type": "string"
147
115
  },
148
116
  "pitsPNGPath": {
@@ -154,7 +122,7 @@
154
122
  "type": "string"
155
123
  },
156
124
  "roomVariantPrefix": {
157
- "description": "An arbitrarily chosen prefix in the range of 101-999. Mandatory.",
125
+ "description": "Mandatory. An arbitrarily chosen prefix in the range of 101-999 that will be unique to this stage.\n\nMake sure the chosen prefix does not conflict with any other mods. You can find a list of registered room variant prefixes on the IsaacScript website.",
158
126
  "type": "number"
159
127
  },
160
128
  "shadows": {
@@ -164,28 +132,144 @@
164
132
  "1x1": {
165
133
  "description": "Optional. An array containing the shadows that will be used in rooms of shape `RoomShape.SHAPE_1x1` (1), `RoomShape.IH` (2), and `RoomShape.IV` (3).\n\nIf more than one shadow is specified, one will be randomly chosen for each room.\n\nIf not specified, no extra shadows will be drawn in these room shapes.",
166
134
  "items": {
167
- "$ref": "#/definitions/CustomStageShadow"
135
+ "additionalProperties": false,
136
+ "description": "A description of a custom stage shadow. (In this context, \"shadows\" are the outlines from things on the roof. For example, in Basement, a shadow of a sideways V is used, among others.)",
137
+ "properties": {
138
+ "color": {
139
+ "additionalProperties": false,
140
+ "description": "Optional. An object representing the color used for the shadow.\n\nIf not specified, an object of `{ r: 0, g: 0, b: 0, a: 0.25 }` will be used (which corresponds to 75% faded black).",
141
+ "properties": {
142
+ "a": {
143
+ "type": "number"
144
+ },
145
+ "b": {
146
+ "type": "number"
147
+ },
148
+ "g": {
149
+ "type": "number"
150
+ },
151
+ "r": {
152
+ "type": "number"
153
+ }
154
+ },
155
+ "required": ["r", "g", "b", "a"],
156
+ "type": "object"
157
+ },
158
+ "pngPath": {
159
+ "description": "The full path to the shadow overlay PNG file.\n\nFor an example of a vanilla shadow overlay, see: `C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\resources\\gfx\\overlays\\basement\\1x1_overlay_1.png`",
160
+ "type": "string"
161
+ }
162
+ },
163
+ "required": ["pngPath"],
164
+ "type": "object"
168
165
  },
169
166
  "type": "array"
170
167
  },
171
168
  "1x2": {
172
169
  "description": "Optional. An array containing the shadows that will be used in rooms of shape `RoomShape.SHAPE_1x2` (4) and `RoomShape.IIV` (5).\n\nIf more than one shadow is specified, one will be randomly chosen for each room.\n\nIf not specified, no extra shadows will be drawn in these room shapes.",
173
170
  "items": {
174
- "$ref": "#/definitions/CustomStageShadow"
171
+ "additionalProperties": false,
172
+ "description": "A description of a custom stage shadow. (In this context, \"shadows\" are the outlines from things on the roof. For example, in Basement, a shadow of a sideways V is used, among others.)",
173
+ "properties": {
174
+ "color": {
175
+ "additionalProperties": false,
176
+ "description": "Optional. An object representing the color used for the shadow.\n\nIf not specified, an object of `{ r: 0, g: 0, b: 0, a: 0.25 }` will be used (which corresponds to 75% faded black).",
177
+ "properties": {
178
+ "a": {
179
+ "type": "number"
180
+ },
181
+ "b": {
182
+ "type": "number"
183
+ },
184
+ "g": {
185
+ "type": "number"
186
+ },
187
+ "r": {
188
+ "type": "number"
189
+ }
190
+ },
191
+ "required": ["r", "g", "b", "a"],
192
+ "type": "object"
193
+ },
194
+ "pngPath": {
195
+ "description": "The full path to the shadow overlay PNG file.\n\nFor an example of a vanilla shadow overlay, see: `C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\resources\\gfx\\overlays\\basement\\1x1_overlay_1.png`",
196
+ "type": "string"
197
+ }
198
+ },
199
+ "required": ["pngPath"],
200
+ "type": "object"
175
201
  },
176
202
  "type": "array"
177
203
  },
178
204
  "2x1": {
179
205
  "description": "Optional. An array containing the shadows that will be used in rooms of shape `RoomShape.SHAPE_2x1` (6) and `RoomShape.IIH` (7).\n\nIf more than one shadow is specified, one will be randomly chosen for each room.\n\nIf not specified, no extra shadows will be drawn in these room shapes.",
180
206
  "items": {
181
- "$ref": "#/definitions/CustomStageShadow"
207
+ "additionalProperties": false,
208
+ "description": "A description of a custom stage shadow. (In this context, \"shadows\" are the outlines from things on the roof. For example, in Basement, a shadow of a sideways V is used, among others.)",
209
+ "properties": {
210
+ "color": {
211
+ "additionalProperties": false,
212
+ "description": "Optional. An object representing the color used for the shadow.\n\nIf not specified, an object of `{ r: 0, g: 0, b: 0, a: 0.25 }` will be used (which corresponds to 75% faded black).",
213
+ "properties": {
214
+ "a": {
215
+ "type": "number"
216
+ },
217
+ "b": {
218
+ "type": "number"
219
+ },
220
+ "g": {
221
+ "type": "number"
222
+ },
223
+ "r": {
224
+ "type": "number"
225
+ }
226
+ },
227
+ "required": ["r", "g", "b", "a"],
228
+ "type": "object"
229
+ },
230
+ "pngPath": {
231
+ "description": "The full path to the shadow overlay PNG file.\n\nFor an example of a vanilla shadow overlay, see: `C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\resources\\gfx\\overlays\\basement\\1x1_overlay_1.png`",
232
+ "type": "string"
233
+ }
234
+ },
235
+ "required": ["pngPath"],
236
+ "type": "object"
182
237
  },
183
238
  "type": "array"
184
239
  },
185
240
  "2x2": {
186
241
  "description": "Optional. An array containing the shadows that will be used in rooms of shape `RoomShape.SHAPE_2x2` (8), `RoomShape.LTL` (9), `RoomShape.LTR` (10), `RoomShape.LBL` (11), and `RoomShape.LBR` (12).\n\nIf more than one shadow is specified, one will be randomly chosen for each room.\n\nIf not specified, no extra shadows will be drawn in these room shapes.",
187
242
  "items": {
188
- "$ref": "#/definitions/CustomStageShadow"
243
+ "additionalProperties": false,
244
+ "description": "A description of a custom stage shadow. (In this context, \"shadows\" are the outlines from things on the roof. For example, in Basement, a shadow of a sideways V is used, among others.)",
245
+ "properties": {
246
+ "color": {
247
+ "additionalProperties": false,
248
+ "description": "Optional. An object representing the color used for the shadow.\n\nIf not specified, an object of `{ r: 0, g: 0, b: 0, a: 0.25 }` will be used (which corresponds to 75% faded black).",
249
+ "properties": {
250
+ "a": {
251
+ "type": "number"
252
+ },
253
+ "b": {
254
+ "type": "number"
255
+ },
256
+ "g": {
257
+ "type": "number"
258
+ },
259
+ "r": {
260
+ "type": "number"
261
+ }
262
+ },
263
+ "required": ["r", "g", "b", "a"],
264
+ "type": "object"
265
+ },
266
+ "pngPath": {
267
+ "description": "The full path to the shadow overlay PNG file.\n\nFor an example of a vanilla shadow overlay, see: `C:\\Program Files (x86)\\Steam\\steamapps\\common\\The Binding of Isaac Rebirth\\resources\\gfx\\overlays\\basement\\1x1_overlay_1.png`",
268
+ "type": "string"
269
+ }
270
+ },
271
+ "required": ["pngPath"],
272
+ "type": "object"
189
273
  },
190
274
  "type": "array"
191
275
  }
@@ -240,17 +324,11 @@
240
324
  "type": "object"
241
325
  },
242
326
  "xmlPath": {
243
- "description": "Path to the XML file that contains the rooms for the custom stage (created with Basement Renovator). Mandatory.",
327
+ "description": "Mandatory. The path to the XML file that contains the rooms for the custom stage (created with Basement Renovator).",
244
328
  "type": "string"
245
329
  }
246
330
  },
247
- "required": [
248
- "name",
249
- "xmlPath",
250
- "roomVariantPrefix",
251
- "baseStage",
252
- "baseStageType"
253
- ],
331
+ "required": ["name", "xmlPath", "roomVariantPrefix"],
254
332
  "type": "object"
255
333
  },
256
334
  "IsaacScriptTSConfig": {
package/src/tsconfig.js CHANGED
@@ -90,11 +90,12 @@ function getCustomStagesFromTSConfig(verbose) {
90
90
  (0, utils_1.error)(chalk_1.default.red(`The "${name}" custom stage has an invalid value for the "roomVariantPrefix" property: ${roomVariantPrefix}`));
91
91
  }
92
92
  const { baseStage } = customStageTSConfig;
93
- if (baseStage < 2 || baseStage > 13) {
93
+ if (baseStage !== undefined && (baseStage < 2 || baseStage > 13)) {
94
94
  (0, utils_1.error)(`The "${name}" custom stage has an invalid value for the "baseStage" property: ${baseStage}`);
95
95
  }
96
96
  const { baseStageType } = customStageTSConfig;
97
- if (baseStageType < 0 || baseStageType > 5) {
97
+ if (baseStageType !== undefined &&
98
+ (baseStageType < 0 || baseStageType > 5)) {
98
99
  (0, utils_1.error)(`The "${name}" custom stage has an invalid value for the "baseStageType" property: ${baseStageType}`);
99
100
  }
100
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/tsconfig.ts"],"names":[],"mappings":";;;;AAAA,sDAAkC;AAClC,0DAA0B;AAC1B,2CAKqB;AACrB,qDAA+B;AAE/B,iCAAkC;AAClC,mCAA0C;AAE1C,MAAM,MAAM,GAAG,oBAAoB,yBAAa,sBAAsB,wBAAY,WAAW,CAAC;AAC9F,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,mCAAuB,EAAE,KAAK,CAAC,CAAC;AACzE,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAW,CAAC;AACxE,MAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAC;AACtB,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAEvD,SAAS,eAAe,CAAC,OAAgB;IACvC,OAAO,IAAA,eAAQ,EAAC,8BAAkB,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAAgB;IAEhB,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE1C,4DAA4D;IAC5D,KAAK,MAAM,YAAY,IAAI,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QACxC,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,IAAA,gBAAQ,EAAC,QAAQ,CAAC,EAAE;gBACvB,IAAA,aAAK,EACH,SAAS,eAAK,CAAC,KAAK,CAClB,8BAAkB,CACnB,0CAA0C,YAAY,0CAA0C,MAAM,EAAE,CAC1G,CAAC;aACH;YAED,OAAO,QAAQ,CAAC;SACjB;KACF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,2BAA2B,CAAC,OAAgB;IAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE1C,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC7B,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,IAAA,aAAK,EACH,SAAS,eAAK,CAAC,KAAK,CAClB,8BAAkB,CACnB,0EAA0E,MAAM,EAAE,CACpF,CAAC;KACH;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,IAAA,aAAK,EACH,SAAS,eAAK,CAAC,KAAK,CAClB,8BAAkB,CACnB,qFAAqF,MAAM,EAAE,CAC/F,CAAC;KACH;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAwB,CAAC;IACvD,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,IAAA,aAAK,EACH,SAAS,eAAK,CAAC,KAAK,CAClB,8BAAkB,CACnB,sEAAsE,MAAM,EAAE,CAChF,CAAC;KACH;IAED,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;QACpC,IAAA,aAAK,EACH,SAAS,eAAK,CAAC,KAAK,CAClB,8BAAkB,CACnB,uEAAuE,MAAM,EAAE,CACjF,CAAC;KACH;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAtCD,kEAsCC;AAED;;;;;GAKG;AACH,SAAgB,2BAA2B,CACzC,OAAgB;IAEhB,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,kBAAkB,KAAK,SAAS,EAAE;QACpC,OAAO,EAAE,CAAC;KACX;IAED,MAAM,KAAK,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,CAAC,KAAK,CACX,kFAAkF,CACnF,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACrC,IAAA,aAAK,EACH,2EAA2E,CAC5E,CAAC;KACH;IAED,0CAA0C;IAC1C,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAC;IAC5C,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,OAAO,EAAE,CAAC;KACX;IAED,uFAAuF;IACvF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAChC,IAAA,aAAK,EACH,2EAA2E,MAAM,GAAG,CACrF,CAAC;KACH;IAED,yEAAyE;IACzE,KAAK,MAAM,mBAAmB,IAAI,YAAqC,EAAE;QACvE,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC;QACrC,IAAI,IAAI,KAAK,EAAE,EAAE;YACf,IAAA,aAAK,EACH,eAAK,CAAC,GAAG,CACP,kEAAkE,CACnE,CACF,CAAC;SACH;QAED,MAAM,EAAE,OAAO,EAAE,GAAG,mBAAmB,CAAC;QACxC,IAAI,OAAO,KAAK,EAAE,EAAE;YAClB,IAAA,aAAK,EACH,eAAK,CAAC,GAAG,CACP,QAAQ,IAAI,sEAAsE,CACnF,CACF,CAAC;SACH;QAED,MAAM,EAAE,iBAAiB,EAAE,GAAG,mBAAmB,CAAC;QAClD,IAAI,iBAAiB,GAAG,GAAG,IAAI,iBAAiB,GAAG,GAAG,EAAE;YACtD,IAAA,aAAK,EACH,eAAK,CAAC,GAAG,CACP,QAAQ,IAAI,6EAA6E,iBAAiB,EAAE,CAC7G,CACF,CAAC;SACH;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC;QAC1C,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE;YACnC,IAAA,aAAK,EACH,QAAQ,IAAI,qEAAqE,SAAS,EAAE,CAC7F,CAAC;SACH;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,mBAAmB,CAAC;QAC9C,IAAI,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE;YAC1C,IAAA,aAAK,EACH,QAAQ,IAAI,yEAAyE,aAAa,EAAE,CACrG,CAAC;SACH;KACF;IAED,OAAO,YAAqC,CAAC;AAC/C,CAAC;AA7ED,kEA6EC"}
1
+ {"version":3,"file":"tsconfig.js","sourceRoot":"","sources":["../../../../packages/isaacscript-cli/src/tsconfig.ts"],"names":[],"mappings":"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"}