update 26.3 dependencies and pack mods

- polymer 0.18.0+26.3-rc-1 -> 0.18.2+26.3 (first 26.3 final build)
- fabric-api 0.160.5 -> 0.161.0, loom 1.18.1 -> 1.18.2
- pack: move squaremap, syncmatica, farmers-delight (+polymer patch),
  jei, worldedit, lithium to their 26.3 builds; bump fabric-api, polymer
- lithium now resolved from Modrinth instead of CurseForge (same mod, same author)
- docs: fix stale hurtMarked reference, drop carpet snapshot warning

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
iceBear67andClaude Opus 5.5 committed 2026-09-26 03:14:03 +00:00
1 parent 2b70971b80
commit b8d4725e7b
16 files changed
+58 -62

No files matched your search

+2 -2
View File
@@ -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` 已封装)
+4 -8
View File
@@ -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 && \
+2 -2
View File
@@ -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")
+1 -1
View File
@@ -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
Binary file not shown.
+9 -9
View File
@@ -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
+4 -4
View File
@@ -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"
@@ -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"
@@ -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"
+4 -4
View File
@@ -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"
+7 -7
View File
@@ -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"
+4 -4
View File
@@ -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"
+4 -4
View File
@@ -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"
+4 -4
View File
@@ -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"
+4 -4
View File
@@ -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"
+1 -1
View File
@@ -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"