地毯修复 (非官方移植)

地毯修复 (非官方移植)

非官方 1.21.11 版本的 Carpet Fixes 移植版 — 修复了许多原版漏洞(Fabric Carpet 扩展)

游戏机制

非官方将 Carpet Fixes 移植至 Minecraft 1.21.11。

Carpet Fixes 是一款 Fabric Carpet 扩展模组,旨在修复尽可能多的原版 Minecraft 漏洞 —— 包括红石更新顺序、复制漏洞、生物行为、活塞、侦测器、铁轨、爆炸等等。每项修复都是一个可开关的规则。

本构建基于 tomalbrc 的 1.21 分支,将其移植至 1.21.11。已在游戏中测试(加载时无 Mixin 错误)。

⚙️ 需求

  • Minecraft 1.21.11
  • Fabric Loader ≥ 0.16.9
  • Fabric Carpet 1.21.11-1.4.193+v251211 或更新版本 — 必需
  • Java 21
  • Fabric API 非必需
  • conditional-mixin 已内置(jar-in-jar 方式)

📦 安装

  1. 为 1.21.11 安装 Fabric Loader。
  2. 将以下文件放入 mods/ 文件夹:
    • 适用于 1.21.11 的 fabric-carpet
    • 本模组的 jar 文件
  3. 在游戏中通过 /carpet-fixes <规则> true|false 配置规则(该模组拥有独立命令,而非 /carpet)。完整规则列表及描述见仓库中的 RULES.md / RULES-EN.md。

支持单人游戏与多人游戏。

✅ 包含内容

启用 246 项修复 —— 包括红石更新顺序、复制漏洞修复、生物/实体行为、方块、活塞、侦测器、铁轨、爆炸(含正确的 TNT 暴露计算 —— incorrectExplosionExposureFix)、出生点区块保持加载等。

在 1.18.1-port 中恢复并测试:苦力怕传送门引信、蓝色凋灵头颅保存、卸载时酿造时间、气泡柱、对玩家的 /data 操作。

❌ 未包含内容

部分修复因需要完全重写而与 1.21.11 不兼容,或已冗余(Mojang 已在原版修复该漏洞):

  • 自定义红石邻居更新器(useCustomRedstoneUpdates、optimizedNeighborUpdater、reIntroduceInstantBlockUpdates)—— 邻居更新系统已重写(WireOrientation / ChainRestrictedNeighborUpdater)。
  • 爆炸世界边界(explosionsBypassWorldBorderFix)—— Explosion 已成为接口,ExplosionImpl 结构已调整。
  • 实体方块碰撞 / x8 传送门 —— 碰撞已改为 tickBlockCollision(from, to) 队列(原版可能已修复)。
  • RecipeManager 优化 —— 配方 API 已重写(Lithium 已涵盖此项)。
  • 调色板数据损坏 —— 调色板不再持有调整大小监听器 → 漏洞无法触发。
  • 紫颂果/船摔落伤害、监守者吞噬盔甲、日光传感器放置 —— 相关类/方法已被移除或设为 final。
  • 生物转换数据转移 —— 原版 EntityConversionContext 现已处理。
  • 调试工具及服务端开关规则。

⚠️ 注意

Mixin 配置使用 defaultRequire = 0:若某修复在罕见、未经测试的路径中无法应用,将会静默跳过而非导致服务器崩溃。

🐞 发现漏洞?

若发生崩溃或修复异常,请联系我以获取修复 —— Discord skrizzz_。请附上你的游戏/加载器/Carpet 版本及崩溃日志(logs/latest.log 或 crash-reports/)。

💜 支持移植者

  • Discord:skrizzz_
  • 银行卡(Т-Bank):2200700868492199 —— Ivan P.

📜 致谢与许可

MIT 许可协议 —— © 2020 Fx Morin。

特别感谢 gnembon 的 Carpet、fxmorin 的 Carpet Fixes 以及 tomalbrc 的 1.21 分支。

这是一个非官方构建。请将 Carpet Fixes 的漏洞报告至原仓库;针对本移植版的特定问题请在此报告。