mlogjs 0.2.1 → 0.3.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 (234) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +2 -2
  3. package/build/Compiler.js +104 -99
  4. package/build/Compiler.js.map +1 -1
  5. package/build/CompilerError.js +11 -0
  6. package/build/CompilerError.js.map +1 -0
  7. package/build/Scope.js +70 -60
  8. package/build/Scope.js.map +1 -1
  9. package/build/bin.js +74 -60
  10. package/build/bin.js.map +1 -1
  11. package/build/handlers/BlockStatement.js +13 -13
  12. package/build/handlers/BlockStatement.js.map +1 -1
  13. package/build/handlers/CallExpression.js +19 -19
  14. package/build/handlers/CallExpression.js.map +1 -1
  15. package/build/handlers/File.js +9 -0
  16. package/build/handlers/File.js.map +1 -0
  17. package/build/handlers/ForStatement.js +31 -31
  18. package/build/handlers/ForStatement.js.map +1 -1
  19. package/build/handlers/Function.js +46 -35
  20. package/build/handlers/Function.js.map +1 -1
  21. package/build/handlers/Identifier.js +7 -7
  22. package/build/handlers/IfStatement.js +24 -24
  23. package/build/handlers/IfStatement.js.map +1 -1
  24. package/build/handlers/Literal.js +14 -17
  25. package/build/handlers/Literal.js.map +1 -1
  26. package/build/handlers/Object.js +54 -43
  27. package/build/handlers/Object.js.map +1 -1
  28. package/build/handlers/OperationExpressions.js +37 -32
  29. package/build/handlers/OperationExpressions.js.map +1 -1
  30. package/build/handlers/Program.js +8 -8
  31. package/build/handlers/Program.js.map +1 -1
  32. package/build/handlers/Statements.js +29 -29
  33. package/build/handlers/Statements.js.map +1 -1
  34. package/build/handlers/TemplateExpression.js +17 -17
  35. package/build/handlers/TemplateExpression.js.map +1 -1
  36. package/build/handlers/VariableDeclaration.js +71 -55
  37. package/build/handlers/VariableDeclaration.js.map +1 -1
  38. package/build/handlers/WhileStatement.js +22 -22
  39. package/build/handlers/WhileStatement.js.map +1 -1
  40. package/build/handlers/index.js +31 -30
  41. package/build/handlers/index.js.map +1 -1
  42. package/build/index.js +7 -7
  43. package/build/index.js.map +1 -1
  44. package/build/initScope.js +39 -39
  45. package/build/instructions/AddressResolver.js +30 -30
  46. package/build/instructions/ControlInstructions.js +22 -22
  47. package/build/instructions/EndInstruction.js +10 -10
  48. package/build/instructions/InstructionBase.js +20 -20
  49. package/build/instructions/InstructionBase.js.map +1 -1
  50. package/build/instructions/JumpInstruction.js +21 -21
  51. package/build/instructions/JumpInstruction.js.map +1 -1
  52. package/build/instructions/OperationInstruction.js +10 -10
  53. package/build/instructions/OperationInstruction.js.map +1 -1
  54. package/build/instructions/SetCounterInstruction.js +10 -10
  55. package/build/instructions/SetInstruction.js +10 -10
  56. package/build/instructions/ZeroSpaceInstruction.js +10 -10
  57. package/build/instructions/index.js +25 -25
  58. package/build/macros/Building.js +88 -80
  59. package/build/macros/Building.js.map +1 -1
  60. package/build/macros/Function.js +19 -19
  61. package/build/macros/Function.js.map +1 -1
  62. package/build/macros/Math.js +61 -56
  63. package/build/macros/Math.js.map +1 -1
  64. package/build/macros/Memory.js +62 -60
  65. package/build/macros/Memory.js.map +1 -1
  66. package/build/macros/Namespace.js +110 -97
  67. package/build/macros/Namespace.js.map +1 -1
  68. package/build/macros/Other.js +20 -19
  69. package/build/macros/Other.js.map +1 -1
  70. package/build/macros/RawValue.js +16 -15
  71. package/build/macros/RawValue.js.map +1 -1
  72. package/build/macros/commands/Control.js +25 -24
  73. package/build/macros/commands/Control.js.map +1 -1
  74. package/build/macros/commands/Draw.js +39 -38
  75. package/build/macros/commands/Draw.js.map +1 -1
  76. package/build/macros/commands/DrawFlush.js +17 -16
  77. package/build/macros/commands/DrawFlush.js.map +1 -1
  78. package/build/macros/commands/GetLink.js +24 -20
  79. package/build/macros/commands/GetLink.js.map +1 -1
  80. package/build/macros/commands/Lookup.js +24 -23
  81. package/build/macros/commands/Lookup.js.map +1 -1
  82. package/build/macros/commands/Print.js +17 -13
  83. package/build/macros/commands/Print.js.map +1 -1
  84. package/build/macros/commands/PrintFlush.js +17 -16
  85. package/build/macros/commands/PrintFlush.js.map +1 -1
  86. package/build/macros/commands/Radar.js +64 -60
  87. package/build/macros/commands/Radar.js.map +1 -1
  88. package/build/macros/commands/Sensor.js +20 -19
  89. package/build/macros/commands/Sensor.js.map +1 -1
  90. package/build/macros/commands/UnitBind.js +17 -16
  91. package/build/macros/commands/UnitBind.js.map +1 -1
  92. package/build/macros/commands/UnitControl.js +72 -67
  93. package/build/macros/commands/UnitControl.js.map +1 -1
  94. package/build/macros/commands/UnitLocate.js +75 -54
  95. package/build/macros/commands/UnitLocate.js.map +1 -1
  96. package/build/macros/commands/UnitRadar.js +47 -40
  97. package/build/macros/commands/UnitRadar.js.map +1 -1
  98. package/build/macros/commands/Wait.js +18 -17
  99. package/build/macros/commands/Wait.js.map +1 -1
  100. package/build/macros/commands/index.js +32 -32
  101. package/build/macros/index.js +39 -39
  102. package/build/operators.js +101 -101
  103. package/build/operators.js.map +1 -1
  104. package/build/types.js +27 -27
  105. package/build/types.js.map +1 -1
  106. package/build/utils.js +17 -12
  107. package/build/utils.js.map +1 -1
  108. package/build/values/BaseValue.js +111 -111
  109. package/build/values/BaseValue.js.map +1 -1
  110. package/build/values/FunctionValue.js +115 -103
  111. package/build/values/FunctionValue.js.map +1 -1
  112. package/build/values/LiteralValue.js +88 -87
  113. package/build/values/LiteralValue.js.map +1 -1
  114. package/build/values/ObjectValue.js +54 -49
  115. package/build/values/ObjectValue.js.map +1 -1
  116. package/build/values/StoreValue.js +31 -30
  117. package/build/values/StoreValue.js.map +1 -1
  118. package/build/values/TempValue.js +77 -66
  119. package/build/values/TempValue.js.map +1 -1
  120. package/build/values/VoidValue.js +31 -30
  121. package/build/values/VoidValue.js.map +1 -1
  122. package/build/values/index.js +22 -22
  123. package/dist/bin.cjs +82 -0
  124. package/dist/bin.cjs.map +1 -0
  125. package/dist/index.cjs +2220 -0
  126. package/dist/index.cjs.map +1 -0
  127. package/dist/index.mjs +2195 -0
  128. package/dist/index.mjs.map +1 -0
  129. package/dist/types/Compiler.d.ts +26 -0
  130. package/dist/types/CompilerError.d.ts +9 -0
  131. package/dist/types/Scope.d.ts +24 -0
  132. package/dist/types/bin.d.ts +1 -0
  133. package/dist/types/handlers/BlockStatement.d.ts +2 -0
  134. package/dist/types/handlers/CallExpression.d.ts +3 -0
  135. package/dist/types/handlers/File.d.ts +2 -0
  136. package/dist/types/handlers/ForStatement.d.ts +2 -0
  137. package/{build → dist/types}/handlers/Function.d.ts +5 -4
  138. package/{build → dist/types}/handlers/Identifier.d.ts +2 -2
  139. package/dist/types/handlers/IfStatement.d.ts +2 -0
  140. package/dist/types/handlers/Literal.d.ts +5 -0
  141. package/{build → dist/types}/handlers/Object.d.ts +6 -4
  142. package/{build → dist/types}/handlers/OperationExpressions.d.ts +8 -7
  143. package/dist/types/handlers/Program.d.ts +2 -0
  144. package/dist/types/handlers/Statements.d.ts +5 -0
  145. package/dist/types/handlers/TemplateExpression.d.ts +2 -0
  146. package/dist/types/handlers/Typescript.d.ts +7 -0
  147. package/dist/types/handlers/VariableDeclaration.d.ts +3 -0
  148. package/dist/types/handlers/WhileStatement.d.ts +3 -0
  149. package/{build → dist/types}/handlers/index.d.ts +16 -14
  150. package/dist/types/index.d.ts +2 -0
  151. package/{build → dist/types}/initScope.d.ts +5 -2
  152. package/{build → dist/types}/instructions/AddressResolver.d.ts +12 -12
  153. package/{build → dist/types}/instructions/ControlInstructions.d.ts +8 -11
  154. package/{build → dist/types}/instructions/EndInstruction.d.ts +4 -4
  155. package/{build → dist/types}/instructions/InstructionBase.d.ts +10 -10
  156. package/{build → dist/types}/instructions/JumpInstruction.d.ts +15 -15
  157. package/{build → dist/types}/instructions/OperationInstruction.d.ts +5 -5
  158. package/{build → dist/types}/instructions/SetCounterInstruction.d.ts +5 -5
  159. package/{build → dist/types}/instructions/SetInstruction.d.ts +6 -5
  160. package/{build → dist/types}/instructions/ZeroSpaceInstruction.d.ts +4 -4
  161. package/{build → dist/types}/instructions/index.d.ts +9 -9
  162. package/{build → dist/types}/macros/Building.d.ts +10 -11
  163. package/dist/types/macros/Entities.d.ts +11 -0
  164. package/dist/types/macros/Function.d.ts +13 -0
  165. package/dist/types/macros/GetGlobal.d.ts +5 -0
  166. package/{build → dist/types}/macros/Math.d.ts +5 -5
  167. package/{build → dist/types}/macros/Memory.d.ts +5 -5
  168. package/{build → dist/types}/macros/Namespace.d.ts +16 -21
  169. package/{build → dist/types}/macros/Other.d.ts +5 -5
  170. package/{build → dist/types}/macros/RawValue.d.ts +5 -5
  171. package/{build → dist/types}/macros/commands/Control.d.ts +5 -5
  172. package/dist/types/macros/commands/Draw.d.ts +5 -0
  173. package/{build → dist/types}/macros/commands/DrawFlush.d.ts +5 -5
  174. package/{build/macros/commands/Draw.d.ts → dist/types/macros/commands/End.d.ts} +5 -5
  175. package/{build → dist/types}/macros/commands/GetLink.d.ts +5 -5
  176. package/{build → dist/types}/macros/commands/Lookup.d.ts +5 -5
  177. package/{build → dist/types}/macros/commands/Print.d.ts +5 -5
  178. package/{build → dist/types}/macros/commands/PrintFlush.d.ts +5 -5
  179. package/{build → dist/types}/macros/commands/Radar.d.ts +7 -7
  180. package/{build → dist/types}/macros/commands/Sensor.d.ts +5 -5
  181. package/{build → dist/types}/macros/commands/UnitBind.d.ts +5 -5
  182. package/dist/types/macros/commands/UnitControl.d.ts +5 -0
  183. package/{build → dist/types}/macros/commands/UnitLocate.d.ts +5 -5
  184. package/{build → dist/types}/macros/commands/UnitRadar.d.ts +5 -5
  185. package/{build → dist/types}/macros/commands/Wait.d.ts +5 -5
  186. package/{build → dist/types}/macros/commands/index.d.ts +15 -14
  187. package/{build → dist/types}/macros/index.d.ts +6 -7
  188. package/{build → dist/types}/operators.d.ts +25 -25
  189. package/dist/types/types.d.ts +224 -0
  190. package/dist/types/utils.d.ts +30 -0
  191. package/dist/types/values/BaseValue.d.ts +7 -0
  192. package/dist/types/values/DestructuringValue.d.ts +17 -0
  193. package/dist/types/values/FunctionValue.d.ts +47 -0
  194. package/{build → dist/types}/values/LiteralValue.d.ts +13 -12
  195. package/dist/types/values/ObjectValue.d.ts +23 -0
  196. package/dist/types/values/SenseableValue.d.ts +23 -0
  197. package/dist/types/values/StackValue.d.ts +16 -0
  198. package/dist/types/values/StoreValue.d.ts +15 -0
  199. package/{build → dist/types}/values/TempValue.d.ts +19 -12
  200. package/dist/types/values/ValueOwner.d.ts +27 -0
  201. package/dist/types/values/VoidValue.d.ts +16 -0
  202. package/{build → dist/types}/values/index.d.ts +7 -6
  203. package/lib/commands.d.ts +242 -36
  204. package/lib/eslib/lib.es5.d.ts +1 -1
  205. package/lib/globals.d.ts +172 -159
  206. package/lib/helpers.d.ts +2 -2
  207. package/lib/memory.d.ts +1 -1
  208. package/lib/traits.d.ts +130 -110
  209. package/package.json +33 -38
  210. package/build/Compiler.d.ts +0 -18
  211. package/build/Scope.d.ts +0 -26
  212. package/build/bin.d.ts +0 -2
  213. package/build/handlers/BlockStatement.d.ts +0 -2
  214. package/build/handlers/CallExpression.d.ts +0 -3
  215. package/build/handlers/ForStatement.d.ts +0 -2
  216. package/build/handlers/IfStatement.d.ts +0 -2
  217. package/build/handlers/Literal.d.ts +0 -2
  218. package/build/handlers/Program.d.ts +0 -2
  219. package/build/handlers/Statements.d.ts +0 -5
  220. package/build/handlers/TemplateExpression.d.ts +0 -2
  221. package/build/handlers/VariableDeclaration.d.ts +0 -3
  222. package/build/handlers/WhileStatement.d.ts +0 -2
  223. package/build/index.d.ts +0 -1
  224. package/build/macros/Function.d.ts +0 -12
  225. package/build/macros/commands/UnitControl.d.ts +0 -5
  226. package/build/types.d.ts +0 -49
  227. package/build/utils.d.ts +0 -3
  228. package/build/values/BaseValue.d.ts +0 -5
  229. package/build/values/FunctionValue.d.ts +0 -34
  230. package/build/values/ObjectValue.d.ts +0 -17
  231. package/build/values/StoreValue.d.ts +0 -11
  232. package/build/values/VoidValue.d.ts +0 -11
  233. package/dist/mlogjs.es.js +0 -6366
  234. package/dist/mlogjs.umd.js +0 -8
