@bkm016/calcite 0.2.0 → 0.5.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 (93) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/README.md +206 -18
  3. package/dist/accounts.js +4 -2
  4. package/dist/accounts.js.map +1 -1
  5. package/dist/cli.js +16 -127
  6. package/dist/cli.js.map +1 -1
  7. package/dist/client-core.d.ts +23 -12
  8. package/dist/client-core.js +227 -244
  9. package/dist/client-core.js.map +1 -1
  10. package/dist/client.d.ts +60 -13
  11. package/dist/client.js +76 -18
  12. package/dist/client.js.map +1 -1
  13. package/dist/display.d.ts +0 -6
  14. package/dist/display.js +31 -44
  15. package/dist/display.js.map +1 -1
  16. package/dist/feed.d.ts +17 -0
  17. package/dist/feed.js +47 -0
  18. package/dist/feed.js.map +1 -0
  19. package/dist/game-run.d.ts +30 -0
  20. package/dist/game-run.js +51 -0
  21. package/dist/game-run.js.map +1 -0
  22. package/dist/hmc.d.ts +7 -0
  23. package/dist/hmc.js +42 -31
  24. package/dist/hmc.js.map +1 -1
  25. package/dist/index.d.ts +4 -2
  26. package/dist/index.js +2 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/install.d.ts +6 -0
  29. package/dist/install.js +26 -3
  30. package/dist/install.js.map +1 -1
  31. package/dist/java.js +11 -2
  32. package/dist/java.js.map +1 -1
  33. package/dist/launch.d.ts +79 -0
  34. package/dist/launch.js +142 -0
  35. package/dist/launch.js.map +1 -0
  36. package/dist/lock.js +18 -18
  37. package/dist/lock.js.map +1 -1
  38. package/dist/mcp/accounts.d.ts +3 -0
  39. package/dist/mcp/accounts.js +45 -0
  40. package/dist/mcp/accounts.js.map +1 -0
  41. package/dist/mcp/act.d.ts +3 -0
  42. package/dist/mcp/act.js +129 -0
  43. package/dist/mcp/act.js.map +1 -0
  44. package/dist/mcp/extensions.d.ts +3 -0
  45. package/dist/mcp/extensions.js +21 -0
  46. package/dist/mcp/extensions.js.map +1 -0
  47. package/dist/mcp/index.d.ts +13 -0
  48. package/dist/mcp/index.js +58 -0
  49. package/dist/mcp/index.js.map +1 -0
  50. package/dist/mcp/items.d.ts +3 -0
  51. package/dist/mcp/items.js +71 -0
  52. package/dist/mcp/items.js.map +1 -0
  53. package/dist/mcp/lifecycle.d.ts +3 -0
  54. package/dist/mcp/lifecycle.js +120 -0
  55. package/dist/mcp/lifecycle.js.map +1 -0
  56. package/dist/mcp/observe.d.ts +3 -0
  57. package/dist/mcp/observe.js +110 -0
  58. package/dist/mcp/observe.js.map +1 -0
  59. package/dist/mcp/shared.d.ts +49 -0
  60. package/dist/mcp/shared.js +56 -0
  61. package/dist/mcp/shared.js.map +1 -0
  62. package/dist/mcp/tasks.d.ts +15 -0
  63. package/dist/mcp/tasks.js +46 -0
  64. package/dist/mcp/tasks.js.map +1 -0
  65. package/dist/mcp.js +35 -3
  66. package/dist/mcp.js.map +1 -1
  67. package/dist/mods.d.ts +2 -0
  68. package/dist/mods.js +35 -4
  69. package/dist/mods.js.map +1 -1
  70. package/dist/mojang.d.ts +5 -1
  71. package/dist/mojang.js.map +1 -1
  72. package/dist/names.js +30 -8
  73. package/dist/names.js.map +1 -1
  74. package/dist/net.js +25 -19
  75. package/dist/net.js.map +1 -1
  76. package/dist/paper.d.ts +46 -0
  77. package/dist/paper.js +200 -0
  78. package/dist/paper.js.map +1 -0
  79. package/dist/probe-server.d.ts +14 -4
  80. package/dist/probe-server.js +15 -10
  81. package/dist/probe-server.js.map +1 -1
  82. package/dist/repl.d.ts +6 -0
  83. package/dist/repl.js +207 -0
  84. package/dist/repl.js.map +1 -0
  85. package/dist/stage.d.ts +6 -0
  86. package/dist/stage.js +19 -0
  87. package/dist/stage.js.map +1 -0
  88. package/dist/types.d.ts +167 -3
  89. package/dist/types.js +12 -1
  90. package/dist/types.js.map +1 -1
  91. package/dist/zip.js.map +1 -1
  92. package/package.json +11 -3
  93. package/vendor/calcite-probe.jar +0 -0
