From 6b6bdeb92ef6004fde1723f6423fee2e23c23c10 Mon Sep 17 00:00:00 2001 From: jayly-bot <121162959+jayly-bot@users.noreply.github.com> Date: Thu, 19 Dec 2024 21:36:54 +0000 Subject: [PATCH 01/13] Upload generated files for scripts (#371) Upload generated files --- scripts/minecraft-language/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/minecraft-language/index.js b/scripts/minecraft-language/index.js index a638829b..f7f14218 100644 --- a/scripts/minecraft-language/index.js +++ b/scripts/minecraft-language/index.js @@ -1,3 +1,6 @@ +// Script example for ScriptAPI +// Author: bot174 +// Project: https://github.com/JaylyDev/ScriptAPI export const languageKeys = [ "accessibility.disableTTS", "accessibility.enableTTS", From a46a19c561cf58574a66a1c9f6079bbc24f9acd9 Mon Sep 17 00:00:00 2001 From: jayly-bot <121162959+jayly-bot@users.noreply.github.com> Date: Thu, 19 Dec 2024 21:37:01 +0000 Subject: [PATCH 02/13] Update npm packages (#372) Update package.json and package-lock.json --- package-lock.json | 124 +++++++++++++++++++++++----------------------- package.json | 16 +++--- 2 files changed, 70 insertions(+), 70 deletions(-) diff --git a/package-lock.json b/package-lock.json index 65465164..121a16f6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,16 +9,16 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@minecraft/server-admin": "1.0.0-beta.1.21.60-preview.23", - "@minecraft/server-editor": "0.1.0-beta.1.21.60-preview.23", - "@minecraft/server-gametest": "1.0.0-beta.1.21.60-preview.23", - "@minecraft/server-net": "1.0.0-beta.1.21.60-preview.23", - "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.23" + "@minecraft/server-admin": "1.0.0-beta.1.21.60-preview.24", + "@minecraft/server-editor": "0.1.0-beta.1.21.60-preview.24", + "@minecraft/server-gametest": "1.0.0-beta.1.21.60-preview.24", + "@minecraft/server-net": "1.0.0-beta.1.21.60-preview.24", + "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.24" }, "devDependencies": { "@minecraft/math": "^1.5.1", "@npm/types": "^2.0.0", - "@types/node": "^22.10.1", + "@types/node": "^22.10.2", "@types/parsimmon": "^1.10.9", "axios": "^1.7.9", "parsimmon": "^1.18.1", @@ -47,9 +47,9 @@ } }, "node_modules/@minecraft/server": { - "version": "1.18.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.18.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-ZW/ygEQDtcA15K7vPNsEIIE0j2GsJj6FFSOptnARUl88bfWd33D6Gn9kA2Gv/d9+XgyHIv3wqfe1nMd700GH/w==", + "version": "1.18.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.18.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-aiue2o/7yKAAb9i+s79eYGYrRY1E6tKDwvr7ozij6PB5vNFUFkEXrtvKMq2GRedV5UorQf71K4Rfbk46qw2Zog==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.1.0" @@ -59,9 +59,9 @@ } }, "node_modules/@minecraft/server-admin": { - "version": "1.0.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-N2lM2oQbC7+wuqwc8aBU5mV5rI8QXHrXcKyM/+6JLb71hNrl3FUkFg5k6h3ZNNoHLiqNuKDPEH2My3f27sqvjw==", + "version": "1.0.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-pYpvOmKdF94ZnVFgtQn856NqPn+xGvWeQfRUeZY0AMMyqWpKQ9u9kSLCWtwzNnTro2dRkPwNpCSCObFQsH4now==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", @@ -69,19 +69,19 @@ } }, "node_modules/@minecraft/server-editor": { - "version": "0.1.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-BwafyReOxKdyaPwwJriAciH5bGl2mo4ORmXtSiVYVaaVhA1sdOyjsmJb1AqyCEPs7bMj+3+kT1ytu7OXdUJXsw==", + "version": "0.1.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-UaTLzIaKmbMTlzUtuofd1u4yDuu/hsU4xCer90SWyf68Fpf6jVkIUF/xGCV6V6F6g+hrWSe7AX7qt5nQHa3c2g==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "^1.18.0-beta.1.21.60-preview.23" + "@minecraft/server": "^1.18.0-beta.1.21.60-preview.24" } }, "node_modules/@minecraft/server-gametest": { - "version": "1.0.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-EZw/tHQwHj562w8IehidJ0DRn/aJUc23mSjEh9lSEpAcb6QoPa+kS02Pe2xr9AUb5tBiqebvsZ8wgexwLnOMVQ==", + "version": "1.0.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-bajAjOZ0ZWDaVY8RbDmXlHlimxiqt7pmc4SRgyDiCpOoeG40ecp99/C1DAO0n3YTPnWyA+PXRicV83CLIk1Pmg==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", @@ -89,20 +89,20 @@ } }, "node_modules/@minecraft/server-net": { - "version": "1.0.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-nKwb+HCPNC99yP4vpaqXHEHankvSDNI3j9Qw0/4V+fouCKWDKB06z0VWeNJ9jfm3jWu7RQXcle4ukhMLYsSR5A==", + "version": "1.0.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-GJNIuUcbtqEl0aTs3Miv5XSlWqRemWZ6ORzDwfubgpagCK80VZQvpelCScY1HGAGuB82ODIbpPdZ72g+w1ILqQ==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", "@minecraft/server": "^1.0.0", - "@minecraft/server-admin": "^1.0.0-beta.1.21.60-preview.23" + "@minecraft/server-admin": "^1.0.0-beta.1.21.60-preview.24" } }, "node_modules/@minecraft/server-ui": { - "version": "1.4.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.4.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-zEIqxcH7meH03E49aDlVWCgmdXpDWCLd96veoWRIC90kTFzalbdcIoAtVfZvIET59k+aWQ/I9oBP7KdlXSO5wQ==", + "version": "1.4.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.4.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-pS4bYg0+rtPJIYDSZd+rbdgjmY4yIzVp1Z8BuMdoJduIH2JXfXkRg8SpVXsufEEVWFHI5k4TEyKLoqqkiZgFPQ==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", @@ -110,9 +110,9 @@ } }, "node_modules/@minecraft/vanilla-data": { - "version": "1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.60-preview.23.tgz", - "integrity": "sha512-6yw/4WHgAmeF8WZu57+DI+Dlx0nZ+69cII+EWMvbefZyCpxYgprXLQz/1RqqsCBbks+4fOX3hRXbO3lJFaaV6Q==", + "version": "1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.60-preview.24.tgz", + "integrity": "sha512-pGnhB1VKnGMM7TvhFinfR02klUoGQ9Lh0Yr0VAJMlDMje2yrDVC0+akspVLzcb57I96aZ1SdDpq/917W5s4n4g==", "license": "MIT", "peer": true }, @@ -127,9 +127,9 @@ } }, "node_modules/@types/node": { - "version": "22.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", - "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", + "version": "22.10.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", + "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", "dev": true, "license": "MIT", "dependencies": { @@ -286,63 +286,63 @@ "requires": {} }, "@minecraft/server": { - "version": "1.18.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.18.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-ZW/ygEQDtcA15K7vPNsEIIE0j2GsJj6FFSOptnARUl88bfWd33D6Gn9kA2Gv/d9+XgyHIv3wqfe1nMd700GH/w==", + "version": "1.18.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.18.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-aiue2o/7yKAAb9i+s79eYGYrRY1E6tKDwvr7ozij6PB5vNFUFkEXrtvKMq2GRedV5UorQf71K4Rfbk46qw2Zog==", "requires": { "@minecraft/common": "^1.1.0" } }, "@minecraft/server-admin": { - "version": "1.0.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-N2lM2oQbC7+wuqwc8aBU5mV5rI8QXHrXcKyM/+6JLb71hNrl3FUkFg5k6h3ZNNoHLiqNuKDPEH2My3f27sqvjw==", + "version": "1.0.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-pYpvOmKdF94ZnVFgtQn856NqPn+xGvWeQfRUeZY0AMMyqWpKQ9u9kSLCWtwzNnTro2dRkPwNpCSCObFQsH4now==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.23" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.24" } }, "@minecraft/server-editor": { - "version": "0.1.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-BwafyReOxKdyaPwwJriAciH5bGl2mo4ORmXtSiVYVaaVhA1sdOyjsmJb1AqyCEPs7bMj+3+kT1ytu7OXdUJXsw==", + "version": "0.1.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-UaTLzIaKmbMTlzUtuofd1u4yDuu/hsU4xCer90SWyf68Fpf6jVkIUF/xGCV6V6F6g+hrWSe7AX7qt5nQHa3c2g==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.23" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.24" } }, "@minecraft/server-gametest": { - "version": "1.0.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-EZw/tHQwHj562w8IehidJ0DRn/aJUc23mSjEh9lSEpAcb6QoPa+kS02Pe2xr9AUb5tBiqebvsZ8wgexwLnOMVQ==", + "version": "1.0.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-bajAjOZ0ZWDaVY8RbDmXlHlimxiqt7pmc4SRgyDiCpOoeG40ecp99/C1DAO0n3YTPnWyA+PXRicV83CLIk1Pmg==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.23" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.24" } }, "@minecraft/server-net": { - "version": "1.0.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-nKwb+HCPNC99yP4vpaqXHEHankvSDNI3j9Qw0/4V+fouCKWDKB06z0VWeNJ9jfm3jWu7RQXcle4ukhMLYsSR5A==", + "version": "1.0.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-GJNIuUcbtqEl0aTs3Miv5XSlWqRemWZ6ORzDwfubgpagCK80VZQvpelCScY1HGAGuB82ODIbpPdZ72g+w1ILqQ==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.23", - "@minecraft/server-admin": "^1.0.0-beta.1.21.60-preview.23" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.24", + "@minecraft/server-admin": "^1.0.0-beta.1.21.60-preview.24" } }, "@minecraft/server-ui": { - "version": "1.4.0-beta.1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.4.0-beta.1.21.60-preview.23.tgz", - "integrity": "sha512-zEIqxcH7meH03E49aDlVWCgmdXpDWCLd96veoWRIC90kTFzalbdcIoAtVfZvIET59k+aWQ/I9oBP7KdlXSO5wQ==", + "version": "1.4.0-beta.1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.4.0-beta.1.21.60-preview.24.tgz", + "integrity": "sha512-pS4bYg0+rtPJIYDSZd+rbdgjmY4yIzVp1Z8BuMdoJduIH2JXfXkRg8SpVXsufEEVWFHI5k4TEyKLoqqkiZgFPQ==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.23" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.24" } }, "@minecraft/vanilla-data": { - "version": "1.21.60-preview.23", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.60-preview.23.tgz", - "integrity": "sha512-6yw/4WHgAmeF8WZu57+DI+Dlx0nZ+69cII+EWMvbefZyCpxYgprXLQz/1RqqsCBbks+4fOX3hRXbO3lJFaaV6Q==", + "version": "1.21.60-preview.24", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.60-preview.24.tgz", + "integrity": "sha512-pGnhB1VKnGMM7TvhFinfR02klUoGQ9Lh0Yr0VAJMlDMje2yrDVC0+akspVLzcb57I96aZ1SdDpq/917W5s4n4g==", "peer": true }, "@npm/types": { @@ -352,9 +352,9 @@ "dev": true }, "@types/node": { - "version": "22.10.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", - "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", + "version": "22.10.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", + "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", "dev": true, "requires": { "undici-types": "~6.20.0" diff --git a/package.json b/package.json index fbb7fdec..65e567e9 100644 --- a/package.json +++ b/package.json @@ -19,20 +19,20 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "overrides": { - "@minecraft/server": "1.18.0-beta.1.21.60-preview.23", - "@minecraft/vanilla-data": "1.21.60-preview.23" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.24", + "@minecraft/vanilla-data": "1.21.60-preview.24" }, "dependencies": { - "@minecraft/server-admin": "1.0.0-beta.1.21.60-preview.23", - "@minecraft/server-editor": "0.1.0-beta.1.21.60-preview.23", - "@minecraft/server-gametest": "1.0.0-beta.1.21.60-preview.23", - "@minecraft/server-net": "1.0.0-beta.1.21.60-preview.23", - "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.23" + "@minecraft/server-admin": "1.0.0-beta.1.21.60-preview.24", + "@minecraft/server-editor": "0.1.0-beta.1.21.60-preview.24", + "@minecraft/server-gametest": "1.0.0-beta.1.21.60-preview.24", + "@minecraft/server-net": "1.0.0-beta.1.21.60-preview.24", + "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.24" }, "devDependencies": { "@minecraft/math": "^1.5.1", "@npm/types": "^2.0.0", - "@types/node": "^22.10.1", + "@types/node": "^22.10.2", "@types/parsimmon": "^1.10.9", "axios": "^1.7.9", "parsimmon": "^1.18.1", From 1aee5fb35786aa337e570aabe7a1a5ad71cd3e30 Mon Sep 17 00:00:00 2001 From: jayly-bot <121162959+jayly-bot@users.noreply.github.com> Date: Wed, 1 Jan 2025 13:43:29 +0000 Subject: [PATCH 03/13] Update npm packages (#373) Update package.json and package-lock.json --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 121a16f6..e90df32c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.24" }, "devDependencies": { - "@minecraft/math": "^1.5.1", + "@minecraft/math": "^1.5.2", "@npm/types": "^2.0.0", "@types/node": "^22.10.2", "@types/parsimmon": "^1.10.9", @@ -37,9 +37,9 @@ "integrity": "sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==" }, "node_modules/@minecraft/math": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-1.5.1.tgz", - "integrity": "sha512-62xtbpfNvcltT4AexCs7VazmgWrQXApXGH2/aPotKXAqbLLNAJdKtvK+eiF/cyondoGcUZF/fdu4Pri/qEPNpQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-1.5.2.tgz", + "integrity": "sha512-xKoi7uaoykbwDiRPmfwQCvyVXYn/K6C5ZxGuwLnzN73X3y8dO0INiXlICur8n959v9OEke844nYfiwf0tB1Icw==", "dev": true, "license": "MIT", "peerDependencies": { @@ -279,9 +279,9 @@ "integrity": "sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==" }, "@minecraft/math": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-1.5.1.tgz", - "integrity": "sha512-62xtbpfNvcltT4AexCs7VazmgWrQXApXGH2/aPotKXAqbLLNAJdKtvK+eiF/cyondoGcUZF/fdu4Pri/qEPNpQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-1.5.2.tgz", + "integrity": "sha512-xKoi7uaoykbwDiRPmfwQCvyVXYn/K6C5ZxGuwLnzN73X3y8dO0INiXlICur8n959v9OEke844nYfiwf0tB1Icw==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 65e567e9..1d764154 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.24" }, "devDependencies": { - "@minecraft/math": "^1.5.1", + "@minecraft/math": "^1.5.2", "@npm/types": "^2.0.0", "@types/node": "^22.10.2", "@types/parsimmon": "^1.10.9", From 80cf34f26a46cbe46c30991272ff8009ccdbf389 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Wed, 1 Jan 2025 13:44:21 +0000 Subject: [PATCH 04/13] Fix dead links (#377) * Update CONTRIBUTING.md * Update README.md --- CONTRIBUTING.md | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a854b2d4..5e4852d8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,4 +41,4 @@ Currently, we do not provide support uploading and maintaince for editor extensi Documentation are no longer being updated as mentioned in README. -Please do not submit any pull requests that changes any content to the docs directory. Instead, please visit [Bedrock Wiki](https://wiki.bedrock.dev/scripting/starting-scripts) and perhaps contribute scripting documentation in Bedrock Wiki GitHub repository: https://github.com/Bedrock-OSS/bedrock-wiki/tree/wiki/docs/scripting +Please do not submit any pull requests that changes any content to the docs directory. Instead, please visit [Bedrock Wiki](https://wiki.bedrock.dev/scripting/scripting-intro.html) and perhaps contribute scripting documentation in Bedrock Wiki GitHub repository: https://github.com/Bedrock-OSS/bedrock-wiki/tree/wiki/docs/scripting diff --git a/README.md b/README.md index e18bab9e..ea1878c2 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Check out the following links for Script API documentation: - [Official Script API Documentation](https://learn.microsoft.com/en-us/minecraft/creator/scriptapi/) - Microsoft's official documentation of high-level introduction of experimental Script API - [Jayly's Script API References](https://jaylydev.github.io/scriptapi-docs/) - Jayly's Script API documentation with guides and easy to use and understand API references for programming beginners. -- [Bedrock Wiki](https://wiki.bedrock.dev/scripting/starting-scripts.html) - Learn the basics of the Script API on Bedrock Wiki. +- [Bedrock Wiki](https://wiki.bedrock.dev/scripting/scripting-intro.html) - Learn the basics of the Script API on Bedrock Wiki. ## Contributing From a19a98e43f4a02c19556d10f7a09014e4e4fd256 Mon Sep 17 00:00:00 2001 From: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Wed, 1 Jan 2025 13:46:19 +0000 Subject: [PATCH 05/13] Squashed commit of the following: commit 3903eb62525a55f264f2a8f213a9954f8311f16a Author: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Wed Jan 1 13:45:01 2025 +0000 Update README.md commit 515edab5eccd34a7eb2082bb967c6f3602fa328c Author: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Thu Dec 26 19:44:49 2024 +0000 Update README.md commit 6781cbe9c0e4953eaf25319808fa9a3abed31c36 Author: Jayly <65847850+JaylyDev@users.noreply.github.com> Date: Thu Dec 26 19:42:54 2024 +0000 Update CONTRIBUTING.md --- scripts/lz-string/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lz-string/README.md b/scripts/lz-string/README.md index fbba0556..bfd1af8d 100644 --- a/scripts/lz-string/README.md +++ b/scripts/lz-string/README.md @@ -8,4 +8,4 @@ This package is a fork and a modified version of the original 'lz-string' librar - [Repository](https://github.com/pieroxy/lz-string) - [Homepage](https://github.com/pieroxy/lz-string) -lz-string@1.4.4 is created by Pieroxy, and is licensed under WTFPL and MIT. +lz-string - v1.4.4 is created by Pieroxy, and is licensed under WTFPL and MIT. From 16cad09ff1511e37c51270114fe6b8fd34117759 Mon Sep 17 00:00:00 2001 From: Nperma <129764133+nperma@users.noreply.github.com> Date: Wed, 1 Jan 2025 20:47:04 +0700 Subject: [PATCH 06/13] Fetch API (#375) * Create index.js * Core File * Docs Readme for Know * Core FILE --- scripts/fetch-api/README.md | 54 ++++++++++++++++ scripts/fetch-api/index.js | 123 ++++++++++++++++++++++++++++++++++++ 2 files changed, 177 insertions(+) create mode 100644 scripts/fetch-api/README.md create mode 100644 scripts/fetch-api/index.js diff --git a/scripts/fetch-api/README.md b/scripts/fetch-api/README.md new file mode 100644 index 00000000..c3cf73b8 --- /dev/null +++ b/scripts/fetch-api/README.md @@ -0,0 +1,54 @@ +# Fetch + +## Description + +The `Fetch` class simplifies HTTP requests in Minecraft Bedrock Edition. It supports common HTTP methods like `GET`, `POST`, `PUT`, and `DELETE`, and automatically handles JSON data. + +### Methods + +#### `constructor(baseURL: string)` +- Initializes a new `Fetch` instance with the specified base URL. + +#### `get(path: string, params?: Object): Promise` +- Sends an HTTP `GET` request to the specified path with optional query parameters. + +#### `post(path: string, data: Object): Promise` +- Sends an HTTP `POST` request to the specified path with the provided data. + +#### `put(path: string, data: Object): Promise` +- Sends an HTTP `PUT` request to the specified path with the provided data. + +#### `delete(path: string): Promise` +- Sends an HTTP `DELETE` request to the specified path. + +### Example +```js +import { Fetch } from './fetch.js'; + +// Initialize Fetch instance +const api = new Fetch("https://jsonplaceholder.typicode.com"); + +// GET example +api.get("/posts", { userId: 1 }).then((data) => console.log(data)); + +// POST example +api.post("/posts", { + title: "foo", + body: "bar", + userId: 1 +}).then((data) => console.log(data)); + +// PUT example +api.put("/posts/1", { + title: "updated title", + body: "updated body", + userId: 1 +}).then((data) => console.log(data)); + +// DELETE example +api.delete("/posts/1").then((data) => console.log(data)); +``` + +## Credits + +These scripts were written by [nperma](https://github.com/nperma) diff --git a/scripts/fetch-api/index.js b/scripts/fetch-api/index.js new file mode 100644 index 00000000..1936a0bf --- /dev/null +++ b/scripts/fetch-api/index.js @@ -0,0 +1,123 @@ +// Script example for ScriptAPI +// Author: nperma +// Project: https://github.com/JaylyDev/ScriptAPI + +import { + http, + HttpHeader, + HttpRequest, + HttpRequestMethod, +} from "@minecraft/server-net"; + +/** + * Class Fetch - Abstraction for HTTP Requests + */ +class Fetch { + /** + * Constructor to initialize the base URL. + * @param {string} baseURL - The base URL for API requests. + */ + constructor(baseURL) { + this.baseURL = baseURL.trim(); + } + + /** + * Performs an HTTP GET request. + * @param {string} path - The API endpoint path. + * @param {Object} [params={}] - Query parameters. + * @returns {Promise} - The response body as JSON. + */ + async get(path, params = {}) { + const queryString = this._buildQueryString(params); + const uri = `${this.baseURL}${path}${queryString}`; + const request = new HttpRequest(uri); + request.method = HttpRequestMethod.Get; + request.headers = [new HttpHeader("Content-Type", "application/json")]; + + const response = await http.request(request); + return this._handleResponse(response); + } + + /** + * Performs an HTTP POST request. + * @param {string} path - The API endpoint path. + * @param {Object} data - The data to send in the request body. + * @returns {Promise} - The response body as JSON. + */ + async post(path, data) { + const uri = `${this.baseURL}${path}`; + const request = new HttpRequest(uri); + request.method = HttpRequestMethod.Post; + request.body = JSON.stringify(data); + request.headers = [new HttpHeader("Content-Type", "application/json")]; + + const response = await http.request(request); + return this._handleResponse(response); + } + + /** + * Performs an HTTP PUT request. + * @param {string} path - The API endpoint path. + * @param {Object} data - The data to send in the request body. + * @returns {Promise} - The response body as JSON. + */ + async put(path, data) { + const uri = `${this.baseURL}${path}`; + const request = new HttpRequest(uri); + request.method = HttpRequestMethod.Put; + request.body = JSON.stringify(data); + request.headers = [new HttpHeader("Content-Type", "application/json")]; + + const response = await http.request(request); + return this._handleResponse(response); + } + + /** + * Performs an HTTP DELETE request. + * @param {string} path - The API endpoint path. + * @returns {Promise} - The response body as JSON. + */ + async delete(path) { + const uri = `${this.baseURL}${path}`; + const request = new HttpRequest(uri); + request.method = HttpRequestMethod.Delete; + request.headers = [new HttpHeader("Content-Type", "application/json")]; + + const response = await http.request(request); + return this._handleResponse(response); + } + + /** + * Handles the response from the server. + * @param {Object} response - The HTTP response object. + * @returns {Promise} - The parsed JSON body. + * @throws {Error} - If the response status is not 200. + */ + async _handleResponse(response) { + if (response.status !== 200) { + throw new Error( + `HTTP Error: ${response.status} - ${response.body}` + ); + } + return JSON.parse(response.body); + } + + /** + * Builds a query string from an object of parameters. + * @param {Object} params - The query parameters. + * @returns {string} - The query string. + */ + _buildQueryString(params) { + const entries = Object.entries(params); + if (entries.length === 0) return ""; + return ( + "?" + + entries + .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`) + .join("&") + ); + } +} + +export { Fetch }; + From b19226180b9bb5c0c2af6e5af644ff21e481d4dc Mon Sep 17 00:00:00 2001 From: Nperma <129764133+nperma@users.noreply.github.com> Date: Wed, 1 Jan 2025 20:48:05 +0700 Subject: [PATCH 07/13] QuickDB (#376) * QuickDB * QuickDB fixed some bug * QuickDB fixed some bug --- scripts/quick-db/index.js | 62 ++++++++++++++++++++++++++------------- 1 file changed, 41 insertions(+), 21 deletions(-) diff --git a/scripts/quick-db/index.js b/scripts/quick-db/index.js index 5e9d93e5..ad10da80 100644 --- a/scripts/quick-db/index.js +++ b/scripts/quick-db/index.js @@ -24,7 +24,10 @@ class QuickDB { } has(key) { - return !!GET.call(world, `${this.#identifier}${key}`); + return !!( + GET.call(world, `${this.#identifier}${key}`) && + GET.call(world, `${this.#identifier}${key}`) !== undefined + ); } get(key) { @@ -46,38 +49,55 @@ class QuickDB { } keys() { - return this.#UIDX("keys"); + return Array.from(this.#UIDX("keys")); } values() { - return this.#UIDX("values"); + return Array.from(this.#UIDX("values")); } entries() { - return this.#UIDX("entries"); + return Array.from(this.#UIDX("entries")); } #UIDX(type) { - const ids = IDS.call(world); - const result = []; - - for (const id of ids) { - if (!id.startsWith(this.#identifier)) continue; - - const key = id.replace(this.#identifier, ""); - if (type === "keys") { - result.push(key); - } else if (type === "values") { - const value = JSON.parse(this.get(key)); - result.push(value); - } else if (type === "entries") { - const value = JSON.parse(this.get(key)); - result.push([key, value]); + const ids = this.getIds(); + let u_idx = 0; + const len = ids.length; + + return function* () { + while (u_idx < len) { + const id = ids[u_idx]; + const key = id.split(this.#identifier)[1]; + const value = this.get(key); + switch (type) { + case "key": + yield key; + break; + case "value": + yield this.has(key) ? JSON.parse(value) : undefined; + break; + case "entries": + yield [key, JSON.parse(value)]; + break; + } + u_idx++; } - } + }.bind(this)(); + } - return result; + getIds() { + return world + .getDynamicPropertyIds() + .filter((id) => id.startsWith(this.#identifier)); + } + + clear() { + for (const id of this.getIds()) { + this.delete(id.replace(this.#identifier,"")); + } } } export default QuickDB; +export { QuickDB }; From 9bad19366e56972d15f94dcd4b5e5fb90159327c Mon Sep 17 00:00:00 2001 From: jayly-bot <121162959+jayly-bot@users.noreply.github.com> Date: Tue, 14 Jan 2025 09:23:24 +0000 Subject: [PATCH 08/13] Update npm packages (#378) Update package.json and package-lock.json --- package-lock.json | 154 +++++++++++++++++++++++----------------------- package.json | 20 +++--- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/package-lock.json b/package-lock.json index e90df32c..bbab72a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,20 +9,20 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@minecraft/server-admin": "1.0.0-beta.1.21.60-preview.24", - "@minecraft/server-editor": "0.1.0-beta.1.21.60-preview.24", - "@minecraft/server-gametest": "1.0.0-beta.1.21.60-preview.24", - "@minecraft/server-net": "1.0.0-beta.1.21.60-preview.24", - "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.24" + "@minecraft/server-admin": "1.0.0-beta.1.21.60-preview.25", + "@minecraft/server-editor": "0.1.0-beta.1.21.60-preview.25", + "@minecraft/server-gametest": "1.0.0-beta.1.21.60-preview.25", + "@minecraft/server-net": "1.0.0-beta.1.21.60-preview.25", + "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.25" }, "devDependencies": { - "@minecraft/math": "^1.5.2", + "@minecraft/math": "^2.0.1", "@npm/types": "^2.0.0", - "@types/node": "^22.10.2", + "@types/node": "^22.10.6", "@types/parsimmon": "^1.10.9", "axios": "^1.7.9", "parsimmon": "^1.18.1", - "typescript": "^5.7.2" + "typescript": "^5.7.3" } }, "lib": { @@ -37,9 +37,9 @@ "integrity": "sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==" }, "node_modules/@minecraft/math": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-1.5.2.tgz", - "integrity": "sha512-xKoi7uaoykbwDiRPmfwQCvyVXYn/K6C5ZxGuwLnzN73X3y8dO0INiXlICur8n959v9OEke844nYfiwf0tB1Icw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-2.0.1.tgz", + "integrity": "sha512-BYdZDSvUJxpx/KZMhO5JNx3rlayP+9r1vG8RdxlvWvaCm0dg2/IO7CoGXWIM3ylDUFD1H4TUYnp8fAo3vv7XUQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -47,9 +47,9 @@ } }, "node_modules/@minecraft/server": { - "version": "1.18.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.18.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-aiue2o/7yKAAb9i+s79eYGYrRY1E6tKDwvr7ozij6PB5vNFUFkEXrtvKMq2GRedV5UorQf71K4Rfbk46qw2Zog==", + "version": "1.18.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.18.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-tOHRW5hvfKw5hNjk+JuadV2k2I+g8ACRQR9Eu+QzxAiOhJR76FrY00QDkeSWJDY8k2I2IGBHABzdQWmHjy1kBQ==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.1.0" @@ -59,9 +59,9 @@ } }, "node_modules/@minecraft/server-admin": { - "version": "1.0.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-pYpvOmKdF94ZnVFgtQn856NqPn+xGvWeQfRUeZY0AMMyqWpKQ9u9kSLCWtwzNnTro2dRkPwNpCSCObFQsH4now==", + "version": "1.0.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-zYM4EfafRg1dxV6uNZDGkYK6cNq1LQgjtIIBbjQqL2uWgIKqmam2Wrw0TzyaeN1dCsCU/3k4pSSnSLV/lHMUiQ==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", @@ -69,40 +69,40 @@ } }, "node_modules/@minecraft/server-editor": { - "version": "0.1.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-UaTLzIaKmbMTlzUtuofd1u4yDuu/hsU4xCer90SWyf68Fpf6jVkIUF/xGCV6V6F6g+hrWSe7AX7qt5nQHa3c2g==", + "version": "0.1.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-lYKY09RycD69qYfHFI0PKYFv+yNYxnfyJBQKsRJLN4wdI6IgtoD/i9p0b1zYxjTnZBmOsTdweWUS3RPpdZAYfw==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "^1.18.0-beta.1.21.60-preview.24" + "@minecraft/server": "^1.18.0-beta.1.21.60-preview.25" } }, "node_modules/@minecraft/server-gametest": { - "version": "1.0.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-bajAjOZ0ZWDaVY8RbDmXlHlimxiqt7pmc4SRgyDiCpOoeG40ecp99/C1DAO0n3YTPnWyA+PXRicV83CLIk1Pmg==", + "version": "1.0.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-1yIpUamXlU07FyzDOVo+Je6tZ9SpZvx5Io8Y4HMaNBd0MO1wKepMj+dBdxKBPG9+PugiDCDHCVIHFLRPHzclbA==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "^1.8.0" + "@minecraft/server": "^1.17.0-rc.1.21.60-preview.25" } }, "node_modules/@minecraft/server-net": { - "version": "1.0.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-GJNIuUcbtqEl0aTs3Miv5XSlWqRemWZ6ORzDwfubgpagCK80VZQvpelCScY1HGAGuB82ODIbpPdZ72g+w1ILqQ==", + "version": "1.0.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-g9zwWaVCqnNfZvqYphh1YKMmp+793dkLDZeLwNttbfwHSXZwt5e1BaIxFAq2SQNSeyP8QphimMs8xxvvFRvupQ==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", "@minecraft/server": "^1.0.0", - "@minecraft/server-admin": "^1.0.0-beta.1.21.60-preview.24" + "@minecraft/server-admin": "^1.0.0-beta.1.21.60-preview.25" } }, "node_modules/@minecraft/server-ui": { - "version": "1.4.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.4.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-pS4bYg0+rtPJIYDSZd+rbdgjmY4yIzVp1Z8BuMdoJduIH2JXfXkRg8SpVXsufEEVWFHI5k4TEyKLoqqkiZgFPQ==", + "version": "1.4.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.4.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-uip01EoT2mLSw2yWnDPRlGgtEvEPxLyiu5QdSv2UQ1mo6dZeZH5DH+eQbgKSfjg3kUKeQZ676tCj5JII4MBsmQ==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", @@ -110,9 +110,9 @@ } }, "node_modules/@minecraft/vanilla-data": { - "version": "1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.60-preview.24.tgz", - "integrity": "sha512-pGnhB1VKnGMM7TvhFinfR02klUoGQ9Lh0Yr0VAJMlDMje2yrDVC0+akspVLzcb57I96aZ1SdDpq/917W5s4n4g==", + "version": "1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.60-preview.25.tgz", + "integrity": "sha512-jMxXz63uQJy6BJGTTUOlg45sZMOZDq0L1EZWG9x2CKZEnwS0ufeQHa9uhXJbSX3Lda4DDssq/DNy7HZ7NA+l9g==", "license": "MIT", "peer": true }, @@ -127,9 +127,9 @@ } }, "node_modules/@types/node": { - "version": "22.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", - "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", + "version": "22.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz", + "integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==", "dev": true, "license": "MIT", "dependencies": { @@ -251,9 +251,9 @@ "dev": true }, "node_modules/typescript": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", - "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -279,70 +279,70 @@ "integrity": "sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==" }, "@minecraft/math": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-1.5.2.tgz", - "integrity": "sha512-xKoi7uaoykbwDiRPmfwQCvyVXYn/K6C5ZxGuwLnzN73X3y8dO0INiXlICur8n959v9OEke844nYfiwf0tB1Icw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-2.0.1.tgz", + "integrity": "sha512-BYdZDSvUJxpx/KZMhO5JNx3rlayP+9r1vG8RdxlvWvaCm0dg2/IO7CoGXWIM3ylDUFD1H4TUYnp8fAo3vv7XUQ==", "dev": true, "requires": {} }, "@minecraft/server": { - "version": "1.18.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.18.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-aiue2o/7yKAAb9i+s79eYGYrRY1E6tKDwvr7ozij6PB5vNFUFkEXrtvKMq2GRedV5UorQf71K4Rfbk46qw2Zog==", + "version": "1.18.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.18.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-tOHRW5hvfKw5hNjk+JuadV2k2I+g8ACRQR9Eu+QzxAiOhJR76FrY00QDkeSWJDY8k2I2IGBHABzdQWmHjy1kBQ==", "requires": { "@minecraft/common": "^1.1.0" } }, "@minecraft/server-admin": { - "version": "1.0.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-pYpvOmKdF94ZnVFgtQn856NqPn+xGvWeQfRUeZY0AMMyqWpKQ9u9kSLCWtwzNnTro2dRkPwNpCSCObFQsH4now==", + "version": "1.0.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-zYM4EfafRg1dxV6uNZDGkYK6cNq1LQgjtIIBbjQqL2uWgIKqmam2Wrw0TzyaeN1dCsCU/3k4pSSnSLV/lHMUiQ==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.24" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.25" } }, "@minecraft/server-editor": { - "version": "0.1.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-UaTLzIaKmbMTlzUtuofd1u4yDuu/hsU4xCer90SWyf68Fpf6jVkIUF/xGCV6V6F6g+hrWSe7AX7qt5nQHa3c2g==", + "version": "0.1.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-lYKY09RycD69qYfHFI0PKYFv+yNYxnfyJBQKsRJLN4wdI6IgtoD/i9p0b1zYxjTnZBmOsTdweWUS3RPpdZAYfw==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.24" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.25" } }, "@minecraft/server-gametest": { - "version": "1.0.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-bajAjOZ0ZWDaVY8RbDmXlHlimxiqt7pmc4SRgyDiCpOoeG40ecp99/C1DAO0n3YTPnWyA+PXRicV83CLIk1Pmg==", + "version": "1.0.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-1yIpUamXlU07FyzDOVo+Je6tZ9SpZvx5Io8Y4HMaNBd0MO1wKepMj+dBdxKBPG9+PugiDCDHCVIHFLRPHzclbA==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.24" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.25" } }, "@minecraft/server-net": { - "version": "1.0.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-GJNIuUcbtqEl0aTs3Miv5XSlWqRemWZ6ORzDwfubgpagCK80VZQvpelCScY1HGAGuB82ODIbpPdZ72g+w1ILqQ==", + "version": "1.0.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-g9zwWaVCqnNfZvqYphh1YKMmp+793dkLDZeLwNttbfwHSXZwt5e1BaIxFAq2SQNSeyP8QphimMs8xxvvFRvupQ==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.24", - "@minecraft/server-admin": "^1.0.0-beta.1.21.60-preview.24" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.25", + "@minecraft/server-admin": "^1.0.0-beta.1.21.60-preview.25" } }, "@minecraft/server-ui": { - "version": "1.4.0-beta.1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.4.0-beta.1.21.60-preview.24.tgz", - "integrity": "sha512-pS4bYg0+rtPJIYDSZd+rbdgjmY4yIzVp1Z8BuMdoJduIH2JXfXkRg8SpVXsufEEVWFHI5k4TEyKLoqqkiZgFPQ==", + "version": "1.4.0-beta.1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.4.0-beta.1.21.60-preview.25.tgz", + "integrity": "sha512-uip01EoT2mLSw2yWnDPRlGgtEvEPxLyiu5QdSv2UQ1mo6dZeZH5DH+eQbgKSfjg3kUKeQZ676tCj5JII4MBsmQ==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.24" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.25" } }, "@minecraft/vanilla-data": { - "version": "1.21.60-preview.24", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.60-preview.24.tgz", - "integrity": "sha512-pGnhB1VKnGMM7TvhFinfR02klUoGQ9Lh0Yr0VAJMlDMje2yrDVC0+akspVLzcb57I96aZ1SdDpq/917W5s4n4g==", + "version": "1.21.60-preview.25", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.60-preview.25.tgz", + "integrity": "sha512-jMxXz63uQJy6BJGTTUOlg45sZMOZDq0L1EZWG9x2CKZEnwS0ufeQHa9uhXJbSX3Lda4DDssq/DNy7HZ7NA+l9g==", "peer": true }, "@npm/types": { @@ -352,9 +352,9 @@ "dev": true }, "@types/node": { - "version": "22.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", - "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", + "version": "22.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz", + "integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==", "dev": true, "requires": { "undici-types": "~6.20.0" @@ -443,9 +443,9 @@ "dev": true }, "typescript": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", - "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true }, "undici-types": { diff --git a/package.json b/package.json index 1d764154..47859485 100644 --- a/package.json +++ b/package.json @@ -19,23 +19,23 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "overrides": { - "@minecraft/server": "1.18.0-beta.1.21.60-preview.24", - "@minecraft/vanilla-data": "1.21.60-preview.24" + "@minecraft/server": "1.18.0-beta.1.21.60-preview.25", + "@minecraft/vanilla-data": "1.21.60-preview.25" }, "dependencies": { - "@minecraft/server-admin": "1.0.0-beta.1.21.60-preview.24", - "@minecraft/server-editor": "0.1.0-beta.1.21.60-preview.24", - "@minecraft/server-gametest": "1.0.0-beta.1.21.60-preview.24", - "@minecraft/server-net": "1.0.0-beta.1.21.60-preview.24", - "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.24" + "@minecraft/server-admin": "1.0.0-beta.1.21.60-preview.25", + "@minecraft/server-editor": "0.1.0-beta.1.21.60-preview.25", + "@minecraft/server-gametest": "1.0.0-beta.1.21.60-preview.25", + "@minecraft/server-net": "1.0.0-beta.1.21.60-preview.25", + "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.25" }, "devDependencies": { - "@minecraft/math": "^1.5.2", + "@minecraft/math": "^2.0.1", "@npm/types": "^2.0.0", - "@types/node": "^22.10.2", + "@types/node": "^22.10.6", "@types/parsimmon": "^1.10.9", "axios": "^1.7.9", "parsimmon": "^1.18.1", - "typescript": "^5.7.2" + "typescript": "^5.7.3" } } From e027e9a19bcd777f323e1c315ec0d7c88d0f372f Mon Sep 17 00:00:00 2001 From: Nperma <129764133+nperma@users.noreply.github.com> Date: Sun, 9 Mar 2025 14:14:00 +0700 Subject: [PATCH 09/13] QuickDB | Optimize (#381) --- scripts/quick-db/index.js | 235 +++++++++++++++++++++++--------------- 1 file changed, 145 insertions(+), 90 deletions(-) diff --git a/scripts/quick-db/index.js b/scripts/quick-db/index.js index ad10da80..35a3d2b8 100644 --- a/scripts/quick-db/index.js +++ b/scripts/quick-db/index.js @@ -1,102 +1,157 @@ // Script example for ScriptAPI // Author: Nperma // Project: https://github.com/JaylyDev/ScriptAPI -import { world, World } from "@minecraft/server"; -const DATABASE_PREFIX = "\u0235\u0235"; +import { world, World } from '@minecraft/server'; + +const DATABASE_PREFIX = '\u0235\u0235'; const { - getDynamicProperty: GET, - setDynamicProperty: SET, - getDynamicPropertyIds: IDS + getDynamicProperty: GET, + setDynamicProperty: SET, + getDynamicPropertyIds: IDS } = World.prototype; -//adapt code to JalyDev/scriptAPI class QuickDB { - #identifier; - constructor(id) { - this.#identifier = `${DATABASE_PREFIX}${id}${DATABASE_PREFIX}`; - } - - get size() { - return IDS.call(world).filter((id) => id.startsWith(this.#identifier)) - .length; - } - - has(key) { - return !!( - GET.call(world, `${this.#identifier}${key}`) && - GET.call(world, `${this.#identifier}${key}`) !== undefined - ); - } - - get(key) { - return this.has(key) - ? JSON.parse(GET.call(world, `${this.#identifier}${key}`)) - : undefined; - } - - set(key, value) { - if (typeof key !== "string") return false; - SET.call(world, `${this.#identifier}${key}`, JSON.stringify(value)); - return true; - } - - delete(key) { - if (!this.has(key)) return false; - SET.call(world, `${this.#identifier}${key}`, undefined); - return true; - } - - keys() { - return Array.from(this.#UIDX("keys")); - } - - values() { - return Array.from(this.#UIDX("values")); - } - - entries() { - return Array.from(this.#UIDX("entries")); - } - - #UIDX(type) { - const ids = this.getIds(); - let u_idx = 0; - const len = ids.length; - - return function* () { - while (u_idx < len) { - const id = ids[u_idx]; - const key = id.split(this.#identifier)[1]; - const value = this.get(key); - switch (type) { - case "key": - yield key; - break; - case "value": - yield this.has(key) ? JSON.parse(value) : undefined; - break; - case "entries": - yield [key, JSON.parse(value)]; - break; - } - u_idx++; - } - }.bind(this)(); - } - - getIds() { - return world - .getDynamicPropertyIds() - .filter((id) => id.startsWith(this.#identifier)); - } - - clear() { - for (const id of this.getIds()) { - this.delete(id.replace(this.#identifier,"")); - } - } + #identifier; + __cache = {}; + + /** + * @param {string} id - Unique database identifier. + */ + constructor(id) { + if (typeof id !== 'string' || !id.trim()) { + throw new Error('Invalid database ID'); + } + this.#identifier = `${DATABASE_PREFIX}${id}${DATABASE_PREFIX}`; + + for (const keyFull of this.getIds()) { + const key = keyFull.replace(this.#identifier, ''); + const rawValue = GET.call(world, keyFull); + this.__cache[key] = this.#parseValue(rawValue); + } + } + + /** + * Parses stored string values into their appropriate types. + * @param {any} value + * @returns {any} + */ + #parseValue(value) { + if (typeof value === 'string') { + if (value.startsWith('obj')) return JSON.parse(value.slice(3)); + if (value === 'null') return null; + if (value === 'true' || value === 'false') return value === 'true'; + const num = Number(value); + if (!isNaN(num)) return num; + } + return value; + } + + /** + * Converts values into a storable format. + * @param {any} value + * @returns {string} + */ + #stringifyValue(value) { + if (typeof value === 'object' && value !== null) return 'obj' + JSON.stringify(value); + if (typeof value === 'boolean' || value === null) return String(value); + return String(value); + } + + /** @returns {number} */ + get size() { + return this.keys().length; + } + + /** @returns {string[]} */ + keys() { + return Object.keys(this.__cache); + } + + /** @returns {any[]} */ + values() { + return Object.values(this.__cache); + } + + /** @returns {[string, any][]} */ + entries() { + return Object.entries(this.__cache); + } + + /** + * Stores a key-value pair. + * @param {string} key + * @param {any} value + * @returns {boolean} + */ + set(key, value) { + if (typeof key !== 'string' || !key.trim()) throw new Error('Key must be a non-empty string'); + const finalValue = this.#stringifyValue(value); + SET.call(world, this.#identifier + key, finalValue); + this.__cache[key] = value; + return true; + } + + /** + * Deletes a key. + * @param {string} key + * @returns {boolean} + */ + delete(key) { + if (!this.has(key)) return false; + SET.call(world, this.#identifier + key, undefined); + delete this.__cache[key]; + return true; + } + + /** + * Retrieves a value. + * @param {string} key + * @returns {any} + */ + get(key) { + if (typeof key !== 'string' || !key.trim()) throw new Error('Key must be a non-empty string'); + return this.__cache[key]; + } + + /** + * Checks if a key exists. + * @param {string} key + * @returns {boolean} + */ + has(key) { + return key in this.__cache; + } + + /** @returns {string[]} */ + static get ids() { + return [...new Set( + IDS.call(world) + .filter((id) => id.startsWith(DATABASE_PREFIX)) + .map((k) => k.slice(DATABASE_PREFIX.length).split(DATABASE_PREFIX)[0]) + )]; + } + + /** @returns {string[]} */ + getIds() { + return IDS.call(world).filter((id) => id.startsWith(this.#identifier)); + } + + /** Clears the database. */ + clear() { + for (const key of this.keys()) { + this.delete(key); + } + this.__cache = {}; + } + + /** Clears all databases globally. */ + static clearAll() { + for (const real_id of IDS.call(world).filter((id) => id.startsWith(DATABASE_PREFIX))) { + SET.call(world, real_id, undefined); + } + } } export default QuickDB; From d6e77af9086a1c1d09b57a980b96b5cf56354aaa Mon Sep 17 00:00:00 2001 From: Nperma <129764133+nperma@users.noreply.github.com> Date: Fri, 21 Mar 2025 17:29:39 +0700 Subject: [PATCH 10/13] ShopUI-WRAPPED (#382) * Core * Update index.js --------- Co-authored-by: Jayly <65847850+JaylyDev@users.noreply.github.com> --- scripts/shop-wrapped/index.js | 123 ++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 scripts/shop-wrapped/index.js diff --git a/scripts/shop-wrapped/index.js b/scripts/shop-wrapped/index.js new file mode 100644 index 00000000..4abf9c54 --- /dev/null +++ b/scripts/shop-wrapped/index.js @@ -0,0 +1,123 @@ +// Script example for ScriptAPI +// Author: Nperma +// Project: https://github.com/JaylyDev/ScriptAPI + +import { world, system, World, Player, ItemStack } from '@minecraft/server'; +import { ActionFormData, ModalFormData, MessageFormData, FormCancelationReason } from '@minecraft/server-ui'; + +const { setDynamicProperty: SDP, getDynamicProperty: GDP, getDynamicPropertyIds: IDS } = World.prototype, + scb = world.scoreboard; + +/** @param {Player} player @param {ActionFormData} form */ +async function FORCE_OPEN(player, form) { + while (true) { + let v = await form.show(player); + if (!v || v.cancelationReason !== FormCancelationReason.UserBusy) return v; + } +} +/** @param {Player} player @returns {number} */ +function gM(player) { + const ob = scb.getObjective('money') ? scb.getObjective('money') : scb.addObjective('money'); + return ob.getScore(player) || 0; +} + +/** @param {Player} player @param {number} amount */ +function aM(player, amount) { + system.run(() => { + const ob = scb.getObjective('money') ? scb.getObjective('money') : scb.addObjective('money'); + ob.setScore(player, gM(player) + amount); + }); +} + +export class ShopUI { + SHOP; + SHOP_TITLE; + SENDERS; + STRUCTURE; + + /** @param {string} title - shop title @param {Array} structure - the shop structure @param {Player | Player[]} ShowFormTo - player's will show this shop form */ + constructor(title = 'Shop - UI', structure = [], ShowFormTo = undefined) { + if (!Array.isArray(structure)) throw new TypeError('Structure must be an array!'); + this.SENDERS = ShowFormTo; + this.STRUCTURE = structure; + this.SHOP_TITLE = title; + this.SHOP = new ActionFormData().title(title.toString()); + this.#defined(); + } + + #defined() { + if (!this.SENDERS) return; + + if (this.SENDERS instanceof Player) { + this.#showCategoryForm(this.SENDERS, this.STRUCTURE, this.SHOP_TITLE); + } else if (Array.isArray(this.SENDERS)) { + for (const sender of this.SENDERS) this.#showCategoryForm(sender, this.STRUCTURE, this.SHOP_TITLE); + } + } + + /** + * @param {Player} player + * @param {any[]} categories + * @param {string | import("@minecraft/server").RawMessage} path + */ + async #showCategoryForm(player, categories, path) { + const FORM = new ActionFormData().title(path); + for (const [CATEGORY_NAME, _, CATEGORY_TEXTURE = ''] of categories) FORM.button(CATEGORY_NAME, CATEGORY_TEXTURE); + + const FORM_SELECTION = await FORCE_OPEN(player, FORM); + if (FORM_SELECTION.canceled) return; + + const selected = categories[FORM_SELECTION.selection]; + if (!Array.isArray(selected)) return; + + const [CATEGORY_NAME, ITEMS] = selected; + const PATH = `${path}::${CATEGORY_NAME}`.replace(' ', '_'); + + if (Array.isArray(ITEMS[0])) this.#showCategoryForm(player, ITEMS, PATH); + else this.#showItemForm(player, ITEMS, PATH, CATEGORY_NAME); + } + + /** + * @param {Player} player + * @param {any} items + * @param {string} categoryPath + * @param {string | import("@minecraft/server").RawMessage} categoryName + */ + async #showItemForm(player, items, categoryPath, categoryName) { + player.sendMessage(JSON.stringify({ ...arguments }, null, 4)); + const item_data = items; + if (typeof item_data === 'object' && !Array.isArray(item_data)) { + const STOCKED_ID = `${categoryPath}::${categoryName}`; + if (!IDS.call(world).find((/** @type {string} */ id) => id === STOCKED_ID)) SDP.call(world, STOCKED_ID, item_data?.stock || 64); + + const currentStock = GDP.call(world, STOCKED_ID); + if (currentStock <= 0) return new MessageFormData().title(categoryName).body(`§cStock is empty, please wait for restock.`).button2('Close').show(player); + new ModalFormData() + .title(categoryName) + .slider(`§7${categoryPath.replace(/::/g, '/')}\n§e» Money: §a$${gM(player)}\n§e» Item ID: ${item_data?.item}\n§e» Price per item: §2$${item_data?.price}\n§e» §7Stock: (${currentStock})`, 1, Math.min(item_data?.max, currentStock) || 1, 1) + .show(player) + .then((p) => { + if (p.canceled) return; + + /** + * @type {number} + */ + // @ts-ignore + const amount = p.formValues[0]; + const totalCost = amount * item_data?.price; + + if (gM(player) < totalCost) + return new MessageFormData() + .title(categoryName) + .body(`§cYou don't have enough money!\n§eYou need §a$${totalCost - gM(player)}`) + .button2('Close') + .show(player); + + aM(player, -totalCost); + SDP.call(world, STOCKED_ID, currentStock - amount); + player.getComponent('inventory').container.addItem(new ItemStack(item_data?.item, amount)); + player.sendMessage(`§aSuccessfully bought ${amount}x ${item_data?.item}`); + }); + } + } +} From 076b874c56504af492b3ec1fe20845cb8b0d3242 Mon Sep 17 00:00:00 2001 From: jayly-bot <121162959+jayly-bot@users.noreply.github.com> Date: Thu, 3 Apr 2025 15:58:01 +0100 Subject: [PATCH 11/13] Upload generated files for scripts (#383) --- scripts/shop-wrapped/README.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 scripts/shop-wrapped/README.md diff --git a/scripts/shop-wrapped/README.md b/scripts/shop-wrapped/README.md new file mode 100644 index 00000000..73d1d1ef --- /dev/null +++ b/scripts/shop-wrapped/README.md @@ -0,0 +1,7 @@ +# shop-wrapped + +## Description +> This README is auto generated, Edit the README so that users know what this package does. + +## Credits +These scripts were written by [Nperma](https://github.com/nperma) From aa6ba8c9d57081b496be9adcc81e1bc4ee8f814c Mon Sep 17 00:00:00 2001 From: jayly-bot <121162959+jayly-bot@users.noreply.github.com> Date: Thu, 3 Apr 2025 15:58:34 +0100 Subject: [PATCH 12/13] Update npm packages (#380) --- package-lock.json | 190 +++++++++++++++++++++++----------------------- package.json | 22 +++--- 2 files changed, 106 insertions(+), 106 deletions(-) diff --git a/package-lock.json b/package-lock.json index bbab72a8..f5847137 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,20 +9,20 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@minecraft/server-admin": "1.0.0-beta.1.21.60-preview.25", - "@minecraft/server-editor": "0.1.0-beta.1.21.60-preview.25", - "@minecraft/server-gametest": "1.0.0-beta.1.21.60-preview.25", - "@minecraft/server-net": "1.0.0-beta.1.21.60-preview.25", - "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.25" + "@minecraft/server-admin": "1.0.0-beta.1.21.80-preview.22", + "@minecraft/server-editor": "0.1.0-beta.1.21.80-preview.22", + "@minecraft/server-gametest": "1.0.0-beta.1.21.80-preview.22", + "@minecraft/server-net": "1.0.0-beta.1.21.80-preview.22", + "@minecraft/server-ui": "2.0.0-beta.1.21.80-preview.22" }, "devDependencies": { - "@minecraft/math": "^2.0.1", + "@minecraft/math": "^2.2.1", "@npm/types": "^2.0.0", - "@types/node": "^22.10.6", + "@types/node": "^22.14.0", "@types/parsimmon": "^1.10.9", - "axios": "^1.7.9", + "axios": "^1.8.4", "parsimmon": "^1.18.1", - "typescript": "^5.7.3" + "typescript": "^5.8.2" } }, "lib": { @@ -37,9 +37,9 @@ "integrity": "sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==" }, "node_modules/@minecraft/math": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-2.0.1.tgz", - "integrity": "sha512-BYdZDSvUJxpx/KZMhO5JNx3rlayP+9r1vG8RdxlvWvaCm0dg2/IO7CoGXWIM3ylDUFD1H4TUYnp8fAo3vv7XUQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-2.2.1.tgz", + "integrity": "sha512-YwuJ43ld4az1o87jJp347/Ody30IzwWGdT1aUx1eEGa1lvF5gaDg8RBdci4ffODYj+eJA/FSf3cdn1fF/gf6fw==", "dev": true, "license": "MIT", "peerDependencies": { @@ -47,9 +47,9 @@ } }, "node_modules/@minecraft/server": { - "version": "1.18.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.18.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-tOHRW5hvfKw5hNjk+JuadV2k2I+g8ACRQR9Eu+QzxAiOhJR76FrY00QDkeSWJDY8k2I2IGBHABzdQWmHjy1kBQ==", + "version": "2.0.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-2.0.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-oRiWHqrO8ad4XGD4C8hU4TjWHH/o+An697i4p3s/bpGfShHIVzZ28BlyhRe38g3FGQ9J42oyfaqUVo0ZdxPsAg==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.1.0" @@ -59,60 +59,60 @@ } }, "node_modules/@minecraft/server-admin": { - "version": "1.0.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-zYM4EfafRg1dxV6uNZDGkYK6cNq1LQgjtIIBbjQqL2uWgIKqmam2Wrw0TzyaeN1dCsCU/3k4pSSnSLV/lHMUiQ==", + "version": "1.0.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-ud64jMar5D+PU4rJ7xX/k42wSYS9VtqNzpMzWYXHDLLbGZHEfcY5l7cNKFNEaGMXg9MrDY9GQ/jf9sxaXQ75uw==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "^1.0.0" + "@minecraft/server": "^1.17.0 || ^2.0.0-beta.1.21.80-preview.22" } }, "node_modules/@minecraft/server-editor": { - "version": "0.1.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-lYKY09RycD69qYfHFI0PKYFv+yNYxnfyJBQKsRJLN4wdI6IgtoD/i9p0b1zYxjTnZBmOsTdweWUS3RPpdZAYfw==", + "version": "0.1.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-dvGwPtwtXEVhYtR7VJ75M4sO1iSiQsv/moeyryMkzPhLHcqdYIetdKP6Z+80FloQs2iiW9t13CS1dxddIMJ4nQ==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "^1.18.0-beta.1.21.60-preview.25" + "@minecraft/server": "^2.0.0-beta.1.21.80-preview.22" } }, "node_modules/@minecraft/server-gametest": { - "version": "1.0.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-1yIpUamXlU07FyzDOVo+Je6tZ9SpZvx5Io8Y4HMaNBd0MO1wKepMj+dBdxKBPG9+PugiDCDHCVIHFLRPHzclbA==", + "version": "1.0.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-BZmWJKugtxCwicNPZWtyVB7W8y9fAIZt21jLuY20SxAAIwEYTzMEQA0AULMcnl5ATWsYG2m51qt98slcJwTTfw==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "^1.17.0-rc.1.21.60-preview.25" + "@minecraft/server": "^1.17.0 || ^2.0.0-beta.1.21.80-preview.22" } }, "node_modules/@minecraft/server-net": { - "version": "1.0.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-g9zwWaVCqnNfZvqYphh1YKMmp+793dkLDZeLwNttbfwHSXZwt5e1BaIxFAq2SQNSeyP8QphimMs8xxvvFRvupQ==", + "version": "1.0.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-KBCOjGeMS7eYARQ2ctqJ6t7s24Pt9EgfgMsxfetf5OJKwwqqJ15oIhl1LNiQ+XghsmT82NXgI1pNRZfcPsgWmA==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "^1.0.0", - "@minecraft/server-admin": "^1.0.0-beta.1.21.60-preview.25" + "@minecraft/server": "^1.17.0 || ^2.0.0-beta.1.21.80-preview.22", + "@minecraft/server-admin": "^1.0.0-beta.1.21.80-preview.22" } }, "node_modules/@minecraft/server-ui": { - "version": "1.4.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.4.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-uip01EoT2mLSw2yWnDPRlGgtEvEPxLyiu5QdSv2UQ1mo6dZeZH5DH+eQbgKSfjg3kUKeQZ676tCj5JII4MBsmQ==", + "version": "2.0.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-2.0.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-Zwp6Z4H2vl3at9+mGFQt/7oaWWV22wWKWr9oObV7qJ0/MfvMZMu3rXeUQxFh7yqaTSrcf80xk3eag9EPtfiohg==", "license": "MIT", "dependencies": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "^1.8.0" + "@minecraft/server": "^2.0.0-beta.1.21.80-preview.22" } }, "node_modules/@minecraft/vanilla-data": { - "version": "1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.60-preview.25.tgz", - "integrity": "sha512-jMxXz63uQJy6BJGTTUOlg45sZMOZDq0L1EZWG9x2CKZEnwS0ufeQHa9uhXJbSX3Lda4DDssq/DNy7HZ7NA+l9g==", + "version": "1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.80-preview.22.tgz", + "integrity": "sha512-Slz82TLjkZIFwMlE5q37EKEqL11cQqs3tlkryRoc5aeMDIaXs84fLv41DOV4xk987YVlRLaT/hB+MBUcuGrATQ==", "license": "MIT", "peer": true }, @@ -127,13 +127,13 @@ } }, "node_modules/@types/node": { - "version": "22.10.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz", - "integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==", + "version": "22.14.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz", + "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.20.0" + "undici-types": "~6.21.0" } }, "node_modules/@types/parsimmon": { @@ -150,9 +150,9 @@ "dev": true }, "node_modules/axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", "dev": true, "license": "MIT", "dependencies": { @@ -251,9 +251,9 @@ "dev": true }, "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -265,9 +265,9 @@ } }, "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" } @@ -279,70 +279,70 @@ "integrity": "sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==" }, "@minecraft/math": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-2.0.1.tgz", - "integrity": "sha512-BYdZDSvUJxpx/KZMhO5JNx3rlayP+9r1vG8RdxlvWvaCm0dg2/IO7CoGXWIM3ylDUFD1H4TUYnp8fAo3vv7XUQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@minecraft/math/-/math-2.2.1.tgz", + "integrity": "sha512-YwuJ43ld4az1o87jJp347/Ody30IzwWGdT1aUx1eEGa1lvF5gaDg8RBdci4ffODYj+eJA/FSf3cdn1fF/gf6fw==", "dev": true, "requires": {} }, "@minecraft/server": { - "version": "1.18.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-1.18.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-tOHRW5hvfKw5hNjk+JuadV2k2I+g8ACRQR9Eu+QzxAiOhJR76FrY00QDkeSWJDY8k2I2IGBHABzdQWmHjy1kBQ==", + "version": "2.0.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server/-/server-2.0.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-oRiWHqrO8ad4XGD4C8hU4TjWHH/o+An697i4p3s/bpGfShHIVzZ28BlyhRe38g3FGQ9J42oyfaqUVo0ZdxPsAg==", "requires": { "@minecraft/common": "^1.1.0" } }, "@minecraft/server-admin": { - "version": "1.0.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-zYM4EfafRg1dxV6uNZDGkYK6cNq1LQgjtIIBbjQqL2uWgIKqmam2Wrw0TzyaeN1dCsCU/3k4pSSnSLV/lHMUiQ==", + "version": "1.0.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server-admin/-/server-admin-1.0.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-ud64jMar5D+PU4rJ7xX/k42wSYS9VtqNzpMzWYXHDLLbGZHEfcY5l7cNKFNEaGMXg9MrDY9GQ/jf9sxaXQ75uw==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.25" + "@minecraft/server": "2.0.0-beta.1.21.80-preview.22" } }, "@minecraft/server-editor": { - "version": "0.1.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-lYKY09RycD69qYfHFI0PKYFv+yNYxnfyJBQKsRJLN4wdI6IgtoD/i9p0b1zYxjTnZBmOsTdweWUS3RPpdZAYfw==", + "version": "0.1.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server-editor/-/server-editor-0.1.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-dvGwPtwtXEVhYtR7VJ75M4sO1iSiQsv/moeyryMkzPhLHcqdYIetdKP6Z+80FloQs2iiW9t13CS1dxddIMJ4nQ==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.25" + "@minecraft/server": "2.0.0-beta.1.21.80-preview.22" } }, "@minecraft/server-gametest": { - "version": "1.0.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-1yIpUamXlU07FyzDOVo+Je6tZ9SpZvx5Io8Y4HMaNBd0MO1wKepMj+dBdxKBPG9+PugiDCDHCVIHFLRPHzclbA==", + "version": "1.0.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server-gametest/-/server-gametest-1.0.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-BZmWJKugtxCwicNPZWtyVB7W8y9fAIZt21jLuY20SxAAIwEYTzMEQA0AULMcnl5ATWsYG2m51qt98slcJwTTfw==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.25" + "@minecraft/server": "2.0.0-beta.1.21.80-preview.22" } }, "@minecraft/server-net": { - "version": "1.0.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-g9zwWaVCqnNfZvqYphh1YKMmp+793dkLDZeLwNttbfwHSXZwt5e1BaIxFAq2SQNSeyP8QphimMs8xxvvFRvupQ==", + "version": "1.0.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server-net/-/server-net-1.0.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-KBCOjGeMS7eYARQ2ctqJ6t7s24Pt9EgfgMsxfetf5OJKwwqqJ15oIhl1LNiQ+XghsmT82NXgI1pNRZfcPsgWmA==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.25", - "@minecraft/server-admin": "^1.0.0-beta.1.21.60-preview.25" + "@minecraft/server": "2.0.0-beta.1.21.80-preview.22", + "@minecraft/server-admin": "^1.0.0-beta.1.21.80-preview.22" } }, "@minecraft/server-ui": { - "version": "1.4.0-beta.1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-1.4.0-beta.1.21.60-preview.25.tgz", - "integrity": "sha512-uip01EoT2mLSw2yWnDPRlGgtEvEPxLyiu5QdSv2UQ1mo6dZeZH5DH+eQbgKSfjg3kUKeQZ676tCj5JII4MBsmQ==", + "version": "2.0.0-beta.1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/server-ui/-/server-ui-2.0.0-beta.1.21.80-preview.22.tgz", + "integrity": "sha512-Zwp6Z4H2vl3at9+mGFQt/7oaWWV22wWKWr9oObV7qJ0/MfvMZMu3rXeUQxFh7yqaTSrcf80xk3eag9EPtfiohg==", "requires": { "@minecraft/common": "^1.0.0", - "@minecraft/server": "1.18.0-beta.1.21.60-preview.25" + "@minecraft/server": "2.0.0-beta.1.21.80-preview.22" } }, "@minecraft/vanilla-data": { - "version": "1.21.60-preview.25", - "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.60-preview.25.tgz", - "integrity": "sha512-jMxXz63uQJy6BJGTTUOlg45sZMOZDq0L1EZWG9x2CKZEnwS0ufeQHa9uhXJbSX3Lda4DDssq/DNy7HZ7NA+l9g==", + "version": "1.21.80-preview.22", + "resolved": "https://registry.npmjs.org/@minecraft/vanilla-data/-/vanilla-data-1.21.80-preview.22.tgz", + "integrity": "sha512-Slz82TLjkZIFwMlE5q37EKEqL11cQqs3tlkryRoc5aeMDIaXs84fLv41DOV4xk987YVlRLaT/hB+MBUcuGrATQ==", "peer": true }, "@npm/types": { @@ -352,12 +352,12 @@ "dev": true }, "@types/node": { - "version": "22.10.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.6.tgz", - "integrity": "sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==", + "version": "22.14.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz", + "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==", "dev": true, "requires": { - "undici-types": "~6.20.0" + "undici-types": "~6.21.0" } }, "@types/parsimmon": { @@ -373,9 +373,9 @@ "dev": true }, "axios": { - "version": "1.7.9", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.9.tgz", - "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.8.4.tgz", + "integrity": "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw==", "dev": true, "requires": { "follow-redirects": "^1.15.6", @@ -443,15 +443,15 @@ "dev": true }, "typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "version": "5.8.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", + "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "dev": true }, "undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true } } diff --git a/package.json b/package.json index 47859485..98635160 100644 --- a/package.json +++ b/package.json @@ -19,23 +19,23 @@ }, "homepage": "https://github.com/JaylyDev/ScriptAPI#readme", "overrides": { - "@minecraft/server": "1.18.0-beta.1.21.60-preview.25", - "@minecraft/vanilla-data": "1.21.60-preview.25" + "@minecraft/server": "2.0.0-beta.1.21.80-preview.22", + "@minecraft/vanilla-data": "1.21.80-preview.22" }, "dependencies": { - "@minecraft/server-admin": "1.0.0-beta.1.21.60-preview.25", - "@minecraft/server-editor": "0.1.0-beta.1.21.60-preview.25", - "@minecraft/server-gametest": "1.0.0-beta.1.21.60-preview.25", - "@minecraft/server-net": "1.0.0-beta.1.21.60-preview.25", - "@minecraft/server-ui": "1.4.0-beta.1.21.60-preview.25" + "@minecraft/server-admin": "1.0.0-beta.1.21.80-preview.22", + "@minecraft/server-editor": "0.1.0-beta.1.21.80-preview.22", + "@minecraft/server-gametest": "1.0.0-beta.1.21.80-preview.22", + "@minecraft/server-net": "1.0.0-beta.1.21.80-preview.22", + "@minecraft/server-ui": "2.0.0-beta.1.21.80-preview.22" }, "devDependencies": { - "@minecraft/math": "^2.0.1", + "@minecraft/math": "^2.2.1", "@npm/types": "^2.0.0", - "@types/node": "^22.10.6", + "@types/node": "^22.14.0", "@types/parsimmon": "^1.10.9", - "axios": "^1.7.9", + "axios": "^1.8.4", "parsimmon": "^1.18.1", - "typescript": "^5.7.3" + "typescript": "^5.8.2" } } From fda8df9ad2061efade76806872a28c7c767f241a Mon Sep 17 00:00:00 2001 From: Nperma <129764133+nperma@users.noreply.github.com> Date: Thu, 3 Apr 2025 21:58:43 +0700 Subject: [PATCH 13/13] QuickDB (Fixed V2) (#384) --- scripts/quick-db/index.js | 59 ++++++++++++--------------------------- 1 file changed, 18 insertions(+), 41 deletions(-) diff --git a/scripts/quick-db/index.js b/scripts/quick-db/index.js index 35a3d2b8..a123782b 100644 --- a/scripts/quick-db/index.js +++ b/scripts/quick-db/index.js @@ -2,7 +2,7 @@ // Author: Nperma // Project: https://github.com/JaylyDev/ScriptAPI -import { world, World } from '@minecraft/server'; +import { world,system, World } from '@minecraft/server'; const DATABASE_PREFIX = '\u0235\u0235'; @@ -27,38 +27,11 @@ class QuickDB { for (const keyFull of this.getIds()) { const key = keyFull.replace(this.#identifier, ''); - const rawValue = GET.call(world, keyFull); - this.__cache[key] = this.#parseValue(rawValue); + let value;system.run(()=>{value=GET.call(world, keyFull);}) + this.__cache[key] = JSON.parse(value); } } - /** - * Parses stored string values into their appropriate types. - * @param {any} value - * @returns {any} - */ - #parseValue(value) { - if (typeof value === 'string') { - if (value.startsWith('obj')) return JSON.parse(value.slice(3)); - if (value === 'null') return null; - if (value === 'true' || value === 'false') return value === 'true'; - const num = Number(value); - if (!isNaN(num)) return num; - } - return value; - } - - /** - * Converts values into a storable format. - * @param {any} value - * @returns {string} - */ - #stringifyValue(value) { - if (typeof value === 'object' && value !== null) return 'obj' + JSON.stringify(value); - if (typeof value === 'boolean' || value === null) return String(value); - return String(value); - } - /** @returns {number} */ get size() { return this.keys().length; @@ -83,14 +56,12 @@ class QuickDB { * Stores a key-value pair. * @param {string} key * @param {any} value - * @returns {boolean} + * @returns {void} */ set(key, value) { if (typeof key !== 'string' || !key.trim()) throw new Error('Key must be a non-empty string'); - const finalValue = this.#stringifyValue(value); - SET.call(world, this.#identifier + key, finalValue); + system.run(()=>SET.call(world, this.#identifier + key, JSON.stringify(value))); this.__cache[key] = value; - return true; } /** @@ -100,7 +71,7 @@ class QuickDB { */ delete(key) { if (!this.has(key)) return false; - SET.call(world, this.#identifier + key, undefined); + system.run(()=>SET.call(world, this.#identifier + key)); delete this.__cache[key]; return true; } @@ -126,16 +97,21 @@ class QuickDB { /** @returns {string[]} */ static get ids() { - return [...new Set( - IDS.call(world) + let keys; + system.run(() =>{ + keys=IDS.call(world) .filter((id) => id.startsWith(DATABASE_PREFIX)) - .map((k) => k.slice(DATABASE_PREFIX.length).split(DATABASE_PREFIX)[0]) + .map((k) => k.slice(DATABASE_PREFIX.length).split(DATABASE_PREFIX)[0]); + }); + return [...new Set( + keys )]; } /** @returns {string[]} */ getIds() { - return IDS.call(world).filter((id) => id.startsWith(this.#identifier)); + let result;system.run(()=>{result=IDS.call(world).filter((id) => id.startsWith(this.#identifier));}); + return result; } /** Clears the database. */ @@ -148,8 +124,9 @@ class QuickDB { /** Clears all databases globally. */ static clearAll() { - for (const real_id of IDS.call(world).filter((id) => id.startsWith(DATABASE_PREFIX))) { - SET.call(world, real_id, undefined); + let keys;system.run(()=>{keys=IDS.call(world).filter((id) => id.startsWith(DATABASE_PREFIX))}); + for (const real_id of keys) { + system.run(()=>SET.call(world, real_id)); } } }