create-mbler 0.0.1 → 0.0.2-rc.1
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 +40 -5
- package/dist/main.mjs +195 -206
- package/dist/main.mts +130 -0
- package/package.json +7 -3
- package/template/mcx/behavior/scripts/event/event.mcx +2 -2
package/README.md
CHANGED
|
@@ -1,11 +1,46 @@
|
|
|
1
1
|
# create-mbler
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
CLI scaffolding tool for creating new MCX / mbler projects. Quickly generate a project with the correct directory structure, configuration files, and dependencies.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Usage
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```bash
|
|
8
|
+
# Using pnpm
|
|
9
|
+
pnpm create mbler my-addon
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
# Using npx
|
|
12
|
+
npx create-mbler my-addon
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
# Using the CLI directly
|
|
15
|
+
create-mbler my-addon
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
The CLI will prompt you for:
|
|
19
|
+
|
|
20
|
+
- **Project name / description**
|
|
21
|
+
- **Minecraft version target**
|
|
22
|
+
- **Modules to include**
|
|
23
|
+
- **Language** — MCX DSL (`.mcx`), TypeScript (`.ts`), or JavaScript (`.js`)
|
|
24
|
+
- **Package manager** — pnpm or npm
|
|
25
|
+
|
|
26
|
+
## Generated Structure
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
my-addon/
|
|
30
|
+
├── behavior/
|
|
31
|
+
│ └── scripts/
|
|
32
|
+
│ └── main.js
|
|
33
|
+
├── resources/
|
|
34
|
+
├── package.json
|
|
35
|
+
├── mbler.config.js
|
|
36
|
+
├── tsconfig.json
|
|
37
|
+
└── .gitignore
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## GitHub
|
|
41
|
+
|
|
42
|
+
[Repository](https://github.com/RuanhoR/mcx-core/tree/main/packages/create-mbler) | [Mbler](https://github.com/RuanhoR/mbler)
|
|
43
|
+
|
|
44
|
+
## License
|
|
45
|
+
|
|
46
|
+
MIT
|
package/dist/main.mjs
CHANGED
|
@@ -1,117 +1,114 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import inpurer from
|
|
3
|
-
import { stdout } from
|
|
4
|
-
import path from
|
|
5
|
-
import { spawn } from
|
|
6
|
-
import { mkdir,
|
|
7
|
-
|
|
8
|
-
const LanguageList = [
|
|
1
|
+
import { Argument, Command } from "commander";
|
|
2
|
+
import inpurer from "inquirer";
|
|
3
|
+
import { stdout } from "node:process";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { spawn } from "node:child_process";
|
|
6
|
+
import { cp, mkdir, stat, writeFile } from "node:fs/promises";
|
|
7
|
+
//#region src/i18n.ts
|
|
8
|
+
const LanguageList = ["zh", "en"];
|
|
9
9
|
const LanguageMap = {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
10
|
+
zh: {
|
|
11
|
+
InputCreateAt: "创建在哪呢?",
|
|
12
|
+
Name: "项目名称",
|
|
13
|
+
Need: "需要什么?",
|
|
14
|
+
McVersion: "依赖的 mc 版本(像 1.21.100 )?",
|
|
15
|
+
Description: "项目描述?",
|
|
16
|
+
PackageManager: "使用哪个包管理器?"
|
|
17
|
+
},
|
|
18
|
+
en: {
|
|
19
|
+
InputCreateAt: "Create mbler project at ...?",
|
|
20
|
+
Need: "Need?",
|
|
21
|
+
Description: "Project description?",
|
|
22
|
+
McVersion: "Need mcbe version(like 1.21.100)?",
|
|
23
|
+
Name: "Project name? ",
|
|
24
|
+
PackageManager: "Which package manager to use?"
|
|
25
|
+
}
|
|
26
26
|
};
|
|
27
27
|
function getI18n(key, language) {
|
|
28
|
-
|
|
28
|
+
return LanguageMap[language][key];
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
//#endregion
|
|
31
|
+
//#region src/utils.ts
|
|
31
32
|
function showText(etxt) {
|
|
32
|
-
|
|
33
|
+
stdout.write(etxt + "\n");
|
|
33
34
|
}
|
|
34
35
|
function verifyType(obj, typeMapping) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
}
|
|
41
|
-
return true;
|
|
36
|
+
for (const key in typeMapping) {
|
|
37
|
+
const expected = typeMapping[key];
|
|
38
|
+
if (typeof obj[key] !== expected) return false;
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
42
41
|
}
|
|
43
|
-
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region src/init.ts
|
|
44
44
|
function spawnCmd(cmd, args, cwd) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
const child = spawn(cmd, args, {
|
|
47
|
+
cwd,
|
|
48
|
+
stdio: "inherit",
|
|
49
|
+
shell: true
|
|
50
|
+
});
|
|
51
|
+
child.on("close", (code) => {
|
|
52
|
+
if (code === 0) resolve();
|
|
53
|
+
else reject(/* @__PURE__ */ new Error(`${cmd} exited with code ${code}`));
|
|
54
|
+
});
|
|
55
|
+
child.on("error", reject);
|
|
56
|
+
});
|
|
55
57
|
}
|
|
56
58
|
async function fileExists(f) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
59
|
+
try {
|
|
60
|
+
await stat(path.resolve(f));
|
|
61
|
+
return true;
|
|
62
|
+
} catch {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
64
65
|
}
|
|
65
66
|
async function findTemplate(language) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
if (await fileExists(path.join(import.meta.dirname, '../../', d))) {
|
|
71
|
-
return path.join(import.meta.dirname, '../../', d);
|
|
72
|
-
}
|
|
73
|
-
throw new Error("Can't find template");
|
|
67
|
+
const d = path.join("template", language);
|
|
68
|
+
if (await fileExists(path.join(import.meta.dirname, "../", d))) return path.join(import.meta.dirname, "../", d);
|
|
69
|
+
if (await fileExists(path.join(import.meta.dirname, "../../", d))) return path.join(import.meta.dirname, "../../", d);
|
|
70
|
+
throw new Error("Can't find template");
|
|
74
71
|
}
|
|
75
72
|
function mcVersionToGameTest(mcVersion) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
return map[mcVersion] || '2.0.0';
|
|
73
|
+
return {
|
|
74
|
+
"1.21.100": "2.0.0",
|
|
75
|
+
"1.21.120": "2.0.0"
|
|
76
|
+
}[mcVersion] || "2.0.0";
|
|
81
77
|
}
|
|
82
78
|
async function initProject(inputOpt) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
79
|
+
const dir = path.resolve(inputOpt.createAt);
|
|
80
|
+
const isMcx = inputOpt.Language === "mcx";
|
|
81
|
+
await mkdir(dir, { recursive: true });
|
|
82
|
+
await cp(await findTemplate(inputOpt.Language), dir, {
|
|
83
|
+
recursive: true,
|
|
84
|
+
force: true
|
|
85
|
+
});
|
|
86
|
+
const packageJson = {
|
|
87
|
+
name: inputOpt.Name,
|
|
88
|
+
description: inputOpt.Description,
|
|
89
|
+
version: "0.0.1",
|
|
90
|
+
packageManager: inputOpt.PackageManager,
|
|
91
|
+
engines: { node: ">=18.0.0" },
|
|
92
|
+
scripts: {
|
|
93
|
+
dev: "mbler watch",
|
|
94
|
+
build: "mcx-tsc && cross-env BUILD_MODULE=release mbler build",
|
|
95
|
+
"dev-build": "mbler build"
|
|
96
|
+
},
|
|
97
|
+
type: "module",
|
|
98
|
+
dependencies: { "@minecraft/server": mcVersionToGameTest(inputOpt.McVersion) },
|
|
99
|
+
devDependencies: {
|
|
100
|
+
"cross-env": "^7.0.3",
|
|
101
|
+
mbler: "latest"
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
if (isMcx) {
|
|
105
|
+
packageJson.dependencies["@mbler/mcx"] = "0.0.3-alpha.r1";
|
|
106
|
+
packageJson.devDependencies["@mbler/mcx-core"] = "latest";
|
|
107
|
+
}
|
|
108
|
+
await writeFile(path.join(dir, "package.json"), JSON.stringify(packageJson, null, 2) + "\n");
|
|
109
|
+
const ui = inputOpt.OtherModule.includes("ui");
|
|
110
|
+
const beta = inputOpt.OtherModule.includes("beta-api");
|
|
111
|
+
const mblerConfig = `import { defineConfig } from "mbler"
|
|
115
112
|
export default defineConfig({
|
|
116
113
|
description: '${inputOpt.Description}',
|
|
117
114
|
mcVersion: '${inputOpt.McVersion}',
|
|
@@ -120,119 +117,111 @@ export default defineConfig({
|
|
|
120
117
|
build: { bundle: true, cache: "file" },
|
|
121
118
|
outdir: { resources: './dist/res', behavior: './dist/dep', dist: './dist.mcaddon' }
|
|
122
119
|
});\n`;
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
}
|
|
153
|
-
if (inputOpt.OtherModule.includes('init dep')) {
|
|
154
|
-
try {
|
|
155
|
-
await spawnCmd(inputOpt.PackageManager, ['install'], dir);
|
|
156
|
-
}
|
|
157
|
-
catch (err) {
|
|
158
|
-
console.log('Failed to install dependencies, you can try to run it manually later. ERR: ', err);
|
|
159
|
-
}
|
|
160
|
-
}
|
|
120
|
+
await writeFile(path.join(dir, "mbler.config.js"), mblerConfig);
|
|
121
|
+
if (inputOpt.Language !== "js") await writeFile(path.join(dir, "tsconfig.json"), JSON.stringify({
|
|
122
|
+
compilerOptions: {
|
|
123
|
+
module: "esnext",
|
|
124
|
+
noEmit: true,
|
|
125
|
+
target: "esnext",
|
|
126
|
+
sourceMap: true,
|
|
127
|
+
declaration: false,
|
|
128
|
+
strict: true,
|
|
129
|
+
moduleResolution: "bundler",
|
|
130
|
+
allowImportingTsExtensions: true,
|
|
131
|
+
isolatedModules: true,
|
|
132
|
+
moduleDetection: "force",
|
|
133
|
+
skipLibCheck: true,
|
|
134
|
+
types: ["mbler/client"]
|
|
135
|
+
},
|
|
136
|
+
include: ["./behavior/scripts/**/*"]
|
|
137
|
+
}, null, 2) + "\n");
|
|
138
|
+
await writeFile(path.join(dir, ".gitignore"), "node_modules\ndist\ndist.mcaddon\n.mbler\ncache\n");
|
|
139
|
+
if (inputOpt.OtherModule.includes("init git")) try {
|
|
140
|
+
await spawnCmd("git", ["init"], dir);
|
|
141
|
+
} catch (err) {
|
|
142
|
+
console.log("Failed to initialize git, you can try to run it manually later. ERR: ", err);
|
|
143
|
+
}
|
|
144
|
+
if (inputOpt.OtherModule.includes("init dep")) try {
|
|
145
|
+
await spawnCmd(inputOpt.PackageManager, ["install"], dir);
|
|
146
|
+
} catch (err) {
|
|
147
|
+
console.log("Failed to install dependencies, you can try to run it manually later. ERR: ", err);
|
|
148
|
+
}
|
|
161
149
|
}
|
|
162
|
-
|
|
150
|
+
//#endregion
|
|
151
|
+
//#region src/main.ts
|
|
163
152
|
function throwErr(text) {
|
|
164
|
-
|
|
165
|
-
|
|
153
|
+
showText("×: ERR: " + text);
|
|
154
|
+
process.exit(1);
|
|
166
155
|
}
|
|
167
|
-
const program = new Command(
|
|
168
|
-
program
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
156
|
+
const program = new Command("create-mbler");
|
|
157
|
+
program.name("create-mbler").description("Create mbler project").addArgument(new Argument("[dir]", "Where to create mbler project")).option("-l, --language <value>", "Define Create mbler tool language", "en").action(async function(...argv) {
|
|
158
|
+
const language = this.getOptionValue("language");
|
|
159
|
+
if (!LanguageList.includes(language)) throwErr("Invaild Language, should such as " + JSON.stringify(LanguageList));
|
|
160
|
+
const inputResult = await inpurer.prompt([
|
|
161
|
+
{
|
|
162
|
+
type: "input",
|
|
163
|
+
default: argv[0] || "./",
|
|
164
|
+
message: getI18n("InputCreateAt", language),
|
|
165
|
+
name: "createAt"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
type: "input",
|
|
169
|
+
name: "Name",
|
|
170
|
+
message: getI18n("Name", language)
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
type: "input",
|
|
174
|
+
name: "Description",
|
|
175
|
+
message: getI18n("Description", language),
|
|
176
|
+
default: "The package is a ..."
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
type: "input",
|
|
180
|
+
name: "McVersion",
|
|
181
|
+
message: getI18n("McVersion", language),
|
|
182
|
+
default: "1.21.100"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
type: "checkbox",
|
|
186
|
+
name: "OtherModule",
|
|
187
|
+
message: getI18n("Need", language),
|
|
188
|
+
choices: [
|
|
189
|
+
"ui",
|
|
190
|
+
"beta-api",
|
|
191
|
+
"init git",
|
|
192
|
+
"init dep"
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
type: "select",
|
|
197
|
+
name: "Language",
|
|
198
|
+
message: getI18n("Need", language),
|
|
199
|
+
choices: [
|
|
200
|
+
"mcx",
|
|
201
|
+
"js",
|
|
202
|
+
"ts"
|
|
203
|
+
]
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
type: "select",
|
|
207
|
+
name: "PackageManager",
|
|
208
|
+
message: getI18n("PackageManager", language),
|
|
209
|
+
choices: ["npm", "pnpm"]
|
|
210
|
+
}
|
|
211
|
+
]);
|
|
212
|
+
if (!verifyType(inputResult, {
|
|
213
|
+
createAt: "string",
|
|
214
|
+
Description: "string",
|
|
215
|
+
Language: "string",
|
|
216
|
+
McVersion: "string",
|
|
217
|
+
PackageManager: "string",
|
|
218
|
+
Name: "string",
|
|
219
|
+
OtherModule: "object"
|
|
220
|
+
})) throwErr("basic type error");
|
|
221
|
+
await initProject(inputResult);
|
|
233
222
|
});
|
|
234
223
|
const cli = () => {
|
|
235
|
-
|
|
224
|
+
program.parse();
|
|
236
225
|
};
|
|
237
|
-
|
|
226
|
+
//#endregion
|
|
238
227
|
export { LanguageList, LanguageMap, cli, getI18n, showText, verifyType };
|
package/dist/main.mts
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
//#region src/i18n.d.ts
|
|
2
|
+
var I18nKey = [
|
|
3
|
+
1,
|
|
4
|
+
() => [],
|
|
5
|
+
[]
|
|
6
|
+
];
|
|
7
|
+
var LanguageList = [
|
|
8
|
+
2,
|
|
9
|
+
() => [],
|
|
10
|
+
[]
|
|
11
|
+
];
|
|
12
|
+
var Language = [
|
|
13
|
+
3,
|
|
14
|
+
() => [LanguageList],
|
|
15
|
+
[""]
|
|
16
|
+
];
|
|
17
|
+
var LanguageMap = [
|
|
18
|
+
4,
|
|
19
|
+
() => [],
|
|
20
|
+
[
|
|
21
|
+
"",
|
|
22
|
+
"",
|
|
23
|
+
"",
|
|
24
|
+
"",
|
|
25
|
+
"",
|
|
26
|
+
"",
|
|
27
|
+
"",
|
|
28
|
+
"",
|
|
29
|
+
"",
|
|
30
|
+
"",
|
|
31
|
+
"",
|
|
32
|
+
"",
|
|
33
|
+
"",
|
|
34
|
+
""
|
|
35
|
+
]
|
|
36
|
+
];
|
|
37
|
+
var getI18n = [
|
|
38
|
+
5,
|
|
39
|
+
() => [I18nKey, Language],
|
|
40
|
+
[
|
|
41
|
+
"",
|
|
42
|
+
"",
|
|
43
|
+
"",
|
|
44
|
+
""
|
|
45
|
+
]
|
|
46
|
+
];
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region src/types.d.ts
|
|
49
|
+
var PackageManager = [
|
|
50
|
+
9,
|
|
51
|
+
() => [],
|
|
52
|
+
[]
|
|
53
|
+
];
|
|
54
|
+
var InputResult = [
|
|
55
|
+
10,
|
|
56
|
+
() => [PackageManager],
|
|
57
|
+
[
|
|
58
|
+
"",
|
|
59
|
+
"",
|
|
60
|
+
"",
|
|
61
|
+
"",
|
|
62
|
+
"",
|
|
63
|
+
"",
|
|
64
|
+
"",
|
|
65
|
+
""
|
|
66
|
+
]
|
|
67
|
+
];
|
|
68
|
+
//#endregion
|
|
69
|
+
//#region src/utils.d.ts
|
|
70
|
+
var showText = [
|
|
71
|
+
6,
|
|
72
|
+
() => [],
|
|
73
|
+
[""]
|
|
74
|
+
];
|
|
75
|
+
var JSTypeMap = [
|
|
76
|
+
7,
|
|
77
|
+
() => [],
|
|
78
|
+
[
|
|
79
|
+
"",
|
|
80
|
+
"",
|
|
81
|
+
"",
|
|
82
|
+
"",
|
|
83
|
+
"",
|
|
84
|
+
"",
|
|
85
|
+
"",
|
|
86
|
+
""
|
|
87
|
+
]
|
|
88
|
+
];
|
|
89
|
+
var verifyType = [
|
|
90
|
+
8,
|
|
91
|
+
(T, U) => [
|
|
92
|
+
T,
|
|
93
|
+
JSTypeMap,
|
|
94
|
+
Record,
|
|
95
|
+
T,
|
|
96
|
+
U,
|
|
97
|
+
T,
|
|
98
|
+
U,
|
|
99
|
+
JSTypeMap,
|
|
100
|
+
U,
|
|
101
|
+
P
|
|
102
|
+
],
|
|
103
|
+
[
|
|
104
|
+
"",
|
|
105
|
+
"",
|
|
106
|
+
"",
|
|
107
|
+
"",
|
|
108
|
+
"",
|
|
109
|
+
"",
|
|
110
|
+
"",
|
|
111
|
+
"",
|
|
112
|
+
"",
|
|
113
|
+
"",
|
|
114
|
+
"",
|
|
115
|
+
"",
|
|
116
|
+
"",
|
|
117
|
+
"",
|
|
118
|
+
"",
|
|
119
|
+
""
|
|
120
|
+
]
|
|
121
|
+
];
|
|
122
|
+
//#endregion
|
|
123
|
+
//#region src/main.d.ts
|
|
124
|
+
var cli = [
|
|
125
|
+
0,
|
|
126
|
+
() => [],
|
|
127
|
+
[]
|
|
128
|
+
];
|
|
129
|
+
//#endregion
|
|
130
|
+
export { I18nKey, InputResult, JSTypeMap, Language, LanguageList, LanguageMap, PackageManager, cli, getI18n, showText, verifyType };
|
package/package.json
CHANGED
|
@@ -21,11 +21,15 @@
|
|
|
21
21
|
"engines": {
|
|
22
22
|
"node": ">= 20"
|
|
23
23
|
},
|
|
24
|
-
"version": "0.0.1",
|
|
24
|
+
"version": "0.0.2-rc.1",
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"commander": "14.0.3",
|
|
27
27
|
"inquirer": "13.4.3"
|
|
28
28
|
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"rolldown": "1.0.0-rc.18",
|
|
31
|
+
"rolldown-plugin-dts": "0.25.2"
|
|
32
|
+
},
|
|
29
33
|
"bin": {
|
|
30
34
|
"create-mbler": "./bin/create-mbler.js"
|
|
31
35
|
},
|
|
@@ -35,8 +39,8 @@
|
|
|
35
39
|
},
|
|
36
40
|
"main": "./dist/main.js",
|
|
37
41
|
"scripts": {
|
|
38
|
-
"build": "
|
|
39
|
-
"dev": "
|
|
42
|
+
"build": "rolldown -c && node -e \"require('fs').rmSync('./dist/_tmp',{recursive:true,force:true})\"",
|
|
43
|
+
"dev": "rolldown -c -w",
|
|
40
44
|
"lint": "eslint src --ext .js,.ts",
|
|
41
45
|
"lint:fix": "eslint src --ext .js,.ts --fix",
|
|
42
46
|
"prepublish": "pnpm build"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<Event @after>
|
|
2
2
|
McxExtendsBy = ./event$1.mcx
|
|
3
|
-
|
|
3
|
+
playerJoin = eventHandler
|
|
4
4
|
</Event>
|
|
5
5
|
<script lang="ts">
|
|
6
|
-
import { add } from "./test
|
|
6
|
+
import { add } from "./test";
|
|
7
7
|
export const eventHandler = function(event: any) {
|
|
8
8
|
event.player.sendMessage("欢迎进入游戏 " + add(1, 10))
|
|
9
9
|
}
|