package/dist/cli.js CHANGED
@@ -1,6 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import { writeFile } from 'node:fs/promises';
3
- import { createInterface } from 'node:readline';
4
2
  import { Command, InvalidArgumentError, Option } from 'commander';
5
3
  import { listAccounts, removeAccount, startLogin } from './accounts.js';
6
4
  import { Client, defaultUsername, installVersion } from './client.js';
@@ -8,8 +6,9 @@ import { hasSharedLib, which } from './display.js';
8
6
  import { findJavaInstalls } from './java.js';
9
7
  import { setLogLevel } from './log.js';
10
8
  import { getManifest } from './mojang.js';
11
- import { runMcpStdio } from './mcp.js';
9
+ import { runMcpStdio } from './mcp/index.js';
12
10
  import { resolvePaths } from './paths.js';
11
+ import { runRepl } from './repl.js';
13
12
  import { VERSION } from './version.js';
14
13
  const out = (line = '') => process.stdout.write(`${line}\n`);
15
14
  function positiveInt(value) {
@@ -23,83 +22,6 @@ function fail(err) {
23
22
  process.stderr.write(`error${e.code ? ` [${e.code}]` : ''}: ${e.message}\n`);
24
23
  process.exit(1);
25
24
  }
26
- const json = (value) => out(JSON.stringify(value, null, 2));
27
- /** Interactive action commands of `calcite launch`; returns false for unknown commands. */
28
- async function action(client, line) {
29
- const [cmd, ...rest] = line.slice(1).split(/\s+/);
30
- const n = rest.map(Number);
31
- const need = (count) => {
32
- if (n.length < count || n.slice(0, count).some((v) => !Number.isFinite(v)))
33
- throw new Error(`:${cmd} needs ${count} numbers`);
34
- };
35
- switch (cmd) {
36
- case 'look':
37
- need(2);
38
- json(await client.look({ yaw: n[0], pitch: n[1] }));
39
- return true;
40
- case 'lookat':
41
- need(3);
42
- json(await client.look({ x: n[0], y: n[1], z: n[2] }));
43
- return true;
44
- case 'goto':
45
- need(2);
46
- json(await client.walkTo(n[0], n[1]));
47
- return true;
48
- case 'move': {
49
- const controls = Object.fromEntries((rest[0] ?? '').split(',').filter(Boolean).map((c) => [c, true]));
50
- json(await client.move(controls, { ticks: rest[1] ? Number(rest[1]) : 20 }));
51
- return true;
52
- }
53
- case 'stop':
54
- await client.stopActions();
55
- return true;
56
- case 'attack':
57
- json(await client.attack(rest[0] ? Number(rest[0]) : undefined));
58
- return true;
59
- case 'use':
60
- if (rest.length >= 3) {
61
- need(3);
62
- json(await client.use({ block: { x: n[0], y: n[1], z: n[2] }, holdTicks: n[3] || undefined }));
63
- }
64
- else {
65
- json(await client.use({ entityId: rest[0] ? n[0] : undefined, holdTicks: n[1] || undefined }));
66
- }
67
- return true;
68
- case 'dig':
69
- need(3);
70
- json(await client.dig({ x: n[0], y: n[1], z: n[2] }));
71
- return true;
72
- case 'block':
73
- need(3);
74
- json(await client.block({ x: n[0], y: n[1], z: n[2] }));
75
- return true;
76
- case 'target':
77
- json(await client.target());
78
- return true;
79
- case 'inv':
80
- json(await client.inventory());
81
- return true;
82
- case 'slot':
83
- need(1);
84
- json(await client.selectSlot(n[0]));
85
- return true;
86
- case 'container':
87
- json(await client.container());
88
- return true;
89
- case 'click':
90
- need(1);
91
- json(await client.click(n[0], { button: rest[1] ? n[1] : 0, mode: rest[2] ?? 'pickup' }));
92
- return true;
93
- case 'close':
94
- await client.closeContainer();
95
- return true;
96
- case 'drop':
97
- json(await client.drop({ all: rest[0] === 'all' }));
98
- return true;
99
- default:
100
- return false;
101
- }
102
- }
103
25
  function collect(value, previous) {
104
26
  return [...previous, value];
105
27
  }
@@ -120,6 +42,10 @@ program
120
42
  .option('-V, --mc-version <version>', 'Minecraft version, "release" or "snapshot"', 'release')
121
43
  .option('-l, --loader <loader>', 'mod loader: fabric, forge or neoforge, optionally @version (e.g. fabric@0.19.5)')
122
44
  .option('--mod <spec>', 'mod jar, folder, URL or modrinth:<project>[@version] (repeatable; needs --loader)', collect, [])
45
+ .option('--ext <jar>', 'probe extension jar or URL (repeatable)', collect, [])
46
+ .option('-w, --world <name>', 'play singleplayer in this world (created when missing) instead of joining a server')
47
+ .addOption(new Option('--game-mode <mode>', 'game mode of a new world').choices(['survival', 'creative', 'hardcore']).default('survival'))
48
+ .option('--seed <seed>', 'seed of a new world')
123
49
  .option('-u, --username <name>', 'offline username (default: the client name)')
124
50
  .option('-m, --microsoft [account]', 'use a stored Microsoft account (primary one, or by name)')
125
51
  .addOption(new Option('-r, --render <mode>', 'renderer mode').choices(['on-demand', 'always', 'off']).default('on-demand'))
@@ -136,7 +62,9 @@ program
136
62
  version: o.mcVersion,
137
63
  loader: o.loader,
138
64
  mods: o.mod,
65
+ extensions: o.ext,
139
66
  server,
67
+ world: o.world ? { name: o.world, gameMode: o.gameMode, seed: o.seed } : undefined,
140
68
  account,
141
69
  render: o.render,
142
70
  javaPath: o.java,
@@ -146,6 +74,7 @@ program
146
74
  });
