@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 +77 -0
- package/dist/index.cjs +78 -0
- package/dist/index.d.cts +10 -0
- package/dist/index.d.mts +10 -0
- package/dist/index.mjs +19 -0
- package/package.json +47 -0
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
|
+
});
|
package/dist/index.d.cts
ADDED
|
@@ -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.d.mts
ADDED
|
@@ -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
|
+
}
|