From f69f9d51dc6a9a65d27427cf64f0f543a6234de6 Mon Sep 17 00:00:00 2001 From: Lete114 Date: Fri, 21 Jun 2024 18:52:28 +0800 Subject: [PATCH] feat: support 1.21.x stable --- README.md | 2 +- package.json | 5 +++-- pnpm-lock.yaml | 28 ++++++++++++++-------------- src/behavior_pack/manifest.json | 8 ++++---- src/behavior_pack/scripts/main.ts | 26 +++++--------------------- src/behavior_pack/texts/en_US.lang | 2 +- src/behavior_pack/texts/zh_CN.lang | 2 +- 7 files changed, 29 insertions(+), 44 deletions(-) diff --git a/README.md b/README.md index 3f1181c..2e2e601 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ To download, you need to go to the GitHub repository [releases](https://github.c > required enable Beta API -Players with OP (operator-level permissions) can modify the probability (50%) using the `/scriptevent serendipity:prob 50` command, which defaults to 1%. (If you are a modpack author, you may need this command) +The probability of finding the treasure is 1% ## Debugger diff --git a/package.json b/package.json index be7da7b..b6afc13 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "lint:fix": "eslint --fix src && prettier --check --write src" }, "devDependencies": { - "@minecraft/server": "1.7.0-beta.1.20.40-stable", + "@minecraft/server": "1.11.0", "@rollup/plugin-node-resolve": "^15.1.0", "@rollup/plugin-typescript": "^11.1.2", "@types/fs-extra": "^11.0.1", @@ -34,6 +34,7 @@ "typescript": "^5.0.2" }, "dependencies": { - "@mcbe-mods/utils": "^0.1.1" + "@mcbe-mods/utils": "^0.1.1", + "@minecraft/vanilla-data": "^1.21.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 18ed8d2..a8b0330 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,11 +8,14 @@ dependencies: '@mcbe-mods/utils': specifier: ^0.1.1 version: 0.1.1 + '@minecraft/vanilla-data': + specifier: ^1.21.0 + version: 1.21.0 devDependencies: '@minecraft/server': - specifier: 1.7.0-beta.1.20.40-stable - version: 1.7.0-beta.1.20.40-stable + specifier: 1.11.0 + version: 1.11.0 '@rollup/plugin-node-resolve': specifier: ^15.1.0 version: 15.1.0(rollup@3.27.0) @@ -126,23 +129,20 @@ packages: /@mcbe-mods/utils@0.1.1: resolution: {integrity: sha512-mXGzkyDUqS6IKDhOhW1l+OF0bQtW+U6bb+RcOZwX/H70Tbh6Ro0C4ZifihMLHUqo5lOcmvok0vjkuYJ+NQSMGQ==} dependencies: - '@minecraft/server': 1.6.0 + '@minecraft/server': 1.11.0 dev: false - /@minecraft/common@1.0.0: - resolution: {integrity: sha512-7WObMvUWaS2zBVBZwc150Kd/apLUYa5tx2fvkLe3JoviEKm7QjZNLghZV9sV/STXmd9k3HBKTKvRyGdNaTIVBA==} + /@minecraft/common@1.1.0: + resolution: {integrity: sha512-stbUtINCXbcLNRlGNVX68xRC6ZYq3k3CYmfptwrCcPBEUjVOpVkSj3H4Y0qiSYB+1rVWv7DgiP7Uf9++50Ne5g==} - /@minecraft/server@1.6.0: - resolution: {integrity: sha512-V/jt0tY5aFnOPriFqOdWwdBSX+Pg/B/VGEynwZuST5yZLuBfJ1xb3888o1j//npFUbjv5iLQdm19ZbHscUrf5w==} + /@minecraft/server@1.11.0: + resolution: {integrity: sha512-sVTKkAR7fgcgRrBrl+QiqlwiL07JTCSRbwSLpkmsPDvgfhH4bQsdPXC8fWZGRxwKikC4/oBxGq5j6pJp87yF6Q==} dependencies: - '@minecraft/common': 1.0.0 - dev: false + '@minecraft/common': 1.1.0 - /@minecraft/server@1.7.0-beta.1.20.40-stable: - resolution: {integrity: sha512-Faqt4qfSRkMRjufOhE4msn//bpPJxRy24qwRgzW6wqmzNworQYobZvarTeLrtXdL7o2dEef0pwqJ87WkWTKa9A==} - dependencies: - '@minecraft/common': 1.0.0 - dev: true + /@minecraft/vanilla-data@1.21.0: + resolution: {integrity: sha512-OuEsfTsb2oecM2n9BNVXdhk4qjDSatRSuH+FrScpydaibPNV7jG166cGbltu7VujWETRYpAMVzSGxZRfom0Rmg==} + dev: false /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} diff --git a/src/behavior_pack/manifest.json b/src/behavior_pack/manifest.json index e0fb038..12d46c4 100644 --- a/src/behavior_pack/manifest.json +++ b/src/behavior_pack/manifest.json @@ -4,8 +4,8 @@ "description": "pack.description", "name": "pack.name", "uuid": "404c04d4-32f3-47d9-bd04-0172b1dc0301", - "version": [1, 0, 2], - "min_engine_version": [1, 20, 40] + "version": [1, 0, 3], + "min_engine_version": [1, 21, 0] }, "modules": [ { @@ -13,14 +13,14 @@ "language": "javascript", "type": "script", "uuid": "9e376b78-7a64-418a-b2fa-4cee29949758", - "version": [1, 0, 2], + "version": [1, 0, 3], "entry": "scripts/main.js" } ], "dependencies": [ { "module_name": "@minecraft/server", - "version": "1.7.0-beta" + "version": "1.11.0" } ], "metadata": { diff --git a/src/behavior_pack/scripts/main.ts b/src/behavior_pack/scripts/main.ts index 30e4606..94144fb 100644 --- a/src/behavior_pack/scripts/main.ts +++ b/src/behavior_pack/scripts/main.ts @@ -1,29 +1,13 @@ -import { world, system, Player, ItemStack, ItemTypes } from '@minecraft/server' +import { world, ItemStack } from '@minecraft/server' +import { MinecraftItemTypes } from '@minecraft/vanilla-data' import { getRandomProbability } from '@mcbe-mods/utils' -const itemTypes = ItemTypes.getAll().map((item) => item.id) -const PROB = 'prob' - -world.afterEvents.worldInitialize.subscribe(() => { - if (world.getDynamicProperty(PROB)) return - world.setDynamicProperty(PROB, 1) -}) - -system.afterEvents.scriptEventReceive.subscribe((e) => { - const { id, message } = e - const prob = +message - if (isNaN(prob)) return - - const player = e.sourceEntity as Player - if (id === 'serendipity:prob' && player?.isOp()) { - world.setDynamicProperty(PROB, prob) - } -}) +const itemTypes = Object.values(MinecraftItemTypes) +const PROBABILITY = 1 world.afterEvents.playerBreakBlock.subscribe(async (e) => { const { dimension, block, player } = e - const prob = (world.getDynamicProperty(PROB) as number) || 1 - const is = getRandomProbability(prob) + const is = getRandomProbability(PROBABILITY) if (!is) return player.playSound('random.orb', { pitch: 0.5, volume: 0.5 }) diff --git a/src/behavior_pack/texts/en_US.lang b/src/behavior_pack/texts/en_US.lang index ea7d538..2683116 100644 --- a/src/behavior_pack/texts/en_US.lang +++ b/src/behavior_pack/texts/en_US.lang @@ -1,2 +1,2 @@ -pack.name=Serendipity v1.0.2 +pack.name=Serendipity v1.0.3 pack.description=When you break a block, there is a 1/100 chance to randomly drop an item from the game. \ No newline at end of file diff --git a/src/behavior_pack/texts/zh_CN.lang b/src/behavior_pack/texts/zh_CN.lang index 50368e7..7968ed6 100644 --- a/src/behavior_pack/texts/zh_CN.lang +++ b/src/behavior_pack/texts/zh_CN.lang @@ -1,2 +1,2 @@ -pack.name=意外发现 v1.0.2 +pack.name=意外发现 v1.0.3 pack.description=打碎方块时,有 1/100 的几率随机掉落游戏中的物品。 \ No newline at end of file