147
75
  client.on('phase', (p) => process.stderr.write(`[${p}]\n`));
148
76
  client.on('chat', (c) => out(c.message));
77
+ client.on('event', (e) => process.stderr.write(`[${e.name}] ${JSON.stringify(e.data)}\n`));
149
78
  let stopping = false;
150
79
  const stop = async (code = 0) => {
151
80
  if (stopping)
@@ -160,55 +89,14 @@ program
160
89
  await client.start();
161
90
  }
162
91
  catch (err) {
163
- process.stderr.write(client.logsSince({ limit: 30 }).map((l) => ` ${l.line}`).join('\n') + '\n');
92
+ process.stderr.write(client
93
+ .logsSince({ limit: 30 })
94
+ .map((l) => ` ${l.line}`)
95
+ .join('\n') + '\n');
164
96
  await client.stop();
165
97
  fail(err);
166
98
  }
167
- process.stderr.write('Ready. Type chat, /command, or :state :ents [radius] :shot [file] :render on|off :respawn :quit\n' +
168
- 'Actions: :look yaw pitch | :lookat x y z | :goto x z | :move forward,jump [ticks] | :stop | :attack [id] | :use [id | x y z] [hold]\n' +
169
- ' :dig x y z | :block x y z | :target | :inv | :slot n | :container | :click slot [button] [mode] | :close | :drop [all]\n');
170
- const rl = createInterface({ input: process.stdin });
171
- rl.on('close', () => void stop());
172
- for await (const raw of rl) {
173
- const line = raw.trim();
174
- if (!line)
175
- continue;
176
- try {
177
- if (line === ':quit' || line === ':q')
178
- break;
179
- else if (line === ':state')
180
- out(JSON.stringify(await client.state(), null, 2));
181
- else if (line.startsWith(':ents')) {
182
- const radius = Number(line.split(/\s+/)[1] ?? 32);
183
- for (const e of await client.entities({ radius })) {
184
- out(`${e.id}\t${e.type}\t${e.name ?? ''}${e.customName ? ` (${e.customName})` : ''}\t${e.x?.toFixed(1)} ${e.y?.toFixed(1)} ${e.z?.toFixed(1)}`);
185
- }
186
- }
187
- else if (line.startsWith(':shot')) {
188
- const file = line.split(/\s+/)[1] ?? `calcite-${Date.now()}.png`;
189
- const shot = await client.screenshot();
190
- await writeFile(file, shot.png);
191
- out(`saved ${file} (${shot.png.length} bytes)`);
192
- }
193
- else if (line.startsWith(':render')) {
194
- await client.setRender(line.endsWith('on'));
195
- }
196
- else if (line === ':respawn')
197
- await client.respawn();
198
- else if (line.startsWith(':') && (await action(client, line))) {
199
- // handled
200
- }
201
- else if (line.startsWith('/'))
202
- await client.command(line.slice(1));
203
- else if (line.startsWith(':'))
204
- process.stderr.write(`unknown command ${line}\n`);
205
- else
206
- await client.chat(line);
207
- }
208
- catch (err) {
209
- process.stderr.write(`error: ${err.message}\n`);
210
- }
211
- }
99
+ await runRepl(client);
212
100
  await stop();
