Skip to content

Commit a5825e7

Browse files
committed
feat: command system
1 parent e4d446d commit a5825e7

File tree

6 files changed

+64
-72
lines changed

6 files changed

+64
-72
lines changed

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@
1111
"preview": "vue-tsc -b && vite preview"
1212
},
1313
"dependencies": {
14+
"@jsprismarine/brigadier": "^0.13.1",
1415
"dom-to-image": "^2.6.0",
1516
"mitt": "^3.0.1",
17+
"ts-proto": "^2.7.3",
1618
"vue": "^3.5.13",
17-
"vue-i18n": "^11.1.9",
18-
"ts-proto": "^2.7.3"
19+
"vue-i18n": "^11.1.9"
1920
},
2021
"devDependencies": {
2122
"@types/dom-to-image": "^2.6.7",

src/App.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import NoneEncryptor from "@/encryption/none.ts";
1313
import {injectAPI} from "@/memory/wasmExtraction.ts";
1414
import {petalCountLoggerInit} from "@/petalCountLogger.ts";
1515
import Api from "@/Api.vue";
16+
import '@/commands/builtin';
1617
const { t } = useI18n();
1718
1819
const webSocketServerAddress = import.meta.env.VITE_SERVER;

src/commands/builtin/ahelp.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import {dispatcher} from "@/commands/dispatcher.ts";
2+
import {literal} from "@jsprismarine/brigadier";
3+
import {addChatMessage} from "@/gameChat/gameChatUtility.ts";
4+
5+
dispatcher.register(
6+
literal('ahelp').executes(
7+
async () => {
8+
addChatMessage([
9+
{
10+
text: '------- AyuScript Help -------',
11+
r: 163,
12+
g: 196,
13+
b: 243
14+
}
15+
]);
16+
addChatMessage([
17+
{
18+
text: '/ahelp - Show this help message',
19+
r: 163,
20+
g: 196,
21+
b: 243
22+
}
23+
]);
24+
}
25+
)
26+
)

src/commands/dispatcher.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import {CommandDispatcher} from "@jsprismarine/brigadier";
2+
3+
export const dispatcher = new CommandDispatcher();
4+
5+
document.addEventListener("keydown", (e) => {
6+
if (e.key !== "Enter") {
7+
return;
8+
}
9+
10+
const target = e.target;
11+
if (!(target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement)) {
12+
return;
13+
}
14+
15+
if (!target.classList.contains("textInput")) {
16+
return;
17+
}
18+
19+
const value = target.value.trim();
20+
console.log(value);
21+
if (!value.startsWith("/")) {
22+
return;
23+
}
24+
25+
if (dispatcher.parse(value.slice(1), null)) {
26+
dispatcher.execute(dispatcher.parse(value.slice(1), null));
27+
target.value = "";
28+
}
29+
}, true);

src/infoHud/super/superNames.ts

Lines changed: 0 additions & 70 deletions
This file was deleted.

yarn.lock

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,11 @@
251251
"@jridgewell/resolve-uri" "^3.1.0"
252252
"@jridgewell/sourcemap-codec" "^1.4.14"
253253

254+
"@jsprismarine/brigadier@^0.13.1":
255+
version "0.13.1"
256+
resolved "https://registry.npmmirror.com/@jsprismarine/brigadier/-/brigadier-0.13.1.tgz#7faddc61c3ff1998569363b2fac03d43916a30cc"
257+
integrity sha512-FbLXI4aoXU73nO9q/iSfLA4ipq6dnuw6Zl/b5/QbizwIhU96bZqNNI4HcNsm111MWfxt0qp1w5dmooLnWpNIAg==
258+
254259
"@rollup/rollup-android-arm-eabi@4.44.2":
255260
version "4.44.2"
256261
resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.2.tgz#6819b7f1e41a49af566f629a1556eaeea774d043"

0 commit comments

Comments
 (0)