diff --git a/AGENTS.md b/AGENTS.md index 655fb8b..8c046ec 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -60,7 +60,7 @@ javap -cp ~/.gradle/caches/fabric-loom/minecraftMaven/net/minecraft/minecraft-me - **配置**:数值参数进 `GameConfig`(`io.ib67.sfcraft.config`)对应特性的嵌套类,运行期通过注入的 `GameConfigService#get()` **每次现读,不要缓存**(否则 `/sfcraft reload` 不生效)。注册时烘焙进组件的值(如耐久)天然不可热重载,属已知限制。需要在重载时重建的东西(如炼药锅配方)监听 `callback.SFConfigReload`。 - **i18n**:玩家可见文本一律 `Component.translatable`,键加进 `assets/sfcraft/lang/zh_cn.json` **和** `en_us.json`(⚠️ 越界,需许可)。**禁止**硬编码中文/英文 literal。不要引入 server-translations 依赖——玩家装服务器材质包,lang 由客户端解析。物品显示名 = `ITEM_NAME` 组件挂 translatable。 -- **纯服务端**:假设代码总在服务端运行;玩家移动是客户端权威,服务端改玩家速度矢量要置 `entity.hurtMarked = true`。 +- **纯服务端**:假设代码总在服务端运行;玩家移动是客户端权威,服务端改玩家速度矢量要置 `entity.syncVelocity = true`(26.2 及以前叫 `hurtMarked`)。 ## 踩过的坑 @@ -86,7 +86,7 @@ javap -cp ~/.gradle/caches/fabric-loom/minecraftMaven/net/minecraft/minecraft-me - `MobEffects.SLOWNESS`(不是 MOVEMENT_SLOWDOWN);`SimpleContainer` 没有 addListener 了(覆写 `setChanged()` 持久化) - `GameProfile` 是 record(`name()`/`id()`);`sendOverlayMessage`/`sendSystemMessage` 取代 `displayClientMessage`;命令权限 `Commands.LEVEL_GAMEMASTERS.check(source.permissions())` -**Polymer(0.18.0+26.3-rc-1 —— 上游还没出 26.3 正式版构建,先用 rc-1 那版)**: +**Polymer(0.18.2+26.3)**: - `PacketContext` 在 `net.fabricmc.fabric.api.networking.v1.context.PacketContext` - BE 类型必须 `PolymerBlockUtils.registerBlockEntity`,实体类型必须 `PolymerEntityUtils.registerType`(`RegistryHelper` 已封装) diff --git a/Dockerfile b/Dockerfile index cd40447..586803f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,9 +14,8 @@ RUN cd /mod && \ cp /mod/build/libs/sfcraft-*-all.jar /sfcraft.jar FROM base AS justbackup-builder -# 跟随 MC 版本的分支。26.3 分支需先在上游仓库建好,否则此处会直接失败—— -# 这是刻意的:默认分支仍是 26.2(fabric.mod.json 要求 minecraft ~26.2), -# 构建进 26.3 镜像只会在加载时才报错,不如在构建期暴露。 +# 跟随 MC 版本的分支(默认分支仍是 26.2,fabric.mod.json 要求 minecraft ~26.2)。 +# 分支不存在时这里会直接失败——刻意如此,比把 26.2 的 mod 打进 26.3 镜像、到加载时才报错好。 ARG JUSTBACKUP_REF=26.3 RUN git clone -b "$JUSTBACKUP_REF" https://github.com/saltedfishclub/justbackup /mod RUN cd /mod && \ @@ -25,11 +24,8 @@ RUN cd /mod && \ cp /mod/build/libs/justbackup-*.jar /justbackup.jar FROM base AS carpet-builder -# 同上。carpet 的 depends 写的是 minecraft >26.2,能装上但 mixin 是按旧版编译的, -# 跑在 26.3 上会在 mixin apply 阶段炸,所以同样必须切到 26.3 分支。 -# ⚠️ 注意:26.3 分支目前只是合了上游 master,而上游自己还停在 26.3-snapshot-9 -# (对 26.3 正式版有 100+ 处编译错误)。等 gnembon 跟上 26.3 正式版、我们再合一次 -# 之前,这一层产出的 carpet 装进 26.3 服务器大概率仍然会崩。 +# 同上。carpet 的 depends 写的是 minecraft >26.2,旧分支能装上但 mixin 是按旧版编译的, +# 跑在 26.3 上会在 mixin apply 阶段炸,所以同样必须切到 26.3 分支(= 我们的补丁 + 合入上游 v26.3)。 ARG CARPET_REF=26.3 RUN git clone -b "$CARPET_REF" https://github.com/saltedfishclub/fabric-carpet /mod RUN cd /mod && \ diff --git a/build.gradle b/build.gradle index 35ec42a..cb104d4 100644 --- a/build.gradle +++ b/build.gradle @@ -2,7 +2,7 @@ plugins { id 'maven-publish' id("io.freefair.lombok") version "9.5.0" id("com.gradleup.shadow") version "9.3.1" - id 'net.fabricmc.fabric-loom' version '1.18.1' + id 'net.fabricmc.fabric-loom' version '1.18.2' } version = project.mod_version @@ -37,7 +37,7 @@ dependencies { shadow("org.apache.commons:commons-compress:1.28.0") shadow("io.ib67.kiwi:lang:1.2.3-SNAPSHOT") shadow('com.github.houbb:pinyin:0.4.0') - def polymerVersion = "0.18.0+26.3-rc-1" + def polymerVersion = "0.18.2+26.3" implementation include("eu.pb4:polymer-core:$polymerVersion") implementation include("eu.pb4:polymer-virtual-entity:$polymerVersion") implementation include("eu.pb4:polymer-resource-pack:$polymerVersion") diff --git a/gradle.properties b/gradle.properties index 2f04609..3d3aab1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,4 +14,4 @@ archives_base_name=sfcraft # Dependencies # check this on https://modmuss50.me/fabric.html -fabric_version=0.160.5+26.3 +fabric_version=0.161.0+26.3 diff --git a/logs/2026-09-15-1.log.gz b/logs/2026-09-15-1.log.gz new file mode 100644 index 0000000..0da2a48 Binary files /dev/null and b/logs/2026-09-15-1.log.gz differ diff --git a/server-deploy/pack/index.toml b/server-deploy/pack/index.toml index e771126..255b0ff 100644 --- a/server-deploy/pack/index.toml +++ b/server-deploy/pack/index.toml @@ -2,7 +2,7 @@ hash-format = "sha256" [[files]] file = "mods/fabric-api.pw.toml" -hash = "e3a8b560330802ec556f34a7de7a73bc712202359a657a36b39e6f85598bf8b8" +hash = "6b342a83e9736f0832e750c8d631273cf600305d73b32c8bd6a977811f6972ee" metafile = true [[files]] @@ -12,12 +12,12 @@ metafile = true [[files]] file = "mods/farmers-delight-polymer.pw.toml" -hash = "ce231450983fd9afc2fef902a368394e9eea69b3c2772e5cdcabf777e8a2662c" +hash = "c4a9d832bf4d80391d4914ff520602a00fb55710cf6ec2e02fc4a21a19dea3ad" metafile = true [[files]] file = "mods/farmers-delight-refabricated.pw.toml" -hash = "1500f8fc3792a46226c0559af0925cf4da5f11b7224ec2dcaad8b66bc0c5ca4d" +hash = "f4040aeb20676a8eafdeef154891acb2e236ab4a97632b76fac4750824df9f1e" metafile = true [[files]] @@ -27,7 +27,7 @@ metafile = true [[files]] file = "mods/jei.pw.toml" -hash = "6ed45647ca366b832d80de4f02d16dd5899ba165459b1870729be04a260515d1" +hash = "cbe64d3867ec3f88c771fafaaa9f9a03febdee27d02b58096371357e9f643f58" metafile = true [[files]] @@ -37,7 +37,7 @@ metafile = true [[files]] file = "mods/lithium.pw.toml" -hash = "3b4ab92dd5c39fbe0f5af3d73f0d7f3df3e2450842055353b0a5dc8fb9dae534" +hash = "3a00db6d12bebcafc8a38bde195dcd05a96509a9d563b53c9e0c098b299f2550" metafile = true [[files]] @@ -47,7 +47,7 @@ metafile = true [[files]] file = "mods/polymer.pw.toml" -hash = "2dec8c17d9d6fdf6dd93e2dc458c8d30ead86b2efc292490142841aacd4d3e95" +hash = "4559bae692a7d7b5c675f0ea199c4dd3506b9f14889748dc029abbfb605e5f7a" metafile = true [[files]] @@ -57,15 +57,15 @@ metafile = true [[files]] file = "mods/squaremap.pw.toml" -hash = "798b2e1aeee88e52cc70cca4c51134639cebd214a3f52e0a0913e51b0b1adbe3" +hash = "014c8f8c8defcda9f7a6f1bd4a970d57828f9cd17ab131d5296f49a18dbb85c1" metafile = true [[files]] file = "mods/syncmatica.pw.toml" -hash = "a8cfd56f9a2a99a9b93e05e41decad8c4b245bba7ed0b27a3032e5d6d1a09e23" +hash = "1063819c4a7de56b72384a52615bc2dc7818c44b5791072b5b315ca372308fca" metafile = true [[files]] file = "mods/worldedit.pw.toml" -hash = "3754793742766dd72246e1a57abfa5c2d57e8a9d7dfecd1e9adc26251fac0b36" +hash = "bf86a568e9d9c647113d3be42de02b4490aa62fd5c61b7e24a86f3ddb57e9e62" metafile = true diff --git a/server-deploy/pack/mods/fabric-api.pw.toml b/server-deploy/pack/mods/fabric-api.pw.toml index c386b4a..2b97a95 100644 --- a/server-deploy/pack/mods/fabric-api.pw.toml +++ b/server-deploy/pack/mods/fabric-api.pw.toml @@ -1,13 +1,13 @@ name = "Fabric API" -filename = "fabric-api-0.160.5+26.3.jar" +filename = "fabric-api-0.161.0+26.3.jar" side = "both" [download] -url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/oCYG2H4L/fabric-api-0.160.5%2B26.3.jar" +url = "https://cdn.modrinth.com/data/P7dR8mSH/versions/bNnaTiuM/fabric-api-0.161.0%2B26.3.jar" hash-format = "sha512" -hash = "494378477dd9571f49c27cc1eaee3f78f140b9d8bd860c757f453bee198fd5b8a9eee444069c595b0fb6f8cb6bc86d51ccddbcec8d782fd46ef2fb1d9ac22f16" +hash = "ed6b2586d6fde11fde8472f5a527c51e99b67026e46f94d4bfd85e7e28ce5ee299173ee16ad576ceb51f39f98d30a811086a6deb1a86a524859cc16e12da109d" [update] [update.modrinth] mod-id = "P7dR8mSH" -version = "oCYG2H4L" +version = "bNnaTiuM" diff --git a/server-deploy/pack/mods/farmers-delight-polymer.pw.toml b/server-deploy/pack/mods/farmers-delight-polymer.pw.toml index 6997926..0cab001 100644 --- a/server-deploy/pack/mods/farmers-delight-polymer.pw.toml +++ b/server-deploy/pack/mods/farmers-delight-polymer.pw.toml @@ -1,13 +1,13 @@ name = "Polymer Patch for Farmer's Delight" -filename = "farmers-delight-polymer-patch-3.6.7.0+26.2.jar" +filename = "farmers-delight-polymer-patch-3.6.21.0+26.3.jar" side = "server" [download] -url = "https://cdn.modrinth.com/data/TE3NCFiY/versions/11AvsXE3/farmers-delight-polymer-patch-3.6.7.0%2B26.2.jar" +url = "https://cdn.modrinth.com/data/TE3NCFiY/versions/ZqkEEPvU/farmers-delight-polymer-patch-3.6.21.0%2B26.3.jar" hash-format = "sha512" -hash = "9e04f5c68e4209bd0e1de932858ebf4273c369b9943e38cbce8665311d7ff7d3fdfe20493e78769d9b92047678dff995e2d5d998f9978ab73896321ed125e09d" +hash = "b65bf9a9271eee5a231a3c221dc7297835a524edf44507f96ddb1808b4a547361d5a87edec226a054769d78394e5feec73281bbc2999a38d3280484bcd2eb522" [update] [update.modrinth] mod-id = "TE3NCFiY" -version = "11AvsXE3" +version = "ZqkEEPvU" diff --git a/server-deploy/pack/mods/farmers-delight-refabricated.pw.toml b/server-deploy/pack/mods/farmers-delight-refabricated.pw.toml index fd57061..f6673c1 100644 --- a/server-deploy/pack/mods/farmers-delight-refabricated.pw.toml +++ b/server-deploy/pack/mods/farmers-delight-refabricated.pw.toml @@ -1,13 +1,13 @@ name = "Farmer's Delight Refabricated" -filename = "FarmersDelight-26.2-3.6.8+refabricated.jar" +filename = "FarmersDelight-26.3-3.6.27+refabricated.jar" side = "both" [download] -url = "https://cdn.modrinth.com/data/7vxePowz/versions/PR6Lz8x8/FarmersDelight-26.2-3.6.8%2Brefabricated.jar" +url = "https://cdn.modrinth.com/data/7vxePowz/versions/hTNvMewX/FarmersDelight-26.3-3.6.27%2Brefabricated.jar" hash-format = "sha512" -hash = "dbf6b0333d91c662c5657043b1f43865f1458c467921403b416df297e4335d3b7387b1bc52abeec76fa7414836a3a1a3bfb68aa8acc45694dfaf522c5d316c84" +hash = "d7c66b883e3c900a5539b2fec91c8a81d73ad438437151019843b958584f4c45bcb29581846056ff83787efea53fe0cd244106b4856a9979d7088eebba54da44" [update] [update.modrinth] mod-id = "7vxePowz" -version = "PR6Lz8x8" +version = "hTNvMewX" diff --git a/server-deploy/pack/mods/jei.pw.toml b/server-deploy/pack/mods/jei.pw.toml index 98c5842..6c9d684 100644 --- a/server-deploy/pack/mods/jei.pw.toml +++ b/server-deploy/pack/mods/jei.pw.toml @@ -1,13 +1,13 @@ name = "Just Enough Items (JEI)" -filename = "jei-26.2-fabric-30.13.0.79.jar" +filename = "jei-26.3-fabric-31.7.0.40.jar" side = "both" [download] -url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/RId9q9Qv/jei-26.2-fabric-30.13.0.79.jar" +url = "https://cdn.modrinth.com/data/u6dRKJwZ/versions/1QosOWso/jei-26.3-fabric-31.7.0.40.jar" hash-format = "sha512" -hash = "91460805a9b161272fbcd590ffefd9e0ec01dd00ec665311d7c1b5420d648435dfd624f62453aee3642cf7b8092a6d4b8447189271b7b5c6e437e2fb17166b5d" +hash = "1e64160d88effd1c7d33fc43aeac01f375ce45613e4f7486d7d98465c947656233a931dcf5633918ed13aba106382d57b9b6d02be16e030662110153f0772951" [update] [update.modrinth] mod-id = "u6dRKJwZ" -version = "RId9q9Qv" +version = "1QosOWso" diff --git a/server-deploy/pack/mods/lithium.pw.toml b/server-deploy/pack/mods/lithium.pw.toml index 94fe9b2..3c5cc11 100644 --- a/server-deploy/pack/mods/lithium.pw.toml +++ b/server-deploy/pack/mods/lithium.pw.toml @@ -1,13 +1,13 @@ name = "Lithium (Fabric/NeoForge)" -filename = "lithium-fabric-0.25.2+mc26.2.jar" +filename = "lithium-fabric-0.26.1+mc26.3.jar" side = "both" [download] -hash-format = "sha1" -hash = "3bcc94183d7068395de08915fd5fce8d199aaa50" -mode = "metadata:curseforge" +url = "https://cdn.modrinth.com/data/gvQqBUqZ/versions/WXHRsMRl/lithium-fabric-0.26.1%2Bmc26.3.jar" +hash-format = "sha512" +hash = "acbb9b037a203f005e03a20bf1d9866019384abb5ad27664808a12b919639a2501ecb52f8f0d77d27e1409935b0dbdbb70e01ac466480c0ae421ee403f649c59" [update] -[update.curseforge] -file-id = 8409186 -project-id = 360438 +[update.modrinth] +mod-id = "gvQqBUqZ" +version = "WXHRsMRl" diff --git a/server-deploy/pack/mods/polymer.pw.toml b/server-deploy/pack/mods/polymer.pw.toml index a26a911..29d2def 100644 --- a/server-deploy/pack/mods/polymer.pw.toml +++ b/server-deploy/pack/mods/polymer.pw.toml @@ -1,13 +1,13 @@ name = "Polymer" -filename = "polymer-bundled-0.18.0+26.3-rc-1.jar" +filename = "polymer-bundled-0.18.2+26.3.jar" side = "both" [download] -url = "https://cdn.modrinth.com/data/xGdtZczs/versions/QBYrHLvh/polymer-bundled-0.18.0%2B26.3-rc-1.jar" +url = "https://cdn.modrinth.com/data/xGdtZczs/versions/REBDssAz/polymer-bundled-0.18.2%2B26.3.jar" hash-format = "sha512" -hash = "59cc2d99ead79e71b1b9df0751157f42cecf3cb0d67b4e9494ffe256e9375d9c111c7d126cc6a73161e16c39b6d5c87090aac5468ab08cd8982ed1ba55134869" +hash = "a83bec0ef7ee4c905429f102a9a1b2ff9db60fb23f3e6b5a26ff4442b0427c3edd821f311643a3c377541cfd5a4753519001cbfebbeb78014a77041d91449f51" [update] [update.modrinth] mod-id = "xGdtZczs" -version = "QBYrHLvh" +version = "REBDssAz" diff --git a/server-deploy/pack/mods/squaremap.pw.toml b/server-deploy/pack/mods/squaremap.pw.toml index 4bc1381..5367689 100644 --- a/server-deploy/pack/mods/squaremap.pw.toml +++ b/server-deploy/pack/mods/squaremap.pw.toml @@ -1,13 +1,13 @@ name = "squaremap" -filename = "squaremap-fabric-mc26.2-1.3.14.jar" +filename = "squaremap-fabric-mc26.3-1.4.0.jar" side = "both" [download] -url = "https://cdn.modrinth.com/data/PFb7ZqK6/versions/VbqnAdLU/squaremap-fabric-mc26.2-1.3.14.jar" +url = "https://cdn.modrinth.com/data/PFb7ZqK6/versions/FJzk5i6o/squaremap-fabric-mc26.3-1.4.0.jar" hash-format = "sha512" -hash = "db0345134c109ccd2bc7fe67ae35dc561655ff25a14a42525d655012696bd10eaa999431b50a84335cc5960ec12ff5d34dddb75ee11bcf36252ac89cff86e71f" +hash = "c7ccc0a8f663def6c655832f92d0cfea0fc26c5e7cbfcb88ce1fe787c38296b50f5a9665eaa17fa8e4b634f2151819d55b6aca1ee2eb92f59c8378020cecba09" [update] [update.modrinth] mod-id = "PFb7ZqK6" -version = "VbqnAdLU" +version = "FJzk5i6o" diff --git a/server-deploy/pack/mods/syncmatica.pw.toml b/server-deploy/pack/mods/syncmatica.pw.toml index e68b660..6ff0923 100644 --- a/server-deploy/pack/mods/syncmatica.pw.toml +++ b/server-deploy/pack/mods/syncmatica.pw.toml @@ -1,13 +1,13 @@ name = "Syncmatica" -filename = "syncmatica-fabric-26.2-0.3.19.jar" +filename = "syncmatica-fabric-26.3-0.3.20.jar" side = "both" [download] -url = "https://cdn.modrinth.com/data/bfneejKo/versions/f74T22XS/syncmatica-fabric-26.2-0.3.19.jar" +url = "https://cdn.modrinth.com/data/bfneejKo/versions/uT7TJ2Wp/syncmatica-fabric-26.3-0.3.20.jar" hash-format = "sha512" -hash = "e44660878dfdf80b2091e6206715cac0658dcc38b2b80ab36bd3e28e3a34a17c727f7f2206dc01d9d84f73096ee49656e51e1c47669d7e33f67f096e3a44e12a" +hash = "7eb067b457123a221be27f1a41ea2480b8380ac07d3aba4d963343405b83ccfba26f8c292c680e48b8d52b97ddb37fca4ebd8e57e86c5ab89af58f3d229fafaa" [update] [update.modrinth] mod-id = "bfneejKo" -version = "f74T22XS" +version = "uT7TJ2Wp" diff --git a/server-deploy/pack/mods/worldedit.pw.toml b/server-deploy/pack/mods/worldedit.pw.toml index 78a9590..a8105b1 100644 --- a/server-deploy/pack/mods/worldedit.pw.toml +++ b/server-deploy/pack/mods/worldedit.pw.toml @@ -1,13 +1,13 @@ name = "WorldEdit" -filename = "worldedit-mod-7.4.4.jar" +filename = "worldedit-mod-7.4.6-beta-02.jar" side = "both" [download] -url = "https://cdn.modrinth.com/data/1u6JkXh5/versions/j2w3GmPv/worldedit-mod-7.4.4.jar" +url = "https://cdn.modrinth.com/data/1u6JkXh5/versions/E7sbeRFx/worldedit-mod-7.4.6-beta-02.jar" hash-format = "sha512" -hash = "48e408fbf3e24521f2a66155e9a85a71f5bf89657a9888aac9525e250c5dd9541d8326afbbc24eae4241dba83506a2438ebff60f0e763e37ecef8e070fa86e57" +hash = "f7de9f7658319f38a9d0211a2592c91d412e98599d1ff378968509ccf0aa8f1ce7ab7e669f5c866552676d2a7a23d3cfdd16b54ee1a50d22c14fce8cfa30bba7" [update] [update.modrinth] mod-id = "1u6JkXh5" -version = "j2w3GmPv" +version = "E7sbeRFx" diff --git a/server-deploy/pack/pack.toml b/server-deploy/pack/pack.toml index d2fbaa9..a928376 100644 --- a/server-deploy/pack/pack.toml +++ b/server-deploy/pack/pack.toml @@ -6,7 +6,7 @@ pack-format = "packwiz:1.1.0" [index] file = "index.toml" hash-format = "sha256" -hash = "7524eced8051fa2ae3e84ae584afcf9863dd121db99555618b517447540daed1" +hash = "45ebe64136ab754ef8b6b423de6242c174d6bc78230b48767904b2f67dcaaa71" [versions] fabric = "0.19.5"