From 9f45c91925dba9ee4a6661a11b375036cc24ba6f Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Wed, 2 Jul 2025 09:21:43 +0100 Subject: [PATCH 1/6] Update to latest TeaVM --- gradle/libs.versions.toml | 2 +- package-lock.json | 275 +++++++++--------- package.json | 2 +- .../web/builder/TransformingClassLoader.java | 50 +++- 4 files changed, 179 insertions(+), 150 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 860bc1a7d..54b0935ff 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -73,7 +73,7 @@ nullAway = "0.12.7" shadow = "8.3.1" spotless = "7.0.2" taskTree = "2.1.1" -teavm = "0.11.0-SQUID.1" +teavm = "0.13.0-SQUID.1" vanillaExtract = "0.2.1" versionCatalogUpdate = "0.8.1" diff --git a/package-lock.json b/package-lock.json index a5db0e74e..bb8d6eb6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@rollup/plugin-node-resolve": "^16.0.0", - "@rollup/plugin-typescript": "^12.0.0 && <12.1.3", + "@rollup/plugin-typescript": "^12.0.0", "@rollup/plugin-url": "^8.0.1", "@swc/core": "^1.3.92", "@types/node": "^24.0.0", @@ -481,9 +481,9 @@ } }, "node_modules/@rollup/plugin-typescript": { - "version": "12.1.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-12.1.2.tgz", - "integrity": "sha512-cdtSp154H5sv637uMr1a8OTWB0L1SWDSm1rDGiyfcGcvQ6cuTs4MDk2BVEBGysUWago4OJN4EQZqOTl/QY3Jgg==", + "version": "12.1.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-12.1.4.tgz", + "integrity": "sha512-s5Hx+EtN60LMlDBvl5f04bEiFZmAepk27Q+mr85L/00zPDn1jtzlTV6FWn81MaIwqfWzKxmOJrBWHU6vtQyedQ==", "dev": true, "license": "MIT", "dependencies": { @@ -554,9 +554,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.43.0.tgz", - "integrity": "sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.1.tgz", + "integrity": "sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==", "cpu": [ "arm" ], @@ -568,9 +568,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.43.0.tgz", - "integrity": "sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.1.tgz", + "integrity": "sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==", "cpu": [ "arm64" ], @@ -582,9 +582,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.43.0.tgz", - "integrity": "sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.1.tgz", + "integrity": "sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==", "cpu": [ "arm64" ], @@ -596,9 +596,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.43.0.tgz", - "integrity": "sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.1.tgz", + "integrity": "sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==", "cpu": [ "x64" ], @@ -610,9 +610,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.43.0.tgz", - "integrity": "sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.1.tgz", + "integrity": "sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==", "cpu": [ "arm64" ], @@ -624,9 +624,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.43.0.tgz", - "integrity": "sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.1.tgz", + "integrity": "sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==", "cpu": [ "x64" ], @@ -638,9 +638,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.43.0.tgz", - "integrity": "sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.1.tgz", + "integrity": "sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==", "cpu": [ "arm" ], @@ -652,9 +652,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.43.0.tgz", - "integrity": "sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.1.tgz", + "integrity": "sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==", "cpu": [ "arm" ], @@ -666,9 +666,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.43.0.tgz", - "integrity": "sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.1.tgz", + "integrity": "sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==", "cpu": [ "arm64" ], @@ -680,9 +680,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.43.0.tgz", - "integrity": "sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.1.tgz", + "integrity": "sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==", "cpu": [ "arm64" ], @@ -694,9 +694,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.43.0.tgz", - "integrity": "sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.1.tgz", + "integrity": "sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==", "cpu": [ "loong64" ], @@ -708,9 +708,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.43.0.tgz", - "integrity": "sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.1.tgz", + "integrity": "sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==", "cpu": [ "ppc64" ], @@ -722,9 +722,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.43.0.tgz", - "integrity": "sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.1.tgz", + "integrity": "sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==", "cpu": [ "riscv64" ], @@ -736,9 +736,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.43.0.tgz", - "integrity": "sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.1.tgz", + "integrity": "sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==", "cpu": [ "riscv64" ], @@ -750,9 +750,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.43.0.tgz", - "integrity": "sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.1.tgz", + "integrity": "sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==", "cpu": [ "s390x" ], @@ -764,9 +764,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.43.0.tgz", - "integrity": "sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz", + "integrity": "sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==", "cpu": [ "x64" ], @@ -778,9 +778,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.43.0.tgz", - "integrity": "sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.1.tgz", + "integrity": "sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==", "cpu": [ "x64" ], @@ -792,9 +792,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.43.0.tgz", - "integrity": "sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.1.tgz", + "integrity": "sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==", "cpu": [ "arm64" ], @@ -806,9 +806,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.43.0.tgz", - "integrity": "sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.1.tgz", + "integrity": "sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==", "cpu": [ "ia32" ], @@ -820,9 +820,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.43.0.tgz", - "integrity": "sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.1.tgz", + "integrity": "sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==", "cpu": [ "x64" ], @@ -844,9 +844,9 @@ } }, "node_modules/@swc/core": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.12.1.tgz", - "integrity": "sha512-aKXdDTqxTVFl/bKQZ3EQUjEMBEoF6JBv29moMZq0kbVO43na6u/u+3Vcbhbrh+A2N0X5OL4RaveuWfAjEgOmeA==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.12.9.tgz", + "integrity": "sha512-O+LfT2JlVMsIMWG9x+rdxg8GzpzeGtCZQfXV7cKc1PjIKUkLFf1QJ7okuseA4f/9vncu37dQ2ZcRrPKy0Ndd5g==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", @@ -862,16 +862,16 @@ "url": "https://opencollective.com/swc" }, "optionalDependencies": { - "@swc/core-darwin-arm64": "1.12.1", - "@swc/core-darwin-x64": "1.12.1", - "@swc/core-linux-arm-gnueabihf": "1.12.1", - "@swc/core-linux-arm64-gnu": "1.12.1", - "@swc/core-linux-arm64-musl": "1.12.1", - "@swc/core-linux-x64-gnu": "1.12.1", - "@swc/core-linux-x64-musl": "1.12.1", - "@swc/core-win32-arm64-msvc": "1.12.1", - "@swc/core-win32-ia32-msvc": "1.12.1", - "@swc/core-win32-x64-msvc": "1.12.1" + "@swc/core-darwin-arm64": "1.12.9", + "@swc/core-darwin-x64": "1.12.9", + "@swc/core-linux-arm-gnueabihf": "1.12.9", + "@swc/core-linux-arm64-gnu": "1.12.9", + "@swc/core-linux-arm64-musl": "1.12.9", + "@swc/core-linux-x64-gnu": "1.12.9", + "@swc/core-linux-x64-musl": "1.12.9", + "@swc/core-win32-arm64-msvc": "1.12.9", + "@swc/core-win32-ia32-msvc": "1.12.9", + "@swc/core-win32-x64-msvc": "1.12.9" }, "peerDependencies": { "@swc/helpers": ">=0.5.17" @@ -883,9 +883,9 @@ } }, "node_modules/@swc/core-darwin-arm64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.12.1.tgz", - "integrity": "sha512-nUjWVcJ3YS2N40ZbKwYO2RJ4+o2tWYRzNOcIQp05FqW0+aoUCVMdAUUzQinPDynfgwVshDAXCKemY8X7nN5MaA==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.12.9.tgz", + "integrity": "sha512-GACFEp4nD6V+TZNR2JwbMZRHB+Yyvp14FrcmB6UCUYmhuNWjkxi+CLnEvdbuiKyQYv0zA+TRpCHZ+whEs6gwfA==", "cpu": [ "arm64" ], @@ -900,9 +900,9 @@ } }, "node_modules/@swc/core-darwin-x64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.12.1.tgz", - "integrity": "sha512-OGm4a4d3OeJn+tRt8H/eiHgTFrJbS6r8mi/Ob65tAEXZGHN900T2kR7c5ALr0V2hBOQ8BfhexwPoQlGQP/B95w==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.12.9.tgz", + "integrity": "sha512-hv2kls7Ilkm2EpeJz+I9MCil7pGS3z55ZAgZfxklEuYsxpICycxeH+RNRv4EraggN44ms+FWCjtZFu0LGg2V3g==", "cpu": [ "x64" ], @@ -917,9 +917,9 @@ } }, "node_modules/@swc/core-linux-arm-gnueabihf": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.12.1.tgz", - "integrity": "sha512-76YeeQKyK0EtNkQiNBZ0nbVGooPf9IucY0WqVXVpaU4wuG7ZyLEE2ZAIgXafIuzODGQoLfetue7I8boMxh1/MA==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.12.9.tgz", + "integrity": "sha512-od9tDPiG+wMU9wKtd6y3nYJdNqgDOyLdgRRcrj1/hrbHoUPOM8wZQZdwQYGarw63iLXGgsw7t5HAF9Yc51ilFA==", "cpu": [ "arm" ], @@ -934,9 +934,9 @@ } }, "node_modules/@swc/core-linux-arm64-gnu": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.12.1.tgz", - "integrity": "sha512-BxJDIJPq1+aCh9UsaSAN6wo3tuln8UhNXruOrzTI8/ElIig/3sAueDM6Eq7GvZSGGSA7ljhNATMJ0elD7lFatQ==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.12.9.tgz", + "integrity": "sha512-6qx1ka9LHcLzxIgn2Mros+CZLkHK2TawlXzi/h7DJeNnzi8F1Hw0Yzjp8WimxNCg6s2n+o3jnmin1oXB7gg8rw==", "cpu": [ "arm64" ], @@ -951,9 +951,9 @@ } }, "node_modules/@swc/core-linux-arm64-musl": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.12.1.tgz", - "integrity": "sha512-NhLdbffSXvY0/FwUSAl4hKBlpe5GHQGXK8DxTo3HHjLsD9sCPYieo3vG0NQoUYAy4ZUY1WeGjyxeq4qZddJzEQ==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.12.9.tgz", + "integrity": "sha512-yghFZWKPVVGbUdqiD7ft23G0JX6YFGDJPz9YbLLAwGuKZ9th3/jlWoQDAw1Naci31LQhVC+oIji6ozihSuwB2A==", "cpu": [ "arm64" ], @@ -968,9 +968,9 @@ } }, "node_modules/@swc/core-linux-x64-gnu": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.12.1.tgz", - "integrity": "sha512-CrYnV8SZIgArQ9LKH0xEF95PKXzX9WkRSc5j55arOSBeDCeDUQk1Bg/iKdnDiuj5HC1hZpvzwMzSBJjv+Z70jA==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.12.9.tgz", + "integrity": "sha512-SFUxyhWLZRNL8QmgGNqdi2Q43PNyFVkRZ2zIif30SOGFSxnxcf2JNeSeBgKIGVgaLSuk6xFVVCtJ3KIeaStgRg==", "cpu": [ "x64" ], @@ -985,9 +985,9 @@ } }, "node_modules/@swc/core-linux-x64-musl": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.12.1.tgz", - "integrity": "sha512-BQMl3d0HaGB0/h2xcKlGtjk/cGRn2tnbsaChAKcjFdCepblKBCz1pgO/mL7w5iXq3s57wMDUn++71/a5RAkZOA==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.12.9.tgz", + "integrity": "sha512-9FB0wM+6idCGTI20YsBNBg9xSWtkDBymnpaTCsZM3qDc0l4uOpJMqbfWhQvp17x7r/ulZfb2QY8RDvQmCL6AcQ==", "cpu": [ "x64" ], @@ -1002,9 +1002,9 @@ } }, "node_modules/@swc/core-win32-arm64-msvc": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.12.1.tgz", - "integrity": "sha512-b7NeGnpqTfmIGtUqXBl0KqoSmOnH64nRZoT5l4BAGdvwY7nxitWR94CqZuwyLPty/bLywmyDA9uO12Kvgb3+gg==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.12.9.tgz", + "integrity": "sha512-zHOusMVbOH9ik5RtRrMiGzLpKwxrPXgXkBm3SbUCa65HAdjV33NZ0/R9Rv1uPESALtEl2tzMYLUxYA5ECFDFhA==", "cpu": [ "arm64" ], @@ -1019,9 +1019,9 @@ } }, "node_modules/@swc/core-win32-ia32-msvc": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.12.1.tgz", - "integrity": "sha512-iU/29X2D7cHBp1to62cUg/5Xk8K+lyOJiKIGGW5rdzTW/c2zz3d/ehgpzVP/rqC4NVr88MXspqHU4il5gmDajw==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.12.9.tgz", + "integrity": "sha512-aWZf0PqE0ot7tCuhAjRkDFf41AzzSQO0x2xRfTbnhpROp57BRJ/N5eee1VULO/UA2PIJRG7GKQky5bSGBYlFug==", "cpu": [ "ia32" ], @@ -1036,9 +1036,9 @@ } }, "node_modules/@swc/core-win32-x64-msvc": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.12.1.tgz", - "integrity": "sha512-+Zh+JKDwiFqV5N9yAd2DhYVGPORGh9cfenu1ptr9yge+eHAf7vZJcC3rnj6QMR1QJh0Y5VC9+YBjRFjZVA7XDw==", + "version": "1.12.9", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.12.9.tgz", + "integrity": "sha512-C25fYftXOras3P3anSUeXXIpxmEkdAcsIL9yrr0j1xepTZ/yKwpnQ6g3coj8UXdeJy4GTVlR6+Ow/QiBgZQNOg==", "cpu": [ "x64" ], @@ -1124,9 +1124,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "24.0.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.3.tgz", - "integrity": "sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==", + "version": "24.0.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.8.tgz", + "integrity": "sha512-WytNrFSgWO/esSH9NbpWUfTMGQwCGIKfCmNlmFDNiI5gGhgMmEA+V1AEvKLeBNvvtBnailJtkrEa2OIISwrVAA==", "dev": true, "license": "MIT", "dependencies": { @@ -2856,13 +2856,13 @@ } }, "node_modules/rollup": { - "version": "4.43.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.43.0.tgz", - "integrity": "sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==", + "version": "4.44.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.1.tgz", + "integrity": "sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.7" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -2872,36 +2872,29 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.43.0", - "@rollup/rollup-android-arm64": "4.43.0", - "@rollup/rollup-darwin-arm64": "4.43.0", - "@rollup/rollup-darwin-x64": "4.43.0", - "@rollup/rollup-freebsd-arm64": "4.43.0", - "@rollup/rollup-freebsd-x64": "4.43.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.43.0", - "@rollup/rollup-linux-arm-musleabihf": "4.43.0", - "@rollup/rollup-linux-arm64-gnu": "4.43.0", - "@rollup/rollup-linux-arm64-musl": "4.43.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.43.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.43.0", - "@rollup/rollup-linux-riscv64-gnu": "4.43.0", - "@rollup/rollup-linux-riscv64-musl": "4.43.0", - "@rollup/rollup-linux-s390x-gnu": "4.43.0", - "@rollup/rollup-linux-x64-gnu": "4.43.0", - "@rollup/rollup-linux-x64-musl": "4.43.0", - "@rollup/rollup-win32-arm64-msvc": "4.43.0", - "@rollup/rollup-win32-ia32-msvc": "4.43.0", - "@rollup/rollup-win32-x64-msvc": "4.43.0", + "@rollup/rollup-android-arm-eabi": "4.44.1", + "@rollup/rollup-android-arm64": "4.44.1", + "@rollup/rollup-darwin-arm64": "4.44.1", + "@rollup/rollup-darwin-x64": "4.44.1", + "@rollup/rollup-freebsd-arm64": "4.44.1", + "@rollup/rollup-freebsd-x64": "4.44.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.44.1", + "@rollup/rollup-linux-arm-musleabihf": "4.44.1", + "@rollup/rollup-linux-arm64-gnu": "4.44.1", + "@rollup/rollup-linux-arm64-musl": "4.44.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.44.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.44.1", + "@rollup/rollup-linux-riscv64-gnu": "4.44.1", + "@rollup/rollup-linux-riscv64-musl": "4.44.1", + "@rollup/rollup-linux-s390x-gnu": "4.44.1", + "@rollup/rollup-linux-x64-gnu": "4.44.1", + "@rollup/rollup-linux-x64-musl": "4.44.1", + "@rollup/rollup-win32-arm64-msvc": "4.44.1", + "@rollup/rollup-win32-ia32-msvc": "4.44.1", + "@rollup/rollup-win32-x64-msvc": "4.44.1", "fsevents": "~2.3.2" } }, - "node_modules/rollup/node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true, - "license": "MIT" - }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", diff --git a/package.json b/package.json index 9c8645282..db331c4fa 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "devDependencies": { "@rollup/plugin-node-resolve": "^16.0.0", - "@rollup/plugin-typescript": "^12.0.0 && <12.1.3", + "@rollup/plugin-typescript": "^12.0.0", "@rollup/plugin-url": "^8.0.1", "@swc/core": "^1.3.92", "@types/node": "^24.0.0", diff --git a/projects/web/src/builder/java/cc/tweaked/web/builder/TransformingClassLoader.java b/projects/web/src/builder/java/cc/tweaked/web/builder/TransformingClassLoader.java index 27e690e2b..d3796f5ea 100644 --- a/projects/web/src/builder/java/cc/tweaked/web/builder/TransformingClassLoader.java +++ b/projects/web/src/builder/java/cc/tweaked/web/builder/TransformingClassLoader.java @@ -17,6 +17,8 @@ import java.io.InputStream; import java.io.UncheckedIOException; import java.net.MalformedURLException; import java.net.URL; +import java.net.URLConnection; +import java.net.URLStreamHandler; import java.nio.file.Files; import java.nio.file.Path; import java.util.*; @@ -112,11 +114,17 @@ public class TransformingClassLoader extends ClassLoader { return super.getResourceAsStream(name); } + var bytes = getTransformed(path); + this.lastFile = new TransformedClass(name, bytes); + return new ByteArrayInputStream(bytes); + } + + private byte[] getTransformed(Path path) { ClassReader reader; try (var stream = Files.newInputStream(path)) { reader = new ClassReader(stream); } catch (IOException e) { - throw new UncheckedIOException("Failed reading " + name, e); + throw new UncheckedIOException("Failed reading " + path, e); } var writer = new ClassWriter(reader, 0); @@ -125,9 +133,7 @@ public class TransformingClassLoader extends ClassLoader { for (var transformer : transformers) sink = transformer.apply(className, sink); reader.accept(sink, 0); - var bytes = writer.toByteArray(); - this.lastFile = new TransformedClass(name, bytes); - return new ByteArrayInputStream(bytes); + return writer.toByteArray(); } @Override @@ -142,7 +148,7 @@ public class TransformingClassLoader extends ClassLoader { return new IteratorEnumeration<>( (path == null ? classpath.stream().map(x -> x.resolve(name)) : Stream.of(path)) .filter(Files::exists) - .map(TransformingClassLoader::toURL) + .map(this::toURL) .iterator() ); } @@ -160,9 +166,12 @@ public class TransformingClassLoader extends ClassLoader { } } - private static URL toURL(Path path) { + private URL toURL(Path path) { try { - return path.toUri().toURL(); + var url = path.toUri().toURL(); + + if (!path.toString().endsWith(".class")) return url; + return new URL(url.getProtocol(), url.getHost(), url.getPort(), url.getFile(), new TransformingHandler(path)); } catch (MalformedURLException e) { throw new IllegalStateException("Cannot convert " + path + " to a URL", e); } @@ -171,4 +180,31 @@ public class TransformingClassLoader extends ClassLoader { @SuppressWarnings("ArrayRecordComponent") private record TransformedClass(String name, byte[] contents) { } + + private final class TransformingHandler extends URLStreamHandler { + private final Path path; + + private TransformingHandler(Path path) { + this.path = path; + } + + @Override + protected URLConnection openConnection(URL u) { + return new URLConnection(u) { + private @Nullable InputStream stream; + + @Override + public void connect() { + if (stream == null) stream = new ByteArrayInputStream(getTransformed(path)); + } + + @Override + public InputStream getInputStream() { + connect(); + if (stream == null) throw new NullPointerException("Stream cannot be null"); + return stream; + } + }; + } + } } From c6ba7535680c00638e1ff90b06cb066b7c29df63 Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Sun, 6 Jul 2025 22:34:43 +0100 Subject: [PATCH 2/6] Update allowed Minecraft versions --- .github/ISSUE_TEMPLATE/bug_report.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 1a25729b7..ca60bfdc4 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -11,7 +11,8 @@ body: What version of Minecraft are you using? If your version is not listed, please try to reproduce on one of the supported versions. options: - 1.20.1 - - 1.21.x + - 1.21.1 + - 1.21.7 validations: required: true - type: input From 180156ff1c4ee4d119ce93e1f7d23223d99d80b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bat=C3=A1ri=20Bal=C3=A1zs=20L=C3=A1szl=C3=B3?= Date: Sun, 6 Jul 2025 23:47:22 +0200 Subject: [PATCH 3/6] Add lang hu_hu (#2232) --- crowdin.yml | 1 + .../assets/computercraft/lang/hu_hu.json | 235 ++++++++++++++++++ 2 files changed, 236 insertions(+) create mode 100644 projects/common/src/main/resources/assets/computercraft/lang/hu_hu.json diff --git a/crowdin.yml b/crowdin.yml index 5a1b4d18c..3039b951f 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -12,6 +12,7 @@ files: de: de_de # German es-ES: es_es # Spanish fr: fr_fr # French + hu: hu_hu # Hungarian it: it_it # Italian ja: ja_jp # Japanese ko: ko_kr # Korean diff --git a/projects/common/src/main/resources/assets/computercraft/lang/hu_hu.json b/projects/common/src/main/resources/assets/computercraft/lang/hu_hu.json new file mode 100644 index 000000000..8561803df --- /dev/null +++ b/projects/common/src/main/resources/assets/computercraft/lang/hu_hu.json @@ -0,0 +1,235 @@ +{ + "argument.computercraft.argument_expected": "Argumentum szükséges", + "argument.computercraft.computer.distance": "Távolság az entitástól", + "argument.computercraft.computer.family": "Számítógép típus", + "argument.computercraft.computer.id": "Számítógép ID", + "argument.computercraft.computer.instance": "Egyedi példányazonosító", + "argument.computercraft.computer.label": "Számítógép címke", + "argument.computercraft.computer.many_matching": "Több számítógép egyezik '%s' (példányok %s)", + "argument.computercraft.computer.no_matching": "Nincs egyező számítógép '%s'", + "argument.computercraft.tracking_field.no_field": "Ismeretlen mező '%s'", + "argument.computercraft.unknown_computer_family": "Ismeretlen számítógéptípus '%s'", + "block.computercraft.cable": "Hálózati kábel", + "block.computercraft.computer_advanced": "Fejlett számítógép", + "block.computercraft.computer_command": "Parancsszámítógép", + "block.computercraft.computer_normal": "Számítógép", + "block.computercraft.disk_drive": "Lemezmeghajtó", + "block.computercraft.monitor_advanced": "Fejlett monitor", + "block.computercraft.monitor_normal": "Monitor", + "block.computercraft.printer": "Nyomtató", + "block.computercraft.redstone_relay": "Redstone jelfogó", + "block.computercraft.speaker": "Hangszóró", + "block.computercraft.turtle_advanced": "Fejlett teknős", + "block.computercraft.turtle_advanced.upgraded": "Fejlett %s teknős", + "block.computercraft.turtle_advanced.upgraded_twice": "Fejlett %s %s teknős", + "block.computercraft.turtle_normal": "Teknős", + "block.computercraft.turtle_normal.upgraded": "%s teknős", + "block.computercraft.turtle_normal.upgraded_twice": "%s %s teknős", + "block.computercraft.wired_modem": "Vezetékes modem", + "block.computercraft.wired_modem_full": "Vezetékes modem", + "block.computercraft.wireless_modem_advanced": "Ender modem", + "block.computercraft.wireless_modem_normal": "Vezeték nélküli modem", + "chat.computercraft.wired_modem.peripheral_connected": "Periféria \"%s\" csatlakoztatva a hálózathoz", + "chat.computercraft.wired_modem.peripheral_disconnected": "Periféria \"%s\" lecsatlakoztatva a hálózatról", + "commands.computercraft.desc": "A /computercraft parancs különböző hibakereső és adminisztrációs eszközöket biztosít a számítógépek vezérléséhez és kezeléséhez.", + "commands.computercraft.dump.action": "További információ a számítógépről", + "commands.computercraft.dump.desc": "Az összes számítógép állapotát, vagy egy konkrét számítógépről szóló információkat jeleníti meg. Megadhatod a számítógép példányazonosítóját (pl. 123), számítógép azonosítóját (pl. #123) vagy címkéjét (pl. \"@Saját Számítógép\").", + "commands.computercraft.dump.open_path": "Nézd meg ennek a számítógépnek a fájljait", + "commands.computercraft.dump.synopsis": "Számítógépek állapotának megjelenítése.", + "commands.computercraft.generic.additional_rows": "%d további sor…", + "commands.computercraft.generic.exception": "Kezelhetetlen kivétel (%s)", + "commands.computercraft.generic.no": "N", + "commands.computercraft.generic.yes": "I", + "commands.computercraft.help.desc": "Megjeleníti ezt a súgóüzenetet", + "commands.computercraft.help.no_children": "%s nem rendelkezik alparancsokkal", + "commands.computercraft.help.no_command": "Nincs ilyen parancs '%s'", + "commands.computercraft.help.synopsis": "Súgó biztosítása egy adott parancshoz", + "commands.computercraft.queue.desc": "Számítógép_parancs eseményt küld egy parancsszámítógépnek, további argumentumok továbbításával. Ez főleg térképkészítők számára készült, mint egy számítógépbarátabb változata a /trigger parancsnak. Bármelyik játékos futtathatja a parancsot, amit valószínűleg egy szövegelem kattintási eseményén keresztül végeznek.", + "commands.computercraft.queue.synopsis": "Számítógép_parancs esemény küldése egy parancsszámítógépnek", + "commands.computercraft.shutdown.desc": "Leállítja a megadott számítógépeket, vagy mindet, ha nincs megadva. Megadhatod a számítógép példányazonosítóját (pl. 123), számítógép azonosítóját (pl. #123) vagy címkéjét (pl. \"@Saját Számítógép\").", + "commands.computercraft.shutdown.done": "%s/%s számítógép leállítva", + "commands.computercraft.shutdown.synopsis": "Számítógépek távoli leállítása.", + "commands.computercraft.synopsis": "Különféle parancsok számítógépek vezérlésére.", + "commands.computercraft.tp.action": "Teleportálj ehhez a számítógéphez", + "commands.computercraft.tp.desc": "Teleportálj egy számítógép helyére. Megadhatod a számítógép példányazonosítóját (pl. 123) vagy számítógép azonosítóját (pl. #123).", + "commands.computercraft.tp.synopsis": "Teleportálás egy adott számítógéphez.", + "commands.computercraft.track.desc": "Követi, mennyi ideig futnak a számítógépek, valamint hány eseményt kezelnek. Ez hasonló információkat nyújt, mint a /forge track, és hasznos lehet a késés diagnosztizálásában.", + "commands.computercraft.track.dump.computer": "Számítógép", + "commands.computercraft.track.dump.desc": "A számítógépes követés legfrissebb eredményeinek megjelenítése.", + "commands.computercraft.track.dump.no_timings": "Nincsenek elérhető időzítések", + "commands.computercraft.track.dump.synopsis": "A legfrissebb követési eredmények megjelenítése", + "commands.computercraft.track.start.desc": "Minden számítógép végrehajtási idejének és eseményszámának követését indítja. Ezzel az előző futások eredményei elvesznek.", + "commands.computercraft.track.start.stop": "Futtasd a %s parancsot a követés leállításához és az eredmények megtekintéséhez", + "commands.computercraft.track.start.synopsis": "Minden számítógép követésének indítása", + "commands.computercraft.track.stop.action": "Kattints a követés leállításához", + "commands.computercraft.track.stop.desc": "Minden számítógépes esemény és végrehajtási idő követésének leállítása", + "commands.computercraft.track.stop.not_enabled": "A számítógépek jelenleg nem követhetők", + "commands.computercraft.track.stop.synopsis": "Minden számítógép követésének leállítása", + "commands.computercraft.track.synopsis": "Számítógépek végrehajtási idejének követése.", + "commands.computercraft.turn_on.desc": "Kapcsold be a megadott számítógépeket. Megadhatod a számítógép példányazonosítóját (pl. 123), számítógép azonosítóját (pl. #123) vagy címkéjét (pl. \"@Saját Számítógép\").", + "commands.computercraft.turn_on.done": "%s/%s számítógép bekapcsolva", + "commands.computercraft.turn_on.synopsis": "Számítógépek távoli bekapcsolása.", + "commands.computercraft.view.action": "Nézd meg ezt a számítógépet", + "commands.computercraft.view.desc": "Nyisd meg egy számítógép terminálját, amely lehetővé teszi a távoli vezérlést. Ez nem biztosít hozzáférést a teknősök leltárához. Megadhatod a számítógép példányazonosítóját (pl. 123) vagy számítógép azonosítóját (pl. #123).", + "commands.computercraft.view.not_player": "Nem lehet terminált nyitni nem-játékos entitáshoz", + "commands.computercraft.view.synopsis": "Számítógép termináljának megtekintése.", + "gui.computercraft.config.command_require_creative": "Parancsszámítógépekhez kreatív mód szükséges", + "gui.computercraft.config.command_require_creative.tooltip": "Szükséges, hogy a játékosok kreatív módban legyenek és rendelkezzenek adminisztrátori jogosultsággal a parancsszámítógépek használatához. Ez az alapértelmezett viselkedés a Minecraft parancsblokkjaihoz.", + "gui.computercraft.config.computer_space_limit": "Számítógép tárhelykorlát (byte-ban)", + "gui.computercraft.config.computer_space_limit.tooltip": "A számítógépek és teknősök lemezterületének korlátja, byte-ban.", + "gui.computercraft.config.default_computer_settings": "Alapértelmezett számítógép-beállítások", + "gui.computercraft.config.default_computer_settings.tooltip": "Alapértelmezett rendszerbeállítások vesszővel elválasztott listája, amelyek az új számítógépekre vonatkoznak.\nPélda: \"shell.autocomplete=false,lua.autocomplete=false,edit.autocomplete=false\" letiltja az automatikus kiegészítést.", + "gui.computercraft.config.disabled_generic_methods": "Letiltott általános metódusok", + "gui.computercraft.config.disabled_generic_methods.tooltip": "Általános metódusok vagy metódusforrások listája, amelyek le vannak tiltva. Az általános metódusokat akkor adják hozzá egy blokkhoz vagy blokk entitáshoz, ha nincs kifejezetten hozzárendelt periféria-szolgáltató. Ez magában foglalja a leltár metódusokat (pl. inventory.getItemDetail, inventory.pushItems), valamint (Forge esetén) a fluid_storage és energy_storage metódusokat is.\nA listában lévő metódus lehet egy teljes metóduscsoport (computercraft:inventory), vagy egyetlen metódus (computercraft:inventory#pushItems).", + "gui.computercraft.config.execution": "Végrehajtás", + "gui.computercraft.config.execution.computer_threads": "Számítógép szálak", + "gui.computercraft.config.execution.computer_threads.tooltip": "Az egyidejűleg futó számítógépek számát szabályozza. A magasabb szám több számítógép egyidejű futását teszi lehetővé, de lassulást okozhat. Vegye figyelembe, hogy néhány mod nem működik, ha a szálak száma meghaladja az 1-et. Óvatosan használja.\nTartomány: > 1", + "gui.computercraft.config.execution.max_main_computer_time": "Szerver tick számítógépidő-korlát", + "gui.computercraft.config.execution.max_main_computer_time.tooltip": "Az ideális maximális idő, ameddig egy számítógép egy tick-ben futtathat, milliszekundumban. Megjegyzés: Lehetséges, hogy túllépjük ezt a határt, mivel nincs mód az idő pontos előrejelzésére - ez az átlagos felső határ.", + "gui.computercraft.config.execution.max_main_global_time": "Szerver tick globális időkorlát", + "gui.computercraft.config.execution.max_main_global_time.tooltip": "Az egy tick-ben feladatok végrehajtására fordított maximális idő, milliszekundumban.", + "gui.computercraft.config.execution.tooltip": "A számítógépek végrehajtási viselkedését szabályozza. Ez elsősorban szerverek finomhangolására szolgál, és általában nem szükséges megváltoztatni.", + "gui.computercraft.config.floppy_space_limit": "Floppy lemez tárhelykorlát (byte-ban)", + "gui.computercraft.config.floppy_space_limit.tooltip": "A floppy lemezek lemezterületének korlátja, byte-ban.", + "gui.computercraft.config.http": "HTTP", + "gui.computercraft.config.http.bandwidth": "Sávszélesség", + "gui.computercraft.config.http.bandwidth.global_download": "Globális letöltési korlát", + "gui.computercraft.config.http.bandwidth.global_download.tooltip": "Az egy másodperc alatt letölthető byte-ok száma, amelyet minden számítógép oszt meg. (byte/s).\nTartomány: > 1", + "gui.computercraft.config.http.bandwidth.global_upload": "Globális feltöltési korlát", + "gui.computercraft.config.http.bandwidth.global_upload.tooltip": "Az egy másodperc alatt feltölthető byte-ok száma, amelyet minden számítógép oszt meg. (byte/s).\nTartomány: > 1", + "gui.computercraft.config.http.bandwidth.tooltip": "A számítógépek által használt sávszélességet korlátozza.", + "gui.computercraft.config.http.enabled": "HTTP API engedélyezése", + "gui.computercraft.config.http.enabled.tooltip": "Az \"http\" API engedélyezése a számítógépeken. Ha letiltjuk, akkor az \"http\", \"pastebin\" és \"wget\" programok is le lesznek tiltva, amelyeket sok felhasználó használ. Ajánlott engedélyezve hagyni, és a \"rules\" beállítás használatával finomhangolni a szabályozást.", + "gui.computercraft.config.http.max_requests": "Maximális egyidejű kérések", + "gui.computercraft.config.http.max_requests.tooltip": "Az egyszerre elküldhető http kérések száma egy számítógépen. A további kérések sorba állnak, és akkor kerülnek elküldésre, amikor a futó kérések befejeződtek. 0-ra állítva nincs korlátozás.\nTartomány: > 0", + "gui.computercraft.config.http.max_websockets": "Maximális egyidejű websockets", + "gui.computercraft.config.http.max_websockets.tooltip": "Az egyszerre megnyitható websockets száma egy számítógépen.\nTartomány: > 1", + "gui.computercraft.config.http.proxy": "Proxy", + "gui.computercraft.config.http.proxy.host": "Hosztnév", + "gui.computercraft.config.http.proxy.host.tooltip": "A proxy szerver hosztneve vagy IP-címe.", + "gui.computercraft.config.http.proxy.port": "Port", + "gui.computercraft.config.http.proxy.port.tooltip": "A proxy szerver portja.\nTartomány: 1 ~ 65536", + "gui.computercraft.config.http.proxy.tooltip": "Az HTTP és websocket kérések proxy szerveren keresztüli alagútba helyezése. Csak az \"use_proxy\" igazra állított HTTP szabályok esetén hatékony (alapértelmezésben kikapcsolva).", + "gui.computercraft.config.http.proxy.type": "Proxy típus", + "gui.computercraft.config.http.proxy.type.tooltip": "A használni kívánt proxy típus.\nMegengedett értékek: HTTP, HTTPS, SOCKS4, SOCKS5", + "gui.computercraft.config.http.rules": "Engedélyezés/tiltás szabályok", + "gui.computercraft.config.http.rules.tooltip": "Szabályok listája, amelyek szabályozzák az \"http\" API viselkedését adott domainek vagy IP-k számára. Minden szabály egy hosztnévre és egy opcionális portra vonatkozik, majd több tulajdonságot állít be a kéréshez. A szabályok sorrendben kerülnek értékelésre, így az előbbi szabályok felülírják a későbbieket.\n\nÉrvényes tulajdonságok:\n - \"host\" (kötelező): Az a domain vagy IP-cím, amelyre ez a szabály vonatkozik. Ez lehet domain név (\"pastebin.com\"), helyettesítő karakter (\"*.pastebin.com\") vagy CIDR jelölés (\"127.0.0.0/8\").\n - \"port\" (opcionális): Csak adott porttal rendelkező kérésekre vonatkozik, mint például 80 vagy 443.\n\n - \"action\" (opcionális): Azt határozza meg, hogy engedélyezett vagy tiltott legyen-e a kérés.\n - \"max_download\" (opcionális): A maximális méret (byte-ban), amit egy számítógép letölthet ezen a kérésen keresztül.\n - \"max_upload\" (opcionális): A maximális méret (byte-ban), amit egy számítógép feltölthet ezen a kérésen keresztül.\n - \"max_websocket_message\" (opcionális): A maximális méret (byte-ban), amit egy számítógép egy websocket csomagon keresztül küldhet vagy fogadhat.\n - \"use_proxy\" (opcionális): Proxy vagy HTTP/SOCKS proxy használata, ha be van állítva.", + "gui.computercraft.config.http.tooltip": "A HTTP API szabályozása", + "gui.computercraft.config.http.websocket_enabled": "Websockets engedélyezése", + "gui.computercraft.config.http.websocket_enabled.tooltip": "A websockets használatának engedélyezése az http segítségével. Ehhez az \"http_enable\" opciónak is igaznak kell lennie.", + "gui.computercraft.config.log_computer_errors": "Számítógép hibáinak naplózása", + "gui.computercraft.config.log_computer_errors.tooltip": "A perifériák és más Lua objektumok által kiváltott kivételek naplózása. Ez segíthet a mod készítőknek a hibák megoldásában, de túl sok naplózott hiba esetén log-túltelítettséget eredményezhet.", + "gui.computercraft.config.maximum_open_files": "Maximálisan megnyitható fájlok száma számítógépenként", + "gui.computercraft.config.maximum_open_files.tooltip": "Beállítja, hogy egy számítógép hány fájlt nyithat meg egyszerre. 0-ra állítva nincs korlátozás.\nTartomány: > 0", + "gui.computercraft.config.monitor_distance": "Monitor távolság", + "gui.computercraft.config.monitor_distance.tooltip": "A monitorok maximális megjelenítési távolsága. Alapértelmezés szerint a szabványos blokk entitás korlátot használja, de ha nagyobb monitorokat szeretne építeni, akkor ezt növelheti.\nTartomány: 16 ~ 1024", + "gui.computercraft.config.monitor_renderer": "Monitor renderelő", + "gui.computercraft.config.monitor_renderer.tooltip": "A monitorok renderelőjének beállítása. Általában érdemes \"legjobb\" értéken hagyni - ha a monitorok teljesítményproblémákat okoznak, kipróbálhat más renderelő opciókat.\nMegengedett értékek: BEST, TBO, VBO", + "gui.computercraft.config.peripheral": "Perifériák", + "gui.computercraft.config.peripheral.command_block_enabled": "Parancsblokk periféria engedélyezése", + "gui.computercraft.config.peripheral.command_block_enabled.tooltip": "Parancsblokk periféria támogatásának engedélyezése", + "gui.computercraft.config.peripheral.max_notes_per_tick": "Egy tick alatt játszható maximális hangjegyek száma", + "gui.computercraft.config.peripheral.max_notes_per_tick.tooltip": "A hangszóró által egy tick alatt lejátszható maximális hangjegyek száma.\nTartomány: > 1", + "gui.computercraft.config.peripheral.modem_high_altitude_range": "Modem hatótávolság (magas magasság)", + "gui.computercraft.config.peripheral.modem_high_altitude_range.tooltip": "A vezeték nélküli modemek hatótávolsága maximális magasságban, tiszta időben, méterben.\nTartomány: 0 ~ 100000", + "gui.computercraft.config.peripheral.modem_high_altitude_range_during_storm": "Modem hatótávolság (magas magasság, viharos idő)", + "gui.computercraft.config.peripheral.modem_high_altitude_range_during_storm.tooltip": "A vezeték nélküli modemek hatótávolsága maximális magasságban viharos időben, méterben.\nTartomány: 0 ~ 100000", + "gui.computercraft.config.peripheral.modem_range": "Modem hatótávolság (alapértelmezett)", + "gui.computercraft.config.peripheral.modem_range.tooltip": "A vezeték nélküli modemek hatótávolsága alacsony magasságban, tiszta időben, méterben.\nTartomány: 0 ~ 100000", + "gui.computercraft.config.peripheral.modem_range_during_storm": "Modem hatótávolság (viharos idő)", + "gui.computercraft.config.peripheral.modem_range_during_storm.tooltip": "A vezeték nélküli modemek hatótávolsága alacsony magasságban, viharos időben, méterben.\nTartomány: 0 ~ 100000", + "gui.computercraft.config.peripheral.monitor_bandwidth": "Monitor sávszélesség", + "gui.computercraft.config.peripheral.monitor_bandwidth.tooltip": "A monitoronként elküldhető adatkorlát *tick-enként*. Megjegyzés:\n - A sávszélességet a tömörítés előtt mérjük, így az ügyfélhez elküldött adat kisebb.\n - Nem veszi figyelembe a játékosok számát, akiknek egy csomagot küldünk. Egy monitor frissítése egy játékos számára ugyanolyan sávszélesség-korlátot fogyaszt, mint 20 játékosnak küldve.\n - Egy teljes méretű monitor ~25kb adatot küld. Az alapértelmezett érték (1MB) ~40 monitor frissítését teszi lehetővé egyetlen tick-ben.\n0-ra állítva letiltja.\nTartomány: > 0", + "gui.computercraft.config.peripheral.tooltip": "Különböző beállítások a perifériákhoz.", + "gui.computercraft.config.term_sizes": "Terminál méretek", + "gui.computercraft.config.term_sizes.computer": "Számítógép", + "gui.computercraft.config.term_sizes.computer.height": "Terminál magasság", + "gui.computercraft.config.term_sizes.computer.height.tooltip": "Tartomány: 1 ~ 255", + "gui.computercraft.config.term_sizes.computer.tooltip": "Számítógépek terminálmérete.", + "gui.computercraft.config.term_sizes.computer.width": "Terminál szélesség", + "gui.computercraft.config.term_sizes.computer.width.tooltip": "Tartomány: 1 ~ 255", + "gui.computercraft.config.term_sizes.monitor": "Monitor", + "gui.computercraft.config.term_sizes.monitor.height": "Maximális monitor magasság", + "gui.computercraft.config.term_sizes.monitor.height.tooltip": "Tartomány: 1 ~ 32", + "gui.computercraft.config.term_sizes.monitor.tooltip": "A monitorok maximális mérete (blokkokban).", + "gui.computercraft.config.term_sizes.monitor.width": "Maximális monitor szélesség", + "gui.computercraft.config.term_sizes.monitor.width.tooltip": "Tartomány: 1 ~ 32", + "gui.computercraft.config.term_sizes.pocket_computer": "Zseb számítógép", + "gui.computercraft.config.term_sizes.pocket_computer.height": "Terminál magasság", + "gui.computercraft.config.term_sizes.pocket_computer.height.tooltip": "Tartomány: 1 ~ 255", + "gui.computercraft.config.term_sizes.pocket_computer.tooltip": "Zseb számítógépek terminálmérete.", + "gui.computercraft.config.term_sizes.pocket_computer.width": "Terminál szélesség", + "gui.computercraft.config.term_sizes.pocket_computer.width.tooltip": "Tartomány: 1 ~ 255", + "gui.computercraft.config.term_sizes.tooltip": "Különböző számítógépek terminálméretének konfigurálása.\nA nagyobb terminálok több sávszélességet igényelnek, ezért óvatosan használjuk.", + "gui.computercraft.config.turtle": "Teknősök", + "gui.computercraft.config.turtle.advanced_fuel_limit": "Fejlett teknős üzemanyag korlát", + "gui.computercraft.config.turtle.advanced_fuel_limit.tooltip": "A fejlett teknősök üzemanyag korlátja.\nTartomány: > 0", + "gui.computercraft.config.turtle.can_push": "A teknősök tolják az entitásokat", + "gui.computercraft.config.turtle.can_push.tooltip": "Ha be van állítva igazra, a teknősök eltolják az entitásokat az útból, ha van elég hely, ahelyett, hogy megállnának.", + "gui.computercraft.config.turtle.need_fuel": "Üzemanyag szükséges", + "gui.computercraft.config.turtle.need_fuel.tooltip": "Beállítja, hogy a teknősöknek szükségük van-e üzemanyagra a mozgáshoz.", + "gui.computercraft.config.turtle.normal_fuel_limit": "Teknős üzemanyag korlát", + "gui.computercraft.config.turtle.normal_fuel_limit.tooltip": "A teknősök üzemanyag korlátja.\nTartomány: > 0", + "gui.computercraft.config.turtle.tooltip": "Különböző beállítások a teknősökhöz.", + "gui.computercraft.config.upload_max_size": "Feltöltési fájlméret korlát (byte-ban)", + "gui.computercraft.config.upload_max_size.tooltip": "A feltöltési fájlméret korlátja, byte-ban. A tartománynak 1 KiB és 16 MiB között kell lennie.\nVegye figyelembe, hogy a feltöltések egyetlen tick alatt kerülnek feldolgozásra - a nagy fájlok vagy a gyenge hálózati teljesítmény leállíthatják a hálózati szálat. És figyeljünk a lemezterületre!\nTartomány: 1024 ~ 16777216", + "gui.computercraft.config.upload_nag_delay": "Feltöltési figyelmeztetési késleltetés", + "gui.computercraft.config.upload_nag_delay.tooltip": "Az a késleltetés másodpercben, ami után figyelmeztetést kapunk a feldolgozatlan importokról. 0-ra állítva letiltja.\nTartomány: 0 ~ 60", + "gui.computercraft.pocket_computer_overlay": "Zseb számítógép megnyitva. Nyomd meg az ESC-t a bezáráshoz.", + "gui.computercraft.terminal": "Számítógép terminál", + "gui.computercraft.tooltip.computer_id": "Számítógép ID: %s", + "gui.computercraft.tooltip.copy": "Másolás vágólapra", + "gui.computercraft.tooltip.disk_id": "Lemez ID: %s", + "gui.computercraft.tooltip.terminate": "A futó kód leállítása", + "gui.computercraft.tooltip.terminate.key": "Tartsd lenyomva a Ctrl+T billentyűket", + "gui.computercraft.tooltip.turn_off": "Kapcsold ki ezt a számítógépet", + "gui.computercraft.tooltip.turn_off.key": "Tartsd lenyomva a Ctrl+S billentyűket", + "gui.computercraft.tooltip.turn_on": "Kapcsold be ezt a számítógépet", + "gui.computercraft.upload.failed": "Feltöltés sikertelen", + "gui.computercraft.upload.failed.computer_off": "Be kell kapcsolnod a számítógépet a fájlok feltöltéséhez.", + "gui.computercraft.upload.failed.corrupted": "Fájlok megsérültek a feltöltés során. Kérlek próbáld újra.", + "gui.computercraft.upload.failed.generic": "Feltöltés sikertelen (%s)", + "gui.computercraft.upload.failed.name_too_long": "A fájlnevek túl hosszúak a feltöltéshez.", + "gui.computercraft.upload.failed.too_many_files": "Nem lehet ilyen sok fájlt feltölteni.", + "gui.computercraft.upload.failed.too_much": "A fájlok túl nagyok a feltöltéshez.", + "gui.computercraft.upload.no_response": "Fájlok átvitele", + "gui.computercraft.upload.no_response.msg": "A számítógéped nem használta a továbbított fájlokat. Lehet, hogy futtatnod kell a %s programot, majd újra próbálkozni.", + "item.computercraft.disk": "Floppy lemez", + "item.computercraft.pocket_computer_advanced": "Fejlett zseb számítógép", + "item.computercraft.pocket_computer_advanced.upgraded": "Fejlett %s zseb számítógép", + "item.computercraft.pocket_computer_normal": "Zseb számítógép", + "item.computercraft.pocket_computer_normal.upgraded": "%s zseb számítógép", + "item.computercraft.printed_book": "Nyomtatott könyv", + "item.computercraft.printed_page": "Nyomtatott oldal", + "item.computercraft.printed_pages": "Nyomtatott oldalak", + "item.computercraft.treasure_disk": "Floppy lemez", + "itemGroup.computercraft": "ComputerCraft", + "tag.item.computercraft.computer": "Számítógépek", + "tag.item.computercraft.disks": "Disks", + "tag.item.computercraft.monitor": "Monitorok", + "tag.item.computercraft.pocket_computers": "Pocket Computers", + "tag.item.computercraft.turtle": "Teknősök", + "tag.item.computercraft.wired_modem": "Vezetékes modemek", + "tracking_field.computercraft.avg": "%s (átlag)", + "tracking_field.computercraft.computer_tasks.name": "Feladatok", + "tracking_field.computercraft.count": "%s (szám)", + "tracking_field.computercraft.fs.name": "Fájlrendszer műveletek", + "tracking_field.computercraft.http_download.name": "HTTP letöltés", + "tracking_field.computercraft.http_requests.name": "HTTP kérések", + "tracking_field.computercraft.http_upload.name": "HTTP feltöltés", + "tracking_field.computercraft.max": "%s (max)", + "tracking_field.computercraft.peripheral.name": "Periféria hívások", + "tracking_field.computercraft.server_tasks.name": "Szerver feladatok", + "tracking_field.computercraft.turtle_ops.name": "Teknős műveletek", + "tracking_field.computercraft.websocket_incoming.name": "Websocket bejövő", + "tracking_field.computercraft.websocket_outgoing.name": "Websocket kimenő", + "upgrade.computercraft.speaker.adjective": "Hangos", + "upgrade.computercraft.wireless_modem_advanced.adjective": "Ender", + "upgrade.computercraft.wireless_modem_normal.adjective": "Vezeték nélküli", + "upgrade.minecraft.crafting_table.adjective": "Kézműves", + "upgrade.minecraft.diamond_axe.adjective": "Fanyeső", + "upgrade.minecraft.diamond_hoe.adjective": "Gazdálkodó", + "upgrade.minecraft.diamond_pickaxe.adjective": "Bányász", + "upgrade.minecraft.diamond_shovel.adjective": "Ásó", + "upgrade.minecraft.diamond_sword.adjective": "Közelharci" +} From 3cf914cb4cfda1875e0cbee5d7ec2548f623b6e3 Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Thu, 10 Jul 2025 00:46:07 +0100 Subject: [PATCH 4/6] Fix NPE when loading mcfunctions CommandSourceStack.getServer can be null, despite being marked as non-nullable. Mojang!!! *shakes fist* Fixes #2235. --- .../java/dan200/computercraft/shared/command/UserLevel.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/projects/common/src/main/java/dan200/computercraft/shared/command/UserLevel.java b/projects/common/src/main/java/dan200/computercraft/shared/command/UserLevel.java index ab7709b90..66e239146 100644 --- a/projects/common/src/main/java/dan200/computercraft/shared/command/UserLevel.java +++ b/projects/common/src/main/java/dan200/computercraft/shared/command/UserLevel.java @@ -50,6 +50,12 @@ public enum UserLevel implements Predicate { public static boolean isOwner(CommandSourceStack source) { var server = source.getServer(); + + // While CommandSourceStack.getServer is non-nullable, that's a lie for permission checks. When loading + // .mcfunction files, ServerFunctionLibrary constructs an instance with an empty server. In that case, return + // false — we don't want to treat functions as an owner! + if (server == null) return false; + var player = source.getPlayer(); return server.isDedicatedServer() ? source.getEntity() == null && source.hasPermission(4) && source.getTextName().equals("Server") From 44726827b442991d3fccdfe0c5108567d3be88cd Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Sat, 12 Jul 2025 09:49:14 +0100 Subject: [PATCH 5/6] Sync translations from Crowdin --- .../assets/computercraft/lang/hu_hu.json | 11 -- .../assets/computercraft/lang/zh_cn.json | 128 +++++++++--------- 2 files changed, 64 insertions(+), 75 deletions(-) diff --git a/projects/common/src/main/resources/assets/computercraft/lang/hu_hu.json b/projects/common/src/main/resources/assets/computercraft/lang/hu_hu.json index 8561803df..8dff0d3b8 100644 --- a/projects/common/src/main/resources/assets/computercraft/lang/hu_hu.json +++ b/projects/common/src/main/resources/assets/computercraft/lang/hu_hu.json @@ -15,7 +15,6 @@ "block.computercraft.computer_normal": "Számítógép", "block.computercraft.disk_drive": "Lemezmeghajtó", "block.computercraft.monitor_advanced": "Fejlett monitor", - "block.computercraft.monitor_normal": "Monitor", "block.computercraft.printer": "Nyomtató", "block.computercraft.redstone_relay": "Redstone jelfogó", "block.computercraft.speaker": "Hangszóró", @@ -38,7 +37,6 @@ "commands.computercraft.dump.synopsis": "Számítógépek állapotának megjelenítése.", "commands.computercraft.generic.additional_rows": "%d további sor…", "commands.computercraft.generic.exception": "Kezelhetetlen kivétel (%s)", - "commands.computercraft.generic.no": "N", "commands.computercraft.generic.yes": "I", "commands.computercraft.help.desc": "Megjeleníti ezt a súgóüzenetet", "commands.computercraft.help.no_children": "%s nem rendelkezik alparancsokkal", @@ -91,7 +89,6 @@ "gui.computercraft.config.execution.tooltip": "A számítógépek végrehajtási viselkedését szabályozza. Ez elsősorban szerverek finomhangolására szolgál, és általában nem szükséges megváltoztatni.", "gui.computercraft.config.floppy_space_limit": "Floppy lemez tárhelykorlát (byte-ban)", "gui.computercraft.config.floppy_space_limit.tooltip": "A floppy lemezek lemezterületének korlátja, byte-ban.", - "gui.computercraft.config.http": "HTTP", "gui.computercraft.config.http.bandwidth": "Sávszélesség", "gui.computercraft.config.http.bandwidth.global_download": "Globális letöltési korlát", "gui.computercraft.config.http.bandwidth.global_download.tooltip": "Az egy másodperc alatt letölthető byte-ok száma, amelyet minden számítógép oszt meg. (byte/s).\nTartomány: > 1", @@ -104,10 +101,8 @@ "gui.computercraft.config.http.max_requests.tooltip": "Az egyszerre elküldhető http kérések száma egy számítógépen. A további kérések sorba állnak, és akkor kerülnek elküldésre, amikor a futó kérések befejeződtek. 0-ra állítva nincs korlátozás.\nTartomány: > 0", "gui.computercraft.config.http.max_websockets": "Maximális egyidejű websockets", "gui.computercraft.config.http.max_websockets.tooltip": "Az egyszerre megnyitható websockets száma egy számítógépen.\nTartomány: > 1", - "gui.computercraft.config.http.proxy": "Proxy", "gui.computercraft.config.http.proxy.host": "Hosztnév", "gui.computercraft.config.http.proxy.host.tooltip": "A proxy szerver hosztneve vagy IP-címe.", - "gui.computercraft.config.http.proxy.port": "Port", "gui.computercraft.config.http.proxy.port.tooltip": "A proxy szerver portja.\nTartomány: 1 ~ 65536", "gui.computercraft.config.http.proxy.tooltip": "Az HTTP és websocket kérések proxy szerveren keresztüli alagútba helyezése. Csak az \"use_proxy\" igazra állított HTTP szabályok esetén hatékony (alapértelmezésben kikapcsolva).", "gui.computercraft.config.http.proxy.type": "Proxy típus", @@ -148,7 +143,6 @@ "gui.computercraft.config.term_sizes.computer.tooltip": "Számítógépek terminálmérete.", "gui.computercraft.config.term_sizes.computer.width": "Terminál szélesség", "gui.computercraft.config.term_sizes.computer.width.tooltip": "Tartomány: 1 ~ 255", - "gui.computercraft.config.term_sizes.monitor": "Monitor", "gui.computercraft.config.term_sizes.monitor.height": "Maximális monitor magasság", "gui.computercraft.config.term_sizes.monitor.height.tooltip": "Tartomány: 1 ~ 32", "gui.computercraft.config.term_sizes.monitor.tooltip": "A monitorok maximális mérete (blokkokban).", @@ -203,11 +197,8 @@ "item.computercraft.printed_page": "Nyomtatott oldal", "item.computercraft.printed_pages": "Nyomtatott oldalak", "item.computercraft.treasure_disk": "Floppy lemez", - "itemGroup.computercraft": "ComputerCraft", "tag.item.computercraft.computer": "Számítógépek", - "tag.item.computercraft.disks": "Disks", "tag.item.computercraft.monitor": "Monitorok", - "tag.item.computercraft.pocket_computers": "Pocket Computers", "tag.item.computercraft.turtle": "Teknősök", "tag.item.computercraft.wired_modem": "Vezetékes modemek", "tracking_field.computercraft.avg": "%s (átlag)", @@ -217,14 +208,12 @@ "tracking_field.computercraft.http_download.name": "HTTP letöltés", "tracking_field.computercraft.http_requests.name": "HTTP kérések", "tracking_field.computercraft.http_upload.name": "HTTP feltöltés", - "tracking_field.computercraft.max": "%s (max)", "tracking_field.computercraft.peripheral.name": "Periféria hívások", "tracking_field.computercraft.server_tasks.name": "Szerver feladatok", "tracking_field.computercraft.turtle_ops.name": "Teknős műveletek", "tracking_field.computercraft.websocket_incoming.name": "Websocket bejövő", "tracking_field.computercraft.websocket_outgoing.name": "Websocket kimenő", "upgrade.computercraft.speaker.adjective": "Hangos", - "upgrade.computercraft.wireless_modem_advanced.adjective": "Ender", "upgrade.computercraft.wireless_modem_normal.adjective": "Vezeték nélküli", "upgrade.minecraft.crafting_table.adjective": "Kézműves", "upgrade.minecraft.diamond_axe.adjective": "Fanyeső", diff --git a/projects/common/src/main/resources/assets/computercraft/lang/zh_cn.json b/projects/common/src/main/resources/assets/computercraft/lang/zh_cn.json index ef2d8afbf..05b37415c 100644 --- a/projects/common/src/main/resources/assets/computercraft/lang/zh_cn.json +++ b/projects/common/src/main/resources/assets/computercraft/lang/zh_cn.json @@ -1,19 +1,19 @@ { "argument.computercraft.argument_expected": "预期自变量", "argument.computercraft.computer.distance": "实体距离", - "argument.computercraft.computer.family": "电脑类别", - "argument.computercraft.computer.id": "电脑ID", + "argument.computercraft.computer.family": "计算机类别", + "argument.computercraft.computer.id": "计算机ID", "argument.computercraft.computer.instance": "唯一实例ID", - "argument.computercraft.computer.label": "电脑标签", + "argument.computercraft.computer.label": "计算机标签", "argument.computercraft.computer.many_matching": "多台计算机匹配'%s' (实例%s)", "argument.computercraft.computer.no_matching": "没有计算机匹配'%s'", "argument.computercraft.tracking_field.no_field": "未知字段'%s'", - "argument.computercraft.unknown_computer_family": "未知电脑类别 '%s'", - "block.computercraft.cable": "网络电缆", + "argument.computercraft.unknown_computer_family": "未知计算机类别“%s”", + "block.computercraft.cable": "网络线缆", "block.computercraft.computer_advanced": "高级计算机", - "block.computercraft.computer_command": "命令电脑", + "block.computercraft.computer_command": "命令计算机", "block.computercraft.computer_normal": "计算机", - "block.computercraft.disk_drive": "磁盘驱动器", + "block.computercraft.disk_drive": "软盘驱动器", "block.computercraft.monitor_advanced": "高级显示器", "block.computercraft.monitor_normal": "显示器", "block.computercraft.printer": "打印机", @@ -29,36 +29,36 @@ "block.computercraft.wired_modem_full": "有线调制解调器", "block.computercraft.wireless_modem_advanced": "末影调制解调器", "block.computercraft.wireless_modem_normal": "无线调制解调器", - "chat.computercraft.wired_modem.peripheral_connected": "外部设备\"%s\"连接到网络", - "chat.computercraft.wired_modem.peripheral_disconnected": "外部设备\"%s\"与网络断开连接", + "chat.computercraft.wired_modem.peripheral_connected": "外部设备\"%s\"已连接到网络", + "chat.computercraft.wired_modem.peripheral_disconnected": "外部设备\"%s\"已与网络断开连接", "commands.computercraft.desc": "/computercraft命令提供各种调试和管理工具,用于控制和与计算机交互.", "commands.computercraft.dump.action": "查看有关此计算机的更多信息", "commands.computercraft.dump.desc": "显示所有计算机的状态或某台计算机的特定信息. 你可以指定计算机的实例id (例如. 123), 计算机id (例如. #123)或标签(例如. \"@My Computer\").", - "commands.computercraft.dump.open_path": "查看该电脑的文件", - "commands.computercraft.dump.synopsis": "显示计算机的状态.", - "commands.computercraft.generic.additional_rows": "%d额外的行…", - "commands.computercraft.generic.exception": "未处理的异常(%s)", - "commands.computercraft.generic.no": "N", - "commands.computercraft.generic.yes": "Y", + "commands.computercraft.dump.open_path": "查看此计算机的文件", + "commands.computercraft.dump.synopsis": "显示计算机的状态。", + "commands.computercraft.generic.additional_rows": "%d额外的行……", + "commands.computercraft.generic.exception": "未处理的异常(%s)", + "commands.computercraft.generic.no": "否", + "commands.computercraft.generic.yes": "是", "commands.computercraft.help.desc": "显示该帮助信息", "commands.computercraft.help.no_children": "%s没有子命令", - "commands.computercraft.help.no_command": "没有这样的命令'%s'", + "commands.computercraft.help.no_command": "没有这样的命令“%s”", "commands.computercraft.help.synopsis": "为特定的命令提供帮助", "commands.computercraft.queue.desc": "发送computer_command事件到命令计算机,并传递其他参数. 这主要是为地图制作者设计的, 作为/trigger更加计算机友好的版本. 任何玩家都可以运行命令, 这很可能是通过文本组件的点击事件完成的.", "commands.computercraft.queue.synopsis": "将computer_command事件发送到命令计算机", - "commands.computercraft.shutdown.desc": "关闭列出的计算机或全部计算机(如果未指定). 你可以指定计算机的实例id (例如. 123), 计算机id (例如. #123)或标签(例如. \"@My Computer\").", + "commands.computercraft.shutdown.desc": "关闭列出的计算机或全部计算机(如果未指定)。你可以指定计算机的实例id(例如 123),计算机id(例如 #123)或标签(例如 \"@My Computer\")。", "commands.computercraft.shutdown.done": "关闭%s/%s计算机", - "commands.computercraft.shutdown.synopsis": "远程关闭计算机.", - "commands.computercraft.synopsis": "各种控制计算机的命令.", - "commands.computercraft.tp.action": "传送到这台电脑", - "commands.computercraft.tp.desc": "传送到计算机的位置. 你可以指定计算机的实例id (例如. 123)或计算机id (例如. #123).", - "commands.computercraft.tp.synopsis": "传送到特定的计算机.", - "commands.computercraft.track.desc": "跟踪计算机执行的时间以及它们处理的事件数. 这以/forge track类似的方式呈现信息,可用于诊断滞后.", + "commands.computercraft.shutdown.synopsis": "远程关闭计算机。", + "commands.computercraft.synopsis": "各种控制计算机的命令。", + "commands.computercraft.tp.action": "传送到这台计算机", + "commands.computercraft.tp.desc": "传送到计算机的位置。你可以指定计算机的实例id(例如 123)或计算机id(例如 #123)。", + "commands.computercraft.tp.synopsis": "传送到特定的计算机。", + "commands.computercraft.track.desc": "跟踪计算机执行的时间以及它们处理的事件数。这以/forge track类似的方式呈现信息,可能有助于诊断卡顿与滞后。", "commands.computercraft.track.dump.computer": "计算机", - "commands.computercraft.track.dump.desc": "输出计算机跟踪的最新结果.", + "commands.computercraft.track.dump.desc": "输出计算机跟踪的最新结果。", "commands.computercraft.track.dump.no_timings": "没有时序可用", "commands.computercraft.track.dump.synopsis": "输出最新的跟踪结果", - "commands.computercraft.track.start.desc": "开始跟踪所有计算机的执行时间和事件计数. 这将放弃先前运行的结果.", + "commands.computercraft.track.start.desc": "开始跟踪所有计算机的执行时间和事件计数。这将放弃先前运行的结果。", "commands.computercraft.track.start.stop": "运行%s以停止跟踪并查看结果", "commands.computercraft.track.start.synopsis": "开始跟踪所有计算机", "commands.computercraft.track.stop.action": "点击停止跟踪", @@ -67,16 +67,16 @@ "commands.computercraft.track.stop.synopsis": "停止跟踪所有计算机", "commands.computercraft.track.synopsis": "跟踪计算机的执行时间.", "commands.computercraft.turn_on.desc": "打开列出的计算机. 你可以指定计算机的实例id (例如. 123), 计算机id (例如. #123)或标签(例如. \"@My Computer\").", - "commands.computercraft.turn_on.done": "打开%s/%s计算机", + "commands.computercraft.turn_on.done": "已打开%s/%s台计算机", "commands.computercraft.turn_on.synopsis": "远程打开计算机.", "commands.computercraft.view.action": "查看此计算机", "commands.computercraft.view.desc": "打开计算机的终端,允许远程控制计算机. 这不提供对海龟库存的访问. 你可以指定计算机的实例id (例如. 123)或计算机id (例如. #123).", "commands.computercraft.view.not_player": "无法为非玩家打开终端", "commands.computercraft.view.synopsis": "查看计算机的终端.", - "gui.computercraft.config.command_require_creative": "命令电脑需要创造模式", + "gui.computercraft.config.command_require_creative": "命令计算机需要创造模式", "gui.computercraft.config.command_require_creative.tooltip": "玩家需要处于创造模式并为管理员才能与命令计算机交互。\n这是原版命令方块的默认行为。", "gui.computercraft.config.computer_space_limit": "计算机空间限制(字节)", - "gui.computercraft.config.computer_space_limit.tooltip": "计算机和海龟的磁盘空间限制,以字节为单位。", + "gui.computercraft.config.computer_space_limit.tooltip": "计算机和海龟的软盘空间限制,以字节为单位。", "gui.computercraft.config.default_computer_settings": "默认计算机设置", "gui.computercraft.config.default_computer_settings.tooltip": "以逗号分隔的默认系统设置列表,用于在新计算机上设置。\n示例:“shell.autocomplete=false,lua.autocomplete=false,edit.autocomplete=false”\n将禁用所有自动补全功能。", "gui.computercraft.config.disabled_generic_methods": "禁用的通用方法", @@ -89,15 +89,15 @@ "gui.computercraft.config.execution.max_main_global_time": "服务器全局tick时间限制", "gui.computercraft.config.execution.max_main_global_time.tooltip": "在1刻内执行任务所花费的最大时间,以毫秒为单位。\n请注意,我们很可能会超出此限制,因为无法确定需要多长时间——这旨在成为平均时间的上限。", "gui.computercraft.config.execution.tooltip": "控制计算机的执行行为。这主要用于微调服务器,一般不需要触碰。", - "gui.computercraft.config.floppy_space_limit": "软盘空间限制(字节)", - "gui.computercraft.config.floppy_space_limit.tooltip": "软盘的磁盘空间限制,以字节为单位。", + "gui.computercraft.config.floppy_space_limit": "软盘空间限制(字节)", + "gui.computercraft.config.floppy_space_limit.tooltip": "软盘的存储空间限制,以字节为单位。", "gui.computercraft.config.http": "HTTP", "gui.computercraft.config.http.bandwidth": "带宽", "gui.computercraft.config.http.bandwidth.global_download": "全局下载限速", - "gui.computercraft.config.http.bandwidth.global_download.tooltip": "每秒钟可以下载的字节数. 所有电脑共享该设置 (bytes/s).", + "gui.computercraft.config.http.bandwidth.global_download.tooltip": "每秒钟内可下载的字节数。此值在所有计算机之间共享。(字节/秒)", "gui.computercraft.config.http.bandwidth.global_upload": "全局上传限速", - "gui.computercraft.config.http.bandwidth.global_upload.tooltip": "每秒钟可以上传的字节数. 所有电脑共享该设置 (bytes/s).", - "gui.computercraft.config.http.bandwidth.tooltip": "限制电脑可以使用的带宽.", + "gui.computercraft.config.http.bandwidth.global_upload.tooltip": "每秒钟内可上传的字节数。此值在所有计算机之间共享。(字节/秒)", + "gui.computercraft.config.http.bandwidth.tooltip": "限制计算机可以使用的带宽。", "gui.computercraft.config.http.enabled": "启用HTTP API", "gui.computercraft.config.http.enabled.tooltip": "在计算机上启用“http”API。禁用此功能还会禁用许多用户依赖的“pastebin”和“wget”程序。建议保持此功能开启并使用“规则”配置选项来实施更精细的控制。", "gui.computercraft.config.http.max_requests": "最大并发请求数", @@ -112,7 +112,7 @@ "gui.computercraft.config.http.proxy.tooltip": "通过代理服务器传输HTTP和WebSocket请求。仅影响将“use_proxy”设为true(默认关闭)的HTTP规则。\n如果代理需要认证,请在与“computercraft-server.toml”相同的目录中创建一个“computercraft-proxy.pw”文件,其中包含以冒号分隔的用户名和密码,例如“myuser:mypassword”。对于SOCKS4代理,只需要用户名。", "gui.computercraft.config.http.proxy.type": "代理类型", "gui.computercraft.config.http.proxy.type.tooltip": "代理使用的协议.", - "gui.computercraft.config.http.rules": "允许/阻止规则", + "gui.computercraft.config.http.rules": "允许/拒绝规则", "gui.computercraft.config.http.rules.tooltip": "控制特定域或IP的“http”API行为的规则列表。每条规则匹配一个主机名和一个可选端口,然后为请求设置多个属性。规则按顺序进行评估,这意味着较早的规则将覆盖较晚的规则。\n\n有效属性:\n —“host”(必需):此规则匹配的域或 IP 地址。这可能是域名(“pastebin.com”)、通配符(“*.pastebin.com”)或 CIDR 表示法(“127.0.0.0/8”)。\n —“port”(可选):仅匹配特定端口的请求,例如80或443。\n\n —“action”(可选):允许还是拒绝此请求。\n —“max_download”(可选):计算机在此请求中可以下载的最大大小(以字节为单位)。\n —“max_upload”(可选):计算机在此请求中可以上传的最大大小(以字节为单位)。\n —“max_websocket_message”(可选):计算机在一个WebSocket数据包中可以发送或接收的最大大小(以字节为单位)。\n —“use_proxy”(可选):如果已配置,则启用HTTP/SOCKS代理。", "gui.computercraft.config.http.tooltip": "控制HTTP API", "gui.computercraft.config.http.websocket_enabled": "启用websockets", @@ -121,11 +121,11 @@ "gui.computercraft.config.log_computer_errors.tooltip": "记录外设和其他Lua对象抛出的异常。这可让Mod作者更轻松地调试问题,但如果人们使用有缺陷的方法,则可能导致日志垃圾。", "gui.computercraft.config.maximum_open_files": "每台计算机打开的最大文件数", "gui.computercraft.config.maximum_open_files.tooltip": "设置计算机可同时打开的文件数。设为0表示无限制。", - "gui.computercraft.config.monitor_distance": "监视器距离", - "gui.computercraft.config.monitor_distance.tooltip": "监视器渲染的最大距离。默认为标准图块实体限制,但如果你希望建造更大的监视器,则可以扩展。", - "gui.computercraft.config.monitor_renderer": "监视器渲染器", - "gui.computercraft.config.monitor_renderer.tooltip": "用于监视器的渲染器。通常,应将其保持在“最佳”状态——如果监视器存在性能问题,你可以尝试其他渲染器。", - "gui.computercraft.config.peripheral": "外围设备", + "gui.computercraft.config.monitor_distance": "显示器距离", + "gui.computercraft.config.monitor_distance.tooltip": "显示器渲染的最大距离。默认为标准图块实体限制,但如果你希望建造更大的显示器,则可以调高此值。", + "gui.computercraft.config.monitor_renderer": "显示器渲染器", + "gui.computercraft.config.monitor_renderer.tooltip": "用于显示器的渲染器。通常,应将其保持在“最佳”状态——如果显示器存在性能问题,你可以尝试其他渲染器。", + "gui.computercraft.config.peripheral": "外部设备", "gui.computercraft.config.peripheral.command_block_enabled": "启用命令方块外设", "gui.computercraft.config.peripheral.command_block_enabled.tooltip": "启用命令方块外设支持", "gui.computercraft.config.peripheral.max_notes_per_tick": "计算机一次可以播放的最大音符数量", @@ -138,8 +138,8 @@ "gui.computercraft.config.peripheral.modem_range.tooltip": "晴朗天气下低海拔无线调制解调器的范围,以米为单位。", "gui.computercraft.config.peripheral.modem_range_during_storm": "调制解调器范围(恶劣天气)", "gui.computercraft.config.peripheral.modem_range_during_storm.tooltip": "暴风雨天气下低海拔无线调制解调器的范围,以米为单位。", - "gui.computercraft.config.peripheral.monitor_bandwidth": "监视器带宽", - "gui.computercraft.config.peripheral.monitor_bandwidth.tooltip": "*每刻*可以发送多少监视器数据的限制。请注意:\n —带宽是在压缩之前测量的,因此发送到客户端的数据较少。\n —这忽略了数据包发送到的玩家数量。为一个玩家更新监视器所消耗的带宽限制与发送到20个玩家的带宽限制相同。\n —全尺寸监视器发送约25kb的数据。因此默认值(1MB)允许在1刻内更新约40个监视器。\n设为0以禁用。", + "gui.computercraft.config.peripheral.monitor_bandwidth": "显示器带宽", + "gui.computercraft.config.peripheral.monitor_bandwidth.tooltip": "*每刻*可以发送多少显示器数据的限制。请注意:\n - 带宽是在压缩之前测量的,因此发送到客户端的数据较少。\n - 这忽略了数据包发送到的玩家数量。为一个玩家更新显示器所消耗的带宽限制与发送到20个玩家的带宽限制相同。\n - 全尺寸显示器发送约25kb的数据。因此默认值(1MB)允许在1刻内更新约40个显示器。\n设为0以禁用。", "gui.computercraft.config.peripheral.tooltip": "与外设相关的各种选项。", "gui.computercraft.config.term_sizes": "终端尺寸", "gui.computercraft.config.term_sizes.computer": "计算机", @@ -148,18 +148,18 @@ "gui.computercraft.config.term_sizes.computer.tooltip": "计算机的终端尺寸。", "gui.computercraft.config.term_sizes.computer.width": "终端宽度", "gui.computercraft.config.term_sizes.computer.width.tooltip": "计算机终端宽度", - "gui.computercraft.config.term_sizes.monitor": "监视器", - "gui.computercraft.config.term_sizes.monitor.height": "最大监视器高度", - "gui.computercraft.config.term_sizes.monitor.height.tooltip": "监视器的最大高度", - "gui.computercraft.config.term_sizes.monitor.tooltip": "监视器的最大尺寸(以方块为单位)。", - "gui.computercraft.config.term_sizes.monitor.width": "最大监视器宽度", - "gui.computercraft.config.term_sizes.monitor.width.tooltip": "监视器的最大宽度", - "gui.computercraft.config.term_sizes.pocket_computer": "手提计算机", + "gui.computercraft.config.term_sizes.monitor": "显示器", + "gui.computercraft.config.term_sizes.monitor.height": "最大显示器高度", + "gui.computercraft.config.term_sizes.monitor.height.tooltip": "显示器的最大高度", + "gui.computercraft.config.term_sizes.monitor.tooltip": "显示器的最大尺寸(以方块为单位)。", + "gui.computercraft.config.term_sizes.monitor.width": "最大显示器宽度", + "gui.computercraft.config.term_sizes.monitor.width.tooltip": "显示器的最大宽度", + "gui.computercraft.config.term_sizes.pocket_computer": "便携式计算机", "gui.computercraft.config.term_sizes.pocket_computer.height": "终端高度", - "gui.computercraft.config.term_sizes.pocket_computer.height.tooltip": "手提计算机终端高度", - "gui.computercraft.config.term_sizes.pocket_computer.tooltip": "手提计算机的终端尺寸。", + "gui.computercraft.config.term_sizes.pocket_computer.height.tooltip": "便携式计算机终端高度", + "gui.computercraft.config.term_sizes.pocket_computer.tooltip": "便携式计算机终端尺寸", "gui.computercraft.config.term_sizes.pocket_computer.width": "终端宽度", - "gui.computercraft.config.term_sizes.pocket_computer.width.tooltip": "手提计算机终端宽度", + "gui.computercraft.config.term_sizes.pocket_computer.width.tooltip": "便携式计算机终端宽度", "gui.computercraft.config.term_sizes.tooltip": "配置各种计算机终端的尺寸。\n终端越大,需要的带宽越多,请谨慎使用。", "gui.computercraft.config.turtle": "海龟", "gui.computercraft.config.turtle.advanced_fuel_limit": "高级海龟燃料限制", @@ -172,14 +172,14 @@ "gui.computercraft.config.turtle.normal_fuel_limit.tooltip": "海龟的燃料限制。", "gui.computercraft.config.turtle.tooltip": "与海龟相关的各种选项。", "gui.computercraft.config.upload_max_size": "文件上传大小限制(字节)", - "gui.computercraft.config.upload_max_size.tooltip": "文件上传大小限制(以字节为单位)。必须在1KiB到16MiB之间。\n请记住,上传在1刻内处理——大文件或不佳的网络性能可能会使网络线程停滞。并且注意磁盘空间!", + "gui.computercraft.config.upload_max_size.tooltip": "文件上传大小限制(以字节为单位)。必须在1KiB到16MiB之间。\n请记住,上传在1刻内处理——大文件或不佳的网络性能可能会使网络线程停滞。记得注意软盘空间!", "gui.computercraft.config.upload_nag_delay": "上传延迟", "gui.computercraft.config.upload_nag_delay.tooltip": "通知未处理的导入之前延迟的秒数。设为0以禁用。", - "gui.computercraft.pocket_computer_overlay": "手提计算机已打开。按ESC键关闭。", + "gui.computercraft.pocket_computer_overlay": "便携式计算机已打开。按ESC键可关闭。", "gui.computercraft.terminal": "计算机终端", "gui.computercraft.tooltip.computer_id": "计算机ID: %s", "gui.computercraft.tooltip.copy": "复制到剪贴板", - "gui.computercraft.tooltip.disk_id": "磁盘ID: %s", + "gui.computercraft.tooltip.disk_id": "软盘ID:%s", "gui.computercraft.tooltip.terminate": "停止当前运行的代码", "gui.computercraft.tooltip.terminate.key": "按住Ctrl+T", "gui.computercraft.tooltip.turn_off": "关闭这台计算机", @@ -195,18 +195,18 @@ "gui.computercraft.upload.no_response": "传输文件", "gui.computercraft.upload.no_response.msg": "你的计算机尚未使用你传输的文件。你可能需要运行%s程序并重试。", "item.computercraft.disk": "软盘", - "item.computercraft.pocket_computer_advanced": "高级手提计算机", - "item.computercraft.pocket_computer_advanced.upgraded": "高级%s手提计算机", - "item.computercraft.pocket_computer_normal": "手提计算机", - "item.computercraft.pocket_computer_normal.upgraded": "%s手提计算机", + "item.computercraft.pocket_computer_advanced": "高级便携式计算机", + "item.computercraft.pocket_computer_advanced.upgraded": "高级便携式计算机(%s)", + "item.computercraft.pocket_computer_normal": "便携式计算机", + "item.computercraft.pocket_computer_normal.upgraded": "便携式计算机(%s)", "item.computercraft.printed_book": "打印书", "item.computercraft.printed_page": "打印纸", - "item.computercraft.printed_pages": "打印纸簇", + "item.computercraft.printed_pages": "一摞打印纸", "item.computercraft.treasure_disk": "软盘", "itemGroup.computercraft": "ComputerCraft", "tag.item.computercraft.computer": "计算机", - "tag.item.computercraft.disks": "磁盘", - "tag.item.computercraft.monitor": "监视器", + "tag.item.computercraft.disks": "软盘", + "tag.item.computercraft.monitor": "显示器", "tag.item.computercraft.pocket_computers": "便携式计算机", "tag.item.computercraft.turtle": "海龟", "tag.item.computercraft.wired_modem": "有线调制解调器", @@ -218,12 +218,12 @@ "tracking_field.computercraft.http_requests.name": "HTTP请求", "tracking_field.computercraft.http_upload.name": "HTTP上传", "tracking_field.computercraft.max": "%s (最大)", - "tracking_field.computercraft.peripheral.name": "外部设备呼叫", + "tracking_field.computercraft.peripheral.name": "外部设备调用", "tracking_field.computercraft.server_tasks.name": "服务器任务", - "tracking_field.computercraft.turtle_ops.name": "海龟行动", + "tracking_field.computercraft.turtle_ops.name": "海龟操作", "tracking_field.computercraft.websocket_incoming.name": "Websocket传入", "tracking_field.computercraft.websocket_outgoing.name": "Websocket传出", - "upgrade.computercraft.speaker.adjective": "喧闹", + "upgrade.computercraft.speaker.adjective": "嘈杂", "upgrade.computercraft.wireless_modem_advanced.adjective": "末影", "upgrade.computercraft.wireless_modem_normal.adjective": "无线", "upgrade.minecraft.crafting_table.adjective": "合成", From 018ce7c8a5cab989204d8dfd8c00cb2daae523e2 Mon Sep 17 00:00:00 2001 From: Jonathan Coates Date: Sat, 12 Jul 2025 18:57:05 +0100 Subject: [PATCH 6/6] Bump CC:T to 1.116.1 --- gradle.properties | 2 +- .../computercraft/lua/rom/help/changelog.md | 7 +++++++ .../computercraft/lua/rom/help/whatsnew.md | 19 ++++--------------- 3 files changed, 12 insertions(+), 16 deletions(-) diff --git a/gradle.properties b/gradle.properties index a67735bdf..55acac281 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,7 +10,7 @@ kotlin.jvm.target.validation.mode=error # Mod properties isUnstable=false -modVersion=1.116.0 +modVersion=1.116.1 # Minecraft properties: We want to configure this here so we can read it in settings.gradle mcVersion=1.20.1 diff --git a/projects/core/src/main/resources/data/computercraft/lua/rom/help/changelog.md b/projects/core/src/main/resources/data/computercraft/lua/rom/help/changelog.md index 1f0479900..277d3d4e9 100644 --- a/projects/core/src/main/resources/data/computercraft/lua/rom/help/changelog.md +++ b/projects/core/src/main/resources/data/computercraft/lua/rom/help/changelog.md @@ -1,3 +1,10 @@ +# New features in CC: Tweaked 1.116.1 + +* Update translations. + +One bug fix: +* Fix NPE when mcfunction files contain CC commands. + # New features in CC: Tweaked 1.116.0 * Add `turtle.getEquippedLeft()` and `turtle.getEquippedRight()`. diff --git a/projects/core/src/main/resources/data/computercraft/lua/rom/help/whatsnew.md b/projects/core/src/main/resources/data/computercraft/lua/rom/help/whatsnew.md index daa1c5de5..96522b80e 100644 --- a/projects/core/src/main/resources/data/computercraft/lua/rom/help/whatsnew.md +++ b/projects/core/src/main/resources/data/computercraft/lua/rom/help/whatsnew.md @@ -1,19 +1,8 @@ -New features in CC: Tweaked 1.116.0 +New features in CC: Tweaked 1.116.1 -* Add `turtle.getEquippedLeft()` and `turtle.getEquippedRight()`. -* Add item tags for floppy disks and pocket computers. -* Support multi-line strings and comments in `edit`. +* Update translations. -Several bug fixes: -* Ignore shader compilation errors when running with Pojav. -* Fix several issues with character input. -* Fix pocket computer dyes being lost when equipping/unequipping upgrades. -* Fix superflous warnings from allocation tracking. -* Fix `__lt`/`__le` not working on heterogeneous types. -* Many documentation fixes (Lemmmy, matematikaadit, McJack12). -* Fix `0` being treated as a valid colour in `window` and `colour.toBlit`. -* Fix out-of-bounds when pasting too lon text. -* Fix syntax highlighting of string escapes (LorneHyde). -* Fix sidebar texture of advanced computers being offset. +One bug fix: +* Fix NPE when mcfunction files contain CC commands. Type "help changelog" to see the full version history.