213
101
  });
214
102
  program
@@ -324,9 +212,10 @@ program
324
212
  .description('Run the MCP server on stdio')
325
213
  .addOption(new Option('-r, --render <mode>', 'default renderer mode').choices(['on-demand', 'always', 'off']))
326
214
  .option('--memory <size>', 'default max heap')
215
+ .option('--ext <jar>', 'probe extension jar or URL loaded into every client (repeatable)', collect, [])
327
216
  .action(async (o) => {
328
217
  // stdout belongs to the protocol; logs go to stderr
329
- await runMcpStdio({ defaults: { render: o.render, memory: o.memory } });
218
+ await runMcpStdio({ defaults: { render: o.render, memory: o.memory, extensions: o.ext.length ? o.ext : undefined } });
330
219
  });
331
220
  program.parseAsync().catch(fail);
332
221
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAiD,MAAM,aAAa,CAAC;AACrH,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,GAAG,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;AAE7D,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACjG,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,IAAI,CAAC,GAAY;IACxB,MAAM,CAAC,GAAG,GAAgC,CAAC;IAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;IAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,QAAkB;IAChD,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAoBD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KAC1B,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,iEAAiE,CAAC;KAC9E,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,0CAA0C;KACxE,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC;KACxC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;IACzB,IAAI,GAAG,CAAC,IAAI,EAAyB,CAAC,OAAO;QAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,QAAQ,CAAC,UAAU,EAAE,qBAAqB,CAAC;KAC3C,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,SAAS,CAAC;KAChE,MAAM,CAAC,4BAA4B,EAAE,4CAA4C,EAAE,SAAS,CAAC;KAC7F,MAAM,CAAC,uBAAuB,EAAE,iFAAiF,CAAC;KAClH,MAAM,CAAC,cAAc,EAAE,mFAAmF,EAAE,OAAO,EAAE,EAAE,CAAC;KACxH,MAAM,CAAC,aAAa,EAAE,yCAAyC,EAAE,OAAO,EAAE,EAAE,CAAC;KAC7E,MAAM,CAAC,oBAAoB,EAAE,oFAAoF,CAAC;KAClH,SAAS,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;KACzI,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC;KAC9C,MAAM,CAAC,uBAAuB,EAAE,6CAA6C,CAAC;KAC9E,MAAM,CAAC,2BAA2B,EAAE,0DAA0D,CAAC;KAC/F,SAAS,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;KAC1H,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;KACjD,MAAM,CAAC,oBAAoB,EAAE,+BAA+B,CAAC;KAC7D,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,IAAI,CAAC;KACpD,MAAM,CAAC,gBAAgB,EAAE,2CAA2C,CAAC;KACrE,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,CAAgB,EAAE,EAAE;IAC7D,MAAM,OAAO,GAAY,CAAC,CAAC,SAAS;QAClC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;QACxF,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;IACzE,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,SAAS;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI,EAAE,CAAC,CAAC,GAAG;QACX,UAAU,EAAE,CAAC,CAAC,GAAG;QACjB,MAAM;QACN,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;QAClF,OAAO;QACP,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,QAAQ,EAAE,CAAC,CAAC,IAAI;QAChB,iBAAiB,EAAE,CAAC,CAAC,YAAY;QACjC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,SAAS,EAAE,CAAC,CAAC,SAAS;KACvB,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAY,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtG,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,EAAE,EAAE;QAC9B,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,MAAM;aACH,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;aACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;aACzB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CACrB,CAAC;QACF,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,IAAI,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,oFAAoF,CAAC;KACjG,QAAQ,CAAC,WAAW,EAAE,qCAAqC,EAAE,SAAS,CAAC;KACvE,MAAM,CAAC,uBAAuB,EAAE,2EAA2E,CAAC;KAC5G,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;KACjD,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,CAAqC,EAAE,EAAE;IACvE,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjI,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IACpG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,yBAAyB,CAAC;KACtC,SAAS,CACR,IAAI,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CACpI;KACA,MAAM,CAAC,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,CAAC;KACtD,MAAM,CAAC,KAAK,EAAE,CAAkC,EAAE,EAAE;IACnD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC;QACnD,GAAG,CAAC,kBAAkB,QAAQ,CAAC,MAAM,CAAC,OAAO,cAAc,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvF,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACzG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,+FAA+F,CAAC;KAC5G,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjF,GAAG,CAAC,gDAAgD,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1E,GAAG,CAAC,gBAAgB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;KACrC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7B,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,IAAI,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAClG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,GAAG,CAAC,WAAW,OAAO,YAAY,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;IACjG,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,GAAG,CAAC,UAAU,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,GAAG,CAAC,UAAU,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,2CAA2C,EAAE,CAAC,CAAC;IACjF,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAClG,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,GAAG,CAAC,UAAU,IAAI,IAAI,4GAA4G,EAAE,CAAC,CAAC;QACtI,GAAG,CACD,UAAU,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wFAAwF,EAAE,CAC1I,CAAC;QACF,GAAG,CAAC,YAAY,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,sCAAsC,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3C,GAAG,CAAC,aAAa,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,yBAA0B,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,WAAW,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,GAAG,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,wBAAyB,GAAa,CAAC,OAAO,GAAG,CAAC,CAAC;IACzD,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,6BAA6B,CAAC;KAC1C,SAAS,CAAC,IAAI,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;KAC7G,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;KAC7C,MAAM,CAAC,aAAa,EAAE,kEAAkE,EAAE,OAAO,EAAE,EAAE,CAAC;KACtG,MAAM,CAAC,KAAK,EAAE,CAA0D,EAAE,EAAE;IAC3E,oDAAoD;IACpD,MAAM,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AACxH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC"}
@@ -1,25 +1,26 @@
1
1
  import { EventEmitter } from 'node:events';
