0347396365c1e61ab64dbe8470569ab7624e25c9
- RailProcess: 点到点铺轨(Yaw 取向前方 2 格、合法右键放置、GoalBlock 行走循环) - 节奏 5 tick(250ms) 适配多人服务器、热键栏切换与 UpdateSelectedSlot 同步 - 悬空自动用圆石垫脚石搭桥、calcFailed 卡死兜底 - 修复 1.21.4 sendMessage 签名编译错误、Gradle 守护进程钉到 JDK 21 - 新增 README 与 .gitignore
AutoRail — 自动铺铁轨(Fabric 1.21.4 + Baritone API)
面向方向自动铺设铁轨的 Minecraft 客户端模组。不依赖 Baritone 寻路来规划轨道—— 它只借 Baritone 的行走能力做“点到点建造”,保证铁轨能铺过悬崖边等寻路会回避的地形。
使用
- 安装 Fabric Loader ≥0.16.9 与 Fabric API,以及 Baritone(1.13.1,兼容 1.21.4 的版本)。
- 把
autorail-<version>.jar放进mods/。 - 进游戏后按 R 开启/关闭。背包里要有铁轨(垫脚石需要时还要有圆石)。
- 按住/调整视角方向→玩家会边走边往正前方铺直轨;手动转 90° 即可转弯(只铺直轨)。
- 前方被阻挡、找不到地面、铁轨耗尽时自动停止并提示。
行为逻辑
- 取朝向:读取玩家水平朝向(Yaw),计算正前方 2 格处的地面。
- 放置:切换热键栏到铁轨并同步
UpdateSelectedSlotC2S,随后通过ClientPlayerInteractionManager(Baritone 的IPlayerController)发送右键放置—— 全程合法交互,绝不world.setBlockState,多人服务器才会承认。 - 移动:放置后设
GoalBlock让玩家走到目标点,循环往复。 - 节奏:每次动作间隔 5 tick(250ms),处于多人服务器建议的 200~300ms 区间。
- 垫脚石:目标列下方悬空/落差超过 2 格时,先拿圆石右键垫补,再接铺铁轨(可选逻辑,已实现)。
- 铁轨朝向:交给原版自动衔接(直轨)。转弯靠玩家手动转视角,开发量减半。
开发
gradlew build # 产物在 build/libs/autorall-<version>.jar
src/main/java/com/autorall/AutoRailClient.java— 入口:按键绑定、进程注册src/main/java/com/autorall/process/RailProcess.java— 铺轨主逻辑(IBaritoneProcess)- Baritone API 依赖:
libs/baritone-api-fabric-1.13.1.jar(本地modImplementation,Loom 自动重映射)
已知限制
- 只铺普通铁轨(
minecraft:rail),不支持动力铁轨/探测铁轨。 - 只铺直轨;曲线由原版在相邻铁轨存在时自动形成,手动转弯请让两段直线夹角足够清晰。
isSolidBlock等判定基于客户端世界状态;服务器延误时可能出现个别放置失败,会自动重试。
语言
Java
100%