跳到正文

ABCDwater

作者:lao2010123

中文: 自动落地水:智能防止摔落伤害。 English: Automatic water placement for fall damage prevention.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

ABCDwater — 自动落地水

English | 中文


自动落地水

从高处坠落时自动在脚下放水,免除摔伤伤害。只需在快捷栏放一桶水,跳崖时自动触发。

NeoForge
Minecraft
License

功能

  • 智能预测 — 模拟下一 tick 物理运动,仅在有摔伤风险时触发
  • 双重放水 — 先俯视右键,失败则直接交互方块
  • 自动回收 — 落地后自动用空桶收回水源,桶可重复使用
  • 维度适配 — 下界自动禁用,水中不浪费桶
  • 纯客户端 — 任何服务器都能用

用法

  1. JAR 放入 .minecraft/mods/
  2. 快捷栏放一桶水
  3. 从 =4 格高度跳下
  4. 水自动放在落地点,落地后自动回收

3.5 格以下不触发,日常跳跃不干扰。

工作原理

每 tick 检测坠落状态 -> 模拟下一 tick 物理 -> 预测落地位置 -> 计算摔伤 -> 放水 -> 落地后回收。
详细流程见下方英文版。

技术细节

| 项目 | 值 |
|——–|——|
| 模组加载器 | NeoForge |
| Minecraft | 26.1.2 |
| Java | 25 |
| 运行侧 | 仅客户端 |
| 依赖 | 无 |


Auto MLG Water Clutch

A client-side NeoForge mod that automatically places water when falling, saving you from fall damage. Just keep a water bucket in your hotbar.

NeoForge
Minecraft
License

Features

  • Smart physics prediction — simulates next tick with gravity (0.08/tick^2) + drag
  • Dual placement — look-down right-click first, direct block interaction as fallback
  • Auto recycle — picks up the water source after landing with the empty bucket
  • Dimension aware — disabled in the Nether (water evaporates)
  • Client-side only — works on any server

Usage

  1. Place the JAR in .minecraft/mods/
  2. Put a water bucket in your hotbar
  3. Fall from >=4 blocks height
  4. Water is placed at the predicted landing position and recycled after landing

Falls under 3.5 blocks are ignored — no wasted buckets on small drops.

How It Works

ClientTickEvent.Post ->
  |- Skip: on ground / creative / flying / elytra / in water / Nether
  |- Skip: fallDistance < 3.5
  |- Physics prediction:
  |   nextMY = (motionY - 0.08) x 0.98
  |   nextY  = currentY + nextMY
  |   check if block below nextY is solid
  |- Landing predicted? -> calculate cumulative fallDistance
  |   fallDistance > 3.5? -> clutch!
  |
  |- Method 1: useItem + look down
  |   -> ServerboundUseItemPacket (pitch=90)
  |   -> Server raytrace: eye -> ground face -> place water
  |   (fallback)
  |- Method 2: useItemOn on ground block
  |   -> ServerboundUseItemOnPacket (blockPos, Direction.UP)
  |
  '- Remember water position for recycling

Water Recycling

Player lands (onGround=true) ->
  |- Find empty bucket -> switch to its slot
  |- useItemOn(waterSourceBlock, Direction.UP)
  |   -> Client returns PASS (doesn't simulate bucket filling locally)
  |   -> But ServerboundUseItemOnPacket IS sent to server
  |   -> Server processes the water pickup! Bucket fills with water
  |- Check if water block is gone -> recycled!
  '- Retry for up to 40 ticks (~2 seconds)

Technical Details

| Aspect | Value |
|——–|——-|
| Mod Loader | NeoForge |
| Minecraft | 26.1.2 |
| Java | 25 |
| Side | Client only |
| Dependencies | None |
| Event | ClientTickEvent.Post |
| API | MultiPlayerGameMode.useItem() / .useItemOn() |
| Protocol | ServerboundUseItemPacket / ServerboundUseItemOnPacket |

Build

./gradlew build
# -> build/libs/ABCDwater-<version>.jar

Requires JDK 25+.

Release Files

| File | Description |
|——|————-|
| ABCDwater-.jar | Mod JAR -> place in .minecraft/mods/ |
| ABCDwater-src-.zip | Source code |

License

MIT

常见问题

ABCDwater 支持哪些 Minecraft 版本?

ABCDwater 支持 Minecraft Java 版 26.1.2,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

ABCDwater 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。

评论

登录后评论和评分