package/lib/globals.d.ts CHANGED
@@ -28,6 +28,18 @@ interface Vars {
28
28
  readonly ipt: number;
29
29
  /** The unit bound to this processor */
30
30
  readonly unit: AnyUnit;
31
+ /** The amount of ticks that happened since the map started*/
32
+ readonly tick: number;
33
+ /** The current UNIX timestamp in milliseconds */
34
+ readonly time: number;
35
+ /** Total amount of items existent, can be used to check if an ID is valid*/
36
+ readonly itemCount: number;
37
+ /** Total amount of liquids existent, can be used to check if an ID is valid*/
38
+ readonly liquidCount: number;
39
+ /** Total amount of units existent, can be used to check if an ID is valid*/
40
+ readonly unitCount: number;
41
+ /** Total amount of blocks existent, can be used to check if an ID is valid*/
42
+ readonly blockCount: number;
31
43
  }
32
44
 
33
45
  declare const Vars: Vars;
@@ -162,167 +174,168 @@ declare namespace UnitCommands {
162
174
 
163
175
  type UnitCommandSymbol = typeof UnitCommands[keyof typeof UnitCommands];
164
176
 
165
- declare namespace Blocks {
177
+ interface Blocks {
166
178
  // special "blocks" to reference stuff from the environment
167
- const air: unique symbol;
168
- const solid: unique symbol;
179
+ readonly air: unique symbol;
180
+ readonly solid: unique symbol;
169
181
 
170
- const siliconSmelter: unique symbol;
171
- const siliconCrucible: unique symbol;
172
- const kiln: unique symbol;
173
- const graphitePress: unique symbol;
174
- const plastaniumCompressor: unique symbol;
175
- const multiPress: unique symbol;
176
- const phaseWeaver: unique symbol;
177
- const surgeSmelter: unique symbol;
178
- const pyratiteMixer: unique symbol;
179
- const blastMixer: unique symbol;
180
- const cryofluidMixer: unique symbol;
181
- const melter: unique symbol;
182
- const separator: unique symbol;
183
- const disassembler: unique symbol;
184
- const sporePress: unique symbol;
185
- const pulverizer: unique symbol;
186
- const incinerator: unique symbol;
187
- const coalCentrifuge: unique symbol;
188
- const powerSource: unique symbol;
189
- const powerVoid: unique symbol;
190
- const itemSource: unique symbol;
191
- const itemVoid: unique symbol;
192
- const liquidSource: unique symbol;
193
- const liquidVoid: unique symbol;
194
- const payloadSource: unique symbol;
195
- const payloadVoid: unique symbol;
196
- const illuminator: unique symbol;
197
- const copperWall: unique symbol;
198
- const copperWallLarge: unique symbol;
199
- const titaniumWall: unique symbol;
200
- const titaniumWallLarge: unique symbol;
201
- const plastaniumWall: unique symbol;
202
- const plastaniumWallLarge: unique symbol;
203
- const thoriumWall: unique symbol;
204
- const thoriumWallLarge: unique symbol;
205
- const door: unique symbol;
206
- const doorLarge: unique symbol;
207
- const phaseWall: unique symbol;
208
- const phaseWallLarge: unique symbol;
209
- const surgeWall: unique symbol;
210
- const surgeWallLarge: unique symbol;
211
- const mender: unique symbol;
212
- const mendProjector: unique symbol;
213
- const overdriveProjector: unique symbol;
214
- const overdriveDome: unique symbol;
215
- const forceProjector: unique symbol;
216
- const shockMine: unique symbol;
217
- const scrapWall: unique symbol;
218
- const scrapWallLarge: unique symbol;
219
- const scrapWallHuge: unique symbol;
220
- const scrapWallGigantic: unique symbol;
221
- const thruster: unique symbol;
222
- const conveyor: unique symbol;
223
- const titaniumConveyor: unique symbol;
224
- const plastaniumConveyor: unique symbol;
225
- const armoredConveyor: unique symbol;
226
- const distributor: unique symbol;
227
- const junction: unique symbol;
228
- const itemBridge: unique symbol;
229
- const phaseConveyor: unique symbol;
230
- const sorter: unique symbol;
231
- const invertedSorter: unique symbol;
232
- const router: unique symbol;
233
- const overflowGate: unique symbol;
234
- const underflowGate: unique symbol;
235
- const massDriver: unique symbol;
236
- const duct: unique symbol;
237
- const ductRouter: unique symbol;
238
- const ductBridge: unique symbol;
239
- const mechanicalPump: unique symbol;
240
- const rotaryPump: unique symbol;
241
- const thermalPump: unique symbol;
242
- const conduit: unique symbol;
243
- const pulseConduit: unique symbol;
244
- const platedConduit: unique symbol;
245
- const liquidRouter: unique symbol;
246
- const liquidContainer: unique symbol;
247
- const liquidTank: unique symbol;
248
- const liquidJunction: unique symbol;
249
- const bridgeConduit: unique symbol;
250
- const phaseConduit: unique symbol;
251
- const combustionGenerator: unique symbol;
252
- const thermalGenerator: unique symbol;
253
- const steamGenerator: unique symbol;
254
- const differentialGenerator: unique symbol;
255
- const rtgGenerator: unique symbol;
256
- const solarPanel: unique symbol;
257
- const largeSolarPanel: unique symbol;
258
- const thoriumReactor: unique symbol;
259
- const impactReactor: unique symbol;
260
- const battery: unique symbol;
261
- const batteryLarge: unique symbol;
262
- const powerNode: unique symbol;
263
- const powerNodeLarge: unique symbol;
264
- const surgeTower: unique symbol;
265
- const diode: unique symbol;
266
- const mechanicalDrill: unique symbol;
267
- const pneumaticDrill: unique symbol;
268
- const laserDrill: unique symbol;
269
- const blastDrill: unique symbol;
270
- const waterExtractor: unique symbol;
271
- const oilExtractor: unique symbol;
272
- const cultivator: unique symbol;
273
- const coreShard: unique symbol;
274
- const coreFoundation: unique symbol;
275
- const coreNucleus: unique symbol;
276
- const vault: unique symbol;
277
- const container: unique symbol;
278
- const unloader: unique symbol;
279
- const duo: unique symbol;
280
- const scatter: unique symbol;
281
- const scorch: unique symbol;
282
- const hail: unique symbol;
283
- const arc: unique symbol;
284
- const wave: unique symbol;
285
- const lancer: unique symbol;
286
- const swarmer: unique symbol;
287
- const salvo: unique symbol;
288
- const fuse: unique symbol;
289
- const ripple: unique symbol;
290
- const cyclone: unique symbol;
291
- const foreshadow: unique symbol;
292
- const spectre: unique symbol;
293
- const meltdown: unique symbol;
294
- const segment: unique symbol;
295
- const parallax: unique symbol;
296
- const tsunami: unique symbol;
297
- const commandCenter: unique symbol;
298
- const groundFactory: unique symbol;
299
- const airFactory: unique symbol;
300
- const navalFactory: unique symbol;
301
- const additiveReconstructor: unique symbol;
302
- const multiplicativeReconstructor: unique symbol;
303
- const exponentialReconstructor: unique symbol;
304
- const tetrativeReconstructor: unique symbol;
305
- const repairPoint: unique symbol;
306
- const repairTurret: unique symbol;
307
- const payloadConveyor: unique symbol;
308
- const payloadRouter: unique symbol;
309
- const payloadPropulsionTower: unique symbol;
310
- const deconstructor: unique symbol;
311
- const constructor: unique symbol;
312
- const largeConstructor: unique symbol;
313
- const payloadLoader: unique symbol;
314
- const payloadUnloader: unique symbol;
315
- const message: unique symbol;
316
- const switchBlock: unique symbol;
317
- const microProcessor: unique symbol;
318
- const logicProcessor: unique symbol;
319
- const hyperProcessor: unique symbol;
320
- const largeLogicDisplay: unique symbol;
321
- const logicDisplay: unique symbol;
322
- const memoryCell: unique symbol;
323
- const memoryBank: unique symbol;
324
- const launchPad: unique symbol;
325
- const interplanetaryAccelerator: unique symbol;
182
+ readonly graphitePress: unique symbol;
183
+ readonly multiPress: unique symbol;
184
+ readonly siliconSmelter: unique symbol;
185
+ readonly siliconCrucible: unique symbol;
186
+ readonly kiln: unique symbol;
187
+ readonly plastaniumCompressor: unique symbol;
188
+ readonly phaseWeaver: unique symbol;
189
+ readonly alloySmelter: unique symbol;
190
+ readonly cryofluidMixer: unique symbol;
191
+ readonly pyratiteMixer: unique symbol;
192
+ readonly blastMixer: unique symbol;
193
+ readonly melter: unique symbol;
194
+ readonly separator: unique symbol;
195
+ readonly disassembler: unique symbol;
196
+ readonly sporePress: unique symbol;
197
+ readonly pulverizer: unique symbol;
198
+ readonly coalCentrifuge: unique symbol;
199
+ readonly incinerator: unique symbol;
200
+ readonly copperWall: unique symbol;
201
+ readonly copperWallLarge: unique symbol;
202
+ readonly titaniumWall: unique symbol;
203
+ readonly titaniumWallLarge: unique symbol;
204
+ readonly plastaniumWall: unique symbol;
205
+ readonly plastaniumWallLarge: unique symbol;
206
+ readonly thoriumWall: unique symbol;
207
+ readonly thoriumWallLarge: unique symbol;
208
+ readonly phaseWall: unique symbol;
209
+ readonly phaseWallLarge: unique symbol;
210
+ readonly surgeWall: unique symbol;
211
+ readonly surgeWallLarge: unique symbol;
212
+ readonly door: unique symbol;
213
+ readonly doorLarge: unique symbol;
214
+ readonly scrapWall: unique symbol;
215
+ readonly scrapWallLarge: unique symbol;
216
+ readonly scrapWallHuge: unique symbol;
217
+ readonly scrapWallGigantic: unique symbol;
218
+ readonly thruster: unique symbol;
219
+ readonly mender: unique symbol;
220
+ readonly mendProjector: unique symbol;
221
+ readonly overdriveProjector: unique symbol;
222
+ readonly overdriveDome: unique symbol;
223
+ readonly forceProjector: unique symbol;
224
+ readonly shockMine: unique symbol;
225
+ readonly conveyor: unique symbol;
226
+ readonly titaniumConveyor: unique symbol;
227
+ readonly plastaniumConveyor: unique symbol;
228
+ readonly armoredConveyor: unique symbol;
229
+ readonly junction: unique symbol;
230
+ readonly bridgeConveyor: unique symbol;
231
+ readonly phaseConveyor: unique symbol;
232
+ readonly sorter: unique symbol;
233
+ readonly invertedSorter: unique symbol;
234
+ readonly router: unique symbol;
235
+ readonly distributor: unique symbol;
236
+ readonly overflowGate: unique symbol;
237
+ readonly underflowGate: unique symbol;
238
+ readonly massDriver: unique symbol;
239
+ readonly duct: unique symbol;
240
+ readonly ductRouter: unique symbol;
241
+ readonly ductBridge: unique symbol;
242
+ readonly mechanicalPump: unique symbol;
243
+ readonly rotaryPump: unique symbol;
244
+ readonly thermalPump: unique symbol;
245
+ readonly conduit: unique symbol;
246
+ readonly pulseConduit: unique symbol;
247
+ readonly platedConduit: unique symbol;
248
+ readonly liquidRouter: unique symbol;
249
+ readonly liquidContainer: unique symbol;
250
+ readonly liquidTank: unique symbol;
251
+ readonly liquidJunction: unique symbol;
252
+ readonly bridgeConduit: unique symbol;
253
+ readonly phaseConduit: unique symbol;
254
+ readonly powerNode: unique symbol;
255
+ readonly powerNodeLarge: unique symbol;
256
+ readonly surgeTower: unique symbol;
257
+ readonly diode: unique symbol;
258
+ readonly battery: unique symbol;
259
+ readonly batteryLarge: unique symbol;
260
+ readonly combustionGenerator: unique symbol;
261
+ readonly thermalGenerator: unique symbol;
262
+ readonly steamGenerator: unique symbol;
263
+ readonly differentialGenerator: unique symbol;
264
+ readonly rtgGenerator: unique symbol;
265
+ readonly solarPanel: unique symbol;
266
+ readonly solarPanelLarge: unique symbol;
267
+ readonly thoriumReactor: unique symbol;
268
+ readonly impactReactor: unique symbol;
269
+ readonly mechanicalDrill: unique symbol;
270
+ readonly pneumaticDrill: unique symbol;
271
+ readonly laserDrill: unique symbol;
272
+ readonly blastDrill: unique symbol;
273
+ readonly waterExtractor: unique symbol;
274
+ readonly cultivator: unique symbol;
275
+ readonly oilExtractor: unique symbol;
276
+ readonly coreShard: unique symbol;
277
+ readonly coreFoundation: unique symbol;
278
+ readonly coreNucleus: unique symbol;
279
+ readonly vault: unique symbol;
280
+ readonly container: unique symbol;
281
+ readonly unloader: unique symbol;
282
+ readonly duo: unique symbol;
283
+ readonly scatter: unique symbol;
284
+ readonly scorch: unique symbol;
285
+ readonly hail: unique symbol;
286
+ readonly wave: unique symbol;
287
+ readonly lancer: unique symbol;
288
+ readonly arc: unique symbol;
289
+ readonly parallax: unique symbol;
290
+ readonly swarmer: unique symbol;
291
+ readonly salvo: unique symbol;
292
+ readonly segment: unique symbol;
293
+ readonly tsunami: unique symbol;
294
+ readonly fuse: unique symbol;
295
+ readonly ripple: unique symbol;
296
+ readonly cyclone: unique symbol;
297
+ readonly foreshadow: unique symbol;
298
+ readonly spectre: unique symbol;
299
+ readonly meltdown: unique symbol;
300
+ readonly commandCenter: unique symbol;
301
+ readonly groundFactory: unique symbol;
302
+ readonly airFactory: unique symbol;
303
+ readonly navalFactory: unique symbol;
304
+ readonly additiveReconstructor: unique symbol;
305
+ readonly multiplicativeReconstructor: unique symbol;
306
+ readonly exponentialReconstructor: unique symbol;
307
+ readonly tetrativeReconstructor: unique symbol;
308
+ readonly repairPoint: unique symbol;
309
+ readonly repairTurret: unique symbol;
310
+ readonly payloadConveyor: unique symbol;
311
+ readonly payloadRouter: unique symbol;
312
+ readonly payloadPropulsionTower: unique symbol;
313
+ readonly deconstructor: unique symbol;
314
+ readonly constructor: unique symbol;
315
+ readonly largeConstructor: unique symbol;
316
+ readonly payloadLoader: unique symbol;
317
+ readonly payloadUnloader: unique symbol;
318
+ readonly powerSource: unique symbol;
319
+ readonly powerVoid: unique symbol;
320
+ readonly itemSource: unique symbol;
321
+ readonly itemVoid: unique symbol;
322
+ readonly liquidSource: unique symbol;
323
+ readonly liquidVoid: unique symbol;
324
+ readonly payloadSource: unique symbol;
325
+ readonly payloadVoid: unique symbol;
326
+ readonly illuminator: unique symbol;
327
+ readonly launchPad: unique symbol;
328
+ readonly interplanetaryAccelerator: unique symbol;
329
+ readonly message: unique symbol;
330
+ readonly switch: unique symbol;
331
+ readonly microProcessor: unique symbol;
332
+ readonly logicProcessor: unique symbol;
333
+ readonly hyperProcessor: unique symbol;
334
+ readonly memoryCell: unique symbol;
335
+ readonly memoryBank: unique symbol;
336
+ readonly logicDisplay: unique symbol;
337
+ readonly largeLogicDisplay: unique symbol;
326
338
  }
327
339
 
340
+ declare const Blocks: Blocks;
328
341
  type BlockSymbol = typeof Blocks[keyof typeof Blocks];
package/lib/helpers.d.ts CHANGED
@@ -7,9 +7,9 @@
7
7
  * already accessible under the namespaces `Units`, `Blocks`,
8
8
  * `Items`, `Liquids`, `ControlKind`, `Vars` and `UnitCommands`.
9
9
  *
10
- * @param key The identifier of the value
10
+ * @param name The identifier of the value
11
11
  */
12
- declare function getVar<T>(key: string): T;
12
+ declare function getVar<T>(name: string): T;
13
13
 
14
14
  /**
15
15
  * Gets a building linked to the processor by its name.
package/lib/memory.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  type MemoryCapacity = 64 | 512;
4
4
  /**
5
- * A wrapper around memory cells/banks that is compatible with custom types.
5
+ * Allows you to view and modify the data of memory cells and memory banks.
6
6
  */
7
7
  declare class Memory<S extends MemoryCapacity = 64> {
8
8
  constructor(cell: BasicBuilding, size?: S);
package/lib/traits.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import "./globals";
2
- import "./custom-lib";
3
2
 
4
3
  type LogicSymbols = typeof Items & typeof Liquids & typeof LAccess;
5
4
 
@@ -8,114 +7,135 @@ type WithSymbols<T extends Record<string, unknown>> = T & {
8
7
  };
9
8
 
10
9
  declare global {
11
- type LiquidHolder = WithSymbols<
12
- {
13
- readonly [L in keyof typeof Liquids]: number;
14
- } & {
15
- readonly totalLiquids: number;
16
- readonly liquidCapacity: number;
17
- }
18
- >;
19
-
20
- type ItemHolder = WithSymbols<
21
- {
22
- readonly [I in keyof typeof Items]: number;
23
- } & {
24
- readonly totalItems: number;
25
- readonly firstItem: ItemSymbol | null;
26
- readonly itemCapacity: number;
27
- }
28
- >;
29
-
30
- type PowerHolder = WithSymbols<{
31
- readonly totalPower: number;
32
- readonly powerCapacity: number;
33
- readonly powerNetStored: number;
34
- readonly powerNetCapacity: number;
35
- readonly powerNetIn: number;
36
- readonly powerNetOut: number;
37
- }>;
38
-
39
- type Shooting = WithSymbols<{
40
- readonly shootX: number;
41
- readonly shootY: number;
42
- readonly ammo: number;
43
- readonly ammoCapacity: number;
44
- }>;
45
-
46
- type WithHealth = WithSymbols<{
47
- readonly health: number;
48
- readonly maxHealth: number;
49
- readonly dead: boolean;
50
- }>;
51
-
52
- type Heatable = WithSymbols<{
53
- readonly heat: number;
54
- }>;
55
-
56
- type WithEffiency = WithSymbols<{
57
- readonly efficiency: number;
58
- }>;
59
-
60
- type WithProgress = WithSymbols<{
61
- readonly progress: number;
62
- }>;
63
-
64
- type WithTimescale = WithSymbols<{
65
- readonly timescale: number;
66
- }>;
67
-
68
- type Rotatable = WithSymbols<{
69
- readonly rotation: number;
70
- }>;
71
-
72
- type Spaced = WithSymbols<{
73
- readonly x: number;
74
- readonly y: number;
75
- readonly size: number;
76
- }>;
77
-
78
- type Ranged = WithSymbols<{
79
- readonly range: number;
80
- }>;
81
-
82
- type Boosted = WithSymbols<{
83
- readonly boosting: number;
84
- }>;
85
-
86
- type Mining = WithSymbols<{
87
- readonly mineX: number;
88
- readonly mineY: number;
89
- readonly mining: number;
90
- }>;
91
-
92
- type Typed<T extends symbol = symbol> = WithSymbols<{
93
- readonly type: T;
94
- }>;
95
- type Flagged = WithSymbols<{
96
- readonly flag: number;
97
- }>;
98
-
99
- type Controllable = WithSymbols<{
100
- readonly controlled: 0 | ControlKind;
101
- readonly controller: AnyUnit | BasicBuilding;
102
- }>;
103
-
104
- type Nameable = WithSymbols<{
105
- readonly name: string | null;
106
- }>;
107
-
108
- type PayloadHolder = WithSymbols<{
109
- readonly payloadCount: number;
110
- readonly payloadType: symbol | null;
111
- }>;
112
-
113
- type WithEnable = WithSymbols<{
114
- enabled: boolean;
115
- }>;
116
-
117
- type WithConfig<T extends symbol | number | null = symbol | null> =
118
- WithSymbols<{
10
+ interface LiquidHolder
11
+ extends WithSymbols<
12
+ {
13
+ readonly [L in keyof typeof Liquids]: number;
14
+ } & {
15
+ readonly totalLiquids: number;
16
+ readonly liquidCapacity: number;
17
+ }
18
+ > {}
19
+
20
+ interface ItemHolder
21
+ extends WithSymbols<
22
+ {
23
+ readonly [I in keyof typeof Items]: number;
24
+ } & {
25
+ readonly totalItems: number;
26
+ readonly firstItem: ItemSymbol | null;
27
+ readonly itemCapacity: number;
28
+ }
29
+ > {}
30
+
31
+ interface PowerHolder
32
+ extends WithSymbols<{
33
+ readonly totalPower: number;
34
+ readonly powerCapacity: number;
35
+ readonly powerNetStored: number;
36
+ readonly powerNetCapacity: number;
37
+ readonly powerNetIn: number;
38
+ readonly powerNetOut: number;
39
+ }> {}
40
+
41
+ interface Shooting
42
+ extends WithSymbols<{
43
+ readonly shootX: number;
44
+ readonly shootY: number;
45
+ readonly ammo: number;
46
+ readonly ammoCapacity: number;
47
+ }> {}
48
+
49
+ interface WithHealth
50
+ extends WithSymbols<{
51
+ readonly health: number;
52
+ readonly maxHealth: number;
53
+ readonly dead: boolean;
54
+ }> {}
55
+
56
+ interface Heatable
57
+ extends WithSymbols<{
58
+ readonly heat: number;
59
+ }> {}
60
+
61
+ interface WithEffiency
62
+ extends WithSymbols<{
63
+ readonly efficiency: number;
64
+ }> {}
65
+
66
+ interface WithProgress
67
+ extends WithSymbols<{
68
+ readonly progress: number;
69
+ }> {}
70
+
71
+ interface WithTimescale
72
+ extends WithSymbols<{
73
+ readonly timescale: number;
74
+ }> {}
75
+
76
+ interface Rotatable
77
+ extends WithSymbols<{
78
+ readonly rotation: number;
79
+ }> {}
80
+
81
+ interface Spaced
82
+ extends WithSymbols<{
83
+ readonly x: number;
84
+ readonly y: number;
85
+ readonly size: number;
86
+ }> {}
87
+
88
+ interface Ranged
89
+ extends WithSymbols<{
90
+ readonly range: number;
91
+ }> {}
92
+
93
+ interface Boosted
94
+ extends WithSymbols<{
95
+ readonly boosting: number;
96
+ }> {}
97
+
98
+ interface Mining
99
+ extends WithSymbols<{
100
+ readonly mineX: number;
101
+ readonly mineY: number;
102
+ readonly mining: number;
103
+ }> {}
104
+
105
+ interface Typed<T extends symbol = symbol>
106
+ extends WithSymbols<{
107
+ readonly type: T;
108
+ }> {}
109
+ interface Flagged
110
+ extends WithSymbols<{
111
+ readonly flag: number;
112
+ }> {}
113
+
114
+ interface Controllable
115
+ extends WithSymbols<{
116
+ readonly controlled: 0 | ControlKind;
117
+ readonly controller: AnyUnit | BasicBuilding;
118
+ }> {}
119
+
120
+ interface Nameable
121
+ extends WithSymbols<{
122
+ readonly name: string | null;
123
+ }> {}
124
+
125
+ interface PayloadHolder
126
+ extends WithSymbols<{
127
+ readonly payloadCount: number;
128
+ readonly payloadType: symbol | null;
129
+ }> {}
130
+
131
+ interface WithEnable
132
+ extends WithSymbols<{
133
+ enabled: boolean;
134
+ }> {}
135
+
136
+ interface WithConfig<
137
+ T extends symbol | number | null = symbol | null
138
+ > extends WithSymbols<{
119
139
  readonly config: T;
120
- }>;
140
+ }> {}
121
141
  }