2
+ import { Feed } from './feed.js';
2
3
  import { type CalcitePaths } from './paths.js';
3
- import { ProbeServer } from './probe-server.js';
4
- import { type Account, type ChatLine, type ClientOptions, type ClientStatus, type GameState, type LogLine, type Phase, type RenderMode, type ServerAddress } from './types.js';
4
+ import type { ProbeServer } from './probe-server.js';
5
+ import { type Account, type ChatLine, type ClientEvents, type ClientOptions, type ClientStatus, type GameEvent, type GameState, type LogLine, type Phase, type RenderMode, type ServerAddress, type WorldOptions } from './types.js';
5
6
  export declare const sleep: (ms: number) => Promise<unknown>;
6
7
  /** Process lifecycle of a client: preparing, launching, the probe connection, reconnects and shutdown. */
7
- export declare abstract class ClientCore extends EventEmitter {
8
+ export declare abstract class ClientCore extends EventEmitter<ClientEvents> {
8
9
  readonly options: Required<Pick<ClientOptions, 'name' | 'version'>> & ClientOptions;
9
10
  readonly paths: CalcitePaths;
10
11
  readonly gameDir: string;
11
12
  readonly render: RenderMode;
12
13
  readonly account: Account;
13
14
  readonly server?: ServerAddress;
15
+ readonly world?: WorldOptions;
14
16
  protected phaseValue: Phase;
15
- protected logs: LogLine[];
16
- protected chats: ChatLine[];
17
+ protected readonly logs: Feed<LogLine>;
18
+ protected readonly chats: Feed<ChatLine>;
19
+ protected readonly events: Feed<GameEvent>;
20
+ private extensionJars;
17
21
  protected seq: number;
18
- protected probe: ProbeServer | null;
19
- private run;
20
- private display;
22
+ private current;
21
23
  private releaseInstance;
22
- private probeConfig;
23
24
  private game;
24
25
  private mods;
25
26
  protected headlessValue: boolean;
@@ -30,7 +31,6 @@ export declare abstract class ClientCore extends EventEmitter {
30
31
  private startedAt;
31
32
  private reconnects;
32
33
  private stopping;
33
- private poller;
34
34
  private inGameSince;
35
35
  private relaunching;
36
36
  private everInGame;
@@ -44,16 +44,24 @@ export declare abstract class ClientCore extends EventEmitter {
44
44
  private pushLog;
45
45
  /**
46
46
  * Prepares everything (Java, game files, mappings), launches the client and resolves once it is in a world
47
- * (or on the title screen when no server is configured).
47
+ * (or on the title screen when neither a server nor a world is configured).
48
48
  */
49
49
  start(): Promise<ClientStatus>;
50
50
  /** Downloads and verifies everything needed to launch (idempotent). */
51
51
  prepare(): Promise<void>;
52
52
  private resolveHeadless;
53
+ private requireGame;
53
54
  private launch;
55
+ private waitForServer;
56
+ /** Starts HeadlessMC and follows the game's output until it exits. */
57
+ private spawn;
54
58
  private onProbeConnected;
55
59
  private poll;
56
- private reconnectLimit;
60
+ /** Forge/NeoForge stay on an error screen when mods fail to load; relaunching would not help. */
61
+ private failModLoading;
62
+ /** A failure relaunching cannot fix: start() reports {@code code} and the game is killed. */
63
+ private fail;
64
+ private joinFromTitle;
57
65
  private maybeReconnect;
58
66
  private onGameExit;
59
67
  private waitUntilStarted;
@@ -61,6 +69,9 @@ export declare abstract class ClientCore extends EventEmitter {
61
69
  private shutdown;
62
70
  /** Stops the game and releases all resources. */
63
71
  stop(): Promise<void>;
72
+ /** Lets the integrated server save and stop before the game is killed. */
73
+ private closeWorld;
64
74
  status(): ClientStatus;
75
+ protected get probeConnected(): boolean;
65
76
  protected requireProbe(): ProbeServer;
66
77
  }