@opys/minecraft 0.1.2

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.
package/README.md ADDED
@@ -0,0 +1,77 @@
1
+ # @opys/minecraft
2
+
3
+ Bridge layer that converts Mojang version JSON into Manifest artifacts and launch config. Owns the Minecraft template and config helpers.
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ npm install @opys/minecraft @opys/core @opys/rules zod
9
+ ```
10
+
11
+ ## API
12
+
13
+ ### `resolveMinecraft(options?)`
14
+
15
+ Fetches the Mojang version manifest and a specific version (or latest), then returns a `MinecraftTemplate` ready to be merged into a Manifest config.
16
+
17
+ ```ts
18
+ import { resolveMinecraft } from '@opys/minecraft';
19
+
20
+ const template = await resolveMinecraft({ version: '1.20.1' });
21
+ // or omit version for latest release
22
+ const template = await resolveMinecraft();
23
+
24
+ template.artifacts; // Artifact[] — client jar, libraries, asset index, asset objects
25
+ template.vars; // ValDefs — all interpolation variables
26
+ template.launch; // Launch — assembled (main class + args), drop into manifest.launch
27
+ template.jvmArgs; // Valset — JVM args alone, for composition
28
+ template.mainClass; // Val — main class wrapped (raw at .value[0])
29
+ template.gameArgs; // Valset — game args alone, for composition
30
+ ```
31
+
32
+ ### `clientToTemplate(client)`
33
+
34
+ Low-level mapper if you already have a parsed `Client` from `@opys/mojang`.
35
+
36
+ ```ts
37
+ import { fetchClient, clientToTemplate } from '@opys/minecraft';
38
+
39
+ const { client } = await fetchClient('1.20.1');
40
+ const template = await clientToTemplate(client);
41
+ ```
42
+
43
+ ### `artifactScanner(options?)`
44
+
45
+ Async generator that yields `Artifact` entries by scanning a local directory. Used in `opys.config.mjs` to include mod JARs or other local files.
46
+
47
+ ```ts
48
+ import { artifactScanner } from '@opys/minecraft';
49
+
50
+ // yields Artifact for each file under mods/
51
+ const scanner = artifactScanner({ dir: 'mods', into: '${root}/mods' });
52
+ ```
53
+
54
+ ### Config helpers
55
+
56
+ Re-exported from `@opys/core` for convenience:
57
+
58
+ ```ts
59
+ import { defineConfig, resolveConfig } from '@opys/minecraft';
60
+ ```
61
+
62
+ ## Variable reference
63
+
64
+ The template sets these vars (interpolatable with `${name}`):
65
+
66
+ | Variable | Default |
67
+ | ------------------- | ---------------------------------- |
68
+ | `root` | `.` |
69
+ | `version_name` | Minecraft version id |
70
+ | `version_dir` | `${root}/versions/${version_name}` |
71
+ | `library_directory` | `${root}/libraries` |
72
+ | `natives_directory` | `${version_dir}/natives` |
73
+ | `assets_root` | `${root}/assets` |
74
+ | `game_directory` | `${root}/` |
75
+ | `username` | (must be supplied at launch) |
76
+ | `uuid` | (must be supplied at launch) |
77
+ | `token` | (must be supplied at launch) |
package/dist/index.cjs ADDED
@@ -0,0 +1,78 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
+ let _opys_bifrost = require("@opys/bifrost");
3
+
4
+ Object.defineProperty(exports, 'bifrost', {
5
+ enumerable: true,
6
+ get: function () {
7
+ return _opys_bifrost.resolveBifrost;
8
+ }
9
+ });
10
+ Object.defineProperty(exports, 'resolveBifrost', {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _opys_bifrost.resolveBifrost;
14
+ }
15
+ });
16
+ var _opys_minecraft_vanilla = require("@opys/minecraft-vanilla");
17
+ Object.keys(_opys_minecraft_vanilla).forEach(function (k) {
18
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
19
+ enumerable: true,
20
+ get: function () { return _opys_minecraft_vanilla[k]; }
21
+ });
22
+ });
23
+
24
+ var _opys_forge = require("@opys/forge");
25
+ Object.keys(_opys_forge).forEach(function (k) {
26
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
27
+ enumerable: true,
28
+ get: function () { return _opys_forge[k]; }
29
+ });
30
+ });
31
+
32
+ var _opys_cleanroom = require("@opys/cleanroom");
33
+ Object.keys(_opys_cleanroom).forEach(function (k) {
34
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
35
+ enumerable: true,
36
+ get: function () { return _opys_cleanroom[k]; }
37
+ });
38
+ });
39
+
40
+ var _opys_lwjgl3ify = require("@opys/lwjgl3ify");
41
+ Object.keys(_opys_lwjgl3ify).forEach(function (k) {
42
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
43
+ enumerable: true,
44
+ get: function () { return _opys_lwjgl3ify[k]; }
45
+ });
46
+ });
47
+
48
+ var _opys_authliberty = require("@opys/authliberty");
49
+ Object.keys(_opys_authliberty).forEach(function (k) {
50
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
51
+ enumerable: true,
52
+ get: function () { return _opys_authliberty[k]; }
53
+ });
54
+ });
55
+
56
+ var _opys_curseforge = require("@opys/curseforge");
57
+ Object.keys(_opys_curseforge).forEach(function (k) {
58
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
59
+ enumerable: true,
60
+ get: function () { return _opys_curseforge[k]; }
61
+ });
62
+ });
63
+
64
+ var _opys_minecraft_serverlist = require("@opys/minecraft-serverlist");
65
+ Object.keys(_opys_minecraft_serverlist).forEach(function (k) {
66
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
67
+ enumerable: true,
68
+ get: function () { return _opys_minecraft_serverlist[k]; }
69
+ });
70
+ });
71
+
72
+ var _opys_java = require("@opys/java");
73
+ Object.keys(_opys_java).forEach(function (k) {
74
+ if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
75
+ enumerable: true,
76
+ get: function () { return _opys_java[k]; }
77
+ });
78
+ });
@@ -0,0 +1,10 @@
1
+ import { BifrostAuth, BifrostOptions, resolveBifrost, resolveBifrost as bifrost } from "@opys/bifrost";
2
+ export * from "@opys/minecraft-vanilla";
3
+ export * from "@opys/forge";
4
+ export * from "@opys/cleanroom";
5
+ export * from "@opys/lwjgl3ify";
6
+ export * from "@opys/authliberty";
7
+ export * from "@opys/curseforge";
8
+ export * from "@opys/minecraft-serverlist";
9
+ export * from "@opys/java";
10
+ export { type BifrostAuth, type BifrostOptions, bifrost, resolveBifrost };
@@ -0,0 +1,10 @@
1
+ import { BifrostAuth, BifrostOptions, resolveBifrost, resolveBifrost as bifrost } from "@opys/bifrost";
2
+ export * from "@opys/minecraft-vanilla";
3
+ export * from "@opys/forge";
4
+ export * from "@opys/cleanroom";
5
+ export * from "@opys/lwjgl3ify";
6
+ export * from "@opys/authliberty";
7
+ export * from "@opys/curseforge";
8
+ export * from "@opys/minecraft-serverlist";
9
+ export * from "@opys/java";
10
+ export { type BifrostAuth, type BifrostOptions, bifrost, resolveBifrost };
package/dist/index.mjs ADDED
@@ -0,0 +1,19 @@
1
+ import { resolveBifrost, resolveBifrost as bifrost } from "@opys/bifrost";
2
+
3
+ export * from "@opys/minecraft-vanilla"
4
+
5
+ export * from "@opys/forge"
6
+
7
+ export * from "@opys/cleanroom"
8
+
9
+ export * from "@opys/lwjgl3ify"
10
+
11
+ export * from "@opys/authliberty"
12
+
13
+ export * from "@opys/curseforge"
14
+
15
+ export * from "@opys/minecraft-serverlist"
16
+
17
+ export * from "@opys/java"
18
+
19
+ export { bifrost, resolveBifrost };
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@opys/minecraft",
3
+ "version": "0.1.2",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "exports": {
7
+ ".": {
8
+ "import": "./dist/index.mjs",
9
+ "require": "./dist/index.cjs"
10
+ }
11
+ },
12
+ "scripts": {
13
+ "build": "tsdown lib/index.ts --format esm,cjs --dts --clean",
14
+ "typecheck": "tsc --noEmit -p tsconfig.json",
15
+ "test": "vitest run tests/unit --passWithNoTests",
16
+ "test:int": "vitest run tests/integration --testTimeout=120000"
17
+ },
18
+ "dependencies": {
19
+ "@opys/minecraft-vanilla": "^0.1.2",
20
+ "@opys/forge": "^0.1.2",
21
+ "@opys/cleanroom": "^0.1.2",
22
+ "@opys/lwjgl3ify": "^0.1.2",
23
+ "@opys/authliberty": "^0.1.2",
24
+ "@opys/curseforge": "^0.1.2",
25
+ "@opys/bifrost": "^0.1.2",
26
+ "@opys/minecraft-serverlist": "^0.1.2",
27
+ "@opys/java": "^0.1.2"
28
+ },
29
+ "devDependencies": {
30
+ "@opys/core": "^0.1.2",
31
+ "@opys/dev": "^0.1.2",
32
+ "@opys/mojang": "^0.1.2",
33
+ "tsdown": "*",
34
+ "vitest": "*"
35
+ },
36
+ "files": [
37
+ "dist"
38
+ ],
39
+ "engines": {
40
+ "node": ">=20"
41
+ },
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "git+https://github.com/harmoniya-net/opys.git",
45
+ "directory": "packages/minecraft"
46
+ }
